123

Dependencies:   mbed

Fork of LG by igor Apu

DeviceCounters.h

Committer:
Diletant
Date:
2016-05-15
Revision:
161:efd949e8d536
Parent:
156:e68ee0bcdcda
Child:
167:bedc0a9d559a

File content as of revision 161:efd949e8d536:

#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 InitCountersWithDefaults(void);
void InitCounters(void);
void DeviceCount(void);

#endif  /* __DEVICE_COUNTERS_H__ */