|
|
@ -80,8 +80,7 @@ void Atreus::setup(void) {
|
|
|
|
TIMSK1 = _BV(TOIE1);
|
|
|
|
TIMSK1 = _BV(TOIE1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void Atreus::selectRow(uint8_t row)
|
|
|
|
void Atreus::selectRow(uint8_t row) {
|
|
|
|
{
|
|
|
|
|
|
|
|
switch (row) {
|
|
|
|
switch (row) {
|
|
|
|
case 0:
|
|
|
|
case 0:
|
|
|
|
DDRD |= (_BV(0));
|
|
|
|
DDRD |= (_BV(0));
|
|
|
@ -104,8 +103,7 @@ void Atreus::selectRow(uint8_t row)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void Atreus::unselectRow(uint8_t row)
|
|
|
|
void Atreus::unselectRow(uint8_t row) {
|
|
|
|
{
|
|
|
|
|
|
|
|
switch (row) {
|
|
|
|
switch (row) {
|
|
|
|
case 0:
|
|
|
|
case 0:
|
|
|
|
DDRD &= ~(_BV(0));
|
|
|
|
DDRD &= ~(_BV(0));
|
|
|
@ -142,8 +140,7 @@ uint16_t Atreus::readCols() {
|
|
|
|
(PINF & (_BV(7)) ? 0 : (_BV(10))));
|
|
|
|
(PINF & (_BV(7)) ? 0 : (_BV(10))));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void Atreus::readMatrixRow(uint8_t current_row)
|
|
|
|
void Atreus::readMatrixRow(uint8_t current_row) {
|
|
|
|
{
|
|
|
|
|
|
|
|
uint16_t mask, cols;
|
|
|
|
uint16_t mask, cols;
|
|
|
|
|
|
|
|
|
|
|
|
previousKeyState_[current_row] = keyState_[current_row];
|
|
|
|
previousKeyState_[current_row] = keyState_[current_row];
|
|
|
|