/* * MonitorDigitalInputSignal.h * * Author: Aleksey Gerasimenko * gerasimenko.aleksey.n@gmail.com */ #include #include #include "SYSCTRL/SystemDefinitions.h" #ifndef SYSCTRL_MONITORDIGITALINPUTSIGNAL_H_ #define SYSCTRL_MONITORDIGITALINPUTSIGNAL_H_ namespace SYSCTRL { struct MonitorDigitalInputSignalBitFiled { uint16_t state:1; uint16_t privious:1; uint16_t is_on:1; uint16_t is_off:1; uint16_t is_switched_on:1; uint16_t is_switched_off:1; // };// union MonitorDigitalInputSignalRegister { uint16_t all; Register16BitField bit; MonitorDigitalInputSignalBitFiled signal; MonitorDigitalInputSignalRegister(): all(uint16_t(0)) {} MonitorDigitalInputSignalRegister(uint16_t val): all(val) {} };//MonitorDigitalInputSignalRegister class MonitorDigitalInputSignal { public: MonitorDigitalInputSignal(); public: static void implement(bool input, MonitorDigitalInputSignalRegister& state); static void preset(bool input, MonitorDigitalInputSignalRegister& state); static void reset(MonitorDigitalInputSignalRegister& state); // };//MonitorDigitalInputSignal } /* namespace SYSCTRL */ #endif /* SYSCTRL_MONITORDIGITALINPUTSIGNAL_H_ */