26 uint8_t iNVMBuffer[256];
32 for (i = 0; i < 256; i++)
33 *(pDst++) = *(pSrc++);
40 pSrc = (
uint8 *) &itmp32;
42 for (i = 0; i < 4; i++)
43 *(pDst++) = *(pSrc++);
46 for (i = 0; i < 64; i++)
47 *(pDst++) = *(pSrc++);
51 #endif // if F_USING_MAG 57 #if F_USING_GYRO && (F_9DOF_GBY_KALMAN || F_6DOF_GY_KALMAN) 60 uint8_t iNVMBuffer[256];
66 for (i = 0; i < 256; i++)
67 *(pDst++) = *(pSrc++);
74 pSrc = (
uint8 *) &itmp32;
76 for (i = 0; i < 4; i++)
77 *(pDst++) = *(pSrc++);
81 pSrc = (
uint8 *) sfg->SV_9DOF_GBY_KALMAN.fbPl;
83 pSrc = (
uint8 *) sfg->SV_6DOF_GY_KALMAN.fbPl;
85 for (i = 0; i < 12; i++)
86 *(pDst++) = *(pSrc++);
99 uint8_t iNVMBuffer[256];
105 for (i = 0; i < 256; i++)
106 *(pDst++) = *(pSrc++);
112 pSrc = (
uint8 *) &itmp32;
114 for (i = 0; i < 4; i++)
115 *(pDst++) = *(pSrc++);
118 pSrc = (
uint8 *) &(sfg->AccelCal);
119 for (i = 0; i < 84; i++)
120 *(pDst++) = *(pSrc++);
130 uint8_t *pSrc, *pDst;
132 uint8_t iNVMBuffer[256];
137 for (i = 0; i < 256; i++)
138 *(pDst++) = *(pSrc++);
151 uint8_t *pSrc, *pDst;
153 uint8_t iNVMBuffer[256];
158 for (i = 0; i < 256; i++)
159 *(pDst++) = *(pSrc++);
172 uint8_t *pSrc, *pDst;
174 uint8_t iNVMBuffer[256];
179 for (i = 0; i < 256; i++)
180 *(pDst++) = *(pSrc++);
#define CALIBRATION_NVM_ADDR
start of final 4K (sector size) of 1M flash
#define F_6DOF_GY_KALMAN
6DOF accel and gyro (Kalman) algorithm selector - 0x2000 to include, 0x0000 otherwise ...
void EraseAccelCalibrationFromNVM(void)
void SaveGyroCalibrationToNVM(SensorFusionGlobals *sfg)
The top level fusion structure.
middleware driver for NVM on Kinetis devices
struct MagCalibration MagCal
mag cal storage
The sensor_fusion.h file implements the top level programming interface.
void SaveMagCalibrationToNVM(SensorFusionGlobals *sfg)
void EraseMagCalibrationFromNVM(void)
void SaveAccelCalibrationToNVM(SensorFusionGlobals *sfg)
void EraseGyroCalibrationFromNVM(void)
byte NVM_SetBlockFlash(uint8_t *Source, uint32_t Dest, uint16_t Count)
Provides functions to store calibration to NVM.