Hi, I made a Fast GLCD backpack device for myself and wanted to share with community.
It’s fully compatible with GLCD v3 Library. No code porting required for run current applications. Just change glcd header will do the job.
Currently only I2C protocol implemented.
Power and communication requires 4 wire to GLCD backpack device.
Wire library is available in the GLCDcmd package because arduino’s
wire library is defected. It doesn’t allow clock skewing. It is needed for GLCDSlave code other wise you can drop some of your packets.
Package has alternative Wire and twi files, needed to be replaced with arduino ones when you are compiling slave devices firmware.Master device doesn’t require the patch since it’s slave controlled mechanism so your device will work on any Arduino has un-patched Wire library.
Soon, I wanted to support Serial interface.
And thinking about to support one wire connection. But this requires OneWire slave code for arduino which is not available yet AFAIK…
It runs just %8 slower than native GLCD library as a overhead.
I use 20Mhz xtal for Slave device. It works faster and reduces the overhead.
Via GLCDcmd class, I2C connection : 13.88 fps
Via Native GLCD Library on arduino : 15.08 fps
So Only 1.2 fps difference.
I believe you will have faster times with speedy GLCDs. Since slave running on 20Mhz.
Slave device requires ~18Kb if you put all fonts in it that comes with GLCD library. But you can use ATmega168 too if you crop some fonts.
Only known limitation is that you cannot use fonts that stored at Master device. Library doesn’t allow any font upload to slave device now.
Here is the GLCDcmd library.
Special thanks to user mem for helps.