Allow reset to DFU without pressing the reset button

anne_pro
Michiel Visser 2019-06-24 23:10:22 +02:00
parent e4db1401df
commit 0a035bab1a
3 changed files with 18 additions and 2 deletions

View File

@ -64,6 +64,14 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
uartStartSend(&UARTD3, 6, "\x09\x04\x05\x01\x00\x00"); uartStartSend(&UARTD3, 6, "\x09\x04\x05\x01\x00\x00");
} }
return false; return false;
case AP_RST:
/* Reset the keyboard, enter DFU when ESC is pressed */
__disable_irq();
SCB->VTOR = 0x08000000;
NVIC_SystemReset();
/* This should not be reached */
while(1);
return false;
default: default:
/* Handle other keycodes normally */ /* Handle other keycodes normally */
return true; return true;

View File

@ -22,7 +22,8 @@ enum anne_pro_keycodes {
APL_RGB = SAFE_RANGE, APL_RGB = SAFE_RANGE,
APL_RAT, APL_RAT,
APL_BRT, APL_BRT,
APL_MOD APL_MOD,
AP_RST
}; };
/* The fully-featured LAYOUT() that has every single key available in the matrix. */ /* The fully-featured LAYOUT() that has every single key available in the matrix. */

View File

@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LALT, KC_LWIN, KC_SPACE, KC_RALT, MO(1), XXXXXXX, KC_RCTL KC_LCTL, KC_LALT, KC_LWIN, KC_SPACE, KC_RALT, MO(1), MO(2), KC_RCTL
), ),
[1] = LAYOUT( [1] = LAYOUT(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX,
@ -32,5 +32,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGUP, KC_PGDN, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGUP, KC_PGDN, XXXXXXX,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_DEL, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_DEL, _______,
_______, _______, _______, XXXXXXX, _______, _______, _______, _______ _______, _______, _______, XXXXXXX, _______, _______, _______, _______
),
[2] = LAYOUT(
AP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
_______, _______, _______, XXXXXXX, _______, _______, _______, _______
) )
}; };