lib for realtimeMM funcs
Fork of realtimeMMLib by
Diff: sensor_base.h
- Revision:
- 0:9f82ee1feae7
- Child:
- 1:13301255d95a
diff -r 000000000000 -r 9f82ee1feae7 sensor_base.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sensor_base.h Mon Oct 02 11:18:47 2017 +0000 @@ -0,0 +1,122 @@ +#pragma once +#include "mbed.h" +#include "qeihw.h" +#include "QEIx4.h" +#include <cstdint> + + + +class sensor_base +{ +public: + sensor_base(); + ~sensor_base(); + int sensor_id; + int sensor_type; + char data_sample[50]; + virtual char * read_data(); + bool enabled; +}; + + +class sensor_onoff : public sensor_base +{ +public: + //sensor_base(); + sensor_onoff(); + sensor_onoff(PinName); + ~sensor_onoff(); + DigitalIn din; + virtual char * read_data(); + char data_sample[50]; +}; + + +class sensor_vin : public sensor_base +{ +public: + sensor_vin(); + sensor_vin(PinName); + ~sensor_vin(); + AnalogIn ain; + virtual char * read_data(); + char data_sample[50]; +}; + +class sensor_pulse : public sensor_base +{ +public: + sensor_pulse(); + sensor_pulse(PinName); + ~sensor_pulse(); + void ISR1(); + void reset(); + float frequency; + float uptime; + float firstpulsetime; + float lastpulsetime; + float elapsedtime; + virtual char * read_data(); + char data_sample[50]; + InterruptIn IntIn; + int pulsecount; +private: + Timer t; + float period; +}; + +/* +class sensor_pulse : public sensor_base +{ +public: + sensor_pulse(); + sensor_pulse(PinName); + ~sensor_pulse(); + AnalogIn IntIn; + //void ISR1(); + //int pulsecount; + //float uptime; + //float firstpulsetime; + //float lastpulsetime; + virtual char * read_data(); + char data_sample[50]; +//private: + //InterruptIn IntIn; +}; + +*/ + +class sensor_qeihw : public sensor_base +{ +public: + sensor_qeihw(); + ~sensor_qeihw(); + QEIHW qei; + virtual char * read_data(); + char data_sample[50]; +}; + +class sensor_qeix4 : public sensor_base +{ +public: + sensor_qeix4(); + ~sensor_qeix4(); + QEIx4 qei; + void poll(); + virtual char * read_data(); + char data_sample[50]; +}; + + +/* +class Counter { +public: + Counter(PinName pin); + void increment(); + int read(); +private: + InterruptIn _interrupt; + volatile int _count; +}; + +*/