Tested communication with DE on May 18. Lots of things to improve.
Todo
[x] #17 will make debugging a lot easier.
[x] Add Ethernet prefix length calculation to CommandDeck::get_command...() methods. This is a 12B field:
<flag>: 1B (0x00 appends EOP to RMAP packet, 0x01 appends EEP to RMAP packet, 0x02 sends huge RMAP packets as successive Ethernet frames.
<RSV>: 1B
<packet length>: 10B, MSB first
[x] #16 should be implemented via INI config file and with modification to System properties for address lookup.
[x] TransportLayerMachine constructors are confusing. Clarify.
[x] Must transmit only correct-length header + RMAP packet on Ethernet. Guarantee no excess leading or trailing '\0' characters (e.g. like if using an oversized buffer).
Preferred solution: serialize/generate SpW command from uplink command hex code at send time (i.e. do not preallocate in separate buffer). This process should be fast enough, and it obviates the need for two parallel buffers (command hex code and SpW command packet buffers) that would need to be synchronized.
Background
Tested communication with DE on May 18. Lots of things to improve.
Todo
CommandDeck::get_command...()
methods. This is a 12B field:<flag>
: 1B (0x00 appends EOP to RMAP packet, 0x01 appends EEP to RMAP packet, 0x02 sends huge RMAP packets as successive Ethernet frames.<RSV>
: 1B<packet length>
: 10B, MSB firstSystem
properties for address lookup.TransportLayerMachine
constructors are confusing. Clarify.'\0'
characters (e.g. like if using an oversized buffer).