123

Dependencies:   mbed

Fork of LG by igor Apu

DeviceCounters.h

Committer:
Diletant
Date:
2016-06-19
Revision:
173:7f938afb0447
Parent:
167:bedc0a9d559a
Child:
174:0f86eedd511c

File content as of revision 173:7f938afb0447:

#ifndef __DEVICE_COUNTERS_H__
#define __DEVICE_COUNTERS_H__

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
  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__ */