2016-06-02 15:58:33 +00:00
|
|
|
#ifndef ROW_H
|
|
|
|
#define ROW_H
|
|
|
|
|
|
|
|
#include <RowBase.h>
|
2016-06-06 04:00:33 +00:00
|
|
|
#include <RowScanner_BitManipulation.h>
|
2016-06-03 06:12:29 +00:00
|
|
|
#include <Debouncer_4Samples.h>
|
2016-06-02 15:58:33 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
Configuration
|
|
|
|
-------------
|
|
|
|
define and initilize DELAY_MICROSECONDS in sketch.
|
2016-06-03 06:12:29 +00:00
|
|
|
const unsigned int RowBase::DELAY_MICROSECONDS = 0;
|
2016-06-02 15:58:33 +00:00
|
|
|
|
|
|
|
Instantiation
|
2016-06-03 06:12:29 +00:00
|
|
|
-------------
|
|
|
|
todo - see Row_DH
|
2016-06-02 15:58:33 +00:00
|
|
|
*/
|
|
|
|
class Row : public RowBase
|
|
|
|
{
|
|
|
|
private:
|
2016-06-06 04:00:33 +00:00
|
|
|
RowScanner_BitManipulation scanner;
|
2016-06-03 06:12:29 +00:00
|
|
|
Debouncer_4Samples debouncer;
|
2016-06-02 15:58:33 +00:00
|
|
|
public:
|
|
|
|
Row( RowPort &refRowPort, const uint8_t rowPin,
|
|
|
|
ColPort *const ptrsColPorts[], const uint8_t colPortCount, Key *const ptrsKeys[])
|
2016-06-06 05:10:59 +00:00
|
|
|
: RowBase(ptrsKeys), scanner(refRowPort, rowPin, ptrsColPorts, colPortCount) { }
|
2016-06-05 22:16:47 +00:00
|
|
|
virtual void process(const bool activeHigh);
|
2016-06-02 15:58:33 +00:00
|
|
|
};
|
|
|
|
#endif
|