Fleshed out IO16-Bricklet.

This commit is contained in:
hg
2014-06-17 01:15:42 +02:00
parent 1768f7b41c
commit 3514bf344b
2 changed files with 190 additions and 0 deletions
@@ -9,10 +9,22 @@
#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,
@@ -25,6 +37,19 @@ public:
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 */