1 #ifndef GM_TIVA_MFAM_DATA_SOURCE_HPP_
2 #define GM_TIVA_MFAM_DATA_SOURCE_HPP_
4 #include "GmBufferedSensor.hpp"
6 #ifndef GMMFAMDATA_HPP_
7 #include <GmMfamData.hpp>
10 #include <GmRingBuffer.hpp>
11 #include <GmManagedRingBuffer.hpp>
12 #include <GmChildRingBuffer.hpp>
16 #define OUT_MSG_LEN 32
22 #define MFAM_FAILED_INIT 1
24 #define MFAM_BLOCK_COUNT 100
41 virtual int CheckCalibrate (Bool bForceCalibrate);
42 int SetSimpleSubsampleRate (
int iNewRate);
43 int ResetBuffers (Bool bForceCalibrate);
44 virtual UInt16 SystemStatus () {
return m_static_iSystemStatus; };
50 virtual void Halt () = 0;
52 Bool MagOneDataValid ();
53 Bool MagTwoDataValid ();
56 static int DecodeMagStartupStatus (UInt16 iMagStatus,
59 static int DecodeMagOperatingStatus (UInt16 iMagStatus,
62 int MagOneStartupStatusString (
char *strBuffer,
64 int MagTwoStartupStatusString (
char *strBuffer,
66 int MagOneOperatingStatusString (
char *strBuffer,
68 int MagTwoOperatingStatusString (
char *strBuffer,
70 int LastMagOneDataValue (
float *pfDataValue);
71 int LastMagTwoDataValue (
float *pfDataValue);
72 UInt16 MagMainMode ();
73 UInt16 CompassStatus ();
75 Bool SystemHasStartedUp ();
77 #if GEO_MFAM_FULL_FILTER == GEO_TRUE
78 void SaveMonitorPacket (IndexedMfamFilteredPacketWithHeader *pMonitorPacket, Bool bFilter);
80 void SaveMonitorPacket (MfamSpiPacket *pMonitorPacket, Bool bFilter);
82 static UInt16 m_static_iSystemStatus;
83 uint32_t mQueueFillTopThreshold,
84 mQueueFillRestartThreshold;
87 int RecordStatus (MfamSpiPacket *pmspRecord);
93 #if GEO_MFAM_FULL_FILTER == GEO_TRUE
94 IndexedMfamFilteredPacketWithHeader m_mspStatusPacket;
96 MfamSpiPacket m_mspStatusPacket;
99 static bool m_static_boolInitialized;
100 int m_iSimpleSubsampleRate;
101 static int m_static_iSubsampleCount;
111 #define MAG_SPI_LAST_DATA 0
112 #define MAG_SPI_SYS_STAT 0
113 #define MAG_SPI_ONE_STAT 0
114 #define MAG_SPI_TWO_STAT 0
115 #define MAG_SPI_AUX_SERIAL 0
116 #define MAG_SPI_AUX_ACCEL 1
117 #define MAG_SPI_AUX_GYRO 2
118 #define MAG_SPI_AUX_COMPASS 3
119 #define MAG_SPI_TOTAL_RECORDS 4
120 #if GEO_MFAM_FULL_FILTER == GEO_TRUE
121 IndexedMfamFilteredPacketWithHeader m_amspStatusRecords [MAG_SPI_TOTAL_RECORDS];
123 MfamSpiPacket m_amspStatusRecords [MAG_SPI_TOTAL_RECORDS];
The class from which event sources and sensors that post events to the application's main event queue...
Definition: GmBufferedSensor.hpp:18
Abstract class - the interface - to the MFAM sensor. This abstract layer was created in order to acco...
Definition: GmMFAMDataSource.hpp:36
virtual int WriteToStorage(UInt32 ui32Topic, char *pData, UInt32 iSize, GmStorage *psStorage, UInt32 ui32FormatId)
Definition: GmMFAMDataSource.cpp:402
Definition: GmStorage.hpp:81
GmApp/GmLoggingApp.hpp>
Definition: Analogs.hpp:47