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.