#include "stxetx.h"
[STX][status][type][length][user data...][checksum][ETX]
All fields are 1 byte except for user data which may be 0-255 bytes. Uppercase fields are constant (STX=0x02, ETX=0x03), lowercase fields vary. The length field is the number of bytes in the user data area. The checksum is the 8-bit sum of all bytes between but not including STX/ETX.
Defines | |
| #define | STX 0x02 |
| #define | ETX 0x03 |
| #define | STXETX_HEADERLENGTH 4 |
| #define | STXETX_TRAILERLENGTH 2 |
| #define | STXETX_STATUSOFFSET 1 |
| #define | STXETX_TYPEOFFSET 2 |
| #define | STXETX_LENGTHOFFSET 3 |
| #define | STXETX_DATAOFFSET 4 |
| #define | STXETX_CHECKSUMOFFSET 4 |
| #define | STXETX_NOETXSTXCHECKSUM 3 |
Functions | |
| void | stxetxInit (void(*dataout_func)(unsigned char data)) |
| Initialize STX/ETX packet protocol library. | |
| void | stxetxSend (unsigned char status, unsigned char type, unsigned char datalength, unsigned char *dataptr) |
| Send/Create STX/ETX packet. | |
| unsigned char | stxetxProcess (cBuffer *rxBuffer) |
| Process a buffer containing STX/ETX packets. | |
| unsigned char | stxetxGetRxPacketStatus (void) |
| Returns the received packet's status. | |
| unsigned char | stxetxGetRxPacketType (void) |
| Returns the received packet's type. | |
| unsigned char | stxetxGetRxPacketDatalength (void) |
| Returns the received packet's datalength. | |
| unsigned char * | stxetxGetRxPacketData (void) |
| Returns pointer to the received packet's data. | |
1.4.2