From 54e01be25672577d9b30221035f094b8171fb95f Mon Sep 17 00:00:00 2001 From: Sungkwang Lee Date: Wed, 6 Aug 2025 12:45:26 +0900 Subject: [PATCH 01/11] Make it buildable linker/wireless comes from https://github.com/hangshengkeji/qmk_firmware. --- keymap.c => keymaps/default/keymap.c | 0 linker/wireless/lowpower.c | 326 +++++++++++++ linker/wireless/lowpower.h | 39 ++ linker/wireless/lpwr_wb32.c | 237 ++++++++++ linker/wireless/md_raw.c | 30 ++ linker/wireless/md_raw.h | 10 + linker/wireless/module.c | 553 ++++++++++++++++++++++ linker/wireless/module.h | 134 ++++++ linker/wireless/rgb_matrix_blink.c | 173 +++++++ linker/wireless/rgb_matrix_blink.h | 31 ++ linker/wireless/smsg.c | 122 +++++ linker/wireless/smsg.h | 22 + linker/wireless/transport.c | 170 +++++++ linker/wireless/transport.h | 18 + linker/wireless/wireless.c | 306 ++++++++++++ linker/wireless/wireless.h | 16 + linker/wireless/wireless.mk | 27 ++ post_rules.mk | 6 +- rgb_record.c => rgb_record/rgb_record.c | 0 rgb_record.h => rgb_record/rgb_record.h | 0 rgb_record.mk => rgb_record/rgb_record.mk | 0 epomaker_split65.c => split65.c | 36 +- wls | 1 - wls.c => wls/wls.c | 0 wls.h => wls/wls.h | 0 wls.mk => wls/wls.mk | 0 26 files changed, 2235 insertions(+), 22 deletions(-) rename keymap.c => keymaps/default/keymap.c (100%) create mode 100644 linker/wireless/lowpower.c create mode 100644 linker/wireless/lowpower.h create mode 100644 linker/wireless/lpwr_wb32.c create mode 100644 linker/wireless/md_raw.c create mode 100644 linker/wireless/md_raw.h create mode 100644 linker/wireless/module.c create mode 100644 linker/wireless/module.h create mode 100644 linker/wireless/rgb_matrix_blink.c create mode 100644 linker/wireless/rgb_matrix_blink.h create mode 100644 linker/wireless/smsg.c create mode 100644 linker/wireless/smsg.h create mode 100644 linker/wireless/transport.c create mode 100644 linker/wireless/transport.h create mode 100644 linker/wireless/wireless.c create mode 100644 linker/wireless/wireless.h create mode 100644 linker/wireless/wireless.mk rename rgb_record.c => rgb_record/rgb_record.c (100%) rename rgb_record.h => rgb_record/rgb_record.h (100%) rename rgb_record.mk => rgb_record/rgb_record.mk (100%) rename epomaker_split65.c => split65.c (99%) delete mode 100644 wls rename wls.c => wls/wls.c (100%) rename wls.h => wls/wls.h (100%) rename wls.mk => wls/wls.mk (100%) diff --git a/keymap.c b/keymaps/default/keymap.c similarity index 100% rename from keymap.c rename to keymaps/default/keymap.c diff --git a/linker/wireless/lowpower.c b/linker/wireless/lowpower.c new file mode 100644 index 0000000..7df6a31 --- /dev/null +++ b/linker/wireless/lowpower.c @@ -0,0 +1,326 @@ +// Copyright 2024 Su (@isuua) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" +#include "wireless.h" +#include "usb_main.h" + +#ifndef LPWR_TIMEOUT +# define LPWR_TIMEOUT 300000 // 5min +#endif + +#ifndef LPWR_PRESLEEP_DELAY +# define LPWR_PRESLEEP_DELAY 200 +#endif + +#ifndef LPWR_STOP_DELAY +# define LPWR_STOP_DELAY 200 +#endif + +#ifndef LPWR_WAKEUP_DELAY +# define LPWR_WAKEUP_DELAY 200 +#endif + +static lpwr_state_t lpwr_state = LPWR_NORMAL; +static lpwr_mode_t lpwr_mode = LPWR_MODE_TIMEOUT; +static uint32_t lpwr_timeout_value = LPWR_TIMEOUT; +static uint32_t lpwr_timestamp = 0x00; +static lpwr_wakeupcd_t lpwr_wakeupcd = LPWR_WAKEUP_NONE; +static bool manual_timeout = false; + +static bool rgb_enable_bak = false; + +void last_matrix_activity_trigger(void); + +void lpwr_clock_enable(void); +void lpwr_enter_stop(void); +void lpwr_exti_init(void); +void mcu_stop_mode(void); + +extern void matrix_init_pins(void); + +lpwr_state_t lpwr_get_state(void) { + return lpwr_state; +} + +void lpwr_set_state(lpwr_state_t state) { + lpwr_state = state; +} + +lpwr_mode_t lpwr_get_mode(void) { + return lpwr_mode; +} + +void lpwr_set_mode(lpwr_mode_t mode) { + lpwr_mode = mode; +} + +void lpwr_set_timeout_value(uint32_t timeout) { + lpwr_timeout_value = timeout; +} + +uint32_t lpwr_timeout_value_read(void) { + return lpwr_timeout_value; +} + +void lpwr_update_timestamp(void) { + lpwr_timestamp = sync_timer_read32(); +} + +uint32_t lpwr_timestamp_read(void) { + return lpwr_timestamp; +} + +void lpwr_set_sleep_wakeupcd(lpwr_wakeupcd_t wakeupcd) { + lpwr_wakeupcd = wakeupcd; +} + +lpwr_wakeupcd_t lpwr_get_sleep_wakeupcd(void) { + return lpwr_wakeupcd; +} + +void lpwr_clock_enable(void) __attribute__((weak)); +void lpwr_clock_enable(void) {} + +void lpwr_exti_init(void) __attribute__((weak)); +void lpwr_exti_init(void) {} + +void mcu_stop_mode(void) __attribute__((weak)); +void mcu_stop_mode(void) {} + +void lpwr_enter_stop(void) { + chSysLock(); + lpwr_exti_init(); + chSysUnlock(); + + chSysDisable(); + mcu_stop_mode(); + lpwr_clock_enable(); + matrix_init_pins(); + chSysEnable(); +} + +void lpwr_set_timeout_manual(bool enable) { + manual_timeout = enable; +} + +bool lpwr_get_timeout_manual(void) { + return manual_timeout; +} + +// 2.4g mode, host state +void md_receive_host_cb(bool resume) { + + if (resume) { + if (lpwr_get_state() != LPWR_NORMAL) { + lpwr_update_timestamp(); + lpwr_set_state(LPWR_WAKEUP); + } + } else { + if (lpwr_get_state() == LPWR_NORMAL) { + manual_timeout = true; + } + } +} + +bool lpwr_is_allow_timeout_hook(void) __attribute__((weak)); +bool lpwr_is_allow_timeout_hook(void) { + return true; +} + +bool lpwr_is_allow_timeout(void) __attribute__((weak)); +bool lpwr_is_allow_timeout(void) { + uint32_t timeout = lpwr_timeout_value_read(); + + if (lpwr_is_allow_timeout_hook() != true) { + manual_timeout = false; + return false; + } + + if ((wireless_get_current_devs() == DEVS_USB) && (USB_DRIVER.state == USB_ACTIVE)) { + manual_timeout = false; + return false; + } + + if (manual_timeout || (timeout && (last_input_activity_elapsed() >= timeout))) { + manual_timeout = false; + return true; + } + + return false; +} + +bool lpwr_is_allow_presleep_hook(void) __attribute__((weak)); +bool lpwr_is_allow_presleep_hook(void) { + extern bool charging_state; + if ((wireless_get_current_devs() == DEVS_USB) && (!charging_state)) { + + if (USB_DRIVER.state != USB_STOP) { + usb_power_disconnect(); + usbDisconnectBus(&USBD1); + usbStop(&USBD1); + } + } + return true; +} + +bool lpwr_is_allow_presleep(void) __attribute__((weak)); +bool lpwr_is_allow_presleep(void) { + uint32_t delay = LPWR_PRESLEEP_DELAY; + + if (lpwr_is_allow_presleep_hook() != true) { + return false; + } + + if (!delay || (sync_timer_elapsed32(lpwr_timestamp_read()) >= delay)) { + return true; + } + + return false; +} + +bool lpwr_is_allow_stop_hook(void) __attribute__((weak)); +bool lpwr_is_allow_stop_hook(void) { + return true; +} + +bool lpwr_is_allow_stop(void) __attribute__((weak)); +bool lpwr_is_allow_stop(void) { + uint32_t delay = LPWR_STOP_DELAY; + + if (lpwr_is_allow_stop_hook() != true) { + return false; + } + + if (!delay || (sync_timer_elapsed32(lpwr_timestamp_read()) >= delay)) { + return true; + } + + return false; +} + +bool lpwr_is_allow_wakeup_hook(void) __attribute__((weak)); +bool lpwr_is_allow_wakeup_hook(void) { + if (wireless_get_current_devs() == DEVS_USB && USB_DRIVER.state == USB_STOP) + { + usb_power_connect(); + restart_usb_driver(&USBD1); + wireless_devs_change(!DEVS_USB, DEVS_USB, false); + } + return true; +} + +bool lpwr_is_allow_wakeup(void) __attribute__((weak)); +bool lpwr_is_allow_wakeup(void) { + uint32_t delay = LPWR_WAKEUP_DELAY; + + if (lpwr_is_allow_wakeup_hook() != true) { + return false; + } + + if (!delay || (sync_timer_elapsed32(lpwr_timestamp_read()) >= delay)) { + return true; + } + + return false; +} + +void lpwr_presleep_hook(void) __attribute__((weak)); +void lpwr_presleep_hook(void) {} + +void lpwr_presleep_cb(void) __attribute__((weak)); +void lpwr_presleep_cb(void) { + +#if defined(RGB_MATRIX_ENABLE) + rgb_enable_bak = rgb_matrix_is_enabled(); + rgb_matrix_disable_noeeprom(); +#elif defined(RGBLIGHT_ENABLE) + rgb_enable_bak = rgblight_is_enabled(); + rgblight_disable_noeeprom(); +#else + rgb_enable_bak = false; +#endif + suspend_power_down(); + lpwr_presleep_hook(); +} + +void lpwr_stop_hook_pre(void) __attribute__((weak)); +void lpwr_stop_hook_pre(void) {} + +void lpwr_stop_hook_post(void) __attribute__((weak)); +void lpwr_stop_hook_post(void) {} + +void lpwr_stop_cb(void) __attribute__((weak)); +void lpwr_stop_cb(void) { + + lpwr_set_sleep_wakeupcd(LPWR_WAKEUP_NONE); + + lpwr_stop_hook_pre(); + lpwr_enter_stop(); + + switch (lpwr_get_sleep_wakeupcd()) { + case LPWR_WAKEUP_UART: { + lpwr_set_state(LPWR_STOP); + } break; + default: { + lpwr_set_state(LPWR_WAKEUP); + } break; + } + + lpwr_stop_hook_post(); +} + +void lpwr_wakeup_hook(void) __attribute__((weak)); +void lpwr_wakeup_hook(void) {} + +void lpwr_wakeup_cb(void) __attribute__((weak)); +void lpwr_wakeup_cb(void) { + + if (rgb_enable_bak) { +#if defined(RGB_MATRIX_ENABLE) + rgb_matrix_enable_noeeprom(); +#elif defined(RGBLIGHT_ENABLE) + rgblight_enable_noeeprom(); +#endif + } + + suspend_wakeup_init(); + lpwr_wakeup_hook(); + + last_matrix_activity_trigger(); +} + +void lpwr_task(void) __attribute__((weak)); +void lpwr_task(void) { + + switch (lpwr_get_state()) { + case LPWR_NORMAL: { + if (lpwr_is_allow_timeout()) { + lpwr_update_timestamp(); + lpwr_set_state(LPWR_PRESLEEP); + } + } break; + case LPWR_PRESLEEP: { + if (lpwr_is_allow_presleep()) { + lpwr_presleep_cb(); + lpwr_update_timestamp(); + lpwr_set_state(LPWR_STOP); + } + } break; + case LPWR_STOP: { + if (lpwr_is_allow_stop()) { + lpwr_update_timestamp(); + lpwr_stop_cb(); + } + } break; + case LPWR_WAKEUP: { + if (lpwr_is_allow_wakeup()) { + lpwr_wakeup_cb(); + lpwr_update_timestamp(); + lpwr_set_state(LPWR_NORMAL); + } + } break; + default: + break; + } +} diff --git a/linker/wireless/lowpower.h b/linker/wireless/lowpower.h new file mode 100644 index 0000000..e7d60a4 --- /dev/null +++ b/linker/wireless/lowpower.h @@ -0,0 +1,39 @@ +// Copyright 2024 Su (@isuua) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +typedef enum { + LPWR_NORMAL = 0, + LPWR_PRESLEEP, + LPWR_STOP, + LPWR_WAKEUP, +} lpwr_state_t; + +typedef enum { + LPWR_WAKEUP_NONE = 0, + LPWR_WAKEUP_MATRIX, + LPWR_WAKEUP_UART, + LPWR_WAKEUP_CABLE, + LPWR_WAKEUP_USB, + LPWR_WAKEUP_ONEKEY, + LPWR_WAKEUP_ENCODER, + LPWR_WAKEUP_SWITCH, +} lpwr_wakeupcd_t; + +typedef enum { + LPWR_MODE_TIMEOUT = 0, +} lpwr_mode_t; + +lpwr_state_t lpwr_get_state(void); +lpwr_mode_t lpwr_get_mode(void); +uint32_t lpwr_timestamp_read(void); +uint32_t lpwr_timeout_value_read(void); +void lpwr_set_sleep_wakeupcd(lpwr_wakeupcd_t wakeupcd); +lpwr_wakeupcd_t lpwr_get_sleep_wakeupcd(void); +void lpwr_update_timestamp(void); +void lpwr_set_timeout_manual(bool enable); +bool lpwr_get_timeout_manual(void); +void lpwr_set_state(lpwr_state_t state); +void lpwr_set_mode(lpwr_mode_t mode); +void lpwr_task(void); diff --git a/linker/wireless/lpwr_wb32.c b/linker/wireless/lpwr_wb32.c new file mode 100644 index 0000000..1cec1c3 --- /dev/null +++ b/linker/wireless/lpwr_wb32.c @@ -0,0 +1,237 @@ +// Copyright 2024 Su (@isuua) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" +#include "wireless.h" +#include "util.h" + +#ifndef LPWR_UART_WAKEUP_DISABLE +# include "uart.h" +#endif + +static ioline_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; +static ioline_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; + +#if PAL_USE_CALLBACKS != TRUE +# error PAL_USE_CALLBACKS must be set to TRUE! +#endif + +#if !((DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW)) +# error DIODE_DIRECTION must be one of COL2ROW or ROW2COL! +#endif + +// clang-format off +static const uint32_t pre_lp_code[] = {553863175u, 554459777u, 1208378049u, 4026624001u, 688390415u, 554227969u, 3204472833u, 1198571264u, 1073807360u, 1073808388u}; +#define PRE_LP() ((void (*)(void))((unsigned int)(pre_lp_code) | 0x01))() + +static const uint32_t post_lp_code[] = {553863177u, 554459777u, 1208509121u, 51443856u, 4026550535u, 1745485839u, 3489677954u, 536895496u, 673389632u, 1198578684u, 1073807360u, 536866816u, 1073808388u}; +#define POST_LP() ((void (*)(void))((unsigned int)(post_lp_code) | 0x01))() +// clang-format on + +extern void __early_init(void); +extern void matrix_init_pins(void); + +void palcallback_cb(uint8_t line) __attribute__((weak)); +void palcallback_cb(uint8_t line) {} + +void palcallback(void *arg) { + uint8_t line = (uint32_t)arg & 0xFF; + + switch (line) { +#ifndef LPWR_UART_WAKEUP_DISABLE + case PAL_PAD(UART_RX_PIN): { + lpwr_set_sleep_wakeupcd(LPWR_WAKEUP_UART); + } break; +#endif + default: { + lpwr_set_sleep_wakeupcd(LPWR_WAKEUP_MATRIX); + } break; + } + + palcallback_cb(line); + + irqDeinit(); + EXTI->PR = 0xFFFFFFFF; +} + +void pal_events_init(void) { + + for (uint8_t i = 0; i < 16; i++) { + _pal_events[i].cb = palcallback; + _pal_events[i].arg = (void *)(uint32_t)i; + } +} + +void lpwr_exti_init_hook(void) __attribute__((weak)); +void lpwr_exti_init_hook(void) {} + +void lpwr_exti_init(void) { + + pal_events_init(); + +#if DIODE_DIRECTION == ROW2COL + for (uint8_t i = 0; i < ARRAY_SIZE(col_pins); i++) { + if (col_pins[i] != NO_PIN) { + setPinOutputOpenDrain(col_pins[i]); + writePinLow(col_pins[i]); + } + } + + for (uint8_t i = 0; i < ARRAY_SIZE(row_pins); i++) { + if (row_pins[i] != NO_PIN) { + setPinInputHigh(row_pins[i]); + waitInputPinDelay(); + palEnableLineEvent(row_pins[i], PAL_EVENT_MODE_FALLING_EDGE); + } + } +#elif DIODE_DIRECTION == COL2ROW + for (uint8_t i = 0; i < ARRAY_SIZE(row_pins); i++) { + if (row_pins[i] != NO_PIN) { + setPinOutputOpenDrain(row_pins[i]); + writePinLow(row_pins[i]); + } + } + + for (uint8_t i = 0; i < ARRAY_SIZE(col_pins); i++) { + if (col_pins[i] != NO_PIN) { + setPinInputHigh(col_pins[i]); + waitInputPinDelay(); + palEnableLineEvent(col_pins[i], PAL_EVENT_MODE_FALLING_EDGE); + } + } +#endif + +#ifndef LPWR_UART_WAKEUP_DISABLE + setPinInput(UART_RX_PIN); + waitInputPinDelay(); + palEnableLineEvent(UART_RX_PIN, PAL_EVENT_MODE_BOTH_EDGES); +#endif + + lpwr_exti_init_hook(); + + /* IRQ subsystem initialization.*/ + irqInit(); +} + +void lpwr_clock_enable_user(void) __attribute__((weak)); +void lpwr_clock_enable_user(void) {} + +void lpwr_clock_enable(void) { + + __early_init(); + + PWR->ANAKEY1 = 0x03; + PWR->ANAKEY2 = 0x0C; + ANCTL->USBPCR &= ~(ANCTL_USBPCR_DMSTEN | ANCTL_USBPCR_DPSTEN); + /* Locks write to ANCTL registers */ + PWR->ANAKEY1 = 0x00; + PWR->ANAKEY2 = 0x00; + + /* Enable SFM clock */ + RCC->AHBENR1 |= RCC_AHBENR1_CRCSFMEN; + + /* Enable USB peripheral clock */ + RCC->AHBENR1 |= RCC_AHBENR1_USBEN; + + /* Configure USB FIFO clock source */ + RCC->USBFIFOCLKSRC = RCC_USBFIFOCLKSRC_USBCLK; + + /* Enable USB FIFO clock */ + RCC->USBFIFOCLKENR = RCC_USBFIFOCLKENR_CLKEN; + + /* Configure and enable USBCLK */ +# if (WB32_USBPRE == WB32_USBPRE_DIV1P5) + RCC->USBCLKENR = RCC_USBCLKENR_CLKEN; + RCC->USBPRE = RCC_USBPRE_SRCEN; + RCC->USBPRE |= RCC_USBPRE_RATIO_1_5; + RCC->USBPRE |= RCC_USBPRE_DIVEN; +# elif (WB32_USBPRE == WB32_USBPRE_DIV1) + RCC->USBCLKENR = RCC_USBCLKENR_CLKEN; + RCC->USBPRE = RCC_USBPRE_SRCEN; + RCC->USBPRE |= 0x00; +# elif (WB32_USBPRE == WB32_USBPRE_DIV2) + RCC->USBCLKENR = RCC_USBCLKENR_CLKEN; + RCC->USBPRE = RCC_USBPRE_SRCEN; + RCC->USBPRE |= RCC_USBPRE_RATIO_2; + RCC->USBPRE |= RCC_USBPRE_DIVEN; +# elif (WB32_USBPRE == WB32_USBPRE_DIV3) + RCC->USBCLKENR = RCC_USBCLKENR_CLKEN; + RCC->USBPRE = RCC_USBPRE_SRCEN; + RCC->USBPRE |= RCC_USBPRE_RATIO_3; + RCC->USBPRE |= RCC_USBPRE_DIVEN; +#endif + rccEnableEXTI(); + +#if WB32_SERIAL_USE_UART1 + rccEnableUART1(); +#endif +#if WB32_SERIAL_USE_UART2 + rccEnableUART2(); +#endif +#if WB32_SERIAL_USE_UART3 + rccEnableUART3(); +#endif +#if WB32_SPI_USE_QSPI + rccEnableQSPI(); +#endif +#if WB32_SPI_USE_SPIM2 + rccEnableSPIM2(); +#endif +#if WB32_I2C_USE_I2C1 + rccEnableI2C1(); +#endif +#if WB32_I2C_USE_I2C2 + rccEnableI2C2(); +#endif + +#ifndef LPWR_UART_WAKEUP_DISABLE + palSetLineMode(UART_RX_PIN, PAL_MODE_ALTERNATE(UART_RX_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST); +#endif + + lpwr_clock_enable_user(); +} + +void wb32_stop_mode(void) { + + SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk; + + /* Prevent the chip from being unable to enter stop mode due to pending interrupts */ +#if 1 + EXTI->PR = 0x7FFFF; + for (uint8_t i = 0; i < 8; i++) { + for (uint8_t j = 0; j < 32; j++) { + if (NVIC->ISPR[i] & (0x01UL < j)) { + NVIC->ICPR[i] = (0x01UL < j); + } + } + } + SCB->ICSR |= SCB_ICSR_PENDSTCLR_Msk; // Clear Systick IRQ Pending +#endif + + /* Clear all bits except DBP and FCLKSD bit */ + PWR->CR0 &= 0x09U; + + // STOP LP4 MODE S32KON + PWR->CR0 |= 0x3B004U; + PWR->CFGR = 0x3B3; + + PRE_LP(); + + /* Set SLEEPDEEP bit of Cortex System Control Register */ + SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; + + /* Request Wait For Interrupt */ + __WFI(); + + POST_LP(); + + /* Clear SLEEPDEEP bit of Cortex System Control Register */ + SCB->SCR &= (~SCB_SCR_SLEEPDEEP_Msk); + + SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk; +} + +void mcu_stop_mode(void) { + + wb32_stop_mode(); +} diff --git a/linker/wireless/md_raw.c b/linker/wireless/md_raw.c new file mode 100644 index 0000000..eebfc94 --- /dev/null +++ b/linker/wireless/md_raw.c @@ -0,0 +1,30 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#if RAW_ENABLE + +# include "quantum.h" +# include "wireless.h" +# include "usb_endpoints.h" +# include "usb_main.h" + +void replaced_hid_send(uint8_t *data, uint8_t length) { + + if (length != RAW_EPSIZE) { + return; + } + + if (get_transport() == TRANSPORT_USB) { + send_report(USB_ENDPOINT_IN_RAW, data, length); + } else { + md_send_raw(data, length); + } +} + +void md_receive_raw_cb(uint8_t *data, uint8_t length) { + void raw_hid_receive(uint8_t * data, uint8_t length); + + raw_hid_receive(data, length); +} + +#endif diff --git a/linker/wireless/md_raw.h b/linker/wireless/md_raw.h new file mode 100644 index 0000000..597da13 --- /dev/null +++ b/linker/wireless/md_raw.h @@ -0,0 +1,10 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define RENAME_WITH_LINE(A, B) COMBINE(A, B) +#define COMBINE(A, B) A##B +#define raw_hid_send(a, b) RENAME_WITH_LINE(_temp_rhs_, __LINE__)(a, b) +#define _temp_rhs_29 replaced_hid_send // raw_hid.h +#define _temp_rhs_461 replaced_hid_send // via.c diff --git a/linker/wireless/module.c b/linker/wireless/module.c new file mode 100644 index 0000000..7ae8af0 --- /dev/null +++ b/linker/wireless/module.c @@ -0,0 +1,553 @@ +// Copyright 2024 Su (@isuua) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" +#include "module.h" +#include "smsg.h" +#include "uart.h" + +#ifndef MD_BAUD_RATE +# define MD_BAUD_RATE 115200 +#endif + +#ifndef MD_SNED_PKT_TIMEOUT +# define MD_SNED_PKT_TIMEOUT 10 +#endif + +#ifndef MD_SEND_PKT_RETRY +# define MD_SEND_PKT_RETRY 40 +#endif + +#ifndef MD_SEND_PKT_PAYLOAD_MAX +# define MD_SEND_PKT_PAYLOAD_MAX ((MD_RAW_SIZE) + 4) +#endif + +#ifndef MD_BT1_NAME +# define MD_BT1_NAME PRODUCT " BT1" +#endif + +#ifndef MD_BT2_NAME +# define MD_BT2_NAME PRODUCT " BT2" +#endif + +#ifndef MD_BT3_NAME +# define MD_BT3_NAME PRODUCT " BT3" +#endif + +#ifndef MD_BT4_NAME +# define MD_BT4_NAME PRODUCT " BT4" +#endif + +#ifndef MD_BT5_NAME +# define MD_BT5_NAME PRODUCT " BT5" +#endif + +#ifndef MD_DONGLE_MANUFACTURER +# define MD_DONGLE_MANUFACTURER MANUFACTURER +#endif + +#ifndef MD_DONGLE_PRODUCT +# define MD_DONGLE_PRODUCT PRODUCT " Dongle" +#endif + +#ifndef MD_RAW_SIZE +# define MD_RAW_SIZE 32 +#endif + +#define USBCONCAT(a, b) a##b +#define USBSTR(s) USBCONCAT(L, s) + +typedef struct +{ + uint8_t state; + uint8_t indicator; + uint8_t version; + uint8_t bat; +} md_info_t; + +static uint8_t md_pkt_payload[MD_SEND_PKT_PAYLOAD_MAX] = {0}; +static uint8_t md_rev_payload[MD_SEND_PKT_PAYLOAD_MAX] = {0}; +static uint8_t md_raw_payload[MD_RAW_SIZE] = {0}; + +static md_info_t md_info = { + .bat = 100, + .indicator = 0, + .version = 0, + .state = MD_STATE_NONE, +}; + +static void md_send_ack(void) { + + uint8_t sdata[0x03] = {0x61, 0x0D, 0x0A}; + uart_transmit(sdata, sizeof(sdata)); +} + +static bool md_check_sum(const uint8_t *data, uint32_t length) { + uint8_t sum = 0; + + for (uint32_t i = 0; i < (length - 1); i++) { + sum += data[i]; + } + + return sum == data[length - 1]; +} + +static void md_calc_check_sum(uint8_t *data, uint32_t length) { + uint8_t sum = 0; + + for (uint32_t i = 0; i < length; i++) { + sum += data[i]; + } + + data[length] = sum; +} + +bool md_receive_process_user(uint8_t *pdata, uint8_t len) __attribute__((weak)); +bool md_receive_process_user(uint8_t *pdata, uint8_t len) { + return true; +} + +bool md_receive_process_kb(uint8_t *pdata, uint8_t len) __attribute__((weak)); +bool md_receive_process_kb(uint8_t *pdata, uint8_t len) { + return md_receive_process_user(pdata, len); +} + +void md_receive_raw_cb(uint8_t *pdata, uint8_t len) __attribute__((weak)); +void md_receive_raw_cb(uint8_t *pdata, uint8_t len) {} + +void md_receive_host_cb(bool resume) __attribute__((weak)); +void md_receive_host_cb(bool resume) {} + +static void md_receive_msg_task(void) { + static uint32_t data_count = 0x00; + static uint8_t data_remain = 0x00; + + while (uart_available()) { + uint8_t data = uart_read(); + + switch (data_count) { + case 0: { // cmd + switch (data) { + case MD_REV_CMD_RAW: + case MD_REV_CMD_INDICATOR: + case MD_REV_CMD_DEVCTRL: + case MD_REV_CMD_BATVOL: + case MD_REV_CMD_MD_FW_VERSION: + case MD_REV_CMD_HOST_STATE: + case 0x61: { + md_rev_payload[data_count++] = data; + data_remain = 2; + } break; + default: { + data_count = 0; + } break; + } + continue; + } break; + case 1: { + md_rev_payload[data_count++] = data; + data_remain--; + continue; + } break; + case 2: { + // ACK + if ((md_rev_payload[0] == 0x61) && (md_rev_payload[1] == 0x0D) && (data == 0x0A)) { + if (smsg_get_state() == smsg_state_busy) { + smsg_set_state(smsg_state_replied); + } + data_count = 0; + return; + } + + // raw data + if ((md_rev_payload[0] == MD_REV_CMD_RAW) && (md_rev_payload[1] == MD_REV_CMD_RAW_OUT)) { + md_rev_payload[data_count++] = data; + data_remain = data + 1; + continue; + } + } + default: { + md_rev_payload[data_count++] = data; + data_remain--; + + if (data_remain) { + continue; + } + } break; + } + + if (md_check_sum(md_rev_payload, data_count)) { + md_send_ack(); + + if (md_receive_process_kb(md_rev_payload, data_count) != true) { + return; + } + + switch (md_rev_payload[0]) { + case MD_REV_CMD_RAW: { + uint8_t *pdata; + uint8_t len; + + len = md_rev_payload[2]; + pdata = &md_rev_payload[3]; + + if (len == sizeof(md_raw_payload)) { + memcpy(md_raw_payload, pdata, len); + md_receive_raw_cb(md_raw_payload, len); + } + } break; + case MD_REV_CMD_INDICATOR: { + md_info.indicator = md_rev_payload[1]; + } break; + case MD_REV_CMD_DEVCTRL: { + switch (md_rev_payload[1]) { + case MD_REV_CMD_DEVCTRL_PAIRING: { + md_info.state = MD_STATE_PAIRING; + } break; + case MD_REV_CMD_DEVCTRL_CONNECTED: { + md_info.state = MD_STATE_CONNECTED; + } break; + case MD_REV_CMD_DEVCTRL_DISCONNECTED: { + md_info.state = MD_STATE_DISCONNECTED; + } break; + case MD_REV_CMD_DEVCTRL_REJECT: { + md_info.state = MD_STATE_REJECT; + } break; + default: + break; + } + } break; + case MD_REV_CMD_BATVOL: { + md_info.bat = md_rev_payload[1]; + } break; + case MD_REV_CMD_MD_FW_VERSION: { + md_info.version = md_rev_payload[1]; + } break; + case MD_REV_CMD_HOST_STATE: { + md_receive_host_cb(md_rev_payload[1] == MD_REV_CMD_HOST_STATE_RESUME); + } break; + default: + break; + } + } + data_count = 0; + } +} + +static void md_send_pkt_task(void) { + static uint32_t smsg_timer = 0x00; + static uint8_t smsg_retry = 0; + + switch (smsg_get_state()) { + case smsg_state_busy: { + if (sync_timer_elapsed32(smsg_timer) > (MD_SNED_PKT_TIMEOUT)) { + smsg_retry = 0; + smsg_set_state(smsg_state_retry); + } + } break; + case smsg_state_retry: { + if (++smsg_retry > MD_SEND_PKT_RETRY) { + smsg_retry = 0; + smsg_pop(); + } + smsg_set_state(smsg_state_free); + } break; + case smsg_state_replied: { + smsg_pop(); + smsg_set_state(smsg_state_free); + } // break; + case smsg_state_free: { + uint32_t size = smsg_peek(md_pkt_payload); + if (size) { + md_send_pkt(md_pkt_payload, size); + smsg_timer = sync_timer_read32(); + smsg_set_state(smsg_state_busy); + } + } break; + default: + break; + } +} + +void md_init(void) { + + uart_init(MD_BAUD_RATE); + smsg_init(); + + memset(md_pkt_payload, 0, sizeof(md_pkt_payload)); +} + +void md_main_task(void) { + + md_send_pkt_task(); + md_receive_msg_task(); +} + +uint8_t *md_getp_state(void) { + + return &md_info.state; +} + +uint8_t *md_getp_bat(void) { + + return &md_info.bat; +} + +uint8_t *md_getp_indicator(void) { + + return &md_info.indicator; +} + +uint8_t md_get_version(void) { + + return md_info.version; +} + +void md_send_pkt(uint8_t *data, uint32_t len) { + + if (!data || !len) { + return; + } + + // send + uart_transmit(data, len); +} + +void md_send_kb(uint8_t *data) { + uint8_t sdata[MD_SND_CMD_KB_LEN + 2] = {0x00}; + + sdata[0] = MD_SND_CMD_SEND_KB; + memcpy(&sdata[1], data, sizeof(sdata) - 2); + md_calc_check_sum(sdata, sizeof(sdata) - 1); + smsg_push(sdata, sizeof(sdata)); +} + +void md_send_nkro(uint8_t *data) { + uint8_t sdata[MD_SND_CMD_NKRO_LEN + 2] = {0x00}; + + sdata[0] = MD_SND_CMD_SEND_NKRO; + memcpy(&sdata[1], data, sizeof(sdata) - 2); + md_calc_check_sum(sdata, sizeof(sdata) - 1); + smsg_push(sdata, sizeof(sdata)); +} + +void md_send_consumer(uint8_t *data) { + uint8_t sdata[MD_SND_CMD_CONSUMER_LEN + 2] = {0x00}; + + sdata[0] = MD_SND_CMD_SEND_CONSUMER; + memcpy(&sdata[1], data, sizeof(sdata) - 2); + md_calc_check_sum(sdata, sizeof(sdata) - 1); + smsg_push(sdata, sizeof(sdata)); +} + +void md_send_system(uint8_t *data) { + uint8_t sdata[MD_SND_CMD_SYSTEM_LEN + 2] = {0x00}; + + sdata[0] = MD_SND_CMD_SEND_SYSTEM; + memcpy(&sdata[1], data, sizeof(sdata) - 2); + md_calc_check_sum(sdata, sizeof(sdata) - 1); + smsg_push(sdata, sizeof(sdata)); +} + +void md_send_fn(uint8_t *data) { + uint8_t sdata[MD_SND_CMD_FN_LEN + 2] = {0x00}; + + sdata[0] = MD_SND_CMD_SEND_FN; + memcpy(&sdata[1], data, sizeof(sdata) - 2); + md_calc_check_sum(sdata, sizeof(sdata) - 1); + smsg_push(sdata, sizeof(sdata)); +} + +void md_send_mouse(uint8_t *data) { + uint8_t sdata[MD_SND_CMD_MOUSE_LEN + 2] = {0x00}; + + sdata[0] = MD_SND_CMD_SEND_MOUSE; + memcpy(&sdata[1], data, sizeof(sdata) - 2); + md_calc_check_sum(sdata, sizeof(sdata) - 1); + smsg_push(sdata, sizeof(sdata)); +} + +void md_send_devinfo(const char *name) { + uint8_t sdata[MD_SND_CMD_DEVINFO_LEN + 3] = {0x00}; + uint8_t infolen = strlen((const char *)name); + + if (infolen > MD_SND_CMD_DEVINFO_LEN) { + return; + } + + sdata[0] = MD_SND_CMD_SEND_DEVINFO; + sdata[1] = infolen; + + memcpy(&sdata[2], name, infolen); + md_calc_check_sum(sdata, infolen + 2); + smsg_push(sdata, sizeof(sdata)); +} + +void md_send_devctrl(uint8_t cmd) { + uint8_t sdata[3] = {0x00}; + + sdata[0] = MD_SND_CMD_DEVCTRL; + memcpy(&sdata[1], &cmd, sizeof(sdata) - 2); + md_calc_check_sum(sdata, sizeof(sdata) - 1); + smsg_push(sdata, sizeof(sdata)); +} + +void md_send_devctrl_bat(uint8_t cmd) { + uint8_t sdata[3] = {0x00}; + + sdata[0] = MD_SND_CMD_DEVCTRL_BAT; + memcpy(&sdata[1], &cmd, sizeof(sdata) - 2); + md_calc_check_sum(sdata, sizeof(sdata) - 1); + smsg_push(sdata, sizeof(sdata)); +} + +void md_rf_send_carrier(uint8_t channel, uint8_t tx_power, uint8_t phy) { + uint8_t sdata[5] = {0x00}; + + sdata[0] = CONTINUE; + sdata[1] = channel; + sdata[2] = tx_power; + sdata[3] = phy; + // md_calc_check_sum(sdata, sizeof(sdata) - 1); + sdata[4] = sdata[0] + sdata[1] - sdata[3]; + smsg_push(sdata, sizeof(sdata)); +} + +void md_rf_send_stop(void) { + uint8_t sdata[3] = {0xB4, 0x00, 0xB4}; + + smsg_push(sdata, sizeof(sdata)); +} + +void md_send_manufacturer(char *str, uint8_t len) { + uint8_t sdata[MD_SND_CMD_MANUFACTURER_LEN + 3] = {0x00}; + + if (len > MD_SND_CMD_MANUFACTURER_LEN) { + return; + } + + sdata[0] = MD_SND_CMD_MANUFACTURER; + sdata[1] = len; + memcpy(&sdata[2], str, len); + md_calc_check_sum(sdata, len + 2); + smsg_push(sdata, len + 3); +} + +void md_send_product(char *str, uint8_t len) { + uint8_t sdata[MD_SND_CMD_PRODUCT_LEN + 3] = {0x00}; + + if (len > MD_SND_CMD_PRODUCT_LEN) { + return; + } + + sdata[0] = MD_SND_CMD_PRODUCT; + sdata[1] = len; + memcpy(&sdata[2], str, len); + md_calc_check_sum(sdata, len + 2); + smsg_push(sdata, len + 3); +} + +void md_send_vpid(uint16_t vid, uint16_t pid) { + uint8_t sdata[4 + 2] = {0x00}; + uint32_t vpid; + + vpid = (pid << 16) | vid; + + sdata[0] = MD_SND_CMD_VPID; + memcpy(&sdata[1], &vpid, sizeof(vpid)); + md_calc_check_sum(sdata, sizeof(sdata) - 1); + smsg_push(sdata, sizeof(sdata)); +} + +void md_send_raw(uint8_t *data, uint8_t length) { + uint8_t sdata[MD_RAW_SIZE + 4] = {0x00}; + + if (length != MD_RAW_SIZE) { + return; + } + + sdata[0] = MD_SND_CMD_RAW; + sdata[1] = MD_SND_CMD_RAW_IN; + sdata[2] = length; + memcpy(&sdata[3], data, length); + md_calc_check_sum(sdata, sizeof(sdata) - 1); + smsg_push(sdata, sizeof(sdata)); +} + +void md_devs_change(uint8_t devs, bool reset) __attribute__((weak)); +void md_devs_change(uint8_t devs, bool reset) { + + switch (devs) { + case DEVS_USB: { + md_send_devctrl(MD_SND_CMD_DEVCTRL_USB); + } break; + case DEVS_2G4: { + md_send_devctrl(MD_SND_CMD_DEVCTRL_2G4); + if (reset) { + // if (md_get_version() < 48) { + // md_send_manufacturer(MD_DONGLE_MANUFACTURER, strlen(MD_DONGLE_MANUFACTURER)); + // md_send_product(MD_DONGLE_PRODUCT, strlen(MD_DONGLE_PRODUCT)); + // } else { // Add Unicode character support starting from v48. + md_send_manufacturer((char *)USBSTR(MD_DONGLE_MANUFACTURER), sizeof(USBSTR(MD_DONGLE_MANUFACTURER))); + md_send_product((char *)USBSTR(MD_DONGLE_PRODUCT), sizeof(USBSTR(MD_DONGLE_PRODUCT))); + // } + md_send_vpid(VENDOR_ID, PRODUCT_ID); + md_send_devctrl(MD_SND_CMD_DEVCTRL_CLEAN); + md_send_devctrl(MD_SND_CMD_DEVCTRL_PAIR); + } + } break; + case DEVS_BT1: { + md_send_devctrl(MD_SND_CMD_DEVCTRL_BT1); + if (reset) { + md_send_devctrl(MD_SND_CMD_DEVCTRL_CLEAN); + md_send_devinfo(MD_BT1_NAME); + md_send_devctrl(MD_SND_CMD_DEVCTRL_PAIR); + } + } break; + case DEVS_BT2: { + md_send_devctrl(MD_SND_CMD_DEVCTRL_BT2); + if (reset) { + md_send_devctrl(MD_SND_CMD_DEVCTRL_CLEAN); + md_send_devinfo(MD_BT2_NAME); + md_send_devctrl(MD_SND_CMD_DEVCTRL_PAIR); + } + } break; + case DEVS_BT3: { + md_send_devctrl(MD_SND_CMD_DEVCTRL_BT3); + if (reset) { + md_send_devctrl(MD_SND_CMD_DEVCTRL_CLEAN); + md_send_devinfo(MD_BT3_NAME); + md_send_devctrl(MD_SND_CMD_DEVCTRL_PAIR); + } + } break; + case DEVS_BT4: { + md_send_devctrl(MD_SND_CMD_DEVCTRL_BT4); + if (reset) { + md_send_devctrl(MD_SND_CMD_DEVCTRL_CLEAN); + md_send_devinfo(MD_BT4_NAME); + md_send_devctrl(MD_SND_CMD_DEVCTRL_PAIR); + } + } break; + case DEVS_BT5: { + md_send_devctrl(MD_SND_CMD_DEVCTRL_BT5); + if (reset) { + md_send_devctrl(MD_SND_CMD_DEVCTRL_CLEAN); + md_send_devinfo(MD_BT5_NAME); + md_send_devctrl(MD_SND_CMD_DEVCTRL_PAIR); + } + } break; + default: + break; + } +} + +bool md_inquire_bat(void) { + + if (smsg_is_busy()) { + return false; + } + + md_send_devctrl(MD_SND_CMD_DEVCTRL_INQVOL); + + return true; +} diff --git a/linker/wireless/module.h b/linker/wireless/module.h new file mode 100644 index 0000000..854bab1 --- /dev/null +++ b/linker/wireless/module.h @@ -0,0 +1,134 @@ +// Copyright 2024 Su (@isuua) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// device index +enum { + DEVS_USB = 0, + DEVS_BT1, + DEVS_BT2, + DEVS_BT3, + DEVS_BT4, + DEVS_BT5, + DEVS_2G4, +}; + +enum { + MD_STATE_NONE = 0, + MD_STATE_PAIRING, + MD_STATE_CONNECTED, + MD_STATE_DISCONNECTED, + MD_STATE_REJECT, +}; + +enum { + MD_SND_CMD_KB_LEN = 8, + MD_SND_CMD_NKRO_LEN = 14, + MD_SND_CMD_CONSUMER_LEN = 2, + MD_SND_CMD_SYSTEM_LEN = 1, + MD_SND_CMD_FN_LEN = 1, + MD_SND_CMD_MOUSE_LEN = 5, + MD_SND_CMD_DEVINFO_LEN = 18, + MD_SND_CMD_MANUFACTURER_LEN = 46, + MD_SND_CMD_PRODUCT_LEN = 46, +}; + +enum { + /* send report */ + MD_SND_CMD_SEND_KB = 0xA1, + MD_SND_CMD_SEND_NKRO = 0xA2, + MD_SND_CMD_SEND_CONSUMER = 0xA3, + MD_SND_CMD_SEND_SYSTEM = 0xA4, + MD_SND_CMD_SEND_FN = 0xA5, + MD_SND_CMD_SEND_MOUSE = 0xA8, + MD_SND_CMD_SEND_DEVINFO = 0xA9, + /* Dongle */ + MD_SND_CMD_MANUFACTURER = 0xAB, + MD_SND_CMD_PRODUCT = 0xAC, + MD_SND_CMD_VPID = 0xAD, + MD_SND_CMD_RAW = 0xAF, + MD_SND_CMD_RAW_IN = 0x61, + /* device ctrl */ + MD_SND_CMD_DEVCTRL = 0xA6, + MD_SND_CMD_DEVCTRL_BAT = 0xA7, + MD_SND_CMD_DEVCTRL_USB = 0x11, + MD_SND_CMD_DEVCTRL_2G4 = 0x30, + MD_SND_CMD_DEVCTRL_BT1 = 0x31, + MD_SND_CMD_DEVCTRL_BT2 = 0x32, + MD_SND_CMD_DEVCTRL_BT3 = 0x33, + MD_SND_CMD_DEVCTRL_BT4 = 0x34, + MD_SND_CMD_DEVCTRL_BT5 = 0x35, + MD_SND_CMD_DEVCTRL_PAIR = 0x51, + MD_SND_CMD_DEVCTRL_CLEAN = 0x52, + MD_SND_CMD_DEVCTRL_INQVOL = 0x53, + MD_SND_CMD_DEVCTRL_SLEEP_INSTANT = 0x54, // reserved + MD_SND_CMD_DEVCTRL_SLEEP_BT_EN = 0x55, // timeout 30min enable in BT mode + MD_SND_CMD_DEVCTRL_SLEEP_BT_DIS = 0x56, // timeout 30min disable in BT mode + MD_SND_CMD_DEVCTRL_SLEEP_2G4_EN = 0x57, // timeout 30min enable in 2.4G mode + MD_SND_CMD_DEVCTRL_SLEEP_2G4_DIS = 0x58, // timeout 30min enable in 2.4G mode + MD_SND_CMD_DEVCTRL_RSV_DEBUG = 0x60, // reserved + MD_SND_CMD_DEVCTRL_RSV_SLEEP = 0x61, // reserved + MD_SND_CMD_DEVCTRL_FORCED_PAIRING_BT = 0x62, // forced pairing, to be used in a factory environment. + MD_SND_CMD_DEVCTRL_FORCED_PAIRING_2G4 = 0x63, // forced pairing, to be used in a factory environment. + MD_SND_CMD_DEVCTRL_CHARGING = 0x64, // battery power control. + MD_SND_CMD_DEVCTRL_CHARGING_STOP = 0x65, // battery power control. + MD_SND_CMD_DEVCTRL_CHARGING_DONE = 0x66, // battery power control. + MD_SND_CMD_DEVCTRL_FW_VERSION = 0x70, // module fw version. + MD_SND_CMD_INVALID_DATA = 0x00, // unused +}; + +enum { + MD_REV_CMD_RAW = 0xAF, + MD_REV_CMD_RAW_OUT = 0x60, + MD_REV_CMD_INDICATOR = 0x5A, + MD_REV_CMD_DEVCTRL = 0x5B, + MD_REV_CMD_DEVCTRL_BAT_LOW = 0x21, // unused + MD_REV_CMD_DEVCTRL_BAT_PWROFF = 0x22, // unused + MD_REV_CMD_DEVCTRL_BAT_NORMAL = 0x23, // unused + MD_REV_CMD_DEVCTRL_PAIRING = 0x31, + MD_REV_CMD_DEVCTRL_CONNECTED = 0x32, + MD_REV_CMD_DEVCTRL_DISCONNECTED = 0x33, + MD_REV_CMD_DEVCTRL_DONE = 0x34, // reserved + MD_REV_CMD_DEVCTRL_RECONNECT = 0x35, // reserved + MD_REV_CMD_DEVCTRL_REJECT = 0x36, + MD_REV_CMD_DEVCTRL_UNPAIRED = 0x37, // reserved + MD_REV_CMD_DEVCTRL_MD_WAKEUP = 0x42, // unused + MD_REV_CMD_DEVCTRL_CLS_UART = 0x43, // unused + MD_REV_CMD_BATVOL = 0x5C, + MD_REV_CMD_MD_FW_VERSION = 0x5D, + MD_REV_CMD_HOST_STATE = 0x60, + MD_REV_CMD_HOST_STATE_SUSPEND = 0x00, + MD_REV_CMD_HOST_STATE_RESUME = 0x01, +}; + +enum { + BURST = 0xB2, + CONTINUE = 0xB3, + STOP = 0xB4, +}; + +void md_init(void); +void md_main_task(void); +void md_send_kb(uint8_t *data); +void md_send_nkro(uint8_t *data); +void md_send_consumer(uint8_t *data); +void md_send_system(uint8_t *data); +void md_send_fn(uint8_t *data); +void md_send_mouse(uint8_t *data); +void md_send_devctrl(uint8_t cmd); +void md_send_manufacturer(char *str, uint8_t len); +void md_send_product(char *str, uint8_t len); +void md_send_vpid(uint16_t vid, uint16_t pid); +void md_send_raw(uint8_t *data, uint8_t length); +void md_send_pkt(uint8_t *data, uint32_t len); +bool md_receive_process_user(uint8_t *pdata, uint8_t len); +void md_devs_change(uint8_t devs, bool reset); +bool md_inquire_bat(void); +uint8_t md_get_version(void); +uint8_t *md_getp_state(void); +uint8_t *md_getp_bat(void); +uint8_t *md_getp_indicator(void); +void md_rf_send_carrier(uint8_t channel, uint8_t tx_power, uint8_t phy); +void md_rf_send_stop(void); +void md_send_devctrl_bat(uint8_t cmd); diff --git a/linker/wireless/rgb_matrix_blink.c b/linker/wireless/rgb_matrix_blink.c new file mode 100644 index 0000000..dca8466 --- /dev/null +++ b/linker/wireless/rgb_matrix_blink.c @@ -0,0 +1,173 @@ +// Copyright 2024 JoyLee (@itarze) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "rgb_matrix.h" +#include "rgb_matrix_blink.h" +#include "timer.h" + +#define NUM_BLINK_RGBS (sizeof(blink_rgbs) / sizeof(blink_rgbs[0])) + +// /* Example */ +// blink_rgb_t blink_rgbs[RGB_MATRIX_BLINK_COUNT] = { +// {.index = 1, .interval = 250, .times = 5, .color = {.r = 0xFF, .g = 0xFF, .b = 0xFF}, .blink_cb = NULL}, +// {.index = 0xFF, .interval = 250, .times = 5, .color = {.r = 0xFF, .g = 0x00, .b = 0x00}, .blink_cb = NULL}, +// }; + +bool rgb_matrix_blink_set(uint8_t index) { + + for (uint8_t i = 0; i < NUM_BLINK_RGBS; i++) { + if (blink_rgbs[i].index == index) { + if (blink_rgbs[i].times < 1) { + return false; + } + blink_rgbs[i].remain_time = blink_rgbs[i].interval * blink_rgbs[i].times * 2 + 1; + if (blink_rgbs[i].times == 0xFF) { + blink_rgbs[i].remain_time = blink_rgbs[i].interval + 1; + } + return true; + } + } + + return false; +} + +bool rgb_matrix_blink_set_color(uint8_t index, uint8_t r, uint8_t g, uint8_t b) { + + for (uint8_t i = 0; i < NUM_BLINK_RGBS; i++) { + if (blink_rgbs[i].index == index) { + blink_rgbs[i].color.r = r; + blink_rgbs[i].color.g = g; + blink_rgbs[i].color.b = b; + return true; + } + } + + return false; +} + +bool rgb_matrix_blink_set_cb(uint8_t index, void *blink_cb) { + + for (uint8_t i = 0; i < NUM_BLINK_RGBS; i++) { + if (blink_rgbs[i].index == index) { + blink_rgbs[i].blink_cb = blink_cb; + return true; + } + } + + return false; +} + +bool rgb_matrix_blink_set_interval(uint8_t index, uint32_t interval) { + + for (uint8_t i = 0; i < NUM_BLINK_RGBS; i++) { + if (blink_rgbs[i].index == index) { + blink_rgbs[i].interval = interval; + return true; + } + } + + return false; +} + +bool rgb_matrix_blink_set_times(uint8_t index, uint32_t times) { + + for (uint8_t i = 0; i < NUM_BLINK_RGBS; i++) { + if (blink_rgbs[i].index == index) { + blink_rgbs[i].times = times; + return true; + } + } + + return false; +} + +bool rgb_matrix_blink_set_remain_time(uint8_t index, uint32_t time) { + + for (uint8_t i = 0; i < NUM_BLINK_RGBS; i++) { + if (blink_rgbs[i].index == index) { + blink_rgbs[i].remain_time = time; + return true; + } + } + + return false; +} + +bool rgb_matrix_blink_set_interval_times(uint8_t index, uint32_t interval, uint32_t times) { + + for (uint8_t i = 0; i < NUM_BLINK_RGBS; i++) { + if (blink_rgbs[i].index == index) { + blink_rgbs[i].interval = interval; + blink_rgbs[i].times = times; + blink_rgbs[i].time = 0x00; + blink_rgbs[i].flip = false; + return true; + } + } + + return false; +} + +__attribute__((weak)) bool rgb_matrix_blink_user(blink_rgb_t *blink_rgb) { + return true; +} + +bool rgb_matrix_blink_task(uint8_t led_min, uint8_t led_max) { + + for (uint8_t rgb_index = 0; rgb_index < NUM_BLINK_RGBS; rgb_index++) { + if (blink_rgbs[rgb_index].remain_time != 0) { + if ((blink_rgbs[rgb_index].time == 0) || (timer_elapsed32(blink_rgbs[rgb_index].time) >= blink_rgbs[rgb_index].interval)) { + blink_rgbs[rgb_index].flip = !blink_rgbs[rgb_index].flip; + blink_rgbs[rgb_index].time = timer_read32(); + + if (blink_rgbs[rgb_index].remain_time >= blink_rgbs[rgb_index].interval) { + blink_rgbs[rgb_index].remain_time -= blink_rgbs[rgb_index].interval; + } else { + blink_rgbs[rgb_index].remain_time = 0; + blink_rgbs[rgb_index].flip = false; + blink_rgbs[rgb_index].time = 0; + } + } + + if (blink_rgbs[rgb_index].remain_time == 0) { + if (blink_rgbs[rgb_index].blink_cb != NULL) { + blink_rgbs[rgb_index].blink_cb(blink_rgbs[rgb_index].index); + } + if (blink_rgbs[rgb_index].index == 0xFF) { + rgb_matrix_set_color_all(0x00, 0x00, 0x00); + } else if (blink_rgbs[rgb_index].index < RGB_MATRIX_LED_COUNT) { + rgb_matrix_set_color(blink_rgbs[rgb_index].index, 0x00, 0x00, 0x00); + } + continue; + } + + if (rgb_matrix_blink_user(&blink_rgbs[rgb_index]) != true) { + continue; + } + + if (blink_rgbs[rgb_index].flip) { + if (blink_rgbs[rgb_index].index == 0xFF) { + rgb_matrix_set_color_all(blink_rgbs[rgb_index].color.r, + blink_rgbs[rgb_index].color.g, + blink_rgbs[rgb_index].color.b); + } else if (blink_rgbs[rgb_index].index < RGB_MATRIX_LED_COUNT) { + rgb_matrix_set_color(blink_rgbs[rgb_index].index, + blink_rgbs[rgb_index].color.r, + blink_rgbs[rgb_index].color.g, + blink_rgbs[rgb_index].color.b); + } + } else { + if (blink_rgbs[rgb_index].index == 0xFF) { + rgb_matrix_set_color_all(0x00, 0x00, 0x00); + } else if (blink_rgbs[rgb_index].index < RGB_MATRIX_LED_COUNT) { + rgb_matrix_set_color(blink_rgbs[rgb_index].index, 0x00, 0x00, 0x00); + } + } + } else { + blink_rgbs[rgb_index].flip = false; + blink_rgbs[rgb_index].time = 0; + } + } + + return true; +} diff --git a/linker/wireless/rgb_matrix_blink.h b/linker/wireless/rgb_matrix_blink.h new file mode 100644 index 0000000..485e4f9 --- /dev/null +++ b/linker/wireless/rgb_matrix_blink.h @@ -0,0 +1,31 @@ +// Copyright 2024 JoyLee (@itarze) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +typedef struct { + uint32_t interval; + uint32_t remain_time; + uint32_t times; + uint32_t time; + uint8_t index; + uint8_t flip; + void (*blink_cb)(uint8_t); + RGB color; +} blink_rgb_t; + +#ifndef RGB_MATRIX_BLINK_COUNT +# define RGB_MATRIX_BLINK_COUNT 0 +#endif + +extern blink_rgb_t blink_rgbs[RGB_MATRIX_BLINK_COUNT]; + +bool rgb_matrix_blink_set(uint8_t index); +bool rgb_matrix_blink_set_color(uint8_t index, uint8_t r, uint8_t g, uint8_t b); +bool rgb_matrix_blink_set_cb(uint8_t index, void *blink_cb); +bool rgb_matrix_blink_set_interval(uint8_t index, uint32_t interval); +bool rgb_matrix_blink_set_times(uint8_t index, uint32_t times); +bool rgb_matrix_blink_set_remain_time(uint8_t index, uint32_t time); +bool rgb_matrix_blink_set_interval_times(uint8_t index, uint32_t interval, uint32_t times); +bool rgb_matrix_blink_task(uint8_t led_min, uint8_t led_max); +bool rgb_matrix_blink_user(blink_rgb_t *blink_rgb); diff --git a/linker/wireless/smsg.c b/linker/wireless/smsg.c new file mode 100644 index 0000000..cfa9571 --- /dev/null +++ b/linker/wireless/smsg.c @@ -0,0 +1,122 @@ +// Copyright 2024 Su (@isuua) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "smsg.h" +#include + +#ifndef SMSG_NUM +# define SMSG_NUM 40 +#endif + +#ifndef SMSG_PAYLOAD_LEN +# define SMSG_PAYLOAD_LEN 50 +#endif + +#define SMSG_BUF_SIZE (SMSG_NUM * SMSG_PAYLOAD_LEN) +#define END_PTR ((smsg_ptr_t *)&smsg_instance.ptr[SMSG_NUM - 1]) +#define FREE_SPACE ((uint32_t)(&smsg_buffer[SMSG_BUF_SIZE - 1] - smsg_instance.buffer)) + +typedef struct { + uint8_t *head; + uint8_t *tail; +} smsg_ptr_t; + +typedef struct { + smsg_states_t state; + smsg_ptr_t *ptr; + smsg_ptr_t *in_ptr; + smsg_ptr_t *out_ptr; + uint8_t *buffer; +} smsg_t; + +static smsg_ptr_t smsg_ptr[SMSG_NUM]; +static uint8_t smsg_buffer[SMSG_BUF_SIZE]; +static smsg_t smsg_instance; + +void smsg_init(void) { + + smsg_instance.buffer = smsg_buffer; + smsg_instance.ptr = smsg_ptr; + smsg_instance.ptr->head = smsg_instance.buffer; + smsg_instance.ptr->tail = smsg_instance.buffer; + smsg_instance.in_ptr = smsg_instance.ptr; + smsg_instance.out_ptr = smsg_instance.ptr; + smsg_instance.state = smsg_state_free; +} + +bool smsg_push(uint8_t *buf, uint32_t size) { + + if (smsg_instance.in_ptr == END_PTR) { + if (smsg_instance.ptr == smsg_instance.out_ptr) { + return false; + } + } else { + if ((smsg_instance.in_ptr + 1) == smsg_instance.out_ptr) { + return false; + } + } + + if (FREE_SPACE < SMSG_PAYLOAD_LEN) { + smsg_instance.buffer = smsg_buffer; + } + + if (size > SMSG_PAYLOAD_LEN) { + return false; + } + + memcpy(smsg_instance.buffer, buf, size); + smsg_instance.in_ptr->head = smsg_instance.buffer; + smsg_instance.buffer += size; + smsg_instance.in_ptr->tail = smsg_instance.buffer; + if (smsg_instance.in_ptr == END_PTR) { + smsg_instance.in_ptr = smsg_instance.ptr; + } else { + smsg_instance.in_ptr++; + } + + return true; +} + +uint32_t smsg_peek(uint8_t *buf) { + + if (smsg_instance.out_ptr != smsg_instance.in_ptr) { + uint32_t size; + + size = smsg_instance.out_ptr->tail - smsg_instance.out_ptr->head; + memcpy(buf, smsg_instance.out_ptr->head, size); + + return size; + } + + return 0; +} + +void smsg_pop(void) { + + if (smsg_instance.out_ptr != smsg_instance.in_ptr) { + if (smsg_instance.out_ptr == END_PTR) { + smsg_instance.out_ptr = smsg_instance.ptr; + } else { + smsg_instance.out_ptr++; + } + } +} + +smsg_states_t smsg_get_state(void) { + + return smsg_instance.state; +} + +void smsg_set_state(smsg_states_t state) { + + smsg_instance.state = state; +} + +bool smsg_is_busy(void) { + + if (smsg_instance.out_ptr != smsg_instance.in_ptr) { + return true; + } + + return false; +} diff --git a/linker/wireless/smsg.h b/linker/wireless/smsg.h new file mode 100644 index 0000000..ea08630 --- /dev/null +++ b/linker/wireless/smsg.h @@ -0,0 +1,22 @@ +// Copyright 2024 Su (@isuua) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include +#include + +typedef enum { + smsg_state_free = 0, + smsg_state_busy, + smsg_state_retry, + smsg_state_replied +} smsg_states_t; + +void smsg_init(void); +bool smsg_push(uint8_t *buf, uint32_t size); +uint32_t smsg_peek(uint8_t *buf); +void smsg_pop(void); +smsg_states_t smsg_get_state(void); +void smsg_set_state(smsg_states_t state); +bool smsg_is_busy(void); diff --git a/linker/wireless/transport.c b/linker/wireless/transport.c new file mode 100644 index 0000000..04ddf74 --- /dev/null +++ b/linker/wireless/transport.c @@ -0,0 +1,170 @@ +// Copyright 2024 Su (@isuua) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" +#include "module.h" +#include "usb_main.h" +#include "transport.h" + +#ifndef USB_POWER_DOWN_DELAY +# define USB_POWER_DOWN_DELAY 7000 +#endif + +extern host_driver_t chibios_driver; +extern host_driver_t wireless_driver; + +static transport_t transport = TRANSPORT_USB; +bool temp; + +void wls_transport_enable(bool enable) __attribute__((weak)); +void wls_transport_enable(bool enable) { + + if (enable) { + if (host_get_driver() != &wireless_driver) { + host_set_driver(&wireless_driver); + keyboard_protocol = true; // default with true + } + } else { + if (*md_getp_state() == MD_STATE_CONNECTED) { + wireless_driver.send_keyboard(NULL); + wireless_driver.send_nkro(NULL); + } + } +} + +/* Control USB device connection and disconnection by + * controlling the power supply of the USB DP pull-up resistor. + * Overwrite these two functions. */ +void usb_power_connect(void) __attribute__((weak)); +void usb_power_connect(void) {} + +void usb_power_disconnect(void) __attribute__((weak)); +void usb_power_disconnect(void) {} + +void usb_transport_enable(bool enable) __attribute__((weak)); +void usb_transport_enable(bool enable) { + + if (enable) { + if (host_get_driver() != &chibios_driver) { + extern bool last_suspend_state; + + /* This flag is not set to 1 with probability after usb restart */ + last_suspend_state = true; +#if !defined(KEEP_USB_CONNECTION_IN_WIRELESS_MODE) + usb_power_connect(); + restart_usb_driver(&USBD1); +#endif + host_set_driver(&chibios_driver); + } + } else { + if (USB_DRIVER.state == USB_ACTIVE) { + chibios_driver.send_keyboard(NULL); + chibios_driver.send_nkro(NULL); + } + +#if !defined(KEEP_USB_CONNECTION_IN_WIRELESS_MODE) + usbStop(&USBD1); + usbDisconnectBus(&USBD1); + usb_power_disconnect(); +#endif + } +} + +void set_transport(transport_t new_transport) { + + if (transport != new_transport) { + transport = new_transport; + + switch (transport) { + case TRANSPORT_USB: { + wls_transport_enable(false); + usb_transport_enable(true); + } break; + case TRANSPORT_WLS: { + usb_transport_enable(false); + wls_transport_enable(true); + } break; + default: + break; + } + } +} + +transport_t get_transport(void) { + + return transport; +} +uint32_t suspend_timer = 0x00; +void usb_remote_wakeup(void) { + +#ifdef USB_REMOTE_USE_QMK + if (USB_DRIVER.state == USB_SUSPENDED) { + dprintln("suspending keyboard"); + while (USB_DRIVER.state == USB_SUSPENDED) { + /* Do this in the suspended state */ + suspend_power_down(); // on AVR this deep sleeps for 15ms + /* Remote wakeup */ + if ((USB_DRIVER.status & 2U) && suspend_wakeup_condition()) { + usbWakeupHost(&USB_DRIVER); +# if USB_SUSPEND_WAKEUP_DELAY > 0 + // Some hubs, kvm switches, and monitors do + // weird things, with USB device state bouncing + // around wildly on wakeup, yielding race + // conditions that can corrupt the keyboard state. + // + // Pause for a while to let things settle... + wait_ms(USB_SUSPEND_WAKEUP_DELAY); +# endif + } + } + /* Woken up */ + } +#else + + if ((USB_DRIVER.state == USB_SUSPENDED)) { + if (!suspend_timer) suspend_timer = sync_timer_read32(); + if (sync_timer_elapsed32(suspend_timer) >= USB_POWER_DOWN_DELAY) { + suspend_timer = 0x00; + extern void lpwr_set_timeout_manual(bool enable); + temp = true; + // suspend_power_down(); + lpwr_set_timeout_manual(true); + } + } else { + suspend_timer = 0x00; + } +#endif +} + +#ifndef USB_REMOTE_USE_QMK +void usb_remote_host(void) { + + if (USB_DRIVER.state == USB_SUSPENDED) { + if ((USB_DRIVER.status & 2U) && suspend_wakeup_condition()) { + usbWakeupHost(&USB_DRIVER); +# if USB_SUSPEND_WAKEUP_DELAY > 0 + // Some hubs, kvm switches, and monitors do + // weird things, with USB device state bouncing + // around wildly on wakeup, yielding race + // conditions that can corrupt the keyboard state. + // + // Pause for a while to let things settle... + wait_ms(USB_SUSPEND_WAKEUP_DELAY); +# endif + } +# if !defined(USB_REMOTE_USE_QMK) && USB_POWER_DOWN_DELAY + suspend_wakeup_init(); +# endif + } +} + +bool process_action_kb(keyrecord_t *record) { + + (void)record; + if (get_transport() == TRANSPORT_USB){ + usb_remote_host(); + } + + return true; +} +#endif \ No newline at end of file diff --git a/linker/wireless/transport.h b/linker/wireless/transport.h new file mode 100644 index 0000000..e6ff663 --- /dev/null +++ b/linker/wireless/transport.h @@ -0,0 +1,18 @@ +// Copyright 2024 Su (@isuua) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +typedef enum { + TRANSPORT_NONE, + TRANSPORT_USB, + TRANSPORT_WLS, +} transport_t; + +void wls_transport_enable(bool enable); +void usb_transport_enable(bool enable); +void set_transport(transport_t new_transport); +transport_t get_transport(void); +void usb_power_connect(void); +void usb_power_disconnect(void); +void usb_remote_wakeup(void); diff --git a/linker/wireless/wireless.c b/linker/wireless/wireless.c new file mode 100644 index 0000000..0a52cbb --- /dev/null +++ b/linker/wireless/wireless.c @@ -0,0 +1,306 @@ + +// Copyright 2024 Su (@isuua) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" +#include "wireless.h" + +#ifndef WLS_INQUIRY_BAT_TIME +# define WLS_INQUIRY_BAT_TIME 3000 +#endif + +static uint8_t wls_devs = DEVS_USB; +bool im_test_rate_flag; + +void last_matrix_activity_trigger(void); + +uint8_t wireless_keyboard_leds(void); +void wireless_send_keyboard(report_keyboard_t *report); +void wireless_send_nkro(report_nkro_t *report); +void wireless_send_mouse(report_mouse_t *report); +void wireless_send_extra(report_extra_t *report); + +host_driver_t wireless_driver = { + .keyboard_leds = wireless_keyboard_leds, + .send_keyboard = wireless_send_keyboard, + .send_nkro = wireless_send_nkro, + .send_mouse = wireless_send_mouse, + .send_extra = wireless_send_extra, +}; + +void wireless_init(void) { + + md_init(); +} + +uint8_t wireless_keyboard_leds(void) { + + if (*md_getp_state() == MD_STATE_CONNECTED) { + return *md_getp_indicator(); + } + + return 0; +} + +void wireless_send_keyboard(report_keyboard_t *report) { + if(MD_STATE_PAIRING == *md_getp_state()){ + return; + } + uint8_t wls_report_kb[MD_SND_CMD_KB_LEN] = {0}; + + if (*md_getp_state() != MD_STATE_CONNECTED) { + wireless_devs_change(wls_devs, wls_devs, false); + return; + } + + if (report != NULL) { + memcpy(wls_report_kb, (uint8_t *)report, sizeof(wls_report_kb)); + } + md_send_kb(wls_report_kb); +} + +void wireless_send_nkro(report_nkro_t *report) { + static report_keyboard_t temp_report_keyboard = {0}; + uint8_t wls_report_nkro[MD_SND_CMD_NKRO_LEN] = {0}; + + if(MD_STATE_PAIRING == *md_getp_state()){ + return; + } + + if (*md_getp_state() != MD_STATE_CONNECTED) { + wireless_devs_change(wls_devs, wls_devs, false); + return; + } + + if (report != NULL) { + report_nkro_t temp_report_nkro = *report; + uint8_t key_count = 0; + + temp_report_keyboard.mods = temp_report_nkro.mods; + for (uint8_t i = 0; i < NKRO_REPORT_BITS; i++) { + key_count += __builtin_popcount(temp_report_nkro.bits[i]); + } + + // find key up and del it. + for (uint8_t i = 0; i < KEYBOARD_REPORT_KEYS && temp_report_keyboard.keys[i]; i++) { + uint8_t usageid = 0x00; + uint8_t n; + + for (uint8_t c = 0; c < key_count; c++) { + for (n = 0; n < NKRO_REPORT_BITS && !temp_report_nkro.bits[n]; n++) {} + usageid = (n << 3) | biton(temp_report_nkro.bits[n]); +#ifdef NKRO_ENABLE + del_key_bit(&temp_report_nkro, usageid); +#endif + if (usageid == temp_report_keyboard.keys[i]) { + break; + } + } + + if (usageid != temp_report_keyboard.keys[i]) { + temp_report_keyboard.keys[i] = 0x00; + } + } + + /* + * Use NKRO for sending when more than 6 keys are pressed + * to solve the issue of the lack of a protocol flag in wireless mode. + */ + + temp_report_nkro = *report; + + for (uint8_t i = 0; i < key_count; i++) { + uint8_t usageid; + uint8_t idx, n = 0; + + for (n = 0; n < NKRO_REPORT_BITS && !temp_report_nkro.bits[n]; n++) {} + usageid = (n << 3) | biton(temp_report_nkro.bits[n]); +#ifdef NKRO_ENABLE + del_key_bit(&temp_report_nkro, usageid); +#endif + + for (idx = 0; idx < KEYBOARD_REPORT_KEYS; idx++) { + if (temp_report_keyboard.keys[idx] == usageid) { + break; + } + if (temp_report_keyboard.keys[idx] == 0x00) { + temp_report_keyboard.keys[idx] = usageid; + break; + } + } + + if (idx == KEYBOARD_REPORT_KEYS && (usageid < (MD_SND_CMD_NKRO_LEN * 8))) { + wls_report_nkro[usageid / 8] |= 0x01 << (usageid % 8); + } + } + } else { + memset(&temp_report_keyboard, 0, sizeof(temp_report_keyboard)); + } + + // wireless_driver.send_keyboard(&temp_report_keyboard); + while(smsg_is_busy()) wireless_task(); + host_keyboard_send(&temp_report_keyboard); + md_send_nkro(wls_report_nkro); +} + +void wireless_send_mouse(report_mouse_t *report) { + + if(MD_STATE_PAIRING == *md_getp_state()){ + return; + } + + typedef struct { + uint8_t buttons; + int8_t x; + int8_t y; + int8_t z; + int8_t h; + } __attribute__((packed)) wls_report_mouse_t; + + wls_report_mouse_t wls_report_mouse = {0}; + + if (*md_getp_state() != MD_STATE_CONNECTED) { + wireless_devs_change(wls_devs, wls_devs, false); + return; + } + + if (report != NULL) { + wls_report_mouse.buttons = report->buttons; + wls_report_mouse.x = report->x; + wls_report_mouse.y = report->y; + wls_report_mouse.z = report->h; + wls_report_mouse.h = report->v; + } + + md_send_mouse((uint8_t *)&wls_report_mouse); +} + +void wireless_send_extra(report_extra_t *report) { + if(MD_STATE_PAIRING == *md_getp_state()){ + return; + } + + uint16_t usage = 0; + + if (*md_getp_state() != MD_STATE_CONNECTED) { + wireless_devs_change(wls_devs, wls_devs, false); + return; + } + + if (report != NULL) { + usage = report->usage; + + switch (usage) { + case 0x81: + case 0x82: + case 0x83: { // system usage + usage = 0x01 << (usage - 0x81); + md_send_system((uint8_t *)&usage); + } break; + default: { + md_send_consumer((uint8_t *)&usage); + } break; + } + } +} + +void wireless_devs_change_user(uint8_t old_devs, uint8_t new_devs, bool reset) __attribute__((weak)); +void wireless_devs_change_user(uint8_t old_devs, uint8_t new_devs, bool reset) {} + +void wireless_devs_change_kb(uint8_t old_devs, uint8_t new_devs, bool reset) __attribute__((weak)); +void wireless_devs_change_kb(uint8_t old_devs, uint8_t new_devs, bool reset) {} + +void wireless_devs_change(uint8_t old_devs, uint8_t new_devs, bool reset) { + bool changed = (old_devs == DEVS_USB) ? (new_devs != DEVS_USB) : (new_devs == DEVS_USB); + + if (changed) { + set_transport((new_devs != DEVS_USB) ? TRANSPORT_WLS : TRANSPORT_USB); + } + + if ((wls_devs != new_devs) || reset) { + *md_getp_state() = MD_STATE_DISCONNECTED; + *md_getp_indicator() = 0; + } + + wls_devs = new_devs; + last_matrix_activity_trigger(); + + md_devs_change(new_devs, reset); + wireless_devs_change_kb(old_devs, new_devs, reset); + wireless_devs_change_user(old_devs, new_devs, reset); +} + +uint8_t wireless_get_current_devs(void) { + return wls_devs; +} + +void usb_mode_test_report_task(void) { + extern void host_mouse_send(report_mouse_t * report); + + static uint8_t flip = 0; + static report_mouse_t mouse_format = {0}; + + switch (flip) { + case 0: { + mouse_format.x = 10; + mouse_format.y = 0; + host_mouse_send(&mouse_format); + flip = 1; + } break; + case 1: { + mouse_format.x = 0; + mouse_format.y = -10; + host_mouse_send(&mouse_format); + flip = 2; + } break; + case 2: { + mouse_format.x = -10; + mouse_format.y = 0; + host_mouse_send(&mouse_format); + flip = 3; + } break; + case 3: { + mouse_format.x = 0; + mouse_format.y = 10; + host_mouse_send(&mouse_format); + flip = 0; + } break; + default: { + flip = 0; + } break; + } +} + +void wireless_pre_task(void) __attribute__((weak)); +void wireless_pre_task(void) {} + +void wireless_post_task(void) __attribute__((weak)); +void wireless_post_task(void) {} + +void wireless_task(void) { + + wireless_pre_task(); + lpwr_task(); + md_main_task(); + wireless_post_task(); + + /* usb_remote_wakeup() should be invoked last so that we have chance + * to switch to wireless after start-up when usb is not connected + */ + if (get_transport() == TRANSPORT_USB) { + usb_remote_wakeup(); + } else if (lpwr_get_state() == LPWR_NORMAL) { + static uint32_t inqtimer = 0x00; + + if (sync_timer_elapsed32(inqtimer) >= (WLS_INQUIRY_BAT_TIME)) { + if (md_inquire_bat()) { + inqtimer = sync_timer_read32(); + } + } + } +} + +void housekeeping_task_kb(void) { + if (wireless_get_current_devs() == DEVS_USB && im_test_rate_flag) usb_mode_test_report_task(); + wireless_task(); +} \ No newline at end of file diff --git a/linker/wireless/wireless.h b/linker/wireless/wireless.h new file mode 100644 index 0000000..606b6f8 --- /dev/null +++ b/linker/wireless/wireless.h @@ -0,0 +1,16 @@ +// Copyright 2024 Su (@isuua) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "transport.h" +#include "lowpower.h" +#include "module.h" +#include "smsg.h" + +void wireless_init(void); +void wireless_devs_change(uint8_t old_devs, uint8_t new_devs, bool reset); +uint8_t wireless_get_current_devs(void); +void wireless_pre_task(void); +void wireless_post_task(void); +void wireless_task(void); diff --git a/linker/wireless/wireless.mk b/linker/wireless/wireless.mk new file mode 100644 index 0000000..b84c103 --- /dev/null +++ b/linker/wireless/wireless.mk @@ -0,0 +1,27 @@ +WIRELESS_ENABLE ?= yes +WIRELESS_DIR = $(TOP_DIR)/keyboards/$(KEYBOARD)/linker/wireless + +ifeq ($(strip $(WIRELESS_ENABLE)), yes) + OPT_DEFS += -DWIRELESS_ENABLE -DNO_USB_STARTUP_CHECK + + OPT_DEFS += -include $(WIRELESS_DIR)/md_raw.h + + UART_DRIVER_REQUIRED ?= yes + WIRELESS_LPWR_STOP_ENABLE ?= yes + + VPATH += $(WIRELESS_DIR) + + SRC += \ + $(WIRELESS_DIR)/wireless.c \ + $(WIRELESS_DIR)/transport.c \ + $(WIRELESS_DIR)/lowpower.c \ + $(WIRELESS_DIR)/md_raw.c \ + $(WIRELESS_DIR)/smsg.c \ + $(WIRELESS_DIR)/rgb_matrix_blink.c \ + $(WIRELESS_DIR)/module.c + + ifeq ($(strip $(WIRELESS_LPWR_STOP_ENABLE)), yes) + OPT_DEFS += -DWIRELESS_LPWR_STOP_ENABLE + SRC += $(WIRELESS_DIR)/lpwr_wb32.c + endif +endif diff --git a/post_rules.mk b/post_rules.mk index cc78b9e..bf8832e 100644 --- a/post_rules.mk +++ b/post_rules.mk @@ -1,4 +1,4 @@ RGB_MATRIX_CUSTOM_USER = yes -include keyboards/leo/epomaker_split65/rgb_record/rgb_record.mk -include keyboards/leo/epomaker_split65/wls/wls.mk -include keyboards/linker/wireless/wireless.mk +include keyboards/$(KEYBOARD)/rgb_record/rgb_record.mk +include keyboards/$(KEYBOARD)/wls/wls.mk +include keyboards/$(KEYBOARD)/linker/wireless/wireless.mk diff --git a/rgb_record.c b/rgb_record/rgb_record.c similarity index 100% rename from rgb_record.c rename to rgb_record/rgb_record.c diff --git a/rgb_record.h b/rgb_record/rgb_record.h similarity index 100% rename from rgb_record.h rename to rgb_record/rgb_record.h diff --git a/rgb_record.mk b/rgb_record/rgb_record.mk similarity index 100% rename from rgb_record.mk rename to rgb_record/rgb_record.mk diff --git a/epomaker_split65.c b/split65.c similarity index 99% rename from epomaker_split65.c rename to split65.c index ef436cf..7fd0679 100644 --- a/epomaker_split65.c +++ b/split65.c @@ -407,7 +407,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } break; } - + case RGB_MOD: break; default: { @@ -518,7 +518,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { register_code(KC_LCTL); register_code(KC_Z); - } + } else{ unregister_code(KC_LCTL); unregister_code(KC_Z); @@ -528,7 +528,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { register_code(KC_LCTL); register_code(KC_X); - } + } else{ unregister_code(KC_LCTL); unregister_code(KC_X); @@ -538,7 +538,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { register_code(KC_LCTL); register_code(KC_C); - } + } else{ unregister_code(KC_LCTL); unregister_code(KC_C); @@ -548,7 +548,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { register_code(KC_LCTL); register_code(KC_V); - } + } else{ unregister_code(KC_LCTL); unregister_code(KC_V); @@ -583,7 +583,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { case KC_F3:{ if(confinfo.filp){ if (keymap_is_mac_system()) { - + if (record->event.pressed) { register_code16(KC_VOLU); } else { @@ -649,7 +649,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { case KC_F8:{ if(confinfo.filp){ if (keymap_is_mac_system()) { - + if (record->event.pressed) { register_code16(KC_MNXT); } else { @@ -663,7 +663,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { case KC_F9:{ if(confinfo.filp){ if (keymap_is_mac_system()) { - + if (record->event.pressed) { register_code16(KC_MAIL); } else { @@ -677,7 +677,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { case KC_F10:{ if(confinfo.filp){ if (keymap_is_mac_system()) { - + if (record->event.pressed) { register_code16(KC_WHOM); } else { @@ -691,7 +691,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { case KC_F11:{ if(confinfo.filp){ if (keymap_is_mac_system()) { - + if (record->event.pressed) { register_code16(KC_CALC); } else { @@ -705,7 +705,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { case KC_F12:{ if(confinfo.filp){ if (keymap_is_mac_system()) { - + if (record->event.pressed) { register_code16(KC_WSCH); } else { @@ -822,7 +822,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { rgb_matrix_decrease_val(); } - + } return false; } @@ -988,12 +988,12 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } break; case KC_BATQ:{ if (record->event.pressed) { - + im_bat_req_charging_flag = true; } else{ im_bat_req_charging_flag = false; - + } }break; case QK_BOOT: { @@ -1071,7 +1071,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } } } break; - + case TO(_BL): { if (record->event.pressed) { rgb_matrix_hs_set_remain_time(HS_RGB_BLINK_INDEX_MAC, 0); @@ -1096,7 +1096,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return false; } break; - + case RGB_MOD: { if(record->event.pressed){ uint8_t mode = rgb_matrix_get_mode(); @@ -1488,7 +1488,7 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (host_keyboard_led_state().caps_lock) rgb_matrix_set_color(HS_RGB_INDEX_CAPS, 0x20, 0x20, 0x20); - + if (!keymap_is_mac_system() && keymap_config.no_gui) rgb_matrix_set_color(HS_RGB_INDEX_WIN_LOCK, 0x20, 0x20, 0x20); @@ -1595,4 +1595,4 @@ void user_sync_mms_slave_handler(uint8_t in_buflen, const void* in_data, uint8_t break; default :break; } -} \ No newline at end of file +} diff --git a/wls b/wls deleted file mode 100644 index 8b13789..0000000 --- a/wls +++ /dev/null @@ -1 +0,0 @@ - diff --git a/wls.c b/wls/wls.c similarity index 100% rename from wls.c rename to wls/wls.c diff --git a/wls.h b/wls/wls.h similarity index 100% rename from wls.h rename to wls/wls.h diff --git a/wls.mk b/wls/wls.mk similarity index 100% rename from wls.mk rename to wls/wls.mk From f7909a2e7cdc64363a0908aa6cec6d2c1a6e8e29 Mon Sep 17 00:00:00 2001 From: Sungkwang Lee Date: Wed, 6 Aug 2025 12:52:35 +0900 Subject: [PATCH 02/11] Enable bootmagic The top-left key matrix was 1,0, not 0,0. For the right-half, you can use -> key to enter DFU. --- keyboard.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/keyboard.json b/keyboard.json index 5ba4f2e..d2abc44 100644 --- a/keyboard.json +++ b/keyboard.json @@ -4,7 +4,8 @@ "maintainer": "EPOMAKER", "bootloader": "wb32-dfu", "bootmagic": { - "matrix": [0, 0] + "enabled": true, + "matrix": [1, 0] }, "debounce": 1, "diode_direction": "ROW2COL", @@ -231,6 +232,9 @@ }, "handedness": { "pin": "B9" + }, + "bootmagic": { + "matrix": [11, 8] } }, "tap_keycode_delay": 10, From 794f7f645e4c8dafd3a805eb74c55c099275bbc8 Mon Sep 17 00:00:00 2001 From: Sungkwang Lee Date: Wed, 6 Aug 2025 12:53:39 +0900 Subject: [PATCH 03/11] Disable sleep/wakeup in wireless mode Low power battery saving is not working correctly. When the timeout comes, keyboard stuck forever. To use the keyboard, temporarily I disabled it. --- split65.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/split65.c b/split65.c index 7fd0679..4aa48dd 100644 --- a/split65.c +++ b/split65.c @@ -255,7 +255,7 @@ bool lpwr_is_allow_timeout_hook(void) { return false; } - return true; + return false; // TODO: figure out why sleep/wakeup doesn't working } void wireless_post_task(void) { From b01123417cb0b9584044fe64a8326469b579089f Mon Sep 17 00:00:00 2001 From: Sungkwang Lee Date: Wed, 6 Aug 2025 19:12:50 +0900 Subject: [PATCH 04/11] Fix RGB byteorder --- config.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/config.h b/config.h index 5bafe1a..75d864d 100644 --- a/config.h +++ b/config.h @@ -1,4 +1,4 @@ -// Copyright 2025 EPOMAKER (@Epomaker) +// Copyright 2025 EPOMAKER (@Epomaker) // SPDX-License-Identifier: GPL-2.0-or-later #pragma once @@ -80,7 +80,7 @@ /* Flash */ #define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12 -#define WEAR_LEVELING_BACKING_SIZE (8 * 1024) +#define WEAR_LEVELING_BACKING_SIZE (8 * 1024) #define WEAR_LEVELING_LOGICAL_SIZE (WEAR_LEVELING_BACKING_SIZE / 2) #define FEE_PAGE_COUNT (WEAR_LEVELING_BACKING_SIZE / FEE_PAGE_SIZE) @@ -91,6 +91,7 @@ /* WS2812 */ #define WS2812_SPI_DRIVER SPIDM2 #define WS2812_SPI_DIVISOR 32 +#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB /* rgb_record */ #define ENABLE_RGB_MATRIX_RGBR_PLAY From 94619e7b897824620fadbb9deb568a4164a4568a Mon Sep 17 00:00:00 2001 From: Sungkwang Lee Date: Sat, 23 Aug 2025 23:50:51 +0900 Subject: [PATCH 05/11] Duplicate default keymap to via --- keymaps/{default => via}/keymap.c | 0 keymaps/via/rules.mk | 2 ++ 2 files changed, 2 insertions(+) rename keymaps/{default => via}/keymap.c (100%) create mode 100644 keymaps/via/rules.mk diff --git a/keymaps/default/keymap.c b/keymaps/via/keymap.c similarity index 100% rename from keymaps/default/keymap.c rename to keymaps/via/keymap.c diff --git a/keymaps/via/rules.mk b/keymaps/via/rules.mk new file mode 100644 index 0000000..f1adcab --- /dev/null +++ b/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes From b288782e2ecd7675ef7fcb240ca5db608f1871a3 Mon Sep 17 00:00:00 2001 From: Sungkwang Lee Date: Sat, 23 Aug 2025 23:50:51 +0900 Subject: [PATCH 06/11] Restore default keymap --- keymaps/default/keymap.c | 63 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 keymaps/default/keymap.c diff --git a/keymaps/default/keymap.c b/keymaps/default/keymap.c new file mode 100644 index 0000000..facf4ce --- /dev/null +++ b/keymaps/default/keymap.c @@ -0,0 +1,63 @@ +// Copyright 2025 EPOMAKER (@Epomaker) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H +#include "rgb_record/rgb_record.h" + +enum layers { + _BL = 0, + _FL, + _MBL, + _MFL, +}; + +#define ______ HS_BLACK + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BL] = LAYOUT( /* Base */ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE, + 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_DEL, + 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_PGUP, + 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_UP, KC_PGDN, + KC_LCTL, KC_LCMD, KC_LALT, KC_SPC, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + [_FL] = LAYOUT( /* Base */ + 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, EE_CLR, _______, + RGB_MOD, KC_BT1, KC_BT2, KC_BT3, KC_2G4, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, KC_INS, + _______, KC_A, TO(_MBL), _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, _______, KC_HOME, + _______, _______, RGB_TOG, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_VAI, KC_END, + KC_FILP, GU_TOGG, _______, KC_BATQ, KC_BATQ, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI), + + [_MBL] = LAYOUT( /* Base */ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE, + 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_DEL, + 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_PGUP, + 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_UP, KC_PGDN, + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, MO(_MFL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + [_MFL] = LAYOUT( /* Base */ + 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, EE_CLR, _______, + RGB_MOD, KC_BT1, KC_BT2, KC_BT3, KC_2G4, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, KC_INS, + _______, TO(_BL), KC_S, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, _______, KC_HOME, + _______, _______, RGB_TOG, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_VAI, KC_END, + KC_FILP, _______, _______, KC_BATQ, KC_BATQ, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI), + +}; + + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [1] = {ENCODER_CCW_CW(_______, _______)}, + [2] = {ENCODER_CCW_CW(_______, _______)}, + [3] = {ENCODER_CCW_CW(_______, _______)}, +}; +#endif +// clang-format on + +bool is_keyboard_master(void) { + setPinInput(SPLIT_HAND_PIN); + return readPin(SPLIT_HAND_PIN); +} + From 9cffcf1bcb475a72c612158af5c7c80dedc16075 Mon Sep 17 00:00:00 2001 From: Sungkwang Lee Date: Sat, 23 Aug 2025 23:50:51 +0900 Subject: [PATCH 07/11] Update default keymap similar to the official one --- keymaps/via/keymap.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/keymaps/via/keymap.c b/keymaps/via/keymap.c index facf4ce..e24194a 100644 --- a/keymaps/via/keymap.c +++ b/keymaps/via/keymap.c @@ -17,31 +17,31 @@ enum layers { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BL] = LAYOUT( /* Base */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE, - 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_DEL, + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE, + 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_DEL, 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_PGUP, 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_UP, KC_PGDN, KC_LCTL, KC_LCMD, KC_LALT, KC_SPC, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [_FL] = LAYOUT( /* Base */ - 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, EE_CLR, _______, - RGB_MOD, KC_BT1, KC_BT2, KC_BT3, KC_2G4, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, KC_INS, - _______, KC_A, TO(_MBL), _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, _______, KC_HOME, - _______, _______, RGB_TOG, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_VAI, KC_END, - KC_FILP, GU_TOGG, _______, KC_BATQ, KC_BATQ, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI), + 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, EE_CLR, KC_MUTE, + RGB_MOD, KC_BT1, KC_BT2, KC_BT3, KC_2G4, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, RGB_HUD, RGB_HUI, KC_BSLS, KC_INS, + KC_CAPS, KC_A, TO(_MBL), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, RGB_SAD, RGB_SAI, KC_ENT, KC_HOME, + KC_LSFT, KC_Z, RGB_TOG, KC_C, KC_V, HS_BATQ, NK_TOGG, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, RGB_VAI, KC_END, + KC_FILP, GU_TOGG, KC_LALT, KC_BATQ, KC_SPC, KC_RALT, KC_NO, KC_RCTL, RGB_SPD, RGB_VAD, RGB_SPI), [_MBL] = LAYOUT( /* Base */ - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE, - 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_DEL, + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE, + 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_DEL, 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_PGUP, 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_UP, KC_PGDN, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, MO(_MFL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [_MFL] = LAYOUT( /* Base */ - 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, EE_CLR, _______, - RGB_MOD, KC_BT1, KC_BT2, KC_BT3, KC_2G4, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, KC_INS, - _______, TO(_BL), KC_S, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, _______, KC_HOME, - _______, _______, RGB_TOG, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_VAI, KC_END, - KC_FILP, _______, _______, KC_BATQ, KC_BATQ, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI), + 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, EE_CLR, KC_MUTE, + RGB_MOD, KC_BT1, KC_BT2, KC_BT3, KC_2G4, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, RGB_HUD, RGB_HUI, KC_BSLS, KC_INS, + KC_CAPS, TO(_BL), KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, RGB_SAD, RGB_SAI, KC_ENT, KC_HOME, + KC_LSFT, KC_Z, RGB_TOG, KC_C, KC_V, HS_BATQ, NK_TOGG, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, RGB_VAI, KC_END, + KC_FILP, KC_LALT, KC_LGUI, KC_BATQ, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, RGB_SPD, RGB_VAD, RGB_SPI), }; @@ -49,9 +49,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, - [1] = {ENCODER_CCW_CW(_______, _______)}, - [2] = {ENCODER_CCW_CW(_______, _______)}, - [3] = {ENCODER_CCW_CW(_______, _______)}, + [1] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [2] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [3] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, }; #endif // clang-format on From 920f0a52f696dc3185f9c441773b74c49838aeb6 Mon Sep 17 00:00:00 2001 From: Sungkwang Lee Date: Sat, 23 Aug 2025 23:50:52 +0900 Subject: [PATCH 08/11] Add modified via.json --- via.json | 271 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 271 insertions(+) create mode 100644 via.json diff --git a/via.json b/via.json new file mode 100644 index 0000000..3b2981c --- /dev/null +++ b/via.json @@ -0,0 +1,271 @@ +{ + "name": "EPOMAKER Split65", + "vendorId": "0x342d", + "productId": "0xe4c6", + "keycodes": ["qmk_lighting"], + "menus": [ + { + "label": "Lighting", + "content": [ + { + "label": "Backlight", + "content": [ + { + "label": "Brightness", + "type": "range", + "options": [0, 255], + "content": ["id_qmk_rgb_matrix_brightness", 3, 1] + }, + { + "label": "Effect", + "type": "dropdown", + "content": ["id_qmk_rgb_matrix_effect", 3, 2], + "options": [ + ["All Off", 0], + ["Solid Color", 1], + ["Alphas Mods", 2], + ["Gradient Up Down", 3], + ["Gradient Left Right", 4], + ["Breathing", 5], + ["Band Sat", 6], + ["Band Val", 7], + ["Band Pinwheel Sat", 8], + ["Band Pinwheel Val", 9], + ["Band Spiral Sat", 10], + ["Band Spiral Val", 11], + ["Cycle All", 12], + ["Cycle Left Right", 13], + ["Cycle Up Down", 14], + ["Rainbow Moving Chevron", 15], + ["Cycle Out In", 16], + ["Cycle Out In Dual", 17], + ["Cycle Pinwheel", 18], + ["Cycle Spiral", 19], + ["Dual Beacon", 20], + ["Rainbow Beacon", 21], + ["Rainbow Pinwheels", 22], + ["Raindrops", 23], + ["Jellybean Raindrops", 24], + ["Hue Breathing", 25], + ["Hue Pendulum", 26], + ["Hue Wave", 27], + ["Pixel Rain", 28], + ["Pixel Flow", 29], + ["Pixel Fractal", 30], + ["Typing Heatmap", 31], + ["Digital Rain", 32], + ["Solid Reactive Simple", 33], + ["Solid Reactive", 34], + ["Solid Reactive Wide", 35], + ["Solid Reactive Multiwide", 36], + ["Solid Reactive Cross", 37], + ["Solid Reactive Multicross", 38], + ["Solid Reactive Nexus", 39], + ["Solid Reactive Multinexus", 40], + ["Splash", 41], + ["Multisplash", 42], + ["Solid Splash", 43], + ["Solid Multisplash", 44], + ["Close All", 45] + ] + }, + { + "showIf": "{id_qmk_rgb_matrix_effect} != 0", + "label": "Effect Speed", + "type": "range", + "options": [0, 255], + "content": ["id_qmk_rgb_matrix_effect_speed", 3, 3] + }, + { + "showIf": "{id_qmk_rgb_matrix_effect} != 0 && {id_qmk_rgb_matrix_effect} != 24 && {id_qmk_rgb_matrix_effect} != 28 && {id_qmk_rgb_matrix_effect} != 29 && {id_qmk_rgb_matrix_effect} != 32", + "label": "Color", + "type": "color", + "content": ["id_qmk_rgb_matrix_color", 3, 4] + } + ] + } + ] + } + ], + "matrix": {"rows": 12, "cols": 9}, + "customKeycodes": [ + {"name": "BT DEV1","title": "BT Device 1","shortName": "DEV1"}, + {"name": "BT DEV2","title": "BT Device 2","shortName": "DEV2"}, + {"name": "BT DEV3","title": "BT Device 3","shortName": "DEV3"}, + {"name": "2.4G","title": "2.4G","shortName": "DEV 2.4G"}, + {"name": "RL_MOD","title": "RL_MOD","shortName": "RL_MOD"}, + {"name": "Batt Lvl", "title": "Battery Level", "shortName": "BatLv"}, + {"name": "Fn Flip", "title": "Swap F-row and Num-row", "shortName": "FnFlp"}, + {"name": "Batt Ind", "title": "Battery Indicator", "shortName": "BatInd"} + ], + "layouts": { + "keymap": + [ + [ + { + "c": "#777777" + }, + "1,0", + { + "c": "#cccccc" + }, + "1,1", + "1,2", + "1,3", + "1,4", + "1,5", + "1,6", + "7,0", + "7,1", + "7,2", + "7,3", + "7,4", + "7,5", + { + "c": "#aaaaaa", + "w": 2 + }, + "7,7", + { + "x": 0.25, + "c": "#cccccc" + }, + "7,8\n\n\n\n\n\n\n\n\ne0" + ], + [ + { + "c": "#aaaaaa", + "w": 1.5 + }, + "2,0", + { + "c": "#cccccc" + }, + "2,1", + "2,2", + "2,3", + "2,4", + "2,5", + "8,0", + "8,1", + "8,2", + "8,3", + "8,4", + "8,5", + "8,6", + { + "w": 1.5 + }, + "8,7", + { + "x": 0.25 + }, + "8,8" + ], + [ + { + "c": "#aaaaaa", + "w": 1.75 + }, + "3,0", + { + "c": "#cccccc" + }, + "3,1", + "3,2", + "3,3", + "3,4", + "3,5", + "9,0", + "9,1", + "9,2", + "9,3", + "9,4", + "9,5", + { + "c": "#777777", + "w": 2.25 + }, + "9,7", + { + "x": 0.25, + "c": "#cccccc" + }, + "9,8" + ], + [ + { + "c": "#aaaaaa", + "w": 2.25 + }, + "4,0", + { + "c": "#cccccc" + }, + "4,1", + "4,2", + "4,3", + "4,4", + "4,5", + "10,0", + "10,1", + "10,2", + "10,3", + "10,4", + { + "c": "#aaaaaa", + "w": 1.75 + }, + "10,6", + { + "c": "#cccccc" + }, + "10,7", + { + "x": 0.25 + }, + "10,8" + ], + [ + { + "c": "#aaaaaa", + "w": 1.25 + }, + "5,0", + { + "w": 1.25 + }, + "5,1", + { + "w": 1.25 + }, + "5,2", + { + "c": "#cccccc", + "w": 3 + }, + "5,5", + { + "w": 3 + }, + "11,1", + { + "c": "#aaaaaa" + }, + "11,3", + "11,4", + "11,5", + "11,6", + { + "w": 1.25 + }, + "11,7", + { + "x": 0.25, + "c": "#cccccc" + }, + "11,8" + ] + ] + } +} From 2f7b29e67ced85c30875e7d67795a7698ea7481b Mon Sep 17 00:00:00 2001 From: Sungkwang Lee Date: Sat, 23 Aug 2025 23:50:52 +0900 Subject: [PATCH 09/11] Make WIRELESS_ENABLE configurable --- rgb_record/rgb_record.c | 2 ++ rgb_record/rgb_record.h | 2 ++ split65.c | 18 +++++++++++++++++- wls/wls.mk | 3 +++ 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/rgb_record/rgb_record.c b/rgb_record/rgb_record.c index d0cf96a..e9ece41 100644 --- a/rgb_record/rgb_record.c +++ b/rgb_record/rgb_record.c @@ -318,6 +318,7 @@ void query(void) { #else rgb_matrix_set_color_all(0x00, 0x00, 0x00); #endif +#ifdef WIRELESS_ENABLE for (uint8_t i = 0; i < 10; i++) { uint8_t mi_index[10] = RGB_MATRIX_BAT_INDEX_MAP; if ((i < (*md_getp_bat() / 10)) || (i < 1)) { @@ -332,5 +333,6 @@ void query(void) { rgb_matrix_set_color(mi_index[i], 0x00, 0x00, 0x00); } } +#endif } } diff --git a/rgb_record/rgb_record.h b/rgb_record/rgb_record.h index acb01fb..5e3b8b0 100644 --- a/rgb_record/rgb_record.h +++ b/rgb_record/rgb_record.h @@ -24,7 +24,9 @@ #include "color.h" #include "eeprom.h" #include "quantum.h" +#ifdef WIRELESS_ENABLE #include "wireless.h" +#endif #define HS_GET_H(value) ((uint8_t)(value >> 8)) #define HS_GET_S(value) ((uint8_t)(value & 0xFF)) diff --git a/split65.c b/split65.c index 4aa48dd..240766e 100644 --- a/split65.c +++ b/split65.c @@ -2,11 +2,11 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H -#include "wls/wls.h" #include "rgb_record/rgb_record.h" #include "quantum.h" #include "serial_usart.h" #ifdef WIRELESS_ENABLE +# include "wls/wls.h" # include "wireless.h" # include "usb_main.h" # include "lowpower.h" @@ -199,7 +199,9 @@ void keyboard_post_init_kb(void) { start_hsv = rgb_matrix_get_hsv(); +#ifdef WIRELESS_ENABLE pov = *md_getp_bat(); +#endif // usart_init(); transaction_register_rpc(USER_SYNC_MMS, user_sync_mms_slave_handler); } @@ -391,9 +393,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { rgb_matrix_set_color_all(0x00, 0x00, 0x00); } +#ifdef WIRELESS_ENABLE if (*md_getp_state() == MD_STATE_CONNECTED) { hs_rgb_blink_set_timer(timer_read32()); } +#endif switch (keycode) { case MO(_FL): @@ -1135,11 +1139,13 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { return true; } break; +#ifdef WIRELESS_ENABLE case HS_BATQ: { extern bool rk_bat_req_flag; rk_bat_req_flag = (confinfo.devs != DEVS_USB) && record->event.pressed; return false; } break; +#endif default: break; @@ -1149,6 +1155,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { } void housekeeping_task_user(void) { // loop +#ifdef WIRELESS_ENABLE uint8_t hs_now_mode; static uint32_t hs_current_time; @@ -1170,13 +1177,16 @@ void housekeeping_task_user(void) { // loop md_send_devctrl(hs_now_mode); md_send_devctrl(MD_SND_CMD_DEVCTRL_INQVOL); } +#endif if (is_keyboard_master()) { static uint32_t last_sync = 0; if (timer_elapsed32(last_sync) > 2000) { last_sync = timer_read32(); +#ifdef WIRELESS_ENABLE pov = *md_getp_bat(); master_sync_mms_slave(wireless_get_current_devs(), wireless_get_current_devs(), pov); +#endif } } } @@ -1562,12 +1572,16 @@ void hs_reset_settings(void) { return; } +#ifdef WIRELESS_ENABLE hs_rgb_blink_set_timer(timer_read32()); +#endif keyboard_post_init_kb(); } void lpwr_wakeup_hook(void) { +#ifdef WIRELESS_ENABLE hs_mode_scan(false, confinfo.devs, confinfo.last_btdevs); +#endif if (rgb_matrix_get_val() != 0){ gpio_write_pin_high(LED_POWER_EN_PIN); @@ -1586,7 +1600,9 @@ void user_sync_mms_slave_handler(uint8_t in_buflen, const void* in_data, uint8_t switch(m2s->cmd) { case 0x55: //sync multimode +#ifdef WIRELESS_ENABLE wireless_devs_change(m2s->body[0], m2s->body[1], false); +#endif s2m->resp = 0x00; break; case 0xDD: diff --git a/wls/wls.mk b/wls/wls.mk index fe053a4..dcaaf0d 100644 --- a/wls/wls.mk +++ b/wls/wls.mk @@ -1 +1,4 @@ +WIRELESS_ENABLE ?= yes +ifeq ($(strip $(WIRELESS_ENABLE)), yes) SRC += wls/wls.c +endif From cf957f81ef3d9e05a3055de39d210f140db32034 Mon Sep 17 00:00:00 2001 From: Sungkwang Lee Date: Sat, 23 Aug 2025 23:50:52 +0900 Subject: [PATCH 10/11] Make compatible with latest QMK release 1. EECONFIG_USER_DATABLOCK is no longer exposed. Replaced with public APIs nvm_eeconfig_(read|update)_user_datablock(). 2. Explicitly define UART related macros. https://github.com/qmk/qmk_firmware/pull/24855 removed some of deprecated macros and it breaks wireless functionality. 3. keyboard_protocol is no longer exposed. Replaced with public APIs usb_device_state_(set|get)_protocol(). 4. Synced a raw_hid() call site in via.c. 5. eeconfig_(read|update)_keymap() has been changed. --- config.h | 12 +++++++----- linker/wireless/md_raw.h | 2 +- linker/wireless/rgb_matrix_blink.c | 1 + linker/wireless/transport.c | 7 ++++--- rgb_record/rgb_record.c | 22 ++++++++++++---------- split65.c | 4 ++-- 6 files changed, 27 insertions(+), 21 deletions(-) diff --git a/config.h b/config.h index 75d864d..8aa63bc 100644 --- a/config.h +++ b/config.h @@ -54,9 +54,11 @@ #define HS_RGB_BLINK_INDEX_MAC 14 /* UART */ -#define SERIAL_DRIVER SD3 -#define SD1_TX_PIN C10 -#define SD1_RX_PIN C11 +#define UART_DRIVER SD3 +#define UART_TX_PIN C10 +#define UART_RX_PIN C11 +#define UART_TX_PAL_MODE 7 +#define UART_RX_PAL_MODE 7 #define SERIAL_USART_DRIVER SD1 #define SERIAL_USART_TX_PIN A9 @@ -99,5 +101,5 @@ #define EECONFIG_CONFINFO_USE_SIZE (4 + 16) #define EECONFIG_RGBREC_USE_SIZE (RGBREC_CHANNEL_NUM * MATRIX_ROWS * MATRIX_COLS * 2) #define EECONFIG_USER_DATA_SIZE (EECONFIG_RGBREC_USE_SIZE + EECONFIG_CONFINFO_USE_SIZE) -#define RGBREC_EECONFIG_ADDR (uint8_t *)(EECONFIG_USER_DATABLOCK) -#define CONFINFO_EECONFIG_ADDR (uint32_t *)((uint32_t)RGBREC_EECONFIG_ADDR + (uint32_t)EECONFIG_RGBREC_USE_SIZE) +#define RGBREC_EECONFIG_OFFSET 0 +#define CONFINFO_EECONFIG_OFFSET (RGBREC_EECONFIG_OFFSET + (uint32_t)EECONFIG_RGBREC_USE_SIZE) diff --git a/linker/wireless/md_raw.h b/linker/wireless/md_raw.h index 597da13..9ec762b 100644 --- a/linker/wireless/md_raw.h +++ b/linker/wireless/md_raw.h @@ -7,4 +7,4 @@ #define COMBINE(A, B) A##B #define raw_hid_send(a, b) RENAME_WITH_LINE(_temp_rhs_, __LINE__)(a, b) #define _temp_rhs_29 replaced_hid_send // raw_hid.h -#define _temp_rhs_461 replaced_hid_send // via.c +#define _temp_rhs_464 replaced_hid_send // via.c diff --git a/linker/wireless/rgb_matrix_blink.c b/linker/wireless/rgb_matrix_blink.c index dca8466..80366fd 100644 --- a/linker/wireless/rgb_matrix_blink.c +++ b/linker/wireless/rgb_matrix_blink.c @@ -1,6 +1,7 @@ // Copyright 2024 JoyLee (@itarze) // SPDX-License-Identifier: GPL-2.0-or-later +#include #include "rgb_matrix.h" #include "rgb_matrix_blink.h" #include "timer.h" diff --git a/linker/wireless/transport.c b/linker/wireless/transport.c index 04ddf74..a8dd23e 100644 --- a/linker/wireless/transport.c +++ b/linker/wireless/transport.c @@ -3,6 +3,7 @@ #include "quantum.h" #include "module.h" +#include "usb_device_state.h" #include "usb_main.h" #include "transport.h" @@ -22,7 +23,7 @@ void wls_transport_enable(bool enable) { if (enable) { if (host_get_driver() != &wireless_driver) { host_set_driver(&wireless_driver); - keyboard_protocol = true; // default with true + usb_device_state_set_protocol(USB_PROTOCOL_REPORT); // default with true } } else { if (*md_getp_state() == MD_STATE_CONNECTED) { @@ -120,7 +121,7 @@ void usb_remote_wakeup(void) { /* Woken up */ } #else - + if ((USB_DRIVER.state == USB_SUSPENDED)) { if (!suspend_timer) suspend_timer = sync_timer_read32(); if (sync_timer_elapsed32(suspend_timer) >= USB_POWER_DOWN_DELAY) { @@ -167,4 +168,4 @@ bool process_action_kb(keyrecord_t *record) { return true; } -#endif \ No newline at end of file +#endif diff --git a/rgb_record/rgb_record.c b/rgb_record/rgb_record.c index e9ece41..249d3f3 100644 --- a/rgb_record/rgb_record.c +++ b/rgb_record/rgb_record.c @@ -4,6 +4,7 @@ #include "rgb_record.h" #include "rgb_matrix.h" #include "eeprom.h" +#include "quantum/nvm/nvm_eeconfig.h" #define RGBREC_STATE_ON 1 #define RGBREC_STATE_OFF 0 @@ -121,14 +122,14 @@ bool rgbrec_start(uint8_t channel) { } void rgbrec_update_current_channel(uint8_t channel) { - uint32_t addr = 0; + uint32_t offset = 0; if (channel >= RGBREC_CHANNEL_NUM) { return; } - addr = (uint32_t)(RGBREC_EECONFIG_ADDR) + (channel * sizeof(rgbrec_buffer)); - eeprom_update_block(rgbrec_buffer, (void *)addr, sizeof(rgbrec_buffer)); + offset = (uint32_t)(RGBREC_EECONFIG_OFFSET) + (channel * sizeof(rgbrec_buffer)); + nvm_eeconfig_update_user_datablock(rgbrec_buffer, offset, sizeof(rgbrec_buffer)); } bool rgbrec_end(uint8_t channel) { @@ -185,15 +186,15 @@ void rgbrec_set_close_all(uint8_t h, uint8_t s, uint8_t v) { } void rgbrec_read_current_channel(uint8_t channel) { - uint32_t addr = 0; + uint32_t offset = 0; if (channel >= RGBREC_CHANNEL_NUM) { return; } - addr = (uint32_t)(RGBREC_EECONFIG_ADDR) + (channel * sizeof(rgbrec_buffer)); - eeprom_read_block(rgbrec_buffer, (void *)addr, sizeof(rgbrec_buffer)); + offset = (uint32_t)(RGBREC_EECONFIG_OFFSET) + (channel * sizeof(rgbrec_buffer)); + nvm_eeconfig_read_user_datablock(rgbrec_buffer, offset, sizeof(rgbrec_buffer)); } bool rgbrec_is_started(void) { @@ -265,8 +266,9 @@ void record_rgbmatrix_increase(uint8_t *last_mode) { uint8_t record_color_read_data(void) { uint8_t hs_mode = find_index(); - const uint8_t *ptr = (const uint8_t *)(((uint32_t)CONFINFO_EECONFIG_ADDR + 4) + hs_mode); - uint8_t hs_c = eeprom_read_byte(ptr); + const uint32_t offset = (((uint32_t)CONFINFO_EECONFIG_OFFSET + 4) + hs_mode); + uint8_t hs_c; + nvm_eeconfig_read_user_datablock(&hs_c, offset, 1); if (hs_c > RGB_HSV_MAX) { return 0; @@ -302,8 +304,8 @@ uint8_t record_color_hsv(bool status) { rgb_matrix_sethsv(rgb_hsvs[rgb_hsv_index][0], rgb_hsvs[rgb_hsv_index][1], rgb_matrix_get_val()); - uint8_t *ptr = (uint8_t *)(((uint32_t)CONFINFO_EECONFIG_ADDR + 4) + find_index()); - eeprom_write_byte(ptr, rgb_hsv_index); + uint32_t offset = ((uint32_t)CONFINFO_EECONFIG_OFFSET + 4) + find_index(); + nvm_eeconfig_update_user_datablock(&rgb_hsv_index, offset, 1); return rgb_hsv_index; } diff --git a/split65.c b/split65.c index 240766e..c5ea81f 100644 --- a/split65.c +++ b/split65.c @@ -1557,11 +1557,11 @@ void hs_reset_settings(void) { rgblight_enable(); #endif - keymap_config.raw = eeconfig_read_keymap(); + eeconfig_read_keymap(&keymap_config); #if defined(NKRO_ENABLE) && defined(FORCE_NKRO) keymap_config.nkro = 0; - eeconfig_update_keymap(keymap_config.raw); + eeconfig_update_keymap(&keymap_config); #endif // #if defined(WIRELESS_ENABLE) From 151e42060adb00e2fe1baee2fa26cd629f77e046 Mon Sep 17 00:00:00 2001 From: Sungkwang Lee Date: Sat, 23 Aug 2025 23:50:52 +0900 Subject: [PATCH 11/11] Update instructions --- howto.jpg | Bin 0 -> 330052 bytes readme.md | 19 +++++++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 howto.jpg diff --git a/howto.jpg b/howto.jpg new file mode 100644 index 0000000000000000000000000000000000000000..060e9e466a4a9cdd8b0404e608821e2f9ee97924 GIT binary patch literal 330052 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 z

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

Sq29B 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]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