Pull request for i.a. sensor buffer template
Dependencies: BLE_API MPU6050 mbed nRF51822
ReadIntervals.cpp@10:eed92ffd0bba, 2018-11-15 (annotated)
- Committer:
- JustinAtAlten
- Date:
- Thu Nov 15 15:13:52 2018 +0000
- Revision:
- 10:eed92ffd0bba
added sensor value buffer template, added a temperature bulk request service, and changed how the tickers are handled (to save memory).
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JustinAtAlten | 10:eed92ffd0bba | 1 | #include "ReadIntervals.h" |
JustinAtAlten | 10:eed92ffd0bba | 2 | #include <algorithm> |
JustinAtAlten | 10:eed92ffd0bba | 3 | |
JustinAtAlten | 10:eed92ffd0bba | 4 | int ReadIntervals::temperatureSensorPeriod_timeLeft = 0; |
JustinAtAlten | 10:eed92ffd0bba | 5 | int ReadIntervals::batteryMonitorPeriod_timeLeft = 0; |
JustinAtAlten | 10:eed92ffd0bba | 6 | |
JustinAtAlten | 10:eed92ffd0bba | 7 | |
JustinAtAlten | 10:eed92ffd0bba | 8 | |
JustinAtAlten | 10:eed92ffd0bba | 9 | void ReadIntervals::updateTimeLeft(const int & tickerSleptTime){ |
JustinAtAlten | 10:eed92ffd0bba | 10 | temperatureSensorPeriod_timeLeft -= tickerSleptTime; |
JustinAtAlten | 10:eed92ffd0bba | 11 | batteryMonitorPeriod_timeLeft -= tickerSleptTime; |
JustinAtAlten | 10:eed92ffd0bba | 12 | } |
JustinAtAlten | 10:eed92ffd0bba | 13 | |
JustinAtAlten | 10:eed92ffd0bba | 14 | int ReadIntervals::getTickerSleepTime(){ |
JustinAtAlten | 10:eed92ffd0bba | 15 | if(temperatureSensorPeriod_timeLeft <= 0){ |
JustinAtAlten | 10:eed92ffd0bba | 16 | temperatureSensorPeriod_timeLeft += TemperatureSensorPeriod; |
JustinAtAlten | 10:eed92ffd0bba | 17 | } |
JustinAtAlten | 10:eed92ffd0bba | 18 | if(batteryMonitorPeriod_timeLeft <= 0){ |
JustinAtAlten | 10:eed92ffd0bba | 19 | batteryMonitorPeriod_timeLeft += BatteryMonitorPeriod; |
JustinAtAlten | 10:eed92ffd0bba | 20 | } |
JustinAtAlten | 10:eed92ffd0bba | 21 | |
JustinAtAlten | 10:eed92ffd0bba | 22 | int ret = temperatureSensorPeriod_timeLeft; |
JustinAtAlten | 10:eed92ffd0bba | 23 | ret = std::min<int>(ret, batteryMonitorPeriod_timeLeft); |
JustinAtAlten | 10:eed92ffd0bba | 24 | |
JustinAtAlten | 10:eed92ffd0bba | 25 | ret = std::max<int>(ret, 1); //assert that ret != 0 or lower |
JustinAtAlten | 10:eed92ffd0bba | 26 | |
JustinAtAlten | 10:eed92ffd0bba | 27 | return ret; |
JustinAtAlten | 10:eed92ffd0bba | 28 | } |
JustinAtAlten | 10:eed92ffd0bba | 29 | |
JustinAtAlten | 10:eed92ffd0bba | 30 | bool ReadIntervals::temperatureSensorPeriodPassed(){ |
JustinAtAlten | 10:eed92ffd0bba | 31 | return (temperatureSensorPeriod_timeLeft <= 0); |
JustinAtAlten | 10:eed92ffd0bba | 32 | } |
JustinAtAlten | 10:eed92ffd0bba | 33 | bool ReadIntervals::batteryMonitorPeriodPassed(){ |
JustinAtAlten | 10:eed92ffd0bba | 34 | return (batteryMonitorPeriod_timeLeft <= 0); |
JustinAtAlten | 10:eed92ffd0bba | 35 | } |
JustinAtAlten | 10:eed92ffd0bba | 36 |