[Keyboard] add Phoenix keyboard (#10256)
* setup keyboard * fit v1 board setting * remove unused def and add ergodox_pretty * add user hooks * add ergodox_pretty to info * apply suggestions * use default split usb timeout
This commit is contained in:
parent
6499eb6a3c
commit
02551ae499
10 changed files with 1971 additions and 0 deletions
85
keyboards/phoenix/phoenix.c
Normal file
85
keyboards/phoenix/phoenix.c
Normal file
|
@ -0,0 +1,85 @@
|
|||
#include "hal.h"
|
||||
#include "usb_main.h"
|
||||
#include "phoenix.h"
|
||||
|
||||
void bootmagic_lite(void) {
|
||||
matrix_scan();
|
||||
wait_ms(5);
|
||||
matrix_scan();
|
||||
|
||||
if ((matrix_get_row(0) & 1) || (matrix_get_row(6) & 1)) {
|
||||
palSetPadMode(GPIOB, 8, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
palSetPadMode(GPIOB, 5, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
palSetPadMode(GPIOB, 6, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
led1_off();
|
||||
led2_off();
|
||||
led3_off();
|
||||
|
||||
led3_on();
|
||||
wait_ms(50);
|
||||
led2_on();
|
||||
wait_ms(50);
|
||||
led1_on();
|
||||
wait_ms(50);
|
||||
|
||||
led3_off();
|
||||
wait_ms(50);
|
||||
led2_off();
|
||||
wait_ms(50);
|
||||
led1_off();
|
||||
wait_ms(50);
|
||||
|
||||
bootloader_jump();
|
||||
}
|
||||
}
|
||||
|
||||
void keyboard_pre_init_kb(void) {
|
||||
palSetPadMode(GPIOB, 8, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
palSetPadMode(GPIOB, 5, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
palSetPadMode(GPIOB, 6, PAL_MODE_OUTPUT_PUSHPULL);
|
||||
led1_off();
|
||||
led2_off();
|
||||
led3_off();
|
||||
|
||||
keyboard_pre_init_user();
|
||||
}
|
||||
|
||||
void keyboard_post_init_kb(void) {
|
||||
led1_on();
|
||||
wait_ms(50);
|
||||
led2_on();
|
||||
wait_ms(50);
|
||||
led3_on();
|
||||
wait_ms(50);
|
||||
|
||||
led1_off();
|
||||
wait_ms(50);
|
||||
led2_off();
|
||||
wait_ms(50);
|
||||
led3_off();
|
||||
wait_ms(50);
|
||||
|
||||
keyboard_post_init_user();
|
||||
}
|
||||
|
||||
void manipulate_led(uint32_t led, bool on) {
|
||||
switch (led) {
|
||||
case 1:
|
||||
on ? led1_on() : led1_off();
|
||||
case 2:
|
||||
on ? led2_on() : led2_off();
|
||||
case 3:
|
||||
on ? led3_on() : led3_off();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
layer_state_t layer_state_set_kb(uint32_t state) {
|
||||
state = layer_state_set_user(state);
|
||||
|
||||
uint8_t layer = get_highest_layer(state);
|
||||
manipulate_led(1, layer & 1);
|
||||
manipulate_led(2, layer >> 1 & 1);
|
||||
manipulate_led(3, layer >> 2 & 1);
|
||||
return state;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue