-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Not an issue, but I have some information for you.
Firstly, thanks for your very informative page https://alusch.github.io/flipdot-protocol/
Your doc was a great jump start for me.
I've been working on a flipdot module, testing against the SCP (sign control program) by ecbarnum. I'm not sure how I got that program, it came via a circuitous chain of technicians in the industry.
Using SCP I think I can fill insome of the blanks re the pixel map preamble in https://github.com/alusch/flipdot/blob/master/libs/core/src/page.rs
/// ┌─┬ ┄ ┬─┐
/// Bits │7│...│0│
/// └─┴ ┄ ┴─┘
/// \ /
/// ┌────┬─────┬────┬────┬────┬────┬────┬────┬────┬────┬ ┄ ┬────┬ ┄ ┬────┐
/// │ ID │ DLY │ SFX │ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │...│0xFF│...│0xFF│
/// └────┴─────┴────┴────┴────┴────┴────┴────┴────┴────┴ ┄ ┴────┴ ┄ ┴────┘
/// ┆ 4-byte header ┆ Data bytes ┆ Padding ┆
The header is
- ID 8bits unsigned int page number in sequence 1's based. I still don't know an upper limit, but I suspect 64 in some Luminators, just based on size of on-board RAM.
- Persistence (deciseconds). 8 bits unsigned int Fixed point representation of message visible timing for self timed displays. eg 10 (0x0a) = 1.0 second. 5 = 0.5 seconds.
- SFX. 16 bits flags? I can confirm
- 0x0400 = "from left" where pixels transition one column at a time from current display to incoming page
- 0x0800 = "from top", though the exact animation I am not sure of. I believe its a scroll, not a reveal
- 0x1000 = "from bottom".
Right now, I can't confirm any other animation patterns, though I have seen SCP samples with alternate "from left" codes, the sign we have for reference, Luminator 7x75 display, show all "from left" patterns the same.
I figured this is the least I can do to repay you for what you taught me. I'm coding on the sign side, not the host side, and in a tiny 8 bit MCU, so I've done it all in C, as a consequence I didn't find your repo in earlier GitHub searches. It looks like most the work was done a long time ago, but since you were updating the code 9 months ago I figured it was worth letting you in on these "secrets".