LDP-6416 64x16 bi-colour LED display panel #811
Replies: 2 comments
-
Posted at 2015-10-08 by @allObjects Questions of understanding about buffer and lines 51, 53, and 54, and conclusion for setColor():
Conclusion is that Another question is regarding performance: Would code below make a (time) difference?
|
Beta Was this translation helpful? Give feedback.
-
Posted at 2015-10-08 by @gfwilliams
Yes
Yes - the memory is 'bit-banded', so you just want a 1 or a 0 in there (I didn't look up exactly why, but it didn't seem to work well without it)
Not very, as far as I know - as long as the compiler knows that the values are all integers it'll be a simple 32 bit multiply, which I believe is done almost single-cycle on ARM. But yes, your code would be faster. Even faster would be to use a Uint32Array and to request 32 bits at once - the |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Posted at 2015-10-08 by @gfwilliams
http://www.embeddedadventures.com/LED_matrix_display_LDP-6416.html
(datasheet here)
This module is a real pain to drive quickly, because you need to shift out data for two bits at around 50kHz absolute minimum.
In the most recent Espruino builds (so the 1v81 release when it's done), I've added the ability to get the register address of a single GPIO pin, which means you can use this to easily 'poke' data to the pin, which is very fast in 'compiled' code.
So to drive the display, you can now do something like this:
Sadly it can't be wrapped up in a module yet (which would obviously be ideal), but it's still a good start.
Beta Was this translation helpful? Give feedback.
All reactions