miao zhicheng
/
DragonflyMQTT
Using MQTT on Dragonfly
TripDataReader.hpp
- Committer:
- miaotwilio
- Date:
- 2017-09-14
- Revision:
- 8:f8a346582627
- Parent:
- 5:ded8fe5991a2
File content as of revision 8:f8a346582627:
#ifndef TRIP_DATA_READER #define TRIP_DATA_READER #include "mbed.h" #include "mtsas.h" class TripDataReader { static const int HARD_BRAKE_THRESHOLD = 10; public: struct TripData { int distance; int fuel; int runtime; float averageSpeed; float minimumThrottle; float averageThrottle; float maximumThrottle; int hardBrakeCount; }; public: TripDataReader(MTSSerial& obd_, DigitalOut& ledOBD_); public: int init(); void sample(); void resetAverageWindow(); TripData getTripData(); private: int readPin(int PID, int dataBytes, uint8_t *data); private: struct TripDataHistory { int initialDistance; int calls; int speed; int minT; int avgT; int maxT; int speedSamples; int throttleSamples; int speedHist[10]; int speedHistPtr; unsigned int brakeEventCount[32]; int hardBrakeCount; bool hardBrakeState; }; private: MTSSerial& obd; DigitalOut& ledOBD; TripDataHistory tripDataHistory; }; #endif