You can take a look at this post https://communities.intel.com/thread/48405 , Mikal.Hart made some fixes to the LiquidCrystal library that comes in the IDE. I recommend you to read his post and try his version of the library.
We were able to use I2C with an adafruit LCD shield http://www.adafruit.com/products/716 . First take a look at the Galileo datasheet https://communities.intel.com/docs/DOC-21835 in page 11 is the Galileo Jumper Configuration, You’ll need to change the I2C jumper to the second and third pin. Then we modified the library provided by Adafruit to make it compile with the Galileo. From the file Adafruit_MCP23017.cpp and Adafruit_RGBLCDShield.cpp you need to delete the following lines
#else // Arduino Due
#define WIRE Wire1
Once you have you have done this you should be able to run the example "Hello world" for this shield. I hope this is what you are looking for.
Thank you allf or the support. For some reason the above library did not compile on my mechine due to some undeclared variables. Not sure how it is working for others. After I corrected those, it compiled and worked without any issue. I will add the lines that I had to add to the library to get compiled. Also had to delete one more file from the library that Intel galileo is not using. For some reason, compiler try to read that al though that file is not called in any where in the code. I used a normal arduino board to communicate with LCD and that board was connected to Galileo using serial port. Since galileo can now run LCD directly, no more regular arduino boards are used in my project.
I have Galileo and the Adafruit LCD shield that you mentioned ( http://www.adafruit.com/products/716 ). I followed the instructions you provided and still I am not able to see any text on the LCD.
I did the following:
- Updated the LiquidCrystal Library as per Mikal.Hart post: Galileo LiquidCrystal Library Fixes
- Changed the I2C jumper to the second and third pin.
- Modified the library provided by Adafruit to make it compile with the Galileo. Modified files Adafruit_MCP23017.cpp and Adafruit_RGBLCDShield.cpp as instructed.
With this changes, I was able to compile and upload the code to Galileo, nevertheless the LCD does not behave as expected, it seems to be refreshing but only displays squares. Im using the "hello world" explample from Adafruit.
hope you can help
I hope you can help
I am using a generic i2c backpack 16x2 LCD, and after loading the library from https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads it worked with an Arduino Yun, but when I try to use it with the Galileo (latest 1.5.3 IDE) I get the following errors when compiling, even if using the example sketch
/home/rbradley/sketchGalileo/libraries/LiquidCrystal/FastIO.cpp: In function 'void fio_shiftOut1(fio_register, fio_bit, uint8_t, boolean)':
/home/rbradley/sketchGalileo/libraries/LiquidCrystal/FastIO.cpp:214:19: error: '_BV' was not declared in this scope
Does anyone have an idea on how to correct this?
I had the same issue with both Galileo Gen 1 and Gen 2. The issue never got fixed with Gen 2 either.
This is the update you need. Anyway I did use standard i2c LCD and very likely yours the same.
_BV can be fixed by following line right after FastIO.h definition in FastIO.cpp file. First error should disappear after _BV declaration.
#define _BV(i) (1<<i)
Once this is fixed, you would likely to get another compiler error related to LiquidCrystal.cpp. Since you are using i2c, you do not need this file. Although the file is never declared anywhere, compiler goes into this file and crash. So simply delete this file in the folder. Hope you do not use this file for any other. If so, you may need to keep it in a safe place.
Hope you can get through it now..... I had multiple LCD compiler issues when I started using Galileo and finally now I am comfortable with fixes....
I started with arduino from there: I2C LCD Module
Everything seems to be ok with Arduino, check picture...
Back in galileo:
I've added a line to Fastio.cpp to get rid of BV error and now i get:
C:\Users\...\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:35:26: fatal error: ../Wire/Wire.h: No such file or directory
Any ideas please?