M-o-a-T on serial wire

MoaTbus on serial wire

Framing

A serial port is not a bus, so there's no address assignment and in fact no addressing. However, packetization is required.

All bytes not sent as part of a packet are assumed to be console data. Packet data must be transmitted back-to-back.

0x01

Start of a packet (master to slave).

0x02

Start of a packet (slave to master).

0x03

End of a packet. May be skipped if the next packet follows directly.

Data structure

The start byte is followed by a length byte (which does not include itself).

There is no escaping. Data must be sent back-to-back so that there cannot be any intervening console messages.