I am working on a "Smart LCD" that has its own microprocessor. Removing all the UI from the main controller would free up a ton or resources. It would make a lot of sense to run the Smart LCD over i2c with RAPI keeping the serial interface free for Wifi...
Oh brilliant!! I like this idea a LOT! I assume the OpenEVSE board would be able to operate in some "really dumb" mode without this smart LCD? Or should it crash?
Do you have any code for the barebones OpenEVSE? I'd love to start throwing commands at it
It will run fine with or without the LCD.
RAPI is enabled by default on the current firmware. check the source file rapi_proc.h for examples.
Hey Chris - Thanks, I actually have been messing with RAPI a bit, but my question is more concerning the "what if" scenario of the SmartLCD crashing with the barebones OpenEVSE attached. Would it make sense to have it go to some failure mode where basic charging would still operate without the presence of the SmartLCD - I guess maybe that's what you meant by "it will run fine with or without the LCD" Or would it strictly be offloading only the UI aspect?
Sorry - I realize this could all be explained in the "Just wait for me to release the new firmware" but I can't help my curiosity.
With the Arduino IDE now having (semi) native support for the ESP8266 chips, have you considered using this for the SmartLCD?
The current development branch code already has RAPI over I2C support... in beta testing. Just uncomment RAPI_I2C to build in I2C support. If you don't need RAPI over serial, comment out RAPI_SERIAL.
Please submit any bug reports to the OpenEVSE google list
So I know, being an open source project that I'm more than welcome to make these source changes myself, but I was wondering how much overhead would be involved in changing the RAPI interface to operate over the I2C bus?
My endpoint is to have a swanky interface running on a Raspberry Pi, but I need that serial port on the Pi for something else, and I have my heart set on I2C. The complication I see (I think?) is that there can be only one master on the I2C bus at any given time, which might be fine - The master would be the Raspberry Pi, and the OpenEVSE would be configured as slave and the Pi would talk to it like that. This would obviously make the LCD/RTC board impossible to talk to (from the OpenEVSE) though I could have the Pi query the OpenEVSE then relay it to the LCD/RTC, HOWEVER, the whole point of having a Pi is to NOT have the LCD (although that RTC would be nice, since there's none in the Pi) but since I'm making a new display anyway, this is a moot point.
Does anybody have any two-cents on this hypothetical problem? Could it be as simple as switching from serial.write to wire.write? (doubt it!)
1 person likes this idea