Main MRPT website > C++ reference for MRPT 1.5.6
xsdatapacket.h
Go to the documentation of this file.
1 /* +---------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2017, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +---------------------------------------------------------------------------+ */
9 #ifndef XSDATAPACKET_H
10 #define XSDATAPACKET_H
11 
12 #include "xstypedefs.h"
13 #include "pstdint.h"
14 #include "xsmessage.h"
15 #include "xstimestamp.h"
16 #include "xsdataidentifier.h"
17 #include "xsushortvector.h"
18 #include "xsscrdata.h"
19 #include "xscalibrateddata.h"
20 #include "xsgpspvtdata.h"
21 #include "xspressure.h"
22 #include "xssdidata.h"
23 #include "xsvector.h"
24 #include "xsquaternion.h"
25 #include "xsmatrix.h"
26 #include "xseuler.h"
27 #include "xsanalogindata.h"
28 #include "xsutctime.h"
29 #include "xsrawgpsdop.h"
30 #include "xsrawgpssol.h"
31 #include "xsrawgpssvinfo.h"
32 #include "xsrawgpstimeutc.h"
33 #include "xsdeviceid.h"
34 #include "xsrange.h"
36 
37 struct XsDataPacket;
38 #ifdef __cplusplus
39 extern "C"
40 {
41 #else
42 typedef struct XsDataPacket XsDataPacket;
43 #define XSDATAPACKET_INITIALIZER { XSMESSAGE_INITIALIZER, XSMESSAGE_INITIALIZER, XSDEVICEID_INITIALIZER, XDI_None, -1, 0, 0, XSTIMESTAMP_INITIALIZER, XSTIMESTAMP_INITIALIZER }
44 #endif
45 
90 XSTYPES_DLL_API XsEuler* XsDataPacket_orientationEuler(const XsDataPacket* thisPtr, XsEuler* returnVal, XsDataIdentifier coordinateSystem);
126 XSTYPES_DLL_API void XsDataPacket_setTemperature(XsDataPacket* thisPtr, double temp);
146 XSTYPES_DLL_API double XsDataPacket_altitude(const XsDataPacket* thisPtr);
149 XSTYPES_DLL_API XsVector* XsDataPacket_velocity(const XsDataPacket* thisPtr, XsVector* returnVal, XsDataIdentifier coordinateSystem);
151 XSTYPES_DLL_API void XsDataPacket_setVelocity(XsDataPacket* thisPtr, const XsVector* data, XsDataIdentifier coordinateSystem);
172 XSTYPES_DLL_API void XsDataPacket_setTriggerIndication(XsDataPacket* thisPtr, XsDataIdentifier triggerId, XsTriggerIndicationData const * triggerIndicationData);
175 
176 #ifdef __cplusplus
177 } // extern "C"
178 #endif
179 
180 struct XsDataPacket {
181 #ifdef __cplusplus
182  /*! \brief Default constructor, initializes empty data packet or from the supplied \a msg
183  \param msg Either 0 to create an empty object or a pointer to a valid %XsMessage containing
184  MTData2 data.
185  */
186  explicit XsDataPacket(const XsMessage* msg = 0)
188  , m_lastFoundOffset(-1)
189  , m_itemCount(0)
191  , m_toa(0)
192  , m_packetId(0)
193  {
196 
197  if (msg)
198  XsDataPacket_setMessage(this, msg);
199  }
200 
201  /*! \brief Copy constructor
202  \param pack The packet to copy from
203  */
204  XsDataPacket(const XsDataPacket& pack)
206  , m_lastFoundOffset(-1)
207  , m_itemCount(0)
209  , m_toa(0)
210  , m_packetId(0)
211  {
212  *this = pack;
213  }
214 
215  //! \copydoc XsDataPacket_destruct
216  ~XsDataPacket()
217  {
218  XsDataPacket_destruct(this);
219  }
220 
221  /*! \brief Assignment operator
222  \param other The packet to copy from
223  \returns A reference to this %XsDataPacket
224  \sa XsDataPacket_copy
225  */
226  const XsDataPacket& operator = (const XsDataPacket& other)
227  {
228  if (this != &other)
229  XsDataPacket_copy(this, &other);
230  return *this;
231  }
232 
233  /*! \brief \copybrief XsDataPacket_empty */
234  inline bool empty(void) const
235  {
236  return 0 != XsDataPacket_empty(this);
237  }
238 
239  /*! \copydoc XsDataPacket_itemOffsetExact */
240  inline int itemOffsetExact(XsDataIdentifier id) const
241  {
242  return XsDataPacket_itemOffsetExact(this, id);
243  }
244 
245  /*! \copydoc XsDataPacket_itemOffsetLoose */
246  inline int itemOffsetLoose(XsDataIdentifier id) const
247  {
248  return XsDataPacket_itemOffsetLoose(this, id);
249  }
250 
251  /*! \brief Return the id that was last found successfully by itemOffsetLoose or itemOffsetExact
252  \details When the last search didn't find anything, XDI_None will be returned.
253  \returns The id that was last found successfully by itemOffsetLoose or itemOffsetExact or XDI_None
254  \sa itemOffsetExact \sa itemOffsetLoose \sa lastFoundOffset
255  */
256  inline XsDataIdentifier lastFoundId() const
257  {
258  return m_lastFoundId;
259  }
260 
261  /*! \brief Return the offset that was last returned by itemOffsetLoose or itemOffsetExact
262  \details When the last search didn't find anything, -1 will be returned.
263  \returns The offset that was last returned by itemOffsetLoose or itemOffsetExact
264  \sa itemOffsetExact \sa itemOffsetLoose \sa lastFoundId
265  */
266  inline int lastFoundOffset() const
267  {
268  return m_lastFoundOffset;
269  }
270 
271  //! \brief Return the device ID associated with the data packet
272  inline XsDeviceId deviceId() const
273  {
274  return m_deviceId;
275  }
276 
277  //! \brief Return the number of data items in the packet
278  inline uint16_t itemCount() const
279  {
280  return m_itemCount;
281  }
282 
283  //! \copydoc XsDataPacket_setMessage
284  inline void setMessage(const XsMessage& msg)
285  {
286  XsDataPacket_setMessage(this, &msg);
287  }
288 
289  /*! \brief Returns a const reference to the message that contains the data packet
290  */
291  inline const XsMessage& XSNOCOMEXPORT message() const
292  {
293  return m_msg;
294  }
295 
296  /*! \brief Returns a reference to the message that contains the data packet
297  \returns A reference to the message that contains the data packet
298  \note Modifying this message directly can cause %XsDataPacket to break
299  */
300  inline XsMessage& XSNOCOMEXPORT message()
301  {
302  return m_msg; //lint !e1536
303  }
304 
305  //! \brief Set the device ID associated with this data packet
306  inline void setDeviceId(const XsDeviceId id)
307  {
308  m_deviceId = id;
309  }
310 
311  /*! \brief Returns a copy the original message of the data packet
312  \details This returns the original message that was last set with setMessage,
313  or in the constructor. Note that if existing data was updated, the original data may have been
314  overwritten, only added data will not be returned in this message.
315  When the packet was constructed from a legacy message, the legacy message will be returned.
316  \sa XsDataPacket_originalMessage
317  \returns An XsMessage containing a copy of the original message
318  */
319  inline XsMessage XSNOCOMEXPORT originalMessage(void) const
320  {
321  XsMessage returnVal;
322  return *XsDataPacket_originalMessage(this, &returnVal);
323  }
324 
325  /*! \copydoc XsDataPacket_dataFormat */
326  inline XsDataIdentifier dataFormat(XsDataIdentifier id) const
327  {
328  return XsDataPacket_dataFormat(this, id);
329  }
330 
331  /*! \copydoc XsDataPacket_getFPValueSize */
332  inline static uint8_t getFPValueSize(XsDataIdentifier id)
333  {
334  return XsDataPacket_getFPValueSize(id);
335  }
336 
337  /*! \brief \copybrief XsDataPacket_rawAcceleration */
338  inline XsUShortVector rawAcceleration(void) const
339  {
340  XsUShortVector returnVal;
341  return *XsDataPacket_rawAcceleration(this, &returnVal);
342  }
343 
344  /*! \copydoc XsDataPacket_containsRawAcceleration */
345  inline bool containsRawAcceleration(void) const
346  {
347  return 0 != XsDataPacket_containsRawAcceleration(this);
348  }
349 
350  /*! \copydoc XsDataPacket_setRawAcceleration */
351  inline void setRawAcceleration(const XsUShortVector& vec)
352  {
354  }
355 
356  /*! \brief \copybrief XsDataPacket_rawGyroscopeData */
357  inline XsUShortVector rawGyroscopeData(void) const
358  {
359  XsUShortVector returnVal;
360  return *XsDataPacket_rawGyroscopeData(this, &returnVal);
361  }
362 
363  /*! \copydoc XsDataPacket_containsRawGyroscopeData */
364  inline bool containsRawGyroscopeData(void) const
365  {
366  return 0 != XsDataPacket_containsRawGyroscopeData(this);
367  }
368 
369  /*! \brief \copybrief XsDataPacket_setRawGyroscopeData */
370  inline void setRawGyroscopeData(const XsUShortVector& vec)
371  {
373  }
374 
375  /*! \brief \copybrief XsDataPacket_rawGyroscopeTemperatureData */
376  inline XsUShortVector rawGyroscopeTemperatureData(void) const
377  {
378  XsUShortVector returnVal;
379  return *XsDataPacket_rawGyroscopeTemperatureData(this, &returnVal);
380  }
381 
382  /*! \copydoc XsDataPacket_containsRawGyroscopeTemperatureData */
383  inline bool containsRawGyroscopeTemperatureData(void) const
384  {
386  }
387 
388  /*! \brief \copybrief XsDataPacket_setRawGyroscopeTemperatureData */
389  inline void setRawGyroscopeTemperatureData(const XsUShortVector& vec)
390  {
392  }
393 
394  /*! \brief \copybrief XsDataPacket_rawMagneticField */
395  inline XsUShortVector rawMagneticField(void) const
396  {
397  XsUShortVector returnVal;
398  return *XsDataPacket_rawMagneticField(this, &returnVal);
399  }
400 
401  /*! \copydoc XsDataPacket_containsRawMagneticField */
402  inline bool containsRawMagneticField(void) const
403  {
404  return 0 != XsDataPacket_containsRawMagneticField(this);
405  }
406 
407  /*! \brief \copybrief XsDataPacket_setRawMagneticField */
408  inline void setRawMagneticField(const XsUShortVector& vec)
409  {
411  }
412 
413  /*! \brief \copybrief XsDataPacket_rawTemperature */
414  inline uint16_t rawTemperature(void) const
415  {
416  return XsDataPacket_rawTemperature(this);
417  }
418 
419  /*! \copydoc XsDataPacket_containsRawTemperature */
420  inline bool containsRawTemperature(void) const
421  {
422  return 0 != XsDataPacket_containsRawTemperature(this);
423  }
424 
425  /*! \brief \copybrief XsDataPacket_setRawTemperature */
426  inline void setRawTemperature(uint16_t temp)
427  {
428  XsDataPacket_setRawTemperature(this, temp);
429  }
430 
431  /*! \brief \copybrief XsDataPacket_rawData */
432  inline XsScrData rawData(void) const
433  {
434  XsScrData returnVal;
435  return *XsDataPacket_rawData(this, &returnVal);
436  }
437 
438  /*! \copydoc XsDataPacket_containsRawData */
439  inline bool containsRawData(void) const
440  {
441  return 0 != XsDataPacket_containsRawData(this);
442  }
443 
444  /*! \brief \copybrief XsDataPacket_setRawData */
445  inline void setRawData(const XsScrData& data)
446  {
448  }
449 
450  /*! \brief \copybrief XsDataPacket_calibratedAcceleration */
451  inline XsVector calibratedAcceleration(void) const
452  {
453  XsVector returnVal;
454  return *XsDataPacket_calibratedAcceleration(this, &returnVal);
455  }
456 
457  /*! \copydoc XsDataPacket_containsCalibratedAcceleration */
458  inline bool containsCalibratedAcceleration(void) const
459  {
461  }
462 
463  /*! \brief \copybrief XsDataPacket_setCalibratedAcceleration */
464  inline void setCalibratedAcceleration(const XsVector& vec)
465  {
467  }
468 
469  /*! \brief \copybrief XsDataPacket_calibratedGyroscopeData */
470  inline XsVector calibratedGyroscopeData(void) const
471  {
472  XsVector returnVal;
473  return *XsDataPacket_calibratedGyroscopeData(this, &returnVal);
474  }
475 
476  /*! \copydoc XsDataPacket_containsCalibratedGyroscopeData */
477  inline bool containsCalibratedGyroscopeData(void) const
478  {
480  }
481 
482  /*! \brief \copybrief XsDataPacket_setCalibratedGyroscopeData */
483  inline void setCalibratedGyroscopeData(const XsVector& vec)
484  {
486  }
487 
488  /*! \brief \copybrief XsDataPacket_calibratedMagneticField */
489  inline XsVector calibratedMagneticField(void) const
490  {
491  XsVector returnVal;
492  return *XsDataPacket_calibratedMagneticField(this, &returnVal);
493  }
494 
495  /*! \copydoc XsDataPacket_containsCalibratedMagneticField */
496  inline bool containsCalibratedMagneticField(void) const
497  {
499  }
500 
501  /*! \brief \copybrief XsDataPacket_setCalibratedMagneticField */
502  inline void setCalibratedMagneticField(const XsVector& vec)
503  {
505  }
506 
507  /*! \brief \copybrief XsDataPacket_calibratedData */
508  inline XsCalibratedData calibratedData(void) const
509  {
510  XsCalibratedData returnVal;
511  return *XsDataPacket_calibratedData(this, &returnVal);
512  }
513 
514  /*! \copydoc XsDataPacket_containsCalibratedData */
515  inline bool containsCalibratedData(void) const
516  {
517  return 0 != XsDataPacket_containsCalibratedData(this);
518  }
519 
520  /*! \brief \copybrief XsDataPacket_setCalibratedData */
521  inline void setCalibratedData(const XsCalibratedData& data)
522  {
524  }
525 
526  /*! \brief \copybrief XsDataPacket_orientationQuaternion */
527  inline XsQuaternion orientationQuaternion(XsDataIdentifier coordinateSystem) const
528  {
529  XsQuaternion returnVal;
530  return *XsDataPacket_orientationQuaternion(this, &returnVal, coordinateSystem);
531  }
532 
533  /*! \brief returns the orientation as a quaternion with the current coordinate system*/
534  inline XsQuaternion orientationQuaternion() const
535  {
536  XsQuaternion returnVal;
537  return *XsDataPacket_orientationQuaternion(this, &returnVal, coordinateSystemOrientation());
538  }
539 
540  /*! \brief \copybrief XsDataPacket_setOrientationQuaternion */
541  inline void setOrientationQuaternion(const XsQuaternion& data, XsDataIdentifier coordinateSystem)
542  {
543  XsDataPacket_setOrientationQuaternion(this, &data, coordinateSystem);
544  }
545 
546  /*! \brief \copybrief XsDataPacket_orientationEuler */
547  inline XsEuler orientationEuler(XsDataIdentifier coordinateSystem) const
548  {
549  XsEuler returnVal;
550  return *XsDataPacket_orientationEuler(this, &returnVal, coordinateSystem);
551  }
552 
553  /*! \brief returns the orientation as an XsEuler with the current coordinate system*/
554  inline XsEuler orientationEuler() const
555  {
556  XsEuler returnVal;
557  return *XsDataPacket_orientationEuler(this, &returnVal, coordinateSystemOrientation());
558  }
559 
560  /*! \brief \copybrief XsDataPacket_setOrientationEuler */
561  inline void setOrientationEuler(const XsEuler& data, XsDataIdentifier coordinateSystem)
562  {
563  XsDataPacket_setOrientationEuler(this, &data, coordinateSystem);
564  }
565 
566  /*! \brief \copybrief XsDataPacket_orientationMatrix */
567  inline XsMatrix orientationMatrix(XsDataIdentifier coordinateSystem) const
568  {
569  XsMatrix returnVal;
570  return *XsDataPacket_orientationMatrix(this, &returnVal, coordinateSystem);
571  }
572 
573  /*! \brief returns the orientation as an orientation matrix with the current coordinate system*/
574  inline XsMatrix orientationMatrix() const
575  {
576  XsMatrix returnVal;
577  return *XsDataPacket_orientationMatrix(this, &returnVal, coordinateSystemOrientation());
578  }
579 
580  /*! \brief \copybrief XsDataPacket_setOrientationMatrix */
581  inline void setOrientationMatrix(const XsMatrix& data, XsDataIdentifier coordinateSystem)
582  {
583  XsDataPacket_setOrientationMatrix(this, &data, coordinateSystem);
584  }
585 
586  /*! \copydoc XsDataPacket_containsOrientation */
587  inline bool containsOrientation(void) const
588  {
589  return 0 != XsDataPacket_containsOrientation(this);
590  }
591 
592  /*! \copydoc XsDataPacket_orientationIdentifier */
593  inline XsDataIdentifier orientationIdentifier() const
594  {
596  }
597 
598  /*! \copydoc XsDataPacket_coordinateSystemOrientation */
599  inline XsDataIdentifier coordinateSystemOrientation() const
600  {
602  }
603 
604  /*! \brief \copybrief XsDataPacket_sdiData */
605  inline XsSdiData sdiData(void) const
606  {
607  XsSdiData returnVal;
608  return *XsDataPacket_sdiData(this, &returnVal);
609  }
610 
611  /*! \copydoc XsDataPacket_containsSdiData */
612  inline bool containsSdiData(void) const
613  {
614  return 0 != XsDataPacket_containsSdiData(this);
615  }
616 
617  /*! \copydoc XsDataPacket_setSdiData */
618  inline void setSdiData(const XsSdiData& data)
619  {
621  }
622 
623  /*! \brief \copybrief XsDataPacket_status */
624  inline uint32_t status(void) const
625  {
626  return XsDataPacket_status(this);
627  }
628 
629  /*! \copydoc XsDataPacket_containsStatus */
630  inline bool containsStatus(void) const
631  {
632  return 0 != XsDataPacket_containsStatus(this);
633  }
634 
635  /*! \copydoc XsDataPacket_containsStatusByte */
636  inline bool containsStatusByte(void) const
637  {
638  return 0 != XsDataPacket_containsStatusByte(this);
639  }
640 
641  /*! \copydoc XsDataPacket_containsDetailedStatus */
642  inline bool containsDetailedStatus(void) const
643  {
644  return 0 != XsDataPacket_containsDetailedStatus(this);
645  }
646 
647  /*! \brief \copybrief XsDataPacket_setStatus */
648  inline void setStatus(const uint32_t data)
649  {
651  }
652 
653  /*! \brief \copybrief XsDataPacket_setStatusByte */
654  inline void setStatusByte(const uint8_t data)
655  {
657  }
658 
659  /*! \brief \copybrief XsDataPacket_packetCounter8 */
660  inline uint8_t packetCounter8(void) const
661  {
662  return XsDataPacket_packetCounter8(this);
663  }
664 
665  /*! \copydoc XsDataPacket_containsPacketCounter8 */
666  inline bool containsPacketCounter8(void) const
667  {
668  return 0 != XsDataPacket_containsPacketCounter8(this);
669  }
670 
671  /*! \brief \copybrief XsDataPacket_setPacketCounter8 */
672  inline void setPacketCounter8(uint8_t counter)
673  {
675  }
676 
677  /*! \brief \copybrief XsDataPacket_packetCounter */
678  inline uint16_t packetCounter(void) const
679  {
680  return XsDataPacket_packetCounter(this);
681  }
682 
683  /*! \copydoc XsDataPacket_containsPacketCounter */
684  inline bool containsPacketCounter(void) const
685  {
686  return 0 != XsDataPacket_containsPacketCounter(this);
687  }
688 
689  /*! \brief \copybrief XsDataPacket_setPacketCounter */
690  inline void setPacketCounter(uint16_t counter)
691  {
693  }
694 
695  /*! \brief \copybrief XsDataPacket_sampleTimeFine */
696  inline uint32_t sampleTimeFine(void) const
697  {
698  return XsDataPacket_sampleTimeFine(this);
699  }
700 
701  /*! \copydoc XsDataPacket_containsSampleTimeFine */
702  inline bool containsSampleTimeFine(void) const
703  {
704  return 0 != XsDataPacket_containsSampleTimeFine(this);
705  }
706 
707  /*! \brief \copybrief XsDataPacket_setSampleTimeFine */
708  inline void setSampleTimeFine(uint32_t counter)
709  {
711  }
712 
713  /*! \brief \copybrief XsDataPacket_sampleTimeCoarse */
714  inline uint32_t sampleTimeCoarse(void) const
715  {
716  return XsDataPacket_sampleTimeCoarse(this);
717  }
718 
719  /*! \copydoc XsDataPacket_containsSampleTimeCoarse */
720  inline bool containsSampleTimeCoarse(void) const
721  {
722  return 0 != XsDataPacket_containsSampleTimeCoarse(this);
723  }
724 
725  /*! \brief \copybrief XsDataPacket_setSampleTimeCoarse */
726  inline void setSampleTimeCoarse(uint32_t counter)
727  {
729  }
730 
731  /*! \brief \copybrief XsDataPacket_sampleTime64 */
732  inline uint64_t sampleTime64(void) const
733  {
734  return XsDataPacket_sampleTime64(this);
735  }
736 
737  /*! \copydoc XsDataPacket_containsSampleTime64 */
738  inline bool containsSampleTime64(void) const
739  {
740  return 0 != XsDataPacket_containsSampleTime64(this);
741  }
742 
743  /*! \brief \copybrief XsDataPacket_setSampleTime64 */
744  inline void setSampleTime64(uint64_t counter)
745  {
747  }
748 
749  /*! \brief \copybrief XsDataPacket_freeAcceleration */
750  inline XsVector freeAcceleration(void) const
751  {
752  XsVector returnVal;
753  return *XsDataPacket_freeAcceleration(this, &returnVal);
754  }
755 
756  /*! \copydoc XsDataPacket_containsFreeAcceleration */
757  inline bool containsFreeAcceleration(void) const
758  {
759  return 0 != XsDataPacket_containsFreeAcceleration(this);
760  }
761 
762  /*! \brief \copybrief XsDataPacket_setFreeAcceleration */
763  inline void setFreeAcceleration(const XsVector& g)
764  {
766  }
767 
768  /*! \brief \copybrief XsDataPacket_temperature */
769  inline double temperature(void) const
770  {
771  return XsDataPacket_temperature(this);
772  }
773 
774  /*! \copydoc XsDataPacket_containsTemperature */
775  inline bool containsTemperature(void) const
776  {
777  return 0 != XsDataPacket_containsTemperature(this);
778  }
779 
780  /*! \brief \copybrief XsDataPacket_setTemperature */
781  inline void setTemperature(double temp)
782  {
783  XsDataPacket_setTemperature(this, temp);
784  }
785 
786  /*! \brief \copybrief XsDataPacket_gpsPvtData */
787  inline XsGpsPvtData gpsPvtData(void) const
788  {
789  XsGpsPvtData returnVal;
790  return *XsDataPacket_gpsPvtData(this, &returnVal);
791  }
792 
793  /*! \copydoc XsDataPacket_containsGpsPvtData */
794  inline bool containsGpsPvtData(void) const
795  {
796  return 0 != XsDataPacket_containsGpsPvtData(this);
797  }
798 
799  /*! \copydoc XsDataPacket_setGpsPvtData */
800  inline void setGpsPvtData(const XsGpsPvtData& data)
801  {
803  }
804 
805  /*! \brief \copybrief XsDataPacket_pressure */
806  inline XsPressure pressure(void) const
807  {
808  XsPressure returnVal;
809  return *XsDataPacket_pressure(this, &returnVal);
810  }
811 
812  /*! \copydoc XsDataPacket_containsPressure */
813  inline bool containsPressure(void) const
814  {
815  return 0 != XsDataPacket_containsPressure(this);
816  }
817 
818  /*! \copydoc XsDataPacket_containsPressureAge */
819  inline bool containsPressureAge(void) const
820  {
821  return 0 != XsDataPacket_containsPressureAge(this);
822  }
823 
824  /*! \brief \copybrief XsDataPacket_setPressure */
825  inline void setPressure(const XsPressure& data)
826  {
828  }
829 
830  /*! \brief \copybrief XsDataPacket_analogIn1Data */
831  inline XsAnalogInData analogIn1Data(void) const
832  {
833  XsAnalogInData returnVal;
834  return *XsDataPacket_analogIn1Data(this, &returnVal);
835  }
836 
837  /*! \copydoc XsDataPacket_containsAnalogIn1Data */
838  inline bool containsAnalogIn1Data(void) const
839  {
840  return 0 != XsDataPacket_containsAnalogIn1Data(this);
841  }
842 
843  /*! \brief \copybrief XsDataPacket_setAnalogIn1Data */
844  inline void setAnalogIn1Data(const XsAnalogInData& data)
845  {
847  }
848 
849  /*! \brief \copybrief XsDataPacket_analogIn2Data */
850  inline XsAnalogInData analogIn2Data(void) const
851  {
852  XsAnalogInData returnVal;
853  return *XsDataPacket_analogIn2Data(this, &returnVal);
854  }
855 
856  /*! \copydoc XsDataPacket_containsAnalogIn2Data */
857  inline bool containsAnalogIn2Data(void) const
858  {
859  return 0 != XsDataPacket_containsAnalogIn2Data(this);
860  }
861 
862  /*! \brief \copybrief XsDataPacket_setAnalogIn2Data */
863  inline void setAnalogIn2Data(const XsAnalogInData& data)
864  {
866  }
867 
868  /*! \brief \copybrief XsDataPacket_positionLLA */
869  inline XsVector positionLLA(void) const
870  {
871  XsVector returnVal;
872  return *XsDataPacket_positionLLA(this, &returnVal);
873  }
874 
875  /*! \copydoc XsDataPacket_containsPositionLLA */
876  inline bool containsPositionLLA(void) const
877  {
878  return 0 != XsDataPacket_containsPositionLLA(this);
879  }
880 
881  /*! \copydoc XsDataPacket_setPositionLLA */
882  inline void setPositionLLA(const XsVector& data)
883  {
885  }
886 
887  /*! \brief \copybrief XsDataPacket_latitudeLongitude */
888  inline XsVector latitudeLongitude(void) const
889  {
890  XsVector returnVal;
891  return *XsDataPacket_latitudeLongitude(this, &returnVal);
892  }
893 
894  /*! \copydoc XsDataPacket_containsLatitudeLongitude */
895  inline bool containsLatitudeLongitude(void) const
896  {
897  return 0 != XsDataPacket_containsLatitudeLongitude(this);
898  }
899 
900  /*! \copydoc XsDataPacket_setLatitudeLongitude */
901  inline void setLatitudeLongitude(const XsVector& data)
902  {
904  }
905 
906  /*! \brief \copybrief XsDataPacket_altitude */
907  inline double altitude(void) const
908  {
909  return XsDataPacket_altitude(this);
910  }
911 
912  /*! \copydoc XsDataPacket_containsAltitude */
913  inline bool containsAltitude(void) const
914  {
915  return 0 != XsDataPacket_containsAltitude(this);
916  }
917 
918  /*! \copydoc XsDataPacket_setAltitude */
919  inline void setAltitude(double data)
920  {
922  }
923 
924  /*! \brief \copybrief XsDataPacket_velocity */
925  inline XsVector velocity(XsDataIdentifier coordinateSystem) const
926  {
927  XsVector returnVal;
928  return *XsDataPacket_velocity(this, &returnVal, coordinateSystem);
929  }
930 
931  /*! \brief returns the velocity with the current coordinate system*/
932  inline XsVector velocity(void) const
933  {
934  XsVector returnVal;
935  return *XsDataPacket_velocity(this, &returnVal, coordinateSystemVelocity());
936  }
937 
938  /*! \copydoc XsDataPacket_containsVelocity */
939  inline bool containsVelocity(void) const
940  {
941  return 0 != XsDataPacket_containsVelocity(this);
942  }
943 
944  /*! \brief \copybrief XsDataPacket_setVelocity */
945  inline void setVelocity(const XsVector& data, XsDataIdentifier coordinateSystem)
946  {
947  XsDataPacket_setVelocity(this, &data, coordinateSystem);
948  }
949 
950  /*! \brief \copybrief XsDataPacket_velocityIdentifier */
951  inline XsDataIdentifier velocityIdentifier() const
952  {
953  return XsDataPacket_velocityIdentifier(this);
954  }
955 
956  /*! \copydoc XsDataPacket_coordinateSystemVelocity */
957  inline XsDataIdentifier coordinateSystemVelocity() const
958  {
960  }
961 
962  /*! \brief \copybrief XsDataPacket_utcTime */
963  inline XsUtcTime utcTime(void) const
964  {
965  XsUtcTime returnVal;
966  return *XsDataPacket_utcTime(this, &returnVal);
967  }
968 
969  /*! \copydoc XsDataPacket_containsUtcTime */
970  inline bool containsUtcTime(void) const
971  {
972  return 0 != XsDataPacket_containsUtcTime(this);
973  }
974 
975  /*! \brief \copybrief XsDataPacket_setUtcTime */
976  inline void setUtcTime(const XsUtcTime& data)
977  {
979  }
980 
981  /*! \brief \copybrief XsDataPacket_frameRange */
982  inline XsRange frameRange() const
983  {
984  XsRange returnVal;
985  return *XsDataPacket_frameRange(this, &returnVal);
986  }
987 
988  /*! \copydoc XsDataPacket_containsFrameRange */
989  inline bool containsFrameRange() const
990  {
991  return 0 != XsDataPacket_containsFrameRange(this);
992  }
993 
994  /*! \copydoc XsDataPacket_setFrameRange */
995  inline void setFrameRange(const XsRange& r)
996  {
998  }
999 
1000  /*! \brief \copybrief XsDataPacket_rssi */
1001  inline int rssi() const
1002  {
1003  return XsDataPacket_rssi(this);
1004  }
1005 
1006  /*! \copydoc XsDataPacket_containsRssi */
1007  inline bool containsRssi() const
1008  {
1009  return 0 != XsDataPacket_containsRssi(this);
1010  }
1011 
1012  /*! \copydoc XsDataPacket_setRssi */
1013  inline void setRssi(int r)
1014  {
1015  XsDataPacket_setRssi(this, r);
1016  }
1017 
1018  /*! \brief \copybrief XsDataPacket_rawGpsDop */
1019  inline XsRawGpsDop rawGpsDop(void) const
1020  {
1021  XsRawGpsDop returnVal;
1022  return *XsDataPacket_rawGpsDop(this, &returnVal);
1023  }
1024 
1025  /*! \brief \copybrief XsDataPacket_containsRawGpsDop */
1026  inline bool containsRawGpsDop(void) const
1027  {
1028  return 0 != XsDataPacket_containsRawGpsDop(this);
1029  }
1030 
1031  /*! \brief \copybrief XsDataPacket_rawGpsSol */
1032  inline XsRawGpsSol rawGpsSol(void) const
1033  {
1034  XsRawGpsSol returnVal = XsRawGpsSol();
1035  return *XsDataPacket_rawGpsSol(this, &returnVal);
1036  }
1037 
1038  /*! \brief \copybrief XsDataPacket_containsRawGpsSol */
1039  inline bool containsRawGpsSol(void) const
1040  {
1041  return 0 != XsDataPacket_containsRawGpsSol(this);
1042  }
1043 
1044  /*! \brief \copybrief XsDataPacket_rawGpsTimeUtc */
1045  inline XsRawGpsTimeUtc rawGpsTimeUtc(void) const
1046  {
1047  XsRawGpsTimeUtc returnVal;
1048  return *XsDataPacket_rawGpsTimeUtc(this, &returnVal);
1049  }
1050 
1051  /*! \brief \copybrief XsDataPacket_containsRawGpsTimeUtc */
1052  inline bool containsRawGpsTimeUtc(void) const
1053  {
1054  return 0 != XsDataPacket_containsRawGpsTimeUtc(this);
1055  }
1056 
1057  /*! \brief \copybrief XsDataPacket_rawGpsSvInfo */
1058  inline XsRawGpsSvInfo rawGpsSvInfo(void) const
1059  {
1060  XsRawGpsSvInfo returnVal;
1061  return *XsDataPacket_rawGpsSvInfo(this, &returnVal);
1062  }
1063 
1064  /*! \brief \copybrief XsDataPacket_containsRawGpsSvInfo */
1065  inline bool containsRawGpsSvInfo(void) const
1066  {
1067  return 0 != XsDataPacket_containsRawGpsSvInfo(this);
1068  }
1069 
1070  /*! \copydoc XsDataPacket_append */
1071  inline XsDataPacket& append(const XsDataPacket& other)
1072  {
1073  return *XsDataPacket_append(this, &other);
1074  }
1075 
1076  /*! \private \brief Set the time of arrival of the data packet */
1077  inline void setTimeOfArrival(XsTimeStamp t)
1078  {
1079  m_toa = t;
1080  }
1081 
1082  /*! \brief Return the time of arrival of the data packet. Only valid for live streams. The behaviour for file streams is undefined and may change in the future. */
1083  inline XsTimeStamp timeOfArrival() const
1084  {
1085  return m_toa;
1086  }
1087 
1088  /*! \private \brief Set the packet ID of the data packet*/
1089  inline void setPacketId(XsTimeStamp t)
1090  {
1091  m_packetId = t;
1092  }
1093 
1094  /*! \brief Return the ID of the packet.
1095  \details This ID is based on, depending on availability: (1) packet counter (2) sample time (3) arrival order
1096  \returns The ID of the packet.
1097  */
1098  inline XsTimeStamp packetId() const
1099  {
1100  return m_packetId;
1101  }
1102 
1103  /*! \copydoc XsDataPacket_setTriggerIndication */
1104  void setTriggerIndication(XsDataIdentifier triggerId, XsTriggerIndicationData const & triggerIndicationData)
1105  {
1106  XsDataPacket_setTriggerIndication(this, triggerId, &triggerIndicationData);
1107  }
1108 
1109 /*! \brief Returns the trigger indication data of a packet
1110  \details
1111  If the packet does not contain the requested data, the return val struct will be set to all zeroes
1112  \param[in] triggerId The trigger data identifier to add data for (e.g. XDI_TriggerIn1 or XDI_TriggerIn2)
1113  \returns the trigger indication data of a packet
1114 */
1115  XsTriggerIndicationData triggerIndication(XsDataIdentifier triggerId)
1116  {
1117  XsTriggerIndicationData returnVal;
1118  return *XsDataPacket_triggerIndication(this, triggerId, &returnVal);
1119  }
1120 
1121  /*! \copydoc XsDataPacket_containsTriggerIndication */
1122  int containsTriggerIndication(XsDataIdentifier triggerId)
1123  {
1124  return XsDataPacket_containsTriggerIndication(this, triggerId);
1125  }
1126 
1127 protected:
1128  /*! \privatesection */
1129 #endif // __cplusplus
1130 
1131  XsMessage m_msg; //!< The message that contains the data
1132  XsMessage m_legacyMsg; //!< Optional legacy MtData message as received (for logging the received data only)
1133  XsDeviceId m_deviceId; //!< The device Id to which the message belongs
1134  XsDataIdentifier m_lastFoundId; //!< Last found data identifer, speeds up searches
1135  int m_lastFoundOffset; //!< Offset of last found data identifier, speeds up searches
1136  uint16_t m_itemCount; //!< The number of data items in the message
1137  uint16_t m_originalMessageLength; //!< Length of the original message payload
1138  XsTimeStamp m_toa; //!< Time of arrival (live packets only)
1139  XsTimeStamp m_packetId; //!< 64 bit packet id, based on, depending on availability: (1) packet counter (2) sample time (3) arrival order
1140 };
1141 
1142 #endif // file guard
XSTYPES_DLL_API int XsDataPacket_containsPressureAge(const XsDataPacket *thisPtr)
XSTYPES_DLL_API XsAnalogInData * XsDataPacket_analogIn2Data(const XsDataPacket *thisPtr, XsAnalogInData *returnVal)
GLenum GLint GLuint mask
Definition: glext.h:3888
struct XsRawGpsSol XsRawGpsSol
Definition: xsrawgpssol.h:57
XSTYPES_DLL_API void XsMessage_setMessageId(XsMessage *thisPtr, XsXbusMessageId msgId)
EIGEN_STRONG_INLINE bool empty() const
XSTYPES_DLL_API void XsDataPacket_setPositionLLA(XsDataPacket *thisPtr, const XsVector *data)
GLdouble GLdouble t
Definition: glext.h:3610
XSTYPES_DLL_API void XsDataPacket_setFrameRange(XsDataPacket *thisPtr, const XsRange *r)
XSTYPES_DLL_API void XsDataPacket_setAnalogIn2Data(XsDataPacket *thisPtr, const XsAnalogInData *data)
unsigned __int16 uint16_t
Definition: rptypes.h:46
XSTYPES_DLL_API int XsDataPacket_itemOffsetLoose(const XsDataPacket *thisPtr, XsDataIdentifier id)
XSTYPES_DLL_API XsVector * XsDataPacket_calibratedGyroscopeData(const XsDataPacket *thisPtr, XsVector *returnVal)
XSTYPES_DLL_API void XsDataPacket_construct(XsDataPacket *thisPtr)
XSTYPES_DLL_API void XsDataPacket_setStatusByte(XsDataPacket *thisPtr, uint8_t data)
XSTYPES_DLL_API void XsDataPacket_setOrientationMatrix(XsDataPacket *thisPtr, const XsMatrix *data, XsDataIdentifier coordinateSystem)
XSTYPES_DLL_API XsVector * XsDataPacket_calibratedAcceleration(const XsDataPacket *thisPtr, XsVector *returnVal)
XSTYPES_DLL_API uint8_t XsDataPacket_getFPValueSize(XsDataIdentifier id)
XSTYPES_DLL_API double XsDataPacket_altitude(const XsDataPacket *thisPtr)
XSTYPES_DLL_API XsDataIdentifier XsDataPacket_coordinateSystemVelocity(const XsDataPacket *thisPtr)
XSTYPES_DLL_API void XsDataPacket_setCalibratedMagneticField(XsDataPacket *thisPtr, const XsVector *vec)
XSTYPES_DLL_API int XsDataPacket_containsSdiData(const XsDataPacket *thisPtr)
XSTYPES_DLL_API XsVector * XsDataPacket_positionLLA(const XsDataPacket *thisPtr, XsVector *returnVal)
A vector containing 3 short values.
XSTYPES_DLL_API int XsDataPacket_containsCalibratedAcceleration(const XsDataPacket *thisPtr)
struct XsDataPacket XsDataPacket
Definition: xsdatapacket.h:42
XSTYPES_DLL_API void XsDataPacket_setRawTemperature(XsDataPacket *thisPtr, uint16_t temp)
XSTYPES_DLL_API int XsDataPacket_containsAnalogIn2Data(const XsDataPacket *thisPtr)
XSTYPES_DLL_API XsDataPacket * XsDataPacket_append(XsDataPacket *thisPtr, const XsDataPacket *other)
XSTYPES_DLL_API XsPressure * XsDataPacket_pressure(const XsDataPacket *thisPtr, XsPressure *returnVal)
uint16_t m_originalMessageLength
Length of the original message payload.
Data for a trigger indication message.
XSTYPES_DLL_API int XsDataPacket_containsPositionLLA(const XsDataPacket *thisPtr)
XSTYPES_DLL_API void XsDataPacket_setPacketCounter(XsDataPacket *thisPtr, uint16_t counter)
XSTYPES_DLL_API int XsDataPacket_containsSampleTime64(const XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_containsRawGyroscopeData(const XsDataPacket *thisPtr)
XSTYPES_DLL_API XsVector * XsDataPacket_velocity(const XsDataPacket *thisPtr, XsVector *returnVal, XsDataIdentifier coordinateSystem)
XSTYPES_DLL_API void XsDataPacket_setRawGyroscopeData(XsDataPacket *thisPtr, const XsUShortVector *vec)
XSTYPES_DLL_API int XsDataPacket_containsVelocity(const XsDataPacket *thisPtr)
XSTYPES_DLL_API void XsDataPacket_setSampleTimeCoarse(XsDataPacket *thisPtr, uint32_t counter)
XSTYPES_DLL_API double XsDataPacket_temperature(const XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_containsCalibratedMagneticField(const XsDataPacket *thisPtr)
A container for NAV-TIMEUTC data.
XSTYPES_DLL_API void XsDataPacket_setRawGyroscopeTemperatureData(XsDataPacket *thisPtr, const XsUShortVector *vec)
XSTYPES_DLL_API XsAnalogInData * XsDataPacket_analogIn1Data(const XsDataPacket *thisPtr, XsAnalogInData *returnVal)
XSTYPES_DLL_API int XsDataPacket_containsLatitudeLongitude(const XsDataPacket *thisPtr)
XsDataIdentifier
Defines the data identifiers.
XSTYPES_DLL_API XsVector * XsDataPacket_latitudeLongitude(const XsDataPacket *thisPtr, XsVector *returnVal)
XSTYPES_DLL_API uint32_t XsDataPacket_sampleTimeFine(const XsDataPacket *thisPtr)
GLuint src
Definition: glext.h:6303
XSTYPES_DLL_API void XsDataPacket_setLatitudeLongitude(XsDataPacket *thisPtr, const XsVector *data)
XsTimeStamp m_toa
Time of arrival (live packets only)
XSTYPES_DLL_API void XsDataPacket_setPacketCounter8(XsDataPacket *thisPtr, uint8_t counter)
XSTYPES_DLL_API void XsDataPacket_setSampleTimeFine(XsDataPacket *thisPtr, uint32_t counter)
XSTYPES_DLL_API XsTriggerIndicationData * XsDataPacket_triggerIndication(XsDataPacket const *thisPtr, XsDataIdentifier triggerId, XsTriggerIndicationData *returnVal)
XSTYPES_DLL_API int XsDataPacket_containsRawGpsSol(const XsDataPacket *thisPtr)
XSTYPES_DLL_API void XsDataPacket_setAltitude(XsDataPacket *thisPtr, double data)
XSTYPES_DLL_API void XsDataPacket_setSdiData(XsDataPacket *thisPtr, const XsSdiData *data)
XSTYPES_DLL_API XsUShortVector * XsDataPacket_rawGyroscopeTemperatureData(const XsDataPacket *thisPtr, XsUShortVector *returnVal)
unsigned char uint8_t
Definition: rptypes.h:43
XSTYPES_DLL_API int XsDataPacket_containsDetailedStatus(const XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_containsRawGyroscopeTemperatureData(const XsDataPacket *thisPtr)
XSTYPES_DLL_API XsScrData * XsDataPacket_rawData(const XsDataPacket *thisPtr, XsScrData *returnVal)
XSTYPES_DLL_API int XsDataPacket_containsRawGpsTimeUtc(const XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_itemOffsetMasked(const XsDataPacket *thisPtr, XsDataIdentifier id, XsDataIdentifier mask)
XSTYPES_DLL_API int XsDataPacket_containsFrameRange(const XsDataPacket *thisPtr)
Structure for storing a single message.
Definition: xsmessage.h:138
uint16_t m_itemCount
The number of data items in the message.
XSTYPES_DLL_API int XsDataPacket_containsRssi(const XsDataPacket *thisPtr)
XSTYPES_DLL_API void XsDataPacket_setStatus(XsDataPacket *thisPtr, uint32_t data)
XSTYPES_DLL_API int XsDataPacket_containsTemperature(const XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_containsOrientation(const XsDataPacket *thisPtr)
XSTYPES_DLL_API XsRawGpsDop * XsDataPacket_rawGpsDop(const XsDataPacket *thisPtr, XsRawGpsDop *returnVal)
XSTYPES_DLL_API XsUShortVector * XsDataPacket_rawMagneticField(const XsDataPacket *thisPtr, XsUShortVector *returnVal)
XsDataIdentifier m_lastFoundId
Last found data identifer, speeds up searches.
GLubyte g
Definition: glext.h:5575
XSTYPES_DLL_API void XsDataPacket_setRawAcceleration(XsDataPacket *thisPtr, const XsUShortVector *vec)
GLubyte GLubyte b
Definition: glext.h:5575
XSTYPES_DLL_API void XsDataPacket_setFreeAcceleration(XsDataPacket *thisPtr, const XsVector *g)
XSTYPES_DLL_API XsRange * XsDataPacket_frameRange(const XsDataPacket *thisPtr, XsRange *returnVal)
Class for managing timestamps in a unified way.
Definition: xstimestamp.h:43
XSTYPES_DLL_API void XsDataPacket_setRawData(XsDataPacket *thisPtr, const XsScrData *data)
XSTYPES_DLL_API uint16_t XsDataPacket_packetCounter(const XsDataPacket *thisPtr)
XSTYPES_DLL_API XsSdiData * XsDataPacket_sdiData(const XsDataPacket *thisPtr, XsSdiData *returnVal)
int m_lastFoundOffset
Offset of last found data identifier, speeds up searches.
XSTYPES_DLL_API void XsDataPacket_setMessage(XsDataPacket *thisPtr, const XsMessage *msg)
XsDeviceId m_deviceId
The device Id to which the message belongs.
XSTYPES_DLL_API uint64_t XsDataPacket_sampleTime64(const XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_containsRawGpsSvInfo(const XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_containsCalibratedData(const XsDataPacket *thisPtr)
Data from analog inputs from sensors.
#define XSTYPES_DLL_API
Definition: xstypesconfig.h:9
XSTYPES_DLL_API int XsDataPacket_containsPressure(const XsDataPacket *thisPtr)
unsigned __int64 uint64_t
Definition: rptypes.h:52
XSTYPES_DLL_API XsGpsPvtData * XsDataPacket_gpsPvtData(const XsDataPacket *thisPtr, XsGpsPvtData *returnVal)
XSTYPES_DLL_API void XsDataPacket_setPressure(XsDataPacket *thisPtr, const XsPressure *data)
XSTYPES_DLL_API XsMessage * XsDataPacket_originalMessage(const XsDataPacket *thisPtr, XsMessage *returnVal)
XSTYPES_DLL_API void XsDataPacket_setCalibratedGyroscopeData(XsDataPacket *thisPtr, const XsVector *vec)
XSTYPES_DLL_API XsRawGpsSol * XsDataPacket_rawGpsSol(const XsDataPacket *thisPtr, XsRawGpsSol *returnVal)
XSTYPES_DLL_API XsRawGpsTimeUtc * XsDataPacket_rawGpsTimeUtc(const XsDataPacket *thisPtr, XsRawGpsTimeUtc *returnVal)
XSTYPES_DLL_API XsCalibratedData * XsDataPacket_calibratedData(const XsDataPacket *thisPtr, XsCalibratedData *returnVal)
XSTYPES_DLL_API int XsDataPacket_containsStatusByte(const XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_containsPacketCounter8(const XsDataPacket *thisPtr)
GLdouble GLdouble GLdouble r
Definition: glext.h:3618
XSTYPES_DLL_API XsEuler * XsDataPacket_orientationEuler(const XsDataPacket *thisPtr, XsEuler *returnVal, XsDataIdentifier coordinateSystem)
XSTYPES_DLL_API void XsDataPacket_setOrientationQuaternion(XsDataPacket *thisPtr, const XsQuaternion *data, XsDataIdentifier coordinateSystem)
A structure for storing UTC Time values.
Definition: xsutctime.h:15
XSTYPES_DLL_API int XsDataPacket_containsUtcTime(const XsDataPacket *thisPtr)
XSTYPES_DLL_API XsDataIdentifier XsDataPacket_dataFormat(const XsDataPacket *thisPtr, XsDataIdentifier id)
XSTYPES_DLL_API XsUtcTime * XsDataPacket_utcTime(const XsDataPacket *thisPtr, XsUtcTime *returnVal)
A container for NAV-SVINFO data.
XSTYPES_DLL_API int XsDataPacket_containsSampleTimeFine(const XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_containsTriggerIndication(XsDataPacket const *thisPtr, XsDataIdentifier triggerId)
GLuint id
Definition: glext.h:3770
XsMessage m_msg
The message that contains the data.
XSTYPES_DLL_API XsVector * XsDataPacket_freeAcceleration(const XsDataPacket *thisPtr, XsVector *returnVal)
XSTYPES_DLL_API int XsDataPacket_containsCalibratedGyroscopeData(const XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_containsRawData(const XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_containsRawAcceleration(const XsDataPacket *thisPtr)
_u8 status
Definition: rplidar_cmd.h:21
XSTYPES_DLL_API int XsDataPacket_containsPacketCounter(const XsDataPacket *thisPtr)
XSTYPES_DLL_API void XsDataPacket_setCalibratedData(XsDataPacket *thisPtr, const XsCalibratedData *data)
Contains data received from a device or read from a file.
Definition: xsdatapacket.h:180
XSTYPES_DLL_API int XsDataPacket_rssi(const XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_containsAnalogIn1Data(const XsDataPacket *thisPtr)
XSTYPES_DLL_API XsMatrix * XsDataPacket_orientationMatrix(const XsDataPacket *thisPtr, XsMatrix *returnVal, XsDataIdentifier coordinateSystem)
XsMessage m_legacyMsg
Optional legacy MtData message as received (for logging the received data only)
A container for NAV-DOP data.
Definition: xsrawgpsdop.h:27
XSTYPES_DLL_API XsQuaternion * XsDataPacket_orientationQuaternion(const XsDataPacket *thisPtr, XsQuaternion *returnVal, XsDataIdentifier coordinateSystem)
XSTYPES_DLL_API int XsDataPacket_containsRawTemperature(const XsDataPacket *thisPtr)
XSTYPES_DLL_API void XsDataPacket_setTemperature(XsDataPacket *thisPtr, double temp)
XSTYPES_DLL_API int XsDataPacket_containsStatus(const XsDataPacket *thisPtr)
XSTYPES_DLL_API void XsDataPacket_setUtcTime(XsDataPacket *thisPtr, const XsUtcTime *data)
Container for raw sensor measurement data.
Definition: xsscrdata.h:26
XSTYPES_DLL_API void XsDataPacket_setTriggerIndication(XsDataPacket *thisPtr, XsDataIdentifier triggerId, XsTriggerIndicationData const *triggerIndicationData)
XSTYPES_DLL_API XsDataIdentifier XsDataPacket_coordinateSystemOrientation(const XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_containsFreeAcceleration(const XsDataPacket *thisPtr)
XSTYPES_DLL_API void XsDataPacket_setOrientationEuler(XsDataPacket *thisPtr, const XsEuler *data, XsDataIdentifier coordinateSystem)
XSTYPES_DLL_API XsDataIdentifier XsDataPacket_orientationIdentifier(const XsDataPacket *thisPtr)
XSTYPES_DLL_API void XsDataPacket_setRawMagneticField(XsDataPacket *thisPtr, const XsUShortVector *vec)
XSTYPES_DLL_API void XsDataPacket_swap(XsDataPacket *a, XsDataPacket *b)
XSTYPES_DLL_API XsRawGpsSvInfo * XsDataPacket_rawGpsSvInfo(const XsDataPacket *thisPtr, XsRawGpsSvInfo *returnVal)
XSTYPES_DLL_API void XsDataPacket_setRssi(XsDataPacket *thisPtr, int r)
XSTYPES_DLL_API int XsDataPacket_containsSampleTimeCoarse(const XsDataPacket *thisPtr)
XSTYPES_DLL_API uint8_t XsDataPacket_packetCounter8(const XsDataPacket *thisPtr)
XSTYPES_DLL_API XsUShortVector * XsDataPacket_rawGyroscopeData(const XsDataPacket *thisPtr, XsUShortVector *returnVal)
XSTYPES_DLL_API void XsDataPacket_setSampleTime64(XsDataPacket *thisPtr, uint64_t counter)
XSTYPES_DLL_API void XsDataPacket_setVelocity(XsDataPacket *thisPtr, const XsVector *data, XsDataIdentifier coordinateSystem)
XSTYPES_DLL_API void XsDataPacket_setAnalogIn1Data(XsDataPacket *thisPtr, const XsAnalogInData *data)
XSTYPES_DLL_API void XsDataPacket_copy(XsDataPacket *copy, XsDataPacket const *src)
XSTYPES_DLL_API int XsDataPacket_containsAltitude(const XsDataPacket *thisPtr)
XSTYPES_DLL_API XsUShortVector * XsDataPacket_rawAcceleration(const XsDataPacket *thisPtr, XsUShortVector *returnVal)
unsigned __int32 uint32_t
Definition: rptypes.h:49
XSTYPES_DLL_API void XsDataPacket_setCalibratedAcceleration(XsDataPacket *thisPtr, const XsVector *vec)
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: glext.h:3520
#define deviceId
Definition: CIMUXSens.cpp:41
GLubyte GLubyte GLubyte a
Definition: glext.h:5575
XSTYPES_DLL_API XsVector * XsDataPacket_calibratedMagneticField(const XsDataPacket *thisPtr, XsVector *returnVal)
XsTimeStamp m_packetId
64 bit packet id, based on, depending on availability: (1) packet counter (2) sample time (3) arrival...
A container for NAV-SOL data.
Definition: xsrawgpssol.h:24
XSTYPES_DLL_API uint32_t XsDataPacket_status(const XsDataPacket *thisPtr)
XSTYPES_DLL_API void XsDataPacket_destruct(XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_empty(const XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_containsRawGpsDop(const XsDataPacket *thisPtr)
XSTYPES_DLL_API uint32_t XsDataPacket_sampleTimeCoarse(const XsDataPacket *thisPtr)
Data from the GPS unit of a legacy MTi-G.
Definition: xsgpspvtdata.h:32
Pressure data.
Definition: xspressure.h:17
XSTYPES_DLL_API uint16_t XsDataPacket_rawTemperature(const XsDataPacket *thisPtr)
XSTYPES_DLL_API void XsDataPacket_setGpsPvtData(XsDataPacket *thisPtr, const XsGpsPvtData *data)
XSTYPES_DLL_API XsDataIdentifier XsDataPacket_velocityIdentifier(const XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_containsRawMagneticField(const XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_containsGpsPvtData(const XsDataPacket *thisPtr)
XSTYPES_DLL_API int XsDataPacket_itemOffsetExact(const XsDataPacket *thisPtr, XsDataIdentifier id)



Page generated by Doxygen 1.8.14 for MRPT 1.5.6 Git: 4c65e8431 Tue Apr 24 08:18:17 2018 +0200 at lun oct 28 01:35:26 CET 2019