/* * TfIO16Bricklet.h * * Created on: 12.06.2014 * Author: matzman */ #ifndef TFIO16BRICKLET_H_ #define TFIO16BRICKLET_H_ #include #include namespace tfcppsimple { class TfIO16Bricklet: public TfBricklet { private: IO16 ioObj; uint8_t dirMapA = 0xFF; // 1 .. Eingang, 0 .. Ausgang uint8_t valueMapA = 0; uint8_t outMapA = 0; uint8_t dirMapB = 0xFF; // 1 .. Eingang, 0 .. Ausgang uint8_t valueMapB = 0; uint8_t outMapB = 0; public: TfIO16Bricklet(TfConnection& connection, std::string uid, std::string connected_uid, TfDevicePosition position, TfVersion hardware_version, TfVersion firmware_version, TfDevice* parent ); virtual ~TfIO16Bricklet(); virtual std::string getDeviceName(bool extended = true); virtual void doConfigureDevice(); virtual void doReconfigureDevice(); virtual void doConnectionLost(); virtual void doShutdown(); void getPortConfiguration(char port, uint8_t& ret_direction_mask, uint8_t& ret_value_mask); void setPortConfiguration(char port, uint8_t selection_mask, char direction, bool value); void setPortConfiguration(char port, uint8_t direction_mask, uint8_t value_mask); uint8_t getPort(char port); void setPort(char port, uint8_t value_mask); void setPort(char port, uint8_t pin_mask, bool value); }; } /* namespace tfcppsimple */ #endif /* TFIO16BRICKLET_H_ */