#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. |