miao zhicheng
/
DragonflyMQTT
Using MQTT on Dragonfly
TripDataReader.hpp@8:f8a346582627, 2017-09-14 (annotated)
- Committer:
- miaotwilio
- Date:
- Thu Sep 14 08:14:18 2017 +0000
- Revision:
- 8:f8a346582627
- Parent:
- 5:ded8fe5991a2
more LEDs
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
miaotwilio | 5:ded8fe5991a2 | 1 | #ifndef TRIP_DATA_READER |
miaotwilio | 5:ded8fe5991a2 | 2 | #define TRIP_DATA_READER |
miaotwilio | 5:ded8fe5991a2 | 3 | |
miaotwilio | 5:ded8fe5991a2 | 4 | #include "mbed.h" |
miaotwilio | 5:ded8fe5991a2 | 5 | #include "mtsas.h" |
miaotwilio | 5:ded8fe5991a2 | 6 | |
miaotwilio | 5:ded8fe5991a2 | 7 | class TripDataReader { |
miaotwilio | 5:ded8fe5991a2 | 8 | static const int HARD_BRAKE_THRESHOLD = 10; |
miaotwilio | 5:ded8fe5991a2 | 9 | |
miaotwilio | 5:ded8fe5991a2 | 10 | public: |
miaotwilio | 5:ded8fe5991a2 | 11 | struct TripData { |
miaotwilio | 5:ded8fe5991a2 | 12 | int distance; |
miaotwilio | 5:ded8fe5991a2 | 13 | int fuel; |
miaotwilio | 5:ded8fe5991a2 | 14 | int runtime; |
miaotwilio | 5:ded8fe5991a2 | 15 | |
miaotwilio | 5:ded8fe5991a2 | 16 | float averageSpeed; |
miaotwilio | 5:ded8fe5991a2 | 17 | float minimumThrottle; |
miaotwilio | 5:ded8fe5991a2 | 18 | float averageThrottle; |
miaotwilio | 5:ded8fe5991a2 | 19 | float maximumThrottle; |
miaotwilio | 5:ded8fe5991a2 | 20 | int hardBrakeCount; |
miaotwilio | 5:ded8fe5991a2 | 21 | }; |
miaotwilio | 5:ded8fe5991a2 | 22 | |
miaotwilio | 5:ded8fe5991a2 | 23 | public: |
miaotwilio | 5:ded8fe5991a2 | 24 | TripDataReader(MTSSerial& obd_, DigitalOut& ledOBD_); |
miaotwilio | 5:ded8fe5991a2 | 25 | |
miaotwilio | 5:ded8fe5991a2 | 26 | public: |
miaotwilio | 5:ded8fe5991a2 | 27 | int init(); |
miaotwilio | 5:ded8fe5991a2 | 28 | |
miaotwilio | 5:ded8fe5991a2 | 29 | void sample(); |
miaotwilio | 5:ded8fe5991a2 | 30 | |
miaotwilio | 5:ded8fe5991a2 | 31 | void resetAverageWindow(); |
miaotwilio | 5:ded8fe5991a2 | 32 | |
miaotwilio | 5:ded8fe5991a2 | 33 | TripData getTripData(); |
miaotwilio | 5:ded8fe5991a2 | 34 | |
miaotwilio | 5:ded8fe5991a2 | 35 | private: |
miaotwilio | 5:ded8fe5991a2 | 36 | int readPin(int PID, int dataBytes, uint8_t *data); |
miaotwilio | 5:ded8fe5991a2 | 37 | |
miaotwilio | 5:ded8fe5991a2 | 38 | private: |
miaotwilio | 5:ded8fe5991a2 | 39 | struct TripDataHistory { |
miaotwilio | 5:ded8fe5991a2 | 40 | int initialDistance; |
miaotwilio | 5:ded8fe5991a2 | 41 | int calls; |
miaotwilio | 5:ded8fe5991a2 | 42 | int speed; |
miaotwilio | 5:ded8fe5991a2 | 43 | int minT; |
miaotwilio | 5:ded8fe5991a2 | 44 | int avgT; |
miaotwilio | 5:ded8fe5991a2 | 45 | int maxT; |
miaotwilio | 5:ded8fe5991a2 | 46 | int speedSamples; |
miaotwilio | 5:ded8fe5991a2 | 47 | int throttleSamples; |
miaotwilio | 5:ded8fe5991a2 | 48 | int speedHist[10]; |
miaotwilio | 5:ded8fe5991a2 | 49 | int speedHistPtr; |
miaotwilio | 5:ded8fe5991a2 | 50 | unsigned int brakeEventCount[32]; |
miaotwilio | 5:ded8fe5991a2 | 51 | int hardBrakeCount; |
miaotwilio | 5:ded8fe5991a2 | 52 | bool hardBrakeState; |
miaotwilio | 5:ded8fe5991a2 | 53 | }; |
miaotwilio | 5:ded8fe5991a2 | 54 | |
miaotwilio | 5:ded8fe5991a2 | 55 | private: |
miaotwilio | 5:ded8fe5991a2 | 56 | MTSSerial& obd; |
miaotwilio | 5:ded8fe5991a2 | 57 | DigitalOut& ledOBD; |
miaotwilio | 5:ded8fe5991a2 | 58 | TripDataHistory tripDataHistory; |
miaotwilio | 5:ded8fe5991a2 | 59 | }; |
miaotwilio | 5:ded8fe5991a2 | 60 | |
miaotwilio | 5:ded8fe5991a2 | 61 | #endif |
miaotwilio | 5:ded8fe5991a2 | 62 |