Using MQTT on Dragonfly

Dependencies:   MQTT mbed mtsas

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?

UserRevisionLine numberNew 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