Updated matrix.c for some PS2AVRGB boards and templates for new_project script (#2992)

* Add M6-A keymap

* Update XD60 keymap

* Update XD60 keymap readme

* Update JJ40 and Let's Split keymaps

* Add readme for M6-A

* Fix typo, update JJ40 README

* Update jj40 readme

* Cleanup jj40 keymap

* Revert Let's Split QWERTY layer to default before #2010

* Update numpad layers

* Fix: Let's Split keymap getting stuck mods due to having keycodes assigned on the Raise layer

* Keep ASCII art consistent with keymap

* Staryu: initial port

* Add personal keymap

* Added and updated READMEs

* Fix: default keymap for staryu

* Rudimentary backlight support.

* Enabled mousekeys for default keymap

* use QMK_KEYBOARD_H and LAYOUT

* Update readme.md for NIU mini: flash using avrdude

* Fix missing linebreaks for Staryu README

* Update readme.md

* Update PS2AVRGB boards with new matrix.c

* Update canoe matrix.c; untested

* Fix canoe.c for building (needs matrix_scan_user and matrix_init_user)

* Add personal Iris keymap

* Update keymap

* Update keymap

* Update keymap, disable backlighting and underglow

* Move PrintScreen button

* Add README
This commit is contained in:
Kenneth Aloysius 2018-06-01 01:32:05 +10:00 committed by Drashna Jaelre
parent ee9a7aba39
commit d27855665a
12 changed files with 355 additions and 86 deletions

View file

@ -21,7 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "matrix.h"
#ifndef DEBOUNCE
#define DEBOUNCE 5
# define DEBOUNCE 5
#endif
static uint8_t debouncing = DEBOUNCE;
@ -29,6 +29,9 @@ static uint8_t debouncing = DEBOUNCE;
static matrix_row_t matrix[MATRIX_ROWS];
static matrix_row_t matrix_debouncing[MATRIX_ROWS];
void matrix_set_row_status(uint8_t row);
uint8_t bit_reverse(uint8_t x);
void matrix_init(void) {
// all outputs for rows high
DDRB = 0xFF;
@ -47,18 +50,8 @@ void matrix_init(void) {
matrix[row] = 0x00;
matrix_debouncing[row] = 0x00;
}
}
void matrix_set_row_status(uint8_t row) {
DDRB = (1 << row);
PORTB = ~(1 << row);
}
uint8_t bit_reverse(uint8_t x) {
x = ((x >> 1) & 0x55) | ((x << 1) & 0xaa);
x = ((x >> 2) & 0x33) | ((x << 2) & 0xcc);
x = ((x >> 4) & 0x0f) | ((x << 4) & 0xf0);
return x;
matrix_init_quantum();
}
uint8_t matrix_scan(void) {
@ -93,11 +86,24 @@ uint8_t matrix_scan(void) {
}
}
matrix_scan_user();
matrix_scan_quantum();
return 1;
}
// declarations
void matrix_set_row_status(uint8_t row) {
DDRB = (1 << row);
PORTB = ~(1 << row);
}
uint8_t bit_reverse(uint8_t x) {
x = ((x >> 1) & 0x55) | ((x << 1) & 0xaa);
x = ((x >> 2) & 0x33) | ((x << 2) & 0xcc);
x = ((x >> 4) & 0x0f) | ((x << 4) & 0xf0);
return x;
}
inline matrix_row_t matrix_get_row(uint8_t row) {
return matrix[row];
}