Dmitry Kovalev / Mbed 2 deprecated LG2

Dependencies:   mbed

Fork of LG by igor Apu

Committer:
Diletant
Date:
Mon May 09 20:03:26 2016 +0000
Revision:
156:e68ee0bcdcda
Child:
167:bedc0a9d559a
Device & ... update. Not final!!!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Diletant 156:e68ee0bcdcda 1 #include "Device.h"
Diletant 156:e68ee0bcdcda 2 extern Device device;
Diletant 156:e68ee0bcdcda 3
Diletant 156:e68ee0bcdcda 4 void InitCountersWithDefaults(void){
Diletant 156:e68ee0bcdcda 5 for (uint8_t i = 0; i < 32; i++) device.counters.state.delta[i] = 0;
Diletant 156:e68ee0bcdcda 6 device.counters.state.angle = 0;
Diletant 156:e68ee0bcdcda 7 device.counters.state.amplitude = 0;
Diletant 156:e68ee0bcdcda 8 device.counters.state.frequency = 0;
Diletant 156:e68ee0bcdcda 9 }
Diletant 156:e68ee0bcdcda 10
Diletant 156:e68ee0bcdcda 11 void InitCounters(void){
Diletant 156:e68ee0bcdcda 12 }
Diletant 156:e68ee0bcdcda 13
Diletant 156:e68ee0bcdcda 14 void DeviceCount(void){
Diletant 156:e68ee0bcdcda 15 int32_t delta = device.controller.QEI.state.delta;
Diletant 156:e68ee0bcdcda 16
Diletant 156:e68ee0bcdcda 17 device.counters.state.angle -= device.counters.state.delta[(device.measurement.counter-31) & 0xff];
Diletant 156:e68ee0bcdcda 18 device.counters.state.angle += delta;
Diletant 156:e68ee0bcdcda 19
Diletant 156:e68ee0bcdcda 20 device.counters.state.displacement += device.counters.state.delta[(device.measurement.counter-31) & 0xff];
Diletant 156:e68ee0bcdcda 21 device.counters.state.displacement -= device.counters.state.delta[(device.measurement.counter-16) & 0xff];
Diletant 156:e68ee0bcdcda 22 device.counters.state.displacement -= device.counters.state.delta[(device.measurement.counter-15) & 0xff];
Diletant 156:e68ee0bcdcda 23 device.counters.state.displacement += delta;
Diletant 156:e68ee0bcdcda 24
Diletant 156:e68ee0bcdcda 25 device.counters.state.delta[device.measurement.counter] = delta;
Diletant 156:e68ee0bcdcda 26
Diletant 156:e68ee0bcdcda 27 if (device.counters.state.displacement > 0) device.counters.state.amplitude += device.counters.state.displacement;
Diletant 156:e68ee0bcdcda 28 if (device.counters.state.displacement < 0) device.counters.state.amplitude -= device.counters.state.displacement;
Diletant 156:e68ee0bcdcda 29
Diletant 156:e68ee0bcdcda 30 if (delta > 0) device.counters.state.frequency += delta;
Diletant 156:e68ee0bcdcda 31 if (delta < 0) device.counters.state.frequency -= delta;
Diletant 156:e68ee0bcdcda 32
Diletant 156:e68ee0bcdcda 33 device.counters.state.accumulator += device.counters.state.angle;
Diletant 156:e68ee0bcdcda 34 }