Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of realtimeMMLib by
sensor_base.h
- Committer:
- GTNicholson
- Date:
- 2017-10-02
- Revision:
- 0:9f82ee1feae7
File content as of revision 0:9f82ee1feae7:
#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; }; */