Functions
sbgEComProtocol.c File Reference
#include "sbgEComProtocol.h"
#include <crc/sbgCrc.h>
Include dependency graph for sbgEComProtocol.c:

Go to the source code of this file.

Functions

SbgErrorCode sbgEComFinalizeFrameGeneration (SbgStreamBuffer *pOutputStream, size_t streamCursor)
 
SbgErrorCode sbgEComProtocolClose (SbgEComProtocol *pHandle)
 
SbgErrorCode sbgEComProtocolInit (SbgEComProtocol *pHandle, SbgInterface *pInterface)
 
SbgErrorCode sbgEComProtocolReceive (SbgEComProtocol *pHandle, uint8_t *pMsgClass, uint8_t *pMsg, void *pData, size_t *pSize, size_t maxSize)
 
SbgErrorCode sbgEComProtocolSend (SbgEComProtocol *pHandle, uint8_t msgClass, uint8_t msg, const void *pData, size_t size)
 
SbgErrorCode sbgEComStartFrameGeneration (SbgStreamBuffer *pOutputStream, uint8_t msgClass, uint8_t msg, size_t *pStreamCursor)
 

Function Documentation

◆ sbgEComFinalizeFrameGeneration()

SbgErrorCode sbgEComFinalizeFrameGeneration ( SbgStreamBuffer pOutputStream,
size_t  streamCursor 
)

Finalize an output stream that has been initialized with sbgEComStartFrameGeneration. At return, the output stream buffer should point at the end of the generated message. You can thus easily create consecutive SBG_ECOM_LOGS with these methods.

Parameters
[in]pOutputStreamPointer to an allocated and initialized output stream.
[in]streamCursorPosition in the stream buffer of the generated message first byte. This value is returned by sbgEComStartFrameGeneration and is mandatory for correct operations.
Returns
SBG_NO_ERROR in case of good operation.

Definition at line 499 of file sbgEComProtocol.c.

◆ sbgEComProtocolClose()

SbgErrorCode sbgEComProtocolClose ( SbgEComProtocol pHandle)

Close the protocol system.

Parameters
[in]pHandleA valid protocol handle to close.
Returns
SBG_NO_ERROR if we have closed and released the protocol system.

Definition at line 35 of file sbgEComProtocol.c.

◆ sbgEComProtocolInit()

SbgErrorCode sbgEComProtocolInit ( SbgEComProtocol pHandle,
SbgInterface pInterface 
)

Initialize the protocol system used to communicate with the product and return the created handle.

Parameters
[in]pHandlePointer on an allocated protocol structure to initialize.
[in]pInterfaceInterface to use for read/write operations.
Returns
SBG_NO_ERROR if we have initialised the protocol system.

Definition at line 14 of file sbgEComProtocol.c.

◆ sbgEComProtocolReceive()

SbgErrorCode sbgEComProtocolReceive ( SbgEComProtocol pHandle,
uint8_t *  pMsgClass,
uint8_t *  pMsg,
void *  pData,
size_t *  pSize,
size_t  maxSize 
)

Try to receive a frame from the device and returns the cmd, data and size of data field.

Parameters
[in]pHandleA valid protocol handle.
[out]pMsgClassPointer to hold the returned message class
[out]pMsgPointer to hold the returned message id
[out]pDataAllocated buffer used to hold received data field.
[out]pSizePointer used to hold the received data field size.
[in]maxSizeMax number of bytes that can be stored in the pData buffer.
Returns
SBG_NO_ERROR if we have received a valid frame.
SBG_NOT_READY if we haven't received a valid frame or if the serial buffer is empty.
SBG_INVALID_CRC if the received frame has an invalid CRC.
SBG_NULL_POINTER if an input parameter is NULL.
SBG_BUFFER_OVERFLOW if the received frame payload couldn't fit into the pData buffer.

Definition at line 143 of file sbgEComProtocol.c.

◆ sbgEComProtocolSend()

SbgErrorCode sbgEComProtocolSend ( SbgEComProtocol pHandle,
uint8_t  msgClass,
uint8_t  msg,
const void *  pData,
size_t  size 
)

Send a frame to the device (size should be less than 4086 bytes).

Parameters
[in]pHandleA valid protocol handle.
[in]msgClassMessage class (0-255)
[in]msgMessage id (0-255)
[in]pDataPointer on the data payload to send or NULL if no payload.
[in]sizeSize in bytes of the data payload (less than 4086).
Returns
SBG_NO_ERROR if the frame has been sent.

Definition at line 60 of file sbgEComProtocol.c.

◆ sbgEComStartFrameGeneration()

SbgErrorCode sbgEComStartFrameGeneration ( SbgStreamBuffer pOutputStream,
uint8_t  msgClass,
uint8_t  msg,
size_t *  pStreamCursor 
)

Initialize an output stream for an sbgECom frame generation. This method is helpful to avoid memory copy compared to sbgEComProtocolSend one.

Parameters
[in]pOutputStreamPointer to an allocated and initialized output stream.
[in]msgClassMessage class (0-255)
[in]msgMessage id (0-255)
[out]pStreamCursorThe initial output stream cursor that thus points to the begining of the generated message. This value should be passed to sbgEComFinalizeFrameGeneration for correct operations.
Returns
SBG_NO_ERROR in case of good operation.

Definition at line 461 of file sbgEComProtocol.c.



sbg_driver
Author(s): SBG Systems
autogenerated on Sat Sep 3 2022 02:53:36