You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.3 KiB
C
58 lines
1.3 KiB
C
5 months ago
|
/*
|
||
|
* MonitorDigitalInputSignal.h
|
||
|
*
|
||
|
* Author: Aleksey Gerasimenko
|
||
|
* gerasimenko.aleksey.n@gmail.com
|
||
|
*/
|
||
|
|
||
|
#include <math.h>
|
||
|
#include <stdint.h>
|
||
|
|
||
|
#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_ */
|