sbgEComBinaryLogUsbl.c
Go to the documentation of this file.
1 #include "sbgEComBinaryLogUsbl.h"
2 
3 //----------------------------------------------------------------------//
4 //- Operations -//
5 //----------------------------------------------------------------------//
6 
14 {
15  assert(pInputStream);
16  assert(pOutputData);
17 
18  //
19  // Read the frame payload
20  //
21  pOutputData->timeStamp = sbgStreamBufferReadUint32LE(pInputStream);
22  pOutputData->status = sbgStreamBufferReadUint16LE(pInputStream);
23 
24  pOutputData->latitude = sbgStreamBufferReadDoubleLE(pInputStream);
25  pOutputData->longitude = sbgStreamBufferReadDoubleLE(pInputStream);
26 
27  pOutputData->depth = sbgStreamBufferReadFloatLE(pInputStream);
28 
29  pOutputData->latitudeAccuracy = sbgStreamBufferReadFloatLE(pInputStream);
30  pOutputData->longitudeAccuracy = sbgStreamBufferReadFloatLE(pInputStream);
31  pOutputData->depthAccuracy = sbgStreamBufferReadFloatLE(pInputStream);
32 
33  //
34  // Return if any error has occurred while parsing the frame
35  //
36  return sbgStreamBufferGetLastError(pInputStream);
37 }
38 
46 {
47  assert(pOutputStream);
48  assert(pInputData);
49 
50  //
51  // Write the frame payload
52  //
53  sbgStreamBufferWriteUint32LE(pOutputStream, pInputData->timeStamp);
54  sbgStreamBufferWriteUint16LE(pOutputStream, pInputData->status);
55 
56  sbgStreamBufferWriteDoubleLE(pOutputStream, pInputData->latitude);
57  sbgStreamBufferWriteDoubleLE(pOutputStream, pInputData->longitude);
58 
59  sbgStreamBufferWriteFloatLE(pOutputStream, pInputData->depth);
60 
61  sbgStreamBufferWriteFloatLE(pOutputStream, pInputData->latitudeAccuracy);
62  sbgStreamBufferWriteFloatLE(pOutputStream, pInputData->longitudeAccuracy);
63  sbgStreamBufferWriteFloatLE(pOutputStream, pInputData->depthAccuracy);
64 
65  //
66  // Return if any error has occurred while writing the frame
67  //
68  return sbgStreamBufferGetLastError(pOutputStream);
69 }
sbgStreamBufferWriteDoubleLE
SBG_INLINE SbgErrorCode sbgStreamBufferWriteDoubleLE(SbgStreamBuffer *pHandle, double value)
Definition: sbgStreamBufferLE.h:1787
_SbgLogUsblData::depthAccuracy
float depthAccuracy
Definition: sbgEComBinaryLogUsbl.h:58
sbgStreamBufferWriteFloatLE
SBG_INLINE SbgErrorCode sbgStreamBufferWriteFloatLE(SbgStreamBuffer *pHandle, float value)
Definition: sbgStreamBufferLE.h:1753
sbgStreamBufferGetLastError
SBG_INLINE SbgErrorCode sbgStreamBufferGetLastError(SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferCommon.h:274
sbgEComBinaryLogWriteUsblData
SbgErrorCode sbgEComBinaryLogWriteUsblData(SbgStreamBuffer *pOutputStream, const SbgLogUsblData *pInputData)
Definition: sbgEComBinaryLogUsbl.c:45
sbgStreamBufferReadUint16LE
SBG_INLINE uint16_t sbgStreamBufferReadUint16LE(SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferLE.h:106
_SbgLogUsblData::status
uint16_t status
Definition: sbgEComBinaryLogUsbl.h:49
sbgStreamBufferReadDoubleLE
SBG_INLINE double sbgStreamBufferReadDoubleLE(SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferLE.h:1135
_SbgLogUsblData::latitude
double latitude
Definition: sbgEComBinaryLogUsbl.h:51
_SbgLogUsblData::longitudeAccuracy
float longitudeAccuracy
Definition: sbgEComBinaryLogUsbl.h:57
sbgStreamBufferWriteUint16LE
SBG_INLINE SbgErrorCode sbgStreamBufferWriteUint16LE(SbgStreamBuffer *pHandle, uint16_t value)
Definition: sbgStreamBufferLE.h:1250
sbgEComBinaryLogParseUsblData
SbgErrorCode sbgEComBinaryLogParseUsblData(SbgStreamBuffer *pInputStream, SbgLogUsblData *pOutputData)
Definition: sbgEComBinaryLogUsbl.c:13
sbgStreamBufferReadUint32LE
SBG_INLINE uint32_t sbgStreamBufferReadUint32LE(SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferLE.h:386
_SbgStreamBuffer
Definition: sbgStreamBufferCommon.h:188
_SbgLogUsblData::timeStamp
uint32_t timeStamp
Definition: sbgEComBinaryLogUsbl.h:48
_SbgLogUsblData
Definition: sbgEComBinaryLogUsbl.h:46
_SbgLogUsblData::longitude
double longitude
Definition: sbgEComBinaryLogUsbl.h:52
sbgEComBinaryLogUsbl.h
_SbgLogUsblData::latitudeAccuracy
float latitudeAccuracy
Definition: sbgEComBinaryLogUsbl.h:56
SbgErrorCode
enum _SbgErrorCode SbgErrorCode
Header file that defines all error codes for SBG Systems libraries.
_SbgLogUsblData::depth
float depth
Definition: sbgEComBinaryLogUsbl.h:54
sbgStreamBufferReadFloatLE
SBG_INLINE float sbgStreamBufferReadFloatLE(SbgStreamBuffer *pHandle)
Definition: sbgStreamBufferLE.h:1086
sbgStreamBufferWriteUint32LE
SBG_INLINE SbgErrorCode sbgStreamBufferWriteUint32LE(SbgStreamBuffer *pHandle, uint32_t value)
Definition: sbgStreamBufferLE.h:1499


sbg_driver
Author(s): SBG Systems
autogenerated on Fri Oct 11 2024 02:13:40