To test:
./hostside-old -st nmra_bytes 0348 && binview t
-
-
-
-
-Protocol over new hostside stdin:
- Example (always the same msg):
- P> nmra [<slot>] [<nmra-command [<nmra-args>...]] nmra speed28 3 13 1
- P> nmra [<slot>] [=<nmra-bytes>] nmra =0348
- P> nmra [<slot>] [:<nmra-bytes-with-csum>] nmra :03484b
- P> nmra [<slot>] [_<pic-literal-bytes>] nmra _7f7f00644197
- in each case <slot> (if present) is *<slotname> or %<slotname> and
- indicates that the message should be put in the retransmission
- cycle, and cancels any previous message with the same <slotname>.
- <slotname> may be empty. * indicates urgent
- P> nmra <slot>
- cancels the relevant retransmission.
-
- Example (always the same msg):
- P> pic =<pic-bytes> pic =a003
- P> pic <pic-command> [<pic-args...] pic point 3
- the latter for commands with no `...' in README.protocol only
-
- Keen readers will observe that
- pic =<pic-bytes> and
- nmra _<pic-bytes>
- do exactly the same.
-
- P> polarity <bit-string-in-hex>....
- where, eg, with 14 segments,
- [ 1] [111 1111] reversible
- [123] [56 7890] [123 4567] segment number
- 1 0010 000 1 000 1000 0 111 1010 example POLARITY
- 1 0010 RRR 1 RRR RRRR 0 RRR R--- from README.protocol
- RRR RRR RRRR RRR R actual R bits
- \__ ___/\__ ___/ ... which map ...
- RRRRRRRR RRRRRR ... into data ...
- RRRRRRRR RRRRRR-- ... like this.
- 00000010 00111100
- [ 1111111] reversible
- [12345678] [90123456] segment number
- 0x02 0x3c hex values
- 023c hex data string
-
- Up< pic-out <hex-bytes...>
- Up< pic-in <hex-bytes...>
-
- U< count <type> <number-in-decimal>
- eg count polarity 14
- U< pic detect 1|0 <S>
- U< pic point <P>
- U< pic pointed <P>
- U< pic charged <P>
- U< polarity <bit-string-in-hex>....
- U< polarised <bit-string-in-hex>....
--- /dev/null
+Protocol over new hostside stdin and to multiplexer:
+
+ Example (always the same msg):
+ P> nmra [<slot>] [<nmra-command [<nmra-args>...]] nmra speed28 3 13 1
+ P> nmra [<slot>] [=<nmra-bytes>] nmra =0348
+ P> nmra [<slot>] [:<nmra-bytes-with-csum>] nmra :03484b
+ P> nmra [<slot>] [_<pic-literal-bytes>] nmra _7f7f00644197
+ in each case <slot> (if present) is *<slotname> or %<slotname> and
+ indicates that the message should be put in the retransmission
+ cycle, and cancels any previous message with the same <slotname>.
+ <slotname> may be empty. * indicates urgent
+ P> nmra <slot>
+ cancels the relevant retransmission.
+
+ Example (always the same msg):
+ P> pic =<pic-bytes> pic =a003
+ P> pic <pic-command> [<pic-args...] pic point 3
+ the latter for commands with no `...' in README.protocol only
+
+ Keen readers will observe that
+ pic =<pic-bytes> and
+ nmra _<pic-bytes>
+ do exactly the same.
+
+ P> polarity <bit-string-in-hex>....
+ where, eg, with 14 segments,
+ [ 1] [111 1111] reversible
+ [123] [56 7890] [123 4567] segment number
+ 1 0010 000 1 000 1000 0 111 1010 example POLARITY
+ 1 0010 RRR 1 RRR RRRR 0 RRR R--- from README.protocol
+ RRR RRR RRRR RRR R actual R bits
+ \__ ___/\__ ___/ ... which map ...
+ RRRRRRRR RRRRRR ... into data ...
+ RRRRRRRR RRRRRR-- ... like this.
+ 00000010 00111100
+ [ 1111111] reversible
+ [12345678] [90123456] segment number
+ 0x02 0x3c hex values
+ 023c hex data string
+
+ Up< pic-out <hex-bytes...>
+ Up< pic-in <hex-bytes...>
+
+ U< count <type> <number-in-decimal>
+ eg count polarity 14
+ U< pic detect 1|0 <S>
+ U< pic point <P>
+ U< pic pointed <P>
+ U< pic charged <P>
+ U< polarity <bit-string-in-hex>....
+ U< polarised <bit-string-in-hex>....