You might be able to play with how LAT is set too - it may be that adding it to S1.send will work and will mean you don't need to use digitalWrite. Stuff like OE.set(); instead of digitalWrite(OE, HIGH); could also be faster.
This is the sort of thing that Espruino really struggles with (lots of small updates), so it's good to see everything working ok :) I guess you appreciate it more if you have to work for it.
By the way, had you considered using Graphics.createArrayBuffer instead of your display array? That way you can use fonts, lines, rects, etc :)
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
It looks good!
You might be able to play with how
LAT
is set too - it may be that adding it toS1.send
will work and will mean you don't need to use digitalWrite. Stuff likeOE.set();
instead ofdigitalWrite(OE, HIGH);
could also be faster.This is the sort of thing that Espruino really struggles with (lots of small updates), so it's good to see everything working ok :) I guess you appreciate it more if you have to work for it.
By the way, had you considered using
Graphics.createArrayBuffer
instead of yourdisplay
array? That way you can use fonts, lines, rects, etc :)