diff --git a/keyboards/nuphy/air75_v2/ansi/ansi.c b/keyboards/nuphy/air75_v2/ansi/ansi.c index 2154656713cc..4fea648a86ab 100644 --- a/keyboards/nuphy/air75_v2/ansi/ansi.c +++ b/keyboards/nuphy/air75_v2/ansi/ansi.c @@ -19,32 +19,33 @@ along with this program. If not, see . #include "ansi.h" #include "usb_main.h" -extern bool f_rf_sw_press; -extern bool f_sleep_show; -extern bool f_dev_reset_press; -extern bool f_bat_num_show; -extern bool f_rgb_test_press; -extern bool f_bat_hold; -extern uint16_t no_act_time; -extern uint8_t rf_sw_temp; -extern uint16_t rf_sw_press_delay; -extern uint16_t rf_linking_time; -extern kb_config_t kb_config; +extern bool f_rf_sw_press; +extern bool f_sleep_show; +extern bool f_dev_reset_press; +extern bool f_bat_num_show; +extern bool f_rgb_test_press; +extern bool f_bat_hold; +extern uint16_t no_act_time; +extern uint8_t rf_sw_temp; +extern uint16_t rf_sw_press_delay; +extern uint16_t rf_linking_time; +extern kb_config_t kb_config; extern DEV_INFO_STRUCT dev_info; - /* qmk process record */ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - if(!process_record_user(keycode, record)){ + if (!process_record_user(keycode, record)) { return false; } - no_act_time = 0; + no_act_time = 0; rf_linking_time = 0; switch (keycode) { case RF_DFU: if (record->event.pressed) { - if (dev_info.link_mode != LINK_USB) return false; + if (dev_info.link_mode != LINK_USB) { + return false; + } uart_send_cmd(CMD_RF_DFU, 10, 20); } return false; @@ -197,9 +198,12 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { case SLEEP_MODE: if (record->event.pressed) { - if(kb_config.sleep_enable) kb_config.sleep_enable = false; - else kb_config.sleep_enable = true; - f_sleep_show = 1; + if (kb_config.sleep_enable) { + kb_config.sleep_enable = false; + } else { + kb_config.sleep_enable = true; + } + f_sleep_show = 1; eeconfig_update_kb_datablock(&kb_config); } return false; @@ -224,24 +228,21 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return true; } - -bool rgb_matrix_indicators_kb(void) -{ - if(!rgb_matrix_indicators_user()){ +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { return false; } - if(f_bat_num_show) { + if (f_bat_num_show) { num_led_show(); } // fix power-on brightness is abnormal - rgb_matrix_set_color(RGB_MATRIX_LED_COUNT-1, 0, 0, 0); + rgb_matrix_set_color(RGB_MATRIX_LED_COUNT - 1, 0, 0, 0); return true; } /* qmk keyboard post init */ void keyboard_post_init_kb(void) { - gpio_init(); rf_uart_init(); wait_ms(500); @@ -255,7 +256,6 @@ void keyboard_post_init_kb(void) { /* qmk housekeeping task */ void housekeeping_task_kb(void) { - timer_pro(); uart_receive_pro(); diff --git a/keyboards/nuphy/air75_v2/ansi/ansi.h b/keyboards/nuphy/air75_v2/ansi/ansi.h index 82f9875f77f0..4a79db0e2d7d 100644 --- a/keyboards/nuphy/air75_v2/ansi/ansi.h +++ b/keyboards/nuphy/air75_v2/ansi/ansi.h @@ -44,7 +44,7 @@ enum custom_keycodes { RGB_TEST }; -#define SYS_PRT G(S(KC_3)) -#define MAC_PRTA G(S(KC_4)) -#define WIN_PRTA G(S(KC_S)) -#define MAC_SEARCH G(KC_SPC) +#define SYS_PRT G(S(KC_3)) +#define MAC_PRTA G(S(KC_4)) +#define WIN_PRTA G(S(KC_S)) +#define MAC_SEARCH G(KC_SPC) diff --git a/keyboards/nuphy/air75_v2/ansi/config.h b/keyboards/nuphy/air75_v2/ansi/config.h index 5b4c102f5f79..d60889c3bbdf 100644 --- a/keyboards/nuphy/air75_v2/ansi/config.h +++ b/keyboards/nuphy/air75_v2/ansi/config.h @@ -17,20 +17,20 @@ along with this program. If not, see . #pragma once -#define DEV_MODE_PIN C0 -#define SYS_MODE_PIN C1 -#define DC_BOOST_PIN C2 -#define NRF_RESET_PIN B4 -#define NRF_TEST_PIN B5 -#define NRF_WAKEUP_PIN B8 -#define DRIVER_LED_CS_PIN C6 -#define DRIVER_SIDE_PIN C8 -#define DRIVER_SIDE_CS_PIN C9 +#define DEV_MODE_PIN C0 +#define SYS_MODE_PIN C1 +#define DC_BOOST_PIN C2 +#define NRF_RESET_PIN B4 +#define NRF_TEST_PIN B5 +#define NRF_WAKEUP_PIN B8 +#define DRIVER_LED_CS_PIN C6 +#define DRIVER_SIDE_PIN C8 +#define DRIVER_SIDE_CS_PIN C9 -#define SERIAL_DRIVER SD1 -#define SD1_TX_PIN B6 -#define SD1_TX_PAL_MODE 0 -#define SD1_RX_PIN B7 -#define SD1_RX_PAL_MODE 0 +#define SERIAL_DRIVER SD1 +#define SD1_TX_PIN B6 +#define SD1_TX_PAL_MODE 0 +#define SD1_RX_PIN B7 +#define SD1_RX_PAL_MODE 0 -#define EECONFIG_KB_DATA_SIZE 8 +#define EECONFIG_KB_DATA_SIZE 8 diff --git a/keyboards/nuphy/air75_v2/ansi/kb_util.c b/keyboards/nuphy/air75_v2/ansi/kb_util.c index 3f927de406d3..069c48d13e1d 100644 --- a/keyboards/nuphy/air75_v2/ansi/kb_util.c +++ b/keyboards/nuphy/air75_v2/ansi/kb_util.c @@ -26,15 +26,15 @@ DEV_INFO_STRUCT dev_info = { .link_mode = LINK_USB, .rf_state = RF_IDLE, }; -bool f_bat_hold = 0; -bool f_sys_show = 0; -bool f_sleep_show = 0; -bool f_send_channel = 0; -bool f_dial_sw_init_ok = 0; -bool f_rf_sw_press = 0; -bool f_dev_reset_press = 0; -bool f_rgb_test_press = 0; -bool f_bat_num_show = 0; +bool f_bat_hold = 0; +bool f_sys_show = 0; +bool f_sleep_show = 0; +bool f_send_channel = 0; +bool f_dial_sw_init_ok = 0; +bool f_rf_sw_press = 0; +bool f_dev_reset_press = 0; +bool f_rgb_test_press = 0; +bool f_bat_num_show = 0; uint8_t rf_blink_cnt = 0; uint8_t rf_sw_temp = 0; @@ -49,7 +49,7 @@ host_driver_t *m_host_driver = 0; extern bool f_rf_new_adv_ok; extern report_keyboard_t *keyboard_report; -extern report_nkro_t *nkro_report; +extern report_nkro_t *nkro_report; extern uint8_t bitkb_report_buf[32]; extern uint8_t bytekb_report_buf[8]; extern uint8_t side_mode; @@ -93,7 +93,9 @@ void gpio_init(void) { void long_press_key(void) { static uint32_t long_press_timer = 0; - if (timer_elapsed32(long_press_timer) < 100) return; + if (timer_elapsed32(long_press_timer) < 100) { + return; + } long_press_timer = timer_read32(); // Open a new RF device @@ -111,7 +113,9 @@ void long_press_key(void) { uart_send_cmd(CMD_NEW_ADV, 0, 1); wait_ms(20); uart_receive_pro(); - if (f_rf_new_adv_ok) break; + if (f_rf_new_adv_ok) { + break; + } } } } else { @@ -126,9 +130,9 @@ void long_press_key(void) { if (dev_info.link_mode != LINK_USB) { if (dev_info.link_mode != LINK_RF_24) { - dev_info.link_mode = LINK_BT_1; - dev_info.ble_channel = LINK_BT_1; - dev_info.rf_channel = LINK_BT_1; + dev_info.link_mode = LINK_BT_1; + dev_info.ble_channel = LINK_BT_1; + dev_info.rf_channel = LINK_BT_1; } } else { dev_info.ble_channel = LINK_BT_1; @@ -212,7 +216,9 @@ void break_all_key(void) { * @param mode : link mode */ void switch_dev_link(uint8_t mode) { - if (mode > LINK_USB) return; + if (mode > LINK_USB) { + return; + } break_all_key(); @@ -242,15 +248,21 @@ void dial_sw_scan(void) { static bool f_first = true; if (!f_first) { - if (timer_elapsed32(dial_scan_timer) < 20) return; + if (timer_elapsed32(dial_scan_timer) < 20) { + return; + } } dial_scan_timer = timer_read32(); gpio_set_pin_input_high(DEV_MODE_PIN); gpio_set_pin_input_high(SYS_MODE_PIN); - if (gpio_read_pin(DEV_MODE_PIN)) dial_scan |= 0X01; - if (gpio_read_pin(SYS_MODE_PIN)) dial_scan |= 0X02; + if (gpio_read_pin(DEV_MODE_PIN)) { + dial_scan |= 0X01; + } + if (gpio_read_pin(SYS_MODE_PIN)) { + dial_scan |= 0X02; + } if (dial_save != dial_scan) { break_all_key(); @@ -309,63 +321,68 @@ void dial_sw_scan(void) { * @brief power on scan dial switch. */ void dial_sw_fast_scan(void) { -{ - uint8_t dial_scan_dev = 0; - uint8_t dial_scan_sys = 0; - uint8_t dial_check_dev = 0; - uint8_t dial_check_sys = 0; - uint8_t debounce = 0; - - gpio_set_pin_input_high(DEV_MODE_PIN); - gpio_set_pin_input_high(SYS_MODE_PIN); - - // Debounce to get a stable state - for(debounce=0; debounce<10; debounce++) { - dial_scan_dev = 0; - dial_scan_sys = 0; - if (gpio_read_pin(DEV_MODE_PIN)) dial_scan_dev = 0x01; - else dial_scan_dev = 0; - if (gpio_read_pin(SYS_MODE_PIN)) dial_scan_sys = 0x01; - else dial_scan_sys = 0; - if((dial_scan_dev != dial_check_dev)||(dial_scan_sys != dial_check_sys)) - { - dial_check_dev = dial_scan_dev; - dial_check_sys = dial_scan_sys; - debounce = 0; + { + uint8_t dial_scan_dev = 0; + uint8_t dial_scan_sys = 0; + uint8_t dial_check_dev = 0; + uint8_t dial_check_sys = 0; + uint8_t debounce = 0; + + gpio_set_pin_input_high(DEV_MODE_PIN); + gpio_set_pin_input_high(SYS_MODE_PIN); + + // Debounce to get a stable state + for (debounce = 0; debounce < 10; debounce++) { + dial_scan_dev = 0; + dial_scan_sys = 0; + if (gpio_read_pin(DEV_MODE_PIN)) { + dial_scan_dev = 0x01; + } else { + dial_scan_dev = 0; + } + if (gpio_read_pin(SYS_MODE_PIN)) { + dial_scan_sys = 0x01; + } else { + dial_scan_sys = 0; + } + if ((dial_scan_dev != dial_check_dev) || (dial_scan_sys != dial_check_sys)) { + dial_check_dev = dial_scan_dev; + dial_check_sys = dial_scan_sys; + debounce = 0; + } + wait_ms(1); } - wait_ms(1); - } - // RF link mode - if (dial_scan_dev) { - if (dev_info.link_mode != LINK_USB) { - switch_dev_link(LINK_USB); - } - } else { - if (dev_info.link_mode != dev_info.rf_channel) { - switch_dev_link(dev_info.rf_channel); + // RF link mode + if (dial_scan_dev) { + if (dev_info.link_mode != LINK_USB) { + switch_dev_link(LINK_USB); + } + } else { + if (dev_info.link_mode != dev_info.rf_channel) { + switch_dev_link(dev_info.rf_channel); + } } - } - // Win or Mac - if (dial_scan_sys) { - if (dev_info.sys_sw_state != SYS_SW_MAC) { - default_layer_set(1 << 0); - dev_info.sys_sw_state = SYS_SW_MAC; - keymap_config.nkro = 0; - break_all_key(); - } - } else { - if (dev_info.sys_sw_state != SYS_SW_WIN) { - //f_sys_show = 1; - default_layer_set(1 << 2); - dev_info.sys_sw_state = SYS_SW_WIN; - keymap_config.nkro = 1; - break_all_key(); + // Win or Mac + if (dial_scan_sys) { + if (dev_info.sys_sw_state != SYS_SW_MAC) { + default_layer_set(1 << 0); + dev_info.sys_sw_state = SYS_SW_MAC; + keymap_config.nkro = 0; + break_all_key(); + } + } else { + if (dev_info.sys_sw_state != SYS_SW_WIN) { + // f_sys_show = 1; + default_layer_set(1 << 2); + dev_info.sys_sw_state = SYS_SW_WIN; + keymap_config.nkro = 1; + break_all_key(); + } } } } -} /** * @brief timer process. @@ -381,16 +398,23 @@ void timer_pro(void) { } // step 10ms - if (timer_elapsed32(interval_timer) < 10) + if (timer_elapsed32(interval_timer) < 10) { return; - else + } else { interval_timer = timer_read32(); + } - if (rf_link_show_time < RF_LINK_SHOW_TIME) rf_link_show_time++; + if (rf_link_show_time < RF_LINK_SHOW_TIME) { + rf_link_show_time++; + } - if (no_act_time < 0xffff) no_act_time++; + if (no_act_time < 0xffff) { + no_act_time++; + } - if (rf_linking_time < 0xffff) rf_linking_time++; + if (rf_linking_time < 0xffff) { + rf_linking_time++; + } } /** diff --git a/keyboards/nuphy/air75_v2/ansi/kb_util.h b/keyboards/nuphy/air75_v2/ansi/kb_util.h index 2e5049914573..e40f5c4081c1 100644 --- a/keyboards/nuphy/air75_v2/ansi/kb_util.h +++ b/keyboards/nuphy/air75_v2/ansi/kb_util.h @@ -39,74 +39,72 @@ typedef enum { } TYPE_RX_STATE; - -#define RF_IDLE 0 -#define RF_PAIRING 1 -#define RF_LINKING 2 -#define RF_CONNECT 3 -#define RF_DISCONNECT 4 -#define RF_SLEEP 5 -#define RF_SNIF 6 -#define RF_INVALID 0XFE -#define RF_ERR_STATE 0XFF - -#define CMD_POWER_UP 0XF0 -#define CMD_SLEEP 0XF1 -#define CMD_HAND 0XF2 -#define CMD_SNIF 0XF3 -#define CMD_24G_SUSPEND 0XF4 -#define CMD_IDLE_EXIT 0XFE - -#define CMD_RPT_MS 0XE0 -#define CMD_RPT_BYTE_KB 0XE1 -#define CMD_RPT_BIT_KB 0XE2 -#define CMD_RPT_CONSUME 0XE3 -#define CMD_RPT_SYS 0XE4 - -#define CMD_SET_LINK 0XC0 -#define CMD_SET_CONFIG 0XC1 -#define CMD_GET_CONFIG 0XC2 -#define CMD_SET_NAME 0XC3 -#define CMD_GET_NAME 0XC4 -#define CMD_CLR_DEVICE 0XC5 -#define CMD_NEW_ADV 0XC7 -#define CMD_RF_STS_SYSC 0XC9 -#define CMD_SET_24G_NAME 0XCA -#define CMD_GO_TEST 0XCF -#define CMD_RF_DFU 0XB1 - -#define CMD_WRITE_DATA 0X80 -#define CMD_READ_DATA 0X81 - -#define LINK_RF_24 0 -#define LINK_BT_1 1 -#define LINK_BT_2 2 -#define LINK_BT_3 3 -#define LINK_USB 4 - -#define UART_HEAD 0x5A -#define FUNC_VALID_LEN 32 -#define UART_MAX_LEN 64 - -#define SYS_SW_WIN 0xa1 -#define SYS_SW_MAC 0xa2 - -#define RF_LINK_SHOW_TIME 300 - -#define HOST_USB_TYPE 0 -#define HOST_BLE_TYPE 1 -#define HOST_RF_TYPE 2 - -#define LINK_TIMEOUT (100 * 120) -#define SLEEP_TIME_DELAY (100 * 360) -#define POWER_DOWN_DELAY (24) - -#define RF_LONG_PRESS_DELAY 30 -#define DEV_RESET_PRESS_DELAY 30 -#define RGB_TEST_PRESS_DELAY 30 - -typedef struct -{ +#define RF_IDLE 0 +#define RF_PAIRING 1 +#define RF_LINKING 2 +#define RF_CONNECT 3 +#define RF_DISCONNECT 4 +#define RF_SLEEP 5 +#define RF_SNIF 6 +#define RF_INVALID 0XFE +#define RF_ERR_STATE 0XFF + +#define CMD_POWER_UP 0XF0 +#define CMD_SLEEP 0XF1 +#define CMD_HAND 0XF2 +#define CMD_SNIF 0XF3 +#define CMD_24G_SUSPEND 0XF4 +#define CMD_IDLE_EXIT 0XFE + +#define CMD_RPT_MS 0XE0 +#define CMD_RPT_BYTE_KB 0XE1 +#define CMD_RPT_BIT_KB 0XE2 +#define CMD_RPT_CONSUME 0XE3 +#define CMD_RPT_SYS 0XE4 + +#define CMD_SET_LINK 0XC0 +#define CMD_SET_CONFIG 0XC1 +#define CMD_GET_CONFIG 0XC2 +#define CMD_SET_NAME 0XC3 +#define CMD_GET_NAME 0XC4 +#define CMD_CLR_DEVICE 0XC5 +#define CMD_NEW_ADV 0XC7 +#define CMD_RF_STS_SYSC 0XC9 +#define CMD_SET_24G_NAME 0XCA +#define CMD_GO_TEST 0XCF +#define CMD_RF_DFU 0XB1 + +#define CMD_WRITE_DATA 0X80 +#define CMD_READ_DATA 0X81 + +#define LINK_RF_24 0 +#define LINK_BT_1 1 +#define LINK_BT_2 2 +#define LINK_BT_3 3 +#define LINK_USB 4 + +#define UART_HEAD 0x5A +#define FUNC_VALID_LEN 32 +#define UART_MAX_LEN 64 + +#define SYS_SW_WIN 0xa1 +#define SYS_SW_MAC 0xa2 + +#define RF_LINK_SHOW_TIME 300 + +#define HOST_USB_TYPE 0 +#define HOST_BLE_TYPE 1 +#define HOST_RF_TYPE 2 + +#define LINK_TIMEOUT (100 * 120) +#define SLEEP_TIME_DELAY (100 * 360) +#define POWER_DOWN_DELAY (24) + +#define RF_LONG_PRESS_DELAY 30 +#define DEV_RESET_PRESS_DELAY 30 +#define RGB_TEST_PRESS_DELAY 30 + +typedef struct { uint8_t RXDState; uint8_t RXDLen; uint8_t RXDOverTime; @@ -116,8 +114,7 @@ typedef struct uint8_t RXDBuf[UART_MAX_LEN]; } USART_MGR_STRUCT; -typedef struct -{ +typedef struct { uint8_t link_mode; uint8_t rf_channel; uint8_t ble_channel; @@ -128,8 +125,7 @@ typedef struct uint8_t sys_sw_state; } DEV_INFO_STRUCT; -typedef struct -{ +typedef struct { uint8_t default_brightness_flag; uint8_t ee_side_mode; uint8_t ee_side_light; diff --git a/keyboards/nuphy/air75_v2/ansi/rf.c b/keyboards/nuphy/air75_v2/ansi/rf.c index f01dcb6c8904..3c960a8d4c0b 100644 --- a/keyboards/nuphy/air75_v2/ansi/rf.c +++ b/keyboards/nuphy/air75_v2/ansi/rf.c @@ -21,11 +21,11 @@ along with this program. If not, see . #include "rf_driver.h" USART_MGR_STRUCT Usart_Mgr; -#define RX_SBYTE Usart_Mgr.RXDBuf[0] -#define RX_CMD Usart_Mgr.RXDBuf[1] -#define RX_ACK Usart_Mgr.RXDBuf[2] -#define RX_LEN Usart_Mgr.RXDBuf[3] -#define RX_DAT Usart_Mgr.RXDBuf[4] +#define RX_SBYTE Usart_Mgr.RXDBuf[0] +#define RX_CMD Usart_Mgr.RXDBuf[1] +#define RX_ACK Usart_Mgr.RXDBuf[2] +#define RX_LEN Usart_Mgr.RXDBuf[3] +#define RX_DAT Usart_Mgr.RXDBuf[4] bool f_uart_ack = 0; bool f_rf_read_data_ok = 0; @@ -64,18 +64,15 @@ void uart_receive_pro(void); void break_all_key(void); uint16_t host_last_consumer_usage(void); - - /** * @brief Uart auto nkey send */ -bool f_bit_kb_act = 0; -static void uart_auto_nkey_send(uint8_t *pre_bit_report, uint8_t *now_bit_report, uint8_t size) -{ +bool f_bit_kb_act = 0; +static void uart_auto_nkey_send(uint8_t *pre_bit_report, uint8_t *now_bit_report, uint8_t size) { uint8_t i, j, byte_index; uint8_t change_mask, offset_mask; - uint8_t key_code = 0; - bool f_byte_send = 0, f_bit_send = 0; + uint8_t key_code = 0; + bool f_byte_send = 0, f_bit_send = 0; if (pre_bit_report[0] ^ now_bit_report[0]) { bytekb_report_buf[0] = now_bit_report[0]; @@ -128,16 +125,16 @@ static void uart_auto_nkey_send(uint8_t *pre_bit_report, uint8_t *now_bit_report } } - /** * @brief Uart send keys report. */ -void uart_send_report_repeat(void) -{ +void uart_send_report_repeat(void) { static uint32_t interval_timer = 0; - if (dev_info.link_mode == LINK_USB) return; - keyboard_protocol = 1; + if (dev_info.link_mode == LINK_USB) { + return; + } + keyboard_protocol = 1; if (timer_elapsed32(interval_timer) > 50) { interval_timer = timer_read32(); @@ -145,10 +142,10 @@ void uart_send_report_repeat(void) uart_send_report(CMD_RPT_BYTE_KB, bytekb_report_buf, 8); wait_us(200); - if(f_bit_kb_act) + if (f_bit_kb_act) { uart_send_report(CMD_RPT_BIT_KB, uart_bit_report_buf, 16); - } - else { + } + } else { f_bit_kb_act = 0; } } @@ -210,7 +207,7 @@ void RF_Protocol_Receive(void) { if (Usart_Mgr.RXDState == RX_Done) { f_uart_ack = 1; - sync_lost = 0; + sync_lost = 0; if (Usart_Mgr.RXDLen > 4) { for (i = 0; i < RX_LEN; i++) @@ -256,10 +253,13 @@ void RF_Protocol_Receive(void) { dev_info.rf_charge = Usart_Mgr.RXDBuf[7]; - if (Usart_Mgr.RXDBuf[8] <= 100) dev_info.rf_battery = Usart_Mgr.RXDBuf[8]; - if (dev_info.rf_charge & 0x01) dev_info.rf_battery = 100; - } - else { + if (Usart_Mgr.RXDBuf[8] <= 100) { + dev_info.rf_battery = Usart_Mgr.RXDBuf[8]; + } + if (dev_info.rf_charge & 0x01) { + dev_info.rf_battery = 100; + } + } else { if (dev_info.rf_state != RF_INVALID) { if (error_cnt >= 5) { error_cnt = 0; @@ -423,7 +423,9 @@ uint8_t uart_send_cmd(uint8_t cmd, uint8_t wait_ack, uint8_t delayms) { if (wait_ack) { while (wait_ack--) { wait_ms(1); - if (f_uart_ack) return TX_OK; + if (f_uart_ack) { + return TX_OK; + } } } else { return TX_OK; @@ -439,10 +441,11 @@ void dev_sts_sync(void) { static uint32_t interval_timer = 0; static uint8_t link_state_temp = RF_DISCONNECT; - if (timer_elapsed32(interval_timer) < 200) + if (timer_elapsed32(interval_timer) < 200) { return; - else + } else { interval_timer = timer_read32(); + } if (f_rf_reset) { f_rf_reset = 0; @@ -451,8 +454,7 @@ void dev_sts_sync(void) { wait_ms(50); gpio_write_pin_high(NRF_RESET_PIN); wait_ms(50); - } - else if (f_send_channel) { + } else if (f_send_channel) { f_send_channel = 0; uart_send_cmd(CMD_SET_LINK, 10, 10); } @@ -464,8 +466,7 @@ void dev_sts_sync(void) { break_all_key(); } rf_blink_cnt = 0; - } - else { + } else { if (host_mode != HOST_RF_TYPE) { host_mode = HOST_RF_TYPE; break_all_key(); @@ -474,14 +475,13 @@ void dev_sts_sync(void) { if (dev_info.rf_state != RF_CONNECT) { if (disconnect_delay >= 10) { - rf_blink_cnt = 3; + rf_blink_cnt = 3; rf_link_show_time = 0; - link_state_temp = dev_info.rf_state; + link_state_temp = dev_info.rf_state; } else { disconnect_delay++; } - } - else if (dev_info.rf_state == RF_CONNECT) { + } else if (dev_info.rf_state == RF_CONNECT) { rf_linking_time = 0; disconnect_delay = 0; rf_blink_cnt = 0; @@ -542,9 +542,15 @@ uint8_t get_checksum(uint8_t *buf, uint8_t len) { * @param report_size report_size */ void uart_send_report(uint8_t report_type, uint8_t *report_buf, uint8_t report_size) { - if (f_dial_sw_init_ok == 0) return; - if (dev_info.link_mode == LINK_USB) return; - if (dev_info.rf_state != RF_CONNECT) return; + if (f_dial_sw_init_ok == 0) { + return; + } + if (dev_info.link_mode == LINK_USB) { + return; + } + if (dev_info.rf_state != RF_CONNECT) { + return; + } Usart_Mgr.TXDBuf[0] = UART_HEAD; Usart_Mgr.TXDBuf[1] = report_type; @@ -571,8 +577,7 @@ void uart_receive_pro(void) { if (Usart_Mgr.RXDLen >= UART_MAX_LEN) { uart_read(); - } - else { + } else { Usart_Mgr.RXDBuf[Usart_Mgr.RXDLen++] = uart_read(); } @@ -586,7 +591,7 @@ void uart_receive_pro(void) { rcv_start = false; Usart_Mgr.RXDState = RX_Done; RF_Protocol_Receive(); - Usart_Mgr.RXDLen = 0; + Usart_Mgr.RXDLen = 0; } } @@ -621,7 +626,9 @@ void rf_device_init(void) { wait_ms(5); uart_receive_pro(); // receive data uart_receive_pro(); // parsing data - if (f_rf_hand_ok) break; + if (f_rf_hand_ok) { + break; + } } timeout = 10; @@ -631,7 +638,9 @@ void rf_device_init(void) { wait_ms(5); uart_receive_pro(); uart_receive_pro(); - if (f_rf_read_data_ok) break; + if (f_rf_read_data_ok) { + break; + } } timeout = 10; @@ -641,7 +650,9 @@ void rf_device_init(void) { wait_ms(5); uart_receive_pro(); uart_receive_pro(); - if (f_rf_sts_sysc_ok) break; + if (f_rf_sts_sysc_ok) { + break; + } } uart_send_cmd(CMD_SET_NAME, 10, 20); diff --git a/keyboards/nuphy/air75_v2/ansi/side.c b/keyboards/nuphy/air75_v2/ansi/side.c index be35313ce2ca..a12cc07e3e3e 100644 --- a/keyboards/nuphy/air75_v2/ansi/side.c +++ b/keyboards/nuphy/air75_v2/ansi/side.c @@ -20,15 +20,15 @@ along with this program. If not, see . #include "side_table.h" #include "ws2812.h" -uint8_t side_mode = 0; -uint8_t side_light = 3; -uint8_t side_speed = 2; -uint8_t side_rgb = 1; -uint8_t side_colour = 0; -uint8_t side_play_point = 0; -uint8_t side_play_cnt = 0; -uint32_t side_play_timer = 0; -uint8_t r_temp, g_temp, b_temp; +uint8_t side_mode = 0; +uint8_t side_light = 3; +uint8_t side_speed = 2; +uint8_t side_rgb = 1; +uint8_t side_colour = 0; +uint8_t side_play_point = 0; +uint8_t side_play_cnt = 0; +uint32_t side_play_timer = 0; +uint8_t r_temp, g_temp, b_temp; rgb_led_t side_leds[SIDE_LED_NUM] = {0}; extern DEV_INFO_STRUCT dev_info; @@ -87,12 +87,18 @@ void side_light_control(uint8_t dir) { * @note save to eeprom. */ void side_speed_control(uint8_t dir) { - if ((side_speed) > SIDE_SPEED_MAX) (side_speed) = SIDE_SPEED_MAX / 2; + if ((side_speed) > SIDE_SPEED_MAX) { + (side_speed) = SIDE_SPEED_MAX / 2; + } if (dir) { - if ((side_speed)) side_speed--; + if ((side_speed)) { + side_speed--; + } } else { - if ((side_speed) < SIDE_SPEED_MAX) side_speed++; + if ((side_speed) < SIDE_SPEED_MAX) { + side_speed++; + } } kb_config.ee_side_speed = side_speed; eeconfig_update_kb_datablock(&kb_config); @@ -156,7 +162,7 @@ void side_mode_control(uint8_t dir) { side_mode = SIDE_OFF; } } - side_play_point = 0; + side_play_point = 0; kb_config.ee_side_mode = side_mode; eeconfig_update_kb_datablock(&kb_config); } @@ -317,10 +323,14 @@ void sys_led_show(void) { static void light_point_playing(uint8_t trend, uint8_t step, uint8_t len, uint8_t *point) { if (trend) { *point += step; - if (*point >= len) *point -= len; + if (*point >= len) { + *point -= len; + } } else { *point -= step; - if (*point >= len) *point = len - (255 - *point) - 1; + if (*point >= len) { + *point = len - (255 - *point) - 1; + } } } @@ -330,16 +340,20 @@ static void light_point_playing(uint8_t trend, uint8_t step, uint8_t len, uint8_ static void side_wave_mode_show(void) { uint8_t play_index; - if (side_play_cnt <= side_speed_tab[side_mode][side_speed]) + if (side_play_cnt <= side_speed_tab[side_mode][side_speed]) { return; - else + } else { side_play_cnt -= side_speed_tab[side_mode][side_speed]; - if (side_play_cnt > 20) side_play_cnt = 0; + } + if (side_play_cnt > 20) { + side_play_cnt = 0; + } - if (side_rgb) + if (side_rgb) { light_point_playing(0, 3, FLOW_COLOUR_TAB_LEN, &side_play_point); - else + } else { light_point_playing(0, 2, WAVE_TAB_LEN, &side_play_point); + } play_index = side_play_point; for (int i = 0; i < SIDE_LINE; i++) { @@ -370,11 +384,14 @@ static void side_wave_mode_show(void) { * @brief side_spectrum_mode_show. */ static void side_spectrum_mode_show(void) { - if (side_play_cnt <= side_speed_tab[side_mode][side_speed]) + if (side_play_cnt <= side_speed_tab[side_mode][side_speed]) { return; - else + } else { side_play_cnt -= side_speed_tab[side_mode][side_speed]; - if (side_play_cnt > 20) side_play_cnt = 0; + } + if (side_play_cnt > 20) { + side_play_cnt = 0; + } light_point_playing(1, 1, FLOW_COLOUR_TAB_LEN, &side_play_point); @@ -397,17 +414,22 @@ static void side_spectrum_mode_show(void) { static void side_breathe_mode_show(void) { static uint8_t play_point = 0; - if (side_play_cnt <= side_speed_tab[side_mode][side_speed]) + if (side_play_cnt <= side_speed_tab[side_mode][side_speed]) { return; - else + } else { side_play_cnt -= side_speed_tab[side_mode][side_speed]; - if (side_play_cnt > 20) side_play_cnt = 0; + } + if (side_play_cnt > 20) { + side_play_cnt = 0; + } light_point_playing(0, 1, BREATHE_TAB_LEN, &play_point); if (0) { if (play_point == 0) { - if (++side_play_point >= SIDE_COLOUR_MAX) side_play_point = 0; + if (++side_play_point >= SIDE_COLOUR_MAX) { + side_play_point = 0; + } } r_temp = colour_lib[side_play_point][0]; @@ -435,13 +457,18 @@ static void side_breathe_mode_show(void) { static void side_static_mode_show(void) { uint8_t play_index; - if (side_play_cnt <= side_speed_tab[side_mode][side_speed]) + if (side_play_cnt <= side_speed_tab[side_mode][side_speed]) { return; - else + } else { side_play_cnt -= side_speed_tab[side_mode][side_speed]; - if (side_play_cnt > 20) side_play_cnt = 0; + } + if (side_play_cnt > 20) { + side_play_cnt = 0; + } - if (side_play_point >= SIDE_COLOUR_MAX) side_play_point = 0; + if (side_play_point >= SIDE_COLOUR_MAX) { + side_play_point = 0; + } for (int i = 0; i < SIDE_LINE; i++) { if (0) { @@ -467,11 +494,14 @@ static void side_static_mode_show(void) { * @brief side_off_mode_show. */ static void side_off_mode_show(void) { - if (side_play_cnt <= side_speed_tab[side_mode][side_speed]) + if (side_play_cnt <= side_speed_tab[side_mode][side_speed]) { return; - else + } else { side_play_cnt -= side_speed_tab[side_mode][side_speed]; - if (side_play_cnt > 20) side_play_cnt = 0; + } + if (side_play_cnt > 20) { + side_play_cnt = 0; + } r_temp = 0x00; g_temp = 0x00; @@ -511,10 +541,11 @@ void rf_led_show(void) { } if (rf_blink_cnt) { - if (dev_info.rf_state == RF_PAIRING) + if (dev_info.rf_state == RF_PAIRING) { rf_blink_priod = RF_LED_PAIR_PERIOD; - else + } else { rf_blink_priod = RF_LED_LINK_PERIOD; + } if (timer_elapsed32(rf_blink_timer) > (rf_blink_priod >> 1)) { r_temp = 0x00; @@ -534,8 +565,7 @@ void rf_led_show(void) { /** * @brief bat_num_led. */ -void bat_num_led(uint8_t bat_percent) -{ +void bat_num_led(uint8_t bat_percent) { uint8_t r, g, b; uint8_t bat_idx = bat_percent / 17; uint8_t bat_lvl = 1 + ((bat_percent - 1) / 10); @@ -545,24 +575,21 @@ void bat_num_led(uint8_t bat_percent) b = bat_percent_tab[bat_idx][2]; // set percent - for (uint8_t i = 0; i < bat_lvl ; i++) { + for (uint8_t i = 0; i < bat_lvl; i++) { rgb_matrix_set_color(29 - i, r, g, b); } } -void num_led_show(void) -{ - static uint8_t num_bat_temp = 0; - num_bat_temp = dev_info.rf_battery; +void num_led_show(void) { + static uint8_t num_bat_temp = 0; + num_bat_temp = dev_info.rf_battery; bat_num_led(num_bat_temp); } -void bat_led_close(void) -{ - for(int i=20; i<=29; i++) { - rgb_matrix_set_color(i,0,0,0); +void bat_led_close(void) { + for (int i = 20; i <= 29; i++) { + rgb_matrix_set_color(i, 0, 0, 0); } - } /** @@ -570,7 +597,7 @@ void bat_led_close(void) */ void bat_percent_led(uint8_t bat_percent) { uint8_t bat_idx = bat_percent / 17; - uint8_t bright = side_light; + uint8_t bright = side_light; if (bright < 1) { bright = 1; } @@ -667,7 +694,6 @@ void bat_led_show(void) { * @brief device_reset_show. */ void device_reset_show(void) { - gpio_write_pin_high(DC_BOOST_PIN); gpio_set_pin_output_push_pull(DRIVER_SIDE_CS_PIN); gpio_set_pin_output_push_pull(DRIVER_LED_CS_PIN); @@ -724,9 +750,8 @@ void device_reset_init(void) { /** * RGB test -*/ -void rgb_test_show(void) -{ + */ +void rgb_test_show(void) { // open power control gpio_write_pin_high(DC_BOOST_PIN); gpio_set_pin_output_push_pull(DRIVER_LED_CS_PIN); diff --git a/keyboards/nuphy/air75_v2/ansi/side.h b/keyboards/nuphy/air75_v2/ansi/side.h index 578b2818ac97..10787c5fc82c 100644 --- a/keyboards/nuphy/air75_v2/ansi/side.h +++ b/keyboards/nuphy/air75_v2/ansi/side.h @@ -15,15 +15,15 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#define SIDE_BRIGHT_MAX 4 -#define SIDE_SPEED_MAX 4 -#define SIDE_COLOUR_MAX 8 +#define SIDE_BRIGHT_MAX 4 +#define SIDE_SPEED_MAX 4 +#define SIDE_COLOUR_MAX 8 -#define SIDE_LINE 6 -#define SIDE_LED_NUM 12 +#define SIDE_LINE 6 +#define SIDE_LED_NUM 12 -#define RF_LED_LINK_PERIOD 500 -#define RF_LED_PAIR_PERIOD 250 +#define RF_LED_LINK_PERIOD 500 +#define RF_LED_PAIR_PERIOD 250 /* side rgb mode */ enum { diff --git a/keyboards/nuphy/air75_v2/ansi/side_driver.c b/keyboards/nuphy/air75_v2/ansi/side_driver.c index 00b4c2712783..4c1feb4b5bc7 100644 --- a/keyboards/nuphy/air75_v2/ansi/side_driver.c +++ b/keyboards/nuphy/air75_v2/ansi/side_driver.c @@ -24,49 +24,47 @@ along with this program. If not, see . /* Adapted from https://github.com/bigjosh/SimpleNeoPixelDemo/ */ #ifndef NOP_FUDGE -#if defined(STM32F0XX) || defined(STM32F1XX) || defined(GD32VF103) || defined(STM32F3XX) || defined(STM32F4XX) || defined(STM32L0XX) || defined(WB32F3G71xx) || defined(WB32FQ95xx) -#define NOP_FUDGE 0.4 -#else -#error("NOP_FUDGE configuration required") -#define NOP_FUDGE 1 // this just pleases the compiler so the above error is easier to spot -#endif +# if defined(STM32F0XX) || defined(STM32F1XX) || defined(GD32VF103) || defined(STM32F3XX) || defined(STM32F4XX) || defined(STM32L0XX) || defined(WB32F3G71xx) || defined(WB32FQ95xx) +# define NOP_FUDGE 0.4 +# else +# error("NOP_FUDGE configuration required") +# define NOP_FUDGE 1 // this just pleases the compiler so the above error is easier to spot +# endif #endif // Push Pull or Open Drain Configuration // Default Push Pull #ifndef WS2812_EXTERNAL_PULLUP -#define WS2812_OUTPUT_MODE PAL_MODE_OUTPUT_PUSHPULL +# define WS2812_OUTPUT_MODE PAL_MODE_OUTPUT_PUSHPULL #else -#define WS2812_OUTPUT_MODE PAL_MODE_OUTPUT_OPENDRAIN +# define WS2812_OUTPUT_MODE PAL_MODE_OUTPUT_OPENDRAIN #endif // The reset gap can be 6000 ns, but depending on the LED strip it may have to be increased // to values like 600000 ns. If it is too small, the pixels will show nothing most of the time. #ifndef WS2812_RES -#define WS2812_RES (1000 * WS2812_TRST_US) // Width of the low gap between bits to cause a frame to latch +# define WS2812_RES (1000 * WS2812_TRST_US) // Width of the low gap between bits to cause a frame to latch #endif -#define NUMBER_NOPS 6 -#define CYCLES_PER_SEC (CPU_CLOCK / NUMBER_NOPS * NOP_FUDGE) -#define NS_PER_SEC (1000000000L) // Note that this has to be SIGNED since we want to be able to check for negative values of derivatives -#define NS_PER_CYCLE (NS_PER_SEC / CYCLES_PER_SEC) +#define NUMBER_NOPS 6 +#define CYCLES_PER_SEC (CPU_CLOCK / NUMBER_NOPS * NOP_FUDGE) +#define NS_PER_SEC (1000000000L) // Note that this has to be SIGNED since we want to be able to check for negative values of derivatives +#define NS_PER_CYCLE (NS_PER_SEC / CYCLES_PER_SEC) #define NS_TO_CYCLES(n) ((n) / NS_PER_CYCLE) #define wait_ns(x) \ do { \ for (int i = 0; i < NS_TO_CYCLES(x); i++) { \ - __asm__ volatile( \ - "nop\n\t" \ - "nop\n\t" \ - "nop\n\t" \ - "nop\n\t" \ - "nop\n\t" \ - "nop\n\t"); \ + __asm__ volatile("nop\n\t" \ + "nop\n\t" \ + "nop\n\t" \ + "nop\n\t" \ + "nop\n\t" \ + "nop\n\t"); \ } \ } while (0) -void side_sendByte(uint8_t byte) -{ +void side_sendByte(uint8_t byte) { // WS2812 protocol wants most significant bits first for (unsigned char bit = 0; bit < 8; bit++) { bool is_one = byte & (1 << (7 - bit)); @@ -88,8 +86,7 @@ void side_sendByte(uint8_t byte) } // Setleds for standard RGB -void side_ws2812_setleds(rgb_led_t *ledarray, uint16_t leds) -{ +void side_ws2812_setleds(rgb_led_t *ledarray, uint16_t leds) { // this code is very time dependent, so we need to disable interrupts chSysLock(); diff --git a/keyboards/nuphy/air75_v2/ansi/sleep.c b/keyboards/nuphy/air75_v2/ansi/sleep.c index df12b04f907d..0c23db9c7418 100644 --- a/keyboards/nuphy/air75_v2/ansi/sleep.c +++ b/keyboards/nuphy/air75_v2/ansi/sleep.c @@ -33,23 +33,26 @@ uint8_t uart_send_cmd(uint8_t cmd, uint8_t ack_cnt, uint8_t delayms); * @brief Sleep Handle. */ void sleep_handle(void) { - static uint32_t delay_step_timer = 0; + static uint32_t delay_step_timer = 0; static uint8_t usb_suspend_debounce = 0; - static uint32_t rf_disconnect_time = 0; + static uint32_t rf_disconnect_time = 0; /* 50ms interval */ - if (timer_elapsed32(delay_step_timer) < 50) return; + if (timer_elapsed32(delay_step_timer) < 50) { + return; + } delay_step_timer = timer_read32(); // sleep process if (f_goto_sleep) { f_goto_sleep = 0; - if(kb_config.sleep_enable) { - if (dev_info.rf_state == RF_CONNECT) + if (kb_config.sleep_enable) { + if (dev_info.rf_state == RF_CONNECT) { uart_send_cmd(CMD_SET_CONFIG, 5, 5); - else + } else { uart_send_cmd(CMD_SLEEP, 5, 5); + } // power off LED gpio_set_pin_output_push_pull(DC_BOOST_PIN); @@ -82,8 +85,9 @@ void sleep_handle(void) { } // sleep check - if (f_goto_sleep || f_wakeup_prepare) + if (f_goto_sleep || f_wakeup_prepare) { return; + } if (dev_info.link_mode == LINK_USB) { if (USB_DRIVER.state == USB_SUSPENDED) { usb_suspend_debounce++; @@ -105,7 +109,7 @@ void sleep_handle(void) { rf_disconnect_time++; if (rf_disconnect_time > 5 * 20) { rf_disconnect_time = 0; - f_goto_sleep = 1; + f_goto_sleep = 1; } } }