Archived
1
0

change DH to move scanner instantiation from Row_DH_uC and Row_DH_IOE to sketch

This commit is contained in:
wolfv6 2016-09-07 21:27:51 -06:00
parent 15ebb4b6cf
commit 721fd86bc2
2 changed files with 8 additions and 6 deletions

View File

@ -16,18 +16,20 @@ strobePin has one of two formats:
class Row class Row
{ {
private: private:
virtual void keyWasPressed();
protected:
void send(const uint8_t readPinCount, const read_pins_t debouncedChanged);
ScannerInterface& refScanner; ScannerInterface& refScanner;
const uint8_t strobePin; //pin connected to this row (details above) const uint8_t strobePin; //pin connected to this row (details above)
private:
Key *const *const ptrsKeys; //array of Key pointers Key *const *const ptrsKeys; //array of Key pointers
protected:
const uint8_t readPinCount; //number of read pins const uint8_t readPinCount; //number of read pins
Debouncer_Samples debouncer; Debouncer_Samples debouncer;
virtual void keyWasPressed();
protected://todo is protected needed?
read_pins_t debounced; //bitwise state of keys after debouncing, 1=pressed, 0=released read_pins_t debounced; //bitwise state of keys after debouncing, 1=pressed, 0=released
void send(const uint8_t readPinCount, const read_pins_t debouncedChanged);
public: public:
Row(ScannerInterface& refScanner, const uint8_t strobePin, Row(ScannerInterface& refScanner, const uint8_t strobePin,
Key* const ptrsKeys[], const uint8_t readPinCount); Key* const ptrsKeys[], const uint8_t readPinCount);
void process(); virtual void process();
}; };
#endif #endif

View File

@ -13,9 +13,9 @@ Using smaller types on a 32-bit uC (Teensy LC) would accomplish nothing.
For Scanner_ShiftRegs74HC165, Scanner_ShiftRegs74HC165::readPinCount For Scanner_ShiftRegs74HC165, Scanner_ShiftRegs74HC165::readPinCount
For Scanner_IOE, cover the last 1 bit in Scanner_IOE::strobePin For Scanner_IOE, cover the last 1 bit in Scanner_IOE::strobePin
*/ */
//typedef uint8_t read_pins_t; typedef uint8_t read_pins_t;
//typedef uint16_t read_pins_t; //typedef uint16_t read_pins_t;
typedef uint32_t read_pins_t; //typedef uint32_t read_pins_t;
/* SAMPLE_COUNT_MACRO is used in Debouncer_Samples.h /* SAMPLE_COUNT_MACRO is used in Debouncer_Samples.h
SAMPLE_COUNT_MACRO = 4 is very reliable for a keyboard. SAMPLE_COUNT_MACRO = 4 is very reliable for a keyboard.