58 lines
1.4 KiB
C++
58 lines
1.4 KiB
C++
/*
|
|
* TfIO16Bricklet.h
|
|
*
|
|
* Created on: 12.06.2014
|
|
* Author: matzman
|
|
*/
|
|
|
|
#ifndef TFIO16BRICKLET_H_
|
|
#define TFIO16BRICKLET_H_
|
|
|
|
#include <tfcppsimple/TfBricklet.h>
|
|
#include <bricklet_io16.h>
|
|
|
|
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_ */
|