12345678910111213141516171819202122232425262728293031323334353637 |
- #include "Scanner_IOE.h"
-
- /* Row constructor calls every Scanner's init().
- */
- void Scanner_IOE::init(const uint8_t strobePin)
- {
- //emty function
- }
-
- /* begin() should be called once from sketch setup().
- */
- void Scanner_IOE::begin()
- {
- Wire.begin();
- refPortWrite.begin();
- refPortRead.begin();
- }
-
- /* scan() strobes the row's strobePin and retuns state of port's input pins.
- Bitwise variables are 1 bit per key.
- */
- uint8_t Scanner_IOE::scan(const uint8_t strobePin)
- {
- uint8_t readState; //bitwise, 1 means key is pressed, 0 means released
-
- //strobe on
- refPortWrite.write(strobePin, strobeOn);
- delayMicroseconds(3); //time to stabilize voltage
-
- //read the port pins
- readState = refPortRead.read();
-
- //strobe off
- refPortWrite.write(strobePin, strobeOff);
-
- return readState;
- }
|