Simple Sensor Interface protocol: Difference between revisions

Content deleted Content added
Ifroggie (talk | contribs)
Ifroggie (talk | contribs)
UART, nanoIP
Line 106:
|-
|}
 
=== Point-to-point SSI ===
 
Point-to-point messaging with SSI can be done with SSI/UART. SSI UART message consists of a 3-byte UART header, SSI message as payload and an optional [[CRC|Cyclic redundancy check]] [[checksum]]. The use of checksum is defined by SSI message/command type, with lower case commands indicating the use of CRC. The header consists of start byte (0xFE), 2-byte (total) length of message and 2-byte [[bitwise]] [[NOT]] of length bytes to help identifying the frame start.
 
=== Networking SSI ===
 
SSI networking in a variable environment is done e.g. using [[nanoIP]]. In a typical case for using SSI, an individual message is not important, and so nanoUDP (simplified [[UDP]] defined by nanoIP) is used as the message format. If individual messages are important, nanoTCP can be used, as it provides flow control and retransmission, with the cost of message size and increase in network traffic.
 
A nanoUDP message consists of a 5-byte nanoUDP header, n-byte message payload and optional 2-byte CRC checksum. The header consists of one protocol byte, 2-byte message length (total length, including header and CRC), 1-byte source port and 1-byte destination port number. The destination port number should be 0x28 for SSI messages.
 
== History ==