123
Fork of LG by
DeviceCounters.h
- Committer:
- Diletant
- Date:
- 2016-06-26
- Revision:
- 174:0f86eedd511c
- Parent:
- 173:7f938afb0447
- Child:
- 177:672ef279c8e0
File content as of revision 174:0f86eedd511c:
#ifndef __DEVICE_COUNTERS_H__ #define __DEVICE_COUNTERS_H__ //Dither latched counters typedefs typedef struct _DeviceCountersDitherLatchedSettings { } DeviceCountersDitherLatchedSettings; typedef struct _DeviceCountersDitherLatchedState { int32_t delta[32]; //Cyclic buffer of QEI counts with (32 * oscillation frequency) update frequency int32_t angle; //Sum of last 32 deltas from delta buffer - angle accumulated for 1 vibro cycle till now int32_t displacement; //Sum of last 16 deltas minus sum of previous 16 deltas from delta buffer - displacement int32_t amplitude; //Sum of positive displacements minus negative displacements from last 32 displacements - dither "amplitude" int32_t frequency; //Sum of positive deltas minus negative deltas from last 32 deltas - dither "output frequency" int32_t accumulator; //Angle accumulated between user read requests, or between periodic answers } DeviceCountersDitherLatchedState; typedef struct _DeviceCountersDitherLatched { DeviceCountersDitherLatchedSettings settings; DeviceCountersDitherLatchedState state; } DeviceCountersDitherLatched; //Reconstructed meander latched counters typedefs typedef struct _DeviceCountersMeanderLatchedSettings { } DeviceCountersMeanderLatchedSettings; typedef struct _DeviceCountersMeanderLatchedState { int32_t a; //Positive counts int32_t b; //Negative counts } DeviceCountersMeanderLatchedState; typedef struct _DeviceCountersMeanderLatched { DeviceCountersMeanderLatchedSettings settings; DeviceCountersMeanderLatchedState state; } DeviceCountersMeanderLatched; //Virtual zero sensor latched counters typedefs typedef struct _DeviceCountersZeroLatchedSettings { } DeviceCountersZeroLatchedSettings; typedef struct _DeviceCountersZeroLatchedState { int32_t a; //Positive counts int32_t b; //Negative counts } DeviceCountersZeroLatchedState; typedef struct _DeviceCountersZeroLatched { DeviceCountersZeroLatchedSettings settings; DeviceCountersZeroLatchedState state; } DeviceCountersZeroLatched; //Counters typedefs typedef struct _DeviceCounters { DeviceCountersDitherLatched dither; //Counters latched by dither (measurement) cycle DeviceCountersMeanderLatched meander; //Counters latched by restored meander (angular velocity reverse latched) DeviceCountersZeroLatched zero; //Counters latched by virtual zero position sensor } DeviceCounters; /* typedef struct _DeviceCountersSettings { } DeviceCountersSettings; typedef struct _DeviceCountersState { int32_t delta[32]; //Cyclic buffer of QEI counts with (32 * oscillation frequency) update frequency int32_t angle; //Sum of last 32 deltas from delta buffer - angle accumulated for 1 vibro cycle till now int32_t displacement; //Sum of last 16 deltas minus sum of previous 16 deltas from delta buffer - displacement int32_t amplitude; //Sum of positive displacements minus negative displacements from last 32 displacements - dither "amplitude" int32_t frequency; //Sum of positive deltas minus negative deltas from last 32 deltas - dither "output frequency" int32_t accumulator; //Angle accumulated between user read requests, or between periodic answers } DeviceCountersState; typedef struct _DeviceCounters { DeviceCountersSettings settings; DeviceCountersState state; } DeviceCounters; */ void InitCountersDefaultSettings(void); void InitCountersState(void); void DeviceStartCounters(void); void countersProcess(void); #endif /* __DEVICE_COUNTERS_H__ */