Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Pubudu_G_Intel
Employee
1,452 Views

Few questions for some one who can help me ?

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.

13 Replies
Sergio_A_Intel
Employee
84 Views

Hi,

  1. Take a look at this thread; it describes the process needed to set the Galileo's pins in a high impedance mode .
  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 http://www.intel.com/support/galileo/sb/CS-035033.htm Intel® Galileo Boards and Kits — SD Card Setup and Sketch Persistent

Sergio

Carlos_M_Intel
Employee
84 Views

Hi Pubudu,

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

Regards,

Charlie

Pubudu_G_Intel
Employee
84 Views

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.

Pubudu_G_Intel
Employee
84 Views

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.

Sergio_A_Intel
Employee
84 Views

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

Pubudu_G_Intel
Employee
84 Views

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 ?

Sergio_A_Intel
Employee
84 Views

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 https://github.com/IntelOpenDesign/MakerNode/wiki/systemd:-configuring-boot-sequences systemd: configuring boot sequences · IntelOpenDesign/MakerNode Wiki · GitHub for more information.

Sergio

Pubudu_G_Intel
Employee
84 Views

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

Sergio_A_Intel
Employee
84 Views

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

Pubudu_G_Intel
Employee
84 Views

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.

Sergio_A_Intel
Employee
84 Views

Hi @ PUBUDU GOONETILLEKE

Do you have any updates on this case?

Sergio

RGeno1
New Contributor I
84 Views

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

Pubudu_G_Intel
Employee
84 Views

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

Reply