teleport/native: switch from wrongly used user to kb function, boost matrix scan rate (#21172)

* enable LTO

* change from _user to _kb function

* switch matrix io delay to nops, add opt=3 for higher scan rates

* disable console which was enabled for testing but collides with endpoint used by VIA

* switched from opt=3 to opt=2

* Update keyboards/teleport/native/native.c

Co-authored-by: Joel Challis <git@zvecr.com>

* slightly upped debounce, as some testers had chatter with async + default debounce

---------

Co-authored-by: Joel Challis <git@zvecr.com>
master
Moritz Plattner 2023-09-29 13:19:03 +02:00 committed by GitHub
parent ab1e851e7d
commit cfb4bb9b98
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 21 additions and 4 deletions

View File

@ -20,4 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Increase eeprom size to allow for 5 layers */ /* Increase eeprom size to allow for 5 layers */
#define WEAR_LEVELING_BACKING_SIZE 16384 #define WEAR_LEVELING_BACKING_SIZE 16384
#define WEAR_LEVELING_LOGICAL_SIZE 4096 #define WEAR_LEVELING_LOGICAL_SIZE 4096
/* Increase debounce, as asym eager seems to lead to chatter with the fast polling rate in some cases */
#define DEBOUNCE 7

View File

@ -15,6 +15,9 @@
*/ */
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
// tested and working
void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
enum layers{ enum layers{
BASE, BASE,
GAME, GAME,

View File

@ -1,4 +1,5 @@
DEBOUNCE_TYPE = asym_eager_defer_pk DEBOUNCE_TYPE = asym_eager_defer_pk
OPT = 2
VIA_ENABLE = yes VIA_ENABLE = yes

View File

@ -19,7 +19,8 @@
"console": false, "console": false,
"extrakey": true, "extrakey": true,
"mousekey": true, "mousekey": true,
"nkro": true "nkro": true,
"lto": true
}, },
"diode_direction": "ROW2COL", "diode_direction": "ROW2COL",
"matrix_pins": { "matrix_pins": {

View File

@ -20,4 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Increase eeprom size to allow for 5 layers */ /* Increase eeprom size to allow for 5 layers */
#define WEAR_LEVELING_BACKING_SIZE 16384 #define WEAR_LEVELING_BACKING_SIZE 16384
#define WEAR_LEVELING_LOGICAL_SIZE 4096 #define WEAR_LEVELING_LOGICAL_SIZE 4096
/* Increase debounce, as asym eager seems to lead to chatter with the fast polling rate in some cases */
#define DEBOUNCE 7

View File

@ -15,6 +15,9 @@
*/ */
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
// tested and working
void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
enum layers{ enum layers{
BASE, BASE,
GAME, GAME,

View File

@ -1,4 +1,5 @@
DEBOUNCE_TYPE = asym_eager_defer_pk DEBOUNCE_TYPE = asym_eager_defer_pk
OPT = 2
VIA_ENABLE = yes VIA_ENABLE = yes

View File

@ -17,9 +17,11 @@
#include "quantum.h" #include "quantum.h"
/* This board has !SDB of the is31 wired to D2. Set high to enable */ /* This board has !SDB of the is31 wired to D2. Set high to enable */
void keyboard_post_init_user(void) { void keyboard_post_init_kb(void) {
setPinOutput(B9); setPinOutput(B9);
writePinHigh(B9); writePinHigh(B9);
keyboard_post_init_user();
} }
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE