|
|
- // -----------------------------------------------------------------------------
- // Median Filter
- // -----------------------------------------------------------------------------
-
- #pragma once
-
- typedef enum magnitude_t {
-
- MAGNITUDE_NONE = 0,
-
- MAGNITUDE_TEMPERATURE,
- MAGNITUDE_HUMIDITY,
- MAGNITUDE_PRESSURE,
-
- MAGNITUDE_ACTIVE_POWER,
- MAGNITUDE_APPARENT_POWER,
- MAGNITUDE_REACTIVE_POWER,
- MAGNITUDE_VOLTAGE_POWER,
- MAGNITUDE_CURRENT_POWER,
- MAGNITUDE_ENERGY_POWER,
- MAGNITUDE_POWER_FACTOR,
-
- MAGNITUDE_ANALOG,
- MAGNITUDE_EVENTS,
-
- MAGNITUDE_MAX,
-
- } magnitude_t;
-
- class BaseSensor {
-
- public:
-
- BaseSensor() {
- }
-
- ~BaseSensor() {
- }
-
- // Pre-read hook (usually to populate registers with up-to-date data)
- virtual void pre();
-
- // Post-read hook (usually to reset things)
- virtual void post();
-
- // Return sensor status (true for ready)
- virtual bool status();
-
- // Return sensor last internal error
- virtual int error();
-
- // Number of available slots
- virtual unsigned char count();
-
- // Descriptive name of the sensor
- virtual String name();
-
- // Descriptive name of the slot # index
- virtual String slot(unsigned char index);
-
- // Type for slot # index
- virtual magnitude_t type(unsigned char index);
-
- // Current value for slot # index
- virtual double value(unsigned char index);
-
-
- private:
-
- };
|