2016-07-12 13:23:24 +00:00
|
|
|
#ifndef SCANNER_UC_H
|
|
|
|
#define SCANNER_UC_H
|
2016-07-14 23:28:16 +00:00
|
|
|
|
2016-06-06 20:23:40 +00:00
|
|
|
#include <Arduino.h>
|
|
|
|
#include <inttypes.h>
|
2016-06-22 02:40:35 +00:00
|
|
|
#include <config_keybrd.h>
|
2016-07-14 04:16:18 +00:00
|
|
|
#include <PortWrite.h>
|
|
|
|
#include <PortRead.h>
|
2016-06-08 02:24:50 +00:00
|
|
|
|
2016-07-12 13:23:24 +00:00
|
|
|
/* Scanner_uC class uses Arduino pin numbers (not port pin numbers).
|
|
|
|
Constructor is in Scanner_uC.cpp
|
2016-06-08 02:24:50 +00:00
|
|
|
*/
|
2016-07-12 13:23:24 +00:00
|
|
|
class Scanner_uC
|
2016-06-06 20:23:40 +00:00
|
|
|
{
|
|
|
|
private:
|
2016-07-11 10:08:34 +00:00
|
|
|
static const bool STROBE_ON; //logic level of strobe on, HIGH or LOW
|
|
|
|
static const bool STROBE_OFF; //logic level of strobe off, complement of STROBE_ON
|
2016-07-15 05:15:38 +00:00
|
|
|
const uint8_t strobePin; //Arduino pin number connected to this row
|
|
|
|
const uint8_t* const readPins; //array of read pin numbers
|
|
|
|
const uint8_t readPinCount; //number of read pins
|
2016-06-06 20:23:40 +00:00
|
|
|
public:
|
2016-07-15 05:15:38 +00:00
|
|
|
Scanner_uC(const uint8_t strobePin,
|
2016-07-18 02:26:00 +00:00
|
|
|
const uint8_t readPins[], const uint8_t readPinCount);
|
2016-07-12 14:31:17 +00:00
|
|
|
virtual read_pins_t scan();
|
2016-06-06 20:23:40 +00:00
|
|
|
};
|
|
|
|
#endif
|
|
|
|
|