MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/driver/Demux.hh

40 lines
639 B
C++

/*
* Demux.h
*
* Created on: 23 îêò. 2019 ã.
* Author: user
*/
#ifndef SOURCE_DRIVER_DEMUX_H_
#define SOURCE_DRIVER_DEMUX_H_
#include "../peripheral/IPort.hh"
namespace driver {
class Demux {
public:
enum SelectPinStrategy : unsigned short {
set_clear,
clear_set,
};
Demux( peripheral::IPort & gpio_port, unsigned long pin_mask, SelectPinStrategy strategy );
void select( unsigned short pin );
virtual ~Demux() = default;
private:
peripheral::IPort & gpio_port;
const unsigned long pin_mask;
const SelectPinStrategy strategy;
};
}
#endif /* SOURCE_DRIVER_DEMUX_H_ */