123
Fork of LG by
Diff: DeviceErrorModel.h
- Revision:
- 198:78dd6d14d108
- Parent:
- 197:7a05523bf588
diff -r 7a05523bf588 -r 78dd6d14d108 DeviceErrorModel.h --- a/DeviceErrorModel.h Wed Oct 19 10:55:05 2016 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -#ifndef __DEVICE_EM_H__ -#define __DEVICE_EM_H__ - -//Bias model #1 typedefs -// Error = m[0] + m[1] * T + m[2] * dT -typedef struct _DeviceEMBias1Settings { - int32_t enabled; - int32_t m[3]; -} DeviceEMBias1Settings; - -typedef struct _DeviceEMBias1State { - int32_t enabled; - int32_t ppm; //Accumulated angle error - millionth part in signed 16.16 format - int32_t error; //Accumulated angle error - pulses in signed 16.16 format -} DeviceEMBias1State; - -typedef struct _DeviceEMBias1 { - DeviceEMBias1Settings settings; - DeviceEMBias1State state; -} DeviceEMBias1; - -//Bias model #2 typedefs -// Error = f(T), f(T) - piecewise linear interpolation -typedef struct _DeviceEMBias2Function { - int32_t points; - int32_t celsius[16]; //Temperature - celsius in signed 16.16 format - int32_t ppm[16]; //Accumulated angle correction per dither cycle interval - ppm in signed 16.16 format -} DeviceEMBias2Function; - -typedef struct _DeviceEMBias2Settings { - int32_t enabled; - DeviceEMBias2Function tc; -} DeviceEMBias2Settings; - -typedef struct _DeviceEMBias2State { - int32_t enabled; - int32_t ppm; //Accumulated angle error - millionth part in signed 16.16 format - int32_t error; //Accumulated angle error - pulses in signed 16.16 format -} DeviceEMBias2State; - -typedef struct _DeviceEMBias2 { - DeviceEMBias2Settings settings; - DeviceEMBias2State state; -} DeviceEMBias2; - -//Scale error model typedefs -//typedef struct _DeviceEMScale1 { -// DeviceEMScale1Settings settings; -// DeviceEMScale1State state; -//} DeviceEMScale1; - -//Total error model typedefs -typedef struct _DeviceEMErrorSettings { -} DeviceEMErrorSettings; - -typedef struct _DeviceEMErrorState { - int32_t ppm; //Accumulated angle error - millionth part in signed 16.16 format - int32_t correction; //Accumulated angle error - pulses in signed 16.16 format -} DeviceEMErrorState; - -typedef struct _DeviceEMError { - DeviceEMErrorSettings settings; - DeviceEMErrorState state; -} DeviceEMError; - -typedef struct _DeviceEM { - DeviceEMBias1 bias1; //Bias error model #1 - DeviceEMBias2 bias2; //Bias error model #2 - //DeviceEMScale1 scale1; //Scale factor error model #1 - DeviceEMError error; //Total error -} DeviceEM; - -void InitEMDefaultSettings(void); -void InitEMState(void); -void DeviceStartEM(void); - -void emProcess(void); - -#endif /* __DEVICE_EM_H__ */ \ No newline at end of file