This repo is archived. You can view files and clone it, but cannot push or open issues or pull requests.
2016-07-12 13:23:24 +00:00
|
|
|
#ifndef READPORT_H
|
|
|
|
#define READPORT_H
|
2016-05-09 14:05:08 +00:00
|
|
|
#include <Arduino.h>
|
|
|
|
#include <inttypes.h>
|
|
|
|
|
|
|
|
/*
|
2016-07-12 13:23:24 +00:00
|
|
|
ReadPort is an abstract base class.
|
2016-05-09 14:05:08 +00:00
|
|
|
Port classes are the keybrd library's interface to microcontoller ports or I/O expander ports.
|
|
|
|
*/
|
2016-07-12 13:23:24 +00:00
|
|
|
class ReadPort
|
2016-05-09 14:05:08 +00:00
|
|
|
{
|
|
|
|
protected:
|
2016-07-12 13:23:24 +00:00
|
|
|
const uint8_t readPins; //bitwise pin configuration, 1 means read column
|
2016-05-09 14:05:08 +00:00
|
|
|
uint8_t portState; //bitwise pin values, which is set in read()
|
|
|
|
public:
|
2016-07-12 13:23:24 +00:00
|
|
|
ReadPort(const uint8_t readPins): readPins(readPins), portState(0) {}
|
2016-05-09 14:05:08 +00:00
|
|
|
|
|
|
|
//read port and store it's pins values in portState
|
2016-07-13 13:17:35 +00:00
|
|
|
virtual uint8_t read()=0;
|
2016-05-09 14:05:08 +00:00
|
|
|
};
|
|
|
|
#endif
|