Test program for SPS30
Embed:
(wiki syntax)
Show/hide line numbers
sensor_driver.h
00001 00002 #ifndef SENSOR_DRIVER_H 00003 #define SENSOR_DRIVER_H 00004 00005 #include <string> 00006 #include <vector> 00007 #include "mbed.h" 00008 00009 /* Serial Communication Pins */ 00010 #define SDA1 PB_9 00011 #define SCL1 PB_6 00012 #define SDA2 PF_0 00013 #define SCL2 PF_1 00014 #define SDA3 PF_15 00015 #define SCL3 PF_14 00016 00017 /** SensorDriver Abstract class. 00018 * @brief Contains common methods and members of the various sensors 00019 * 00020 * Example: 00021 * @code{.cpp} 00022 * #include "mbed.h" 00023 * #include "sensor_driver.h" 00024 * 00025 * int main() 00026 * { 00027 * 00028 * } 00029 * @endcode 00030 */ 00031 00032 extern Serial pc; /// for testing 00033 00034 typedef vector< pair <string, string> > datalist_t; 00035 00036 class SensorDriver 00037 { 00038 public: 00039 /// Public exposed methods 00040 virtual void InitSensor() = 0; /// Initialise Sensor 00041 virtual int PollSensor() = 0; /// Poll Sensor 00042 00043 std::string sensor_serial; /// Sensor ID string 00044 datalist_t sensor_data; /// Sensor Data Vector 00045 00046 enum SensorStatus 00047 { 00048 SENSOR_DCN, 00049 SENSOR_CN, 00050 SENSOR_DATAERR, 00051 SENSOR_DATAOOR, 00052 SENSOR_DATAOK, 00053 }; 00054 00055 protected: 00056 /// For use within the specific sensor class 00057 std::string ConvertSerialNumber(uint8_t sn_arr[]); /// Convert uint8_t array of Serial ASCII to string 00058 std::string ConvertDataToString(float data); /// Convert float data to string 00059 00060 int ValidateData(float data, float data_min, float data_max); /// Validate data with defined limits 00061 void SendSensorEmTrace(int err, std::string trace_string = ""); /// Send Warning Trace to Event Manager 00062 00063 }; 00064 #endif // SENSOR_DRIVER_H
Generated on Tue Jul 26 2022 07:43:19 by
1.7.2