13 Replies Latest reply on Dec 24, 2015 10:11 AM by Intel_Alvarado

    Few questions for some one who can help me ?

    Pubudu Goonetilleke

      Hi,

      I started using Galileo for a project at my office (with knowledge with similar Arduino development boards) but faced issues with this board as it is not functioning as other boards.

       

      1. How can I get Galileo Gen 2 IO at high impedance until start running my sketch ?

      During boot up (using SD card) I see that IO is at some state but not at high impedance. This makes my interface go  crazy and need more components to control my interface circuitry which is just unnecessary.

       

      2. I have been using i2c LCD using wire library. Whenever I call A1  analog read, my i2c communications go crazy. It writes weird characters but never returns to normal until I restart. It only happens when I call A1. (a2 and A3 ) are fine. There are no connections to A4 and A5 which anyway connected to i2c SDA and SCL pins.

      hanks,

       

      3. Board sketch never resets when I click software reset on board. What is the purpose of that button if it does not reboot the sketch. (I am not talking about board REBOOT button) I always have to reboot the board and wait another two minutes before it start running my arduino sketch.

       

      Pubudu.

        • 1. Re: Few questions for some one who can help me ?
          Intel_Alvarado

          Hi,

          1. Take a look at this thread; it describes the process needed to set the Galileo’s pins in a high impedance mode Galileo Analog Input Impedance .
          2. When you restart does it work properly? What type of LCD are you using, how are you connecting it? Are you using pull up resistors?
          3. When you reboot does the sketch reboots automatically? For a sketch to work at start up you need to use an SD card. The procedure to setting up your SD card to use persistent sketches can be found Intel® Galileo Boards and Kits — SD Card Setup and Sketch Persistent

           

          Sergio

          • 2. Re: Few questions for some one who can help me ?
            CMata_Intel

            Hi Pubudu,

             

            Have you been able to work on this? Did you try with Sergio’s suggestions?

             

            Regards,

            Charlie

            • 3. Re: Few questions for some one who can help me ?
              Pubudu Goonetilleke

              1. I will try these today. I am using Digital IO and need high impedance on them.

              2. I am using LCD through i2c and is working fine.

              3. I am already running with SD card. Yes it does boot after about 2 minutes from hard reset. But I have noticed that board reboot some times send junk to LCD and goes malfunctioning even after boot. But power cycling fixes all issues but boot time is a huge concern for my application. 

              • 4. Re: Few questions for some one who can help me ?
                Pubudu Goonetilleke

                Hi,

                I am currently working with Analog inputs (except that is connected to i2c) and is working fine. My issue with Digital IO. I do not have any control over them until I get to running my Arduino code. Booting takes about 2 minutes (with SD card). I have worked with many micro controllers/development boards but never have seen that the IOs stay at low impedance until I control of them. Pullups just do the job until then.

                 

                Is this is a poor design issue of the board ?  There is a multiplexor that does IO handling (very slow) but seems it can not keep the IO at high impedance.

                • 5. Re: Few questions for some one who can help me ?
                  Intel_Alvarado

                  Hi,

                   

                  I ran some tests to see how much time does it take the Galileo to reboot. I’m using the IoT image

                  root@galileo:~# cat /etc/version
                  201510010732
                  

                  And according to df –h I have this much space left

                  root@galileo:~# df -h
                  Filesystem Size  Used Avail Use% Mounted on
                  /dev/root 1.3G  1.1G  75M 94% /
                  devtmpfs 116M    0  116M 0% /dev
                  tmpfs 116M    0  116M 0% /dev/shm
                  tmpfs 116M  8.4M  108M 8% /run
                  tmpfs 116M    0  116M 0% /sys/fs/cgroup
                  tmpfs 116M    0  116M 0% /tmp
                  tmpfs 116M  12K  116M 1% /var/volatile
                  /dev/mmcblk0p1 50M  17M  34M 33% /media/card
                  

                   

                  If I use the command reboot, it takes approximately 53 seconds until I’m promted for the login. If I disconnect and re connect the power supply it takes about 48 seconds. Check how much space you have left and what image you are using.

                   

                  Sergio

                  • 6. Re: Few questions for some one who can help me ?
                    Pubudu Goonetilleke

                    Thank you, I got about 2 minutes but with standard Linux installation that is recommended with the board. Arduino boards runs as soon as I power up because they don't have a huge operating system like here.

                     

                    Anyway, any help help to keep the IO pins at high impedance during boot ?

                    • 7. Re: Few questions for some one who can help me ?
                      Intel_Alvarado

                      Hi,

                       

                      To set the pins on high or low impedance check the link posted above. You can use an Arduino sketch to set the pin mode you need. Then, run a startup script on the Galileo. The startup script will execute the sketch depending on the parameters you set. You can see systemd: configuring boot sequences · IntelOpenDesign/MakerNode Wiki · GitHub for more information.

                       

                      Sergio

                      • 8. Re: Few questions for some one who can help me ?
                        Pubudu Goonetilleke

                        Thank Alvarado.

                         

                        I can take care of the IO when it get to my script. The issue is during board bootup. Typically almost all the boards (micro controllers) I have used before are all in high impedance until I set them in my code. As I iterated many times, my question is power on status of IO.I want to make sure IO is at high impedance from the time I apply power until I take over from my program.

                        So does not matter how long it takes to boot, I can use simple pull down or pull up resisters to control my IO.


                        Running startup script is fine but what will happen until it gets to the point where it start running startup script ?.

                        In the case of Galileo, it seems I have to use IO buffers with addresses to handle this issue which makes my design unnecessarily complex. This is a simple question for Galileo board designers if it is doable or not. If the processor or the IO multiplexor hardware does not support, there is no way unless I install it outside the board (IO buffer).

                        Anyway I will try IOT image. 

                         

                        Thanks,

                        Pubudu

                        • 9. Re: Few questions for some one who can help me ?
                          Intel_Alvarado

                          We’d like to let you know we are still investigating on your case. Additionally, do you have any external circuitry or devices connected to the Edison board?

                           

                          Sergio

                          • 10. Re: Few questions for some one who can help me ?
                            RGee

                            PUBUDU GOONETILLEKE wrote:

                             

                            //

                             

                            1. How can I get Galileo Gen 2 IO at high impedance until start running my sketch ?

                            During boot up (using SD card) I see that IO is at some state but not at high impedance. This makes my interface go  crazy and need more components to control my interface circuitry which is just unnecessary.

                             

                            //

                             

                            Pubudu.

                            I want to comment on this one aspect of your problem. I'm not sure that it will be helpful, but it is something I have observed with a Galileo Generation 1. If I hook up an LED with a resistor to digital pin 2 and the other end to GND, it WILL light up during power up or after pressing reboot. The LED will stay lit until the boot process has advanced to loading the sketch. This also occurs on Digital pins 0 and 1 but they are used for serial TX and RX, so that might be a different situation. I have verified this again tonight. NONE of the other digital pins (3-13) will light the LED under these conditions. This sounds like what you are experiencing with your interface "going crazy", so the question is - are you seeing this kind of activity on multiple digital pins or just 0-2?

                             

                            I recall this problem occurring across many pins very early on (several updates ago) but I can't remember that clearly. I do note the following "resolved issue" in the Release Notes...

                             

                            1.10.2 55516: Pins have pullups enabled at reset time

                            In release 0.7.5, when the Intel® Galileo board is powered on, and before the sketch is executed, pins have pullups enabled by default.

                            Resolution: In release 1.0.0, the default configuration of Arduino pins on Galileo is now input, with pullups disabled.

                             

                            I think that they did resolve the issue, EXCEPT for pin 2. In any event, this sounds like it could be the source of the problem the you may be experiencing, so the second question is to ask if you have the most current version of the software?

                             

                            Hope this helps,

                             

                            DrG

                            • 11. Re: Few questions for some one who can help me ?
                              Pubudu Goonetilleke

                              Thank you very much for your findings. I will check this tonight, I am using Gen 2 board. I did not use RX/TX pins in my interface. But Other IOs were not in high impedance state.

                              My external pull ups were pulled down during bootup if I remember right.

                               

                              Thanks,

                              Pubudu

                              • 12. Re: Few questions for some one who can help me ?
                                Pubudu Goonetilleke

                                Hi,

                                I am not using edison. I am using Galileo Gen 2 with recent linux build on SD card (downloaded from galileo web site) I don't remember the build info.

                                • 13. Re: Few questions for some one who can help me ?
                                  Intel_Alvarado

                                  Hi @PUBUDU GOONETILLEKE

                                   

                                  Do you have any updates on this case?

                                   

                                  Sergio