38#ifndef SBG_ECOM_PROTOCOL_H
39#define SBG_ECOM_PROTOCOL_H
54#define SBG_ECOM_MAX_BUFFER_SIZE (4096)
55#define SBG_ECOM_MAX_PAYLOAD_SIZE (4086)
56#define SBG_ECOM_MAX_EXTENDED_PAYLOAD_SIZE (4081)
57#define SBG_ECOM_SYNC_1 (0xFF)
58#define SBG_ECOM_SYNC_2 (0x5A)
59#define SBG_ECOM_ETX (0x33)
61#define SBG_ECOM_RX_TIME_OUT (450)
Main header for the SBG Systems common C library.
size_t sbgEComProtocolPayloadGetSize(const SbgEComProtocolPayload *pPayload)
void(* SbgEComProtocolFrameCb)(SbgEComProtocol *pProtocol, uint8_t msgClass, uint8_t msgId, SbgStreamBuffer *pReceivedFrame, void *pUserArg)
Definition sbgEComProtocol.h:84
struct _SbgEComProtocol SbgEComProtocol
Definition sbgEComProtocol.h:70
struct _SbgEComProtocolPayload SbgEComProtocolPayload
SbgErrorCode sbgEComProtocolInit(SbgEComProtocol *pProtocol, SbgInterface *pInterface)
SbgErrorCode sbgEComStartFrameGeneration(SbgStreamBuffer *pOutputStream, uint8_t msgClass, uint8_t msg, size_t *pStreamCursor)
SbgErrorCode sbgEComProtocolSend(SbgEComProtocol *pProtocol, uint8_t msgClass, uint8_t msg, const void *pData, size_t size)
void * sbgEComProtocolPayloadMoveBuffer(SbgEComProtocolPayload *pPayload)
SbgErrorCode sbgEComProtocolReceive2(SbgEComProtocol *pProtocol, uint8_t *pMsgClass, uint8_t *pMsgId, SbgEComProtocolPayload *pPayload)
void sbgEComProtocolSetOnFrameReceivedCb(SbgEComProtocol *pProtocol, SbgEComProtocolFrameCb pOnFrameReceivedCb, void *pUserArg)
SbgErrorCode sbgEComFinalizeFrameGeneration(SbgStreamBuffer *pOutputStream, size_t streamCursor)
SbgErrorCode sbgEComProtocolReceive(SbgEComProtocol *pProtocol, uint8_t *pMsgClass, uint8_t *pMsgId, void *pData, size_t *pSize, size_t maxSize)
void sbgEComProtocolPayloadConstruct(SbgEComProtocolPayload *pPayload)
SbgErrorCode sbgEComProtocolClose(SbgEComProtocol *pProtocol)
SbgErrorCode sbgEComProtocolPurgeIncoming(SbgEComProtocol *pProtocol)
#define SBG_ECOM_MAX_BUFFER_SIZE
Definition sbgEComProtocol.h:54
const void * sbgEComProtocolPayloadGetBuffer(const SbgEComProtocolPayload *pPayload)
void sbgEComProtocolPayloadDestroy(SbgEComProtocolPayload *pPayload)
enum _SbgErrorCode SbgErrorCode
This file implements the base interface for all Serial and Ethernet ports.
struct _SbgInterface SbgInterface
Definition sbgInterface.h:79
Used to read/write data from/to a memory buffer stream.
struct _SbgStreamBuffer SbgStreamBuffer
Definition sbgEComProtocol.h:109
uint16_t pageIndex
Definition sbgEComProtocol.h:130
uint8_t transferId
Definition sbgEComProtocol.h:129
uint8_t * pLargeBuffer
Definition sbgEComProtocol.h:125
size_t discardSize
Definition sbgEComProtocol.h:113
SbgEComProtocolFrameCb pReceiveFrameCb
Definition sbgEComProtocol.h:119
uint16_t nrPages
Definition sbgEComProtocol.h:131
SbgInterface * pLinkedInterface
Definition sbgEComProtocol.h:110
uint8_t msgClass
Definition sbgEComProtocol.h:127
uint8_t msgId
Definition sbgEComProtocol.h:128
uint8_t nextLargeTxId
Definition sbgEComProtocol.h:114
void * pUserArg
Definition sbgEComProtocol.h:120
size_t rxBufferSize
Definition sbgEComProtocol.h:112
size_t largeBufferSize
Definition sbgEComProtocol.h:126
uint8_t rxBuffer[SBG_ECOM_MAX_BUFFER_SIZE]
Definition sbgEComProtocol.h:111
Definition sbgEComProtocol.h:97
size_t size
Definition sbgEComProtocol.h:100
void * pBuffer
Definition sbgEComProtocol.h:99
bool allocated
Definition sbgEComProtocol.h:98