#ifndef SAFE_AIN_H_ #define SAFE_AIN_H_ /**** Includes ****/ #include #include "../utils/vcounter.h" #include "../bsp/board.h" namespace hw { /**** Public definitions ****/ class SafeAin { public: SafeAin(void); ~SafeAin(void); void init(bsp::AnalogIn* ain_ch, util::VCounter* timer); uint8_t warning; uint8_t fault; uint16_t last_read; uint16_t under_treshold; uint16_t over_treshold; uint16_t hold_time; uint16_t cooldown_time; uint8_t update_ain; uint8_t auto_reset; void process(void); #ifndef TESTING protected: #endif bsp::AnalogIn* ain_ch; util::VCounter* timer; uint16_t ts_state_chnage; }; /**** Public function declarations ****/ #ifdef TESTING #endif } //namespace #endif /* SAFE_AIN_H_ */