diff --git a/app/Kconfig b/app/Kconfig index 8ae10ad2..c2a753f2 100644 --- a/app/Kconfig +++ b/app/Kconfig @@ -40,6 +40,8 @@ menuconfig ZMK_BLE select BT_PERIPHERAL select BT_GATT_DIS select BT_GATT_BAS + select SETTINGS + select BT_SETTINGS if ZMK_BLE @@ -47,6 +49,9 @@ config ZMK_BLE_INIT_PRIORITY int "Init Priority" default 50 +config SYSTEM_WORKQUEUE_STACK_SIZE + default 2048 + # HID GATT notifications sent this way are *not* picked up by Linux, and possibly others. config BT_GATT_NOTIFY_MULTIPLE default n @@ -58,16 +63,6 @@ config ZMK_BLE_PASSKEY_ENTRY bool "Experimental: Requiring typing passkey from host to pair BLE connection" default n -# Incresed stack due to settings API usage -# CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048 -# -# CONFIG_BT_SETTINGS=y -# CONFIG_FLASH=y -# CONFIG_FLASH_PAGE_LAYOUT=y -# CONFIG_FLASH_MAP=y -# CONFIG_NVS=y -# CONFIG_SETTINGS=y - endif endmenu @@ -97,6 +92,13 @@ config ZMK_SPLIT_BLE_ROLE_CENTRAL select BT_CENTRAL select BT_GATT_CLIENT +if ZMK_SPLIT_BLE_ROLE_CENTRAL + +config BT_MAX_CONN + default 2 + +endif + config ZMK_SPLIT_BLE_ROLE_PERIPHERAL bool "Peripheral" diff --git a/app/boards/arm/nice_nano/nice_nano_defconfig b/app/boards/arm/nice_nano/nice_nano_defconfig index f9be0ee8..393d61fe 100644 --- a/app/boards/arm/nice_nano/nice_nano_defconfig +++ b/app/boards/arm/nice_nano/nice_nano_defconfig @@ -11,3 +11,10 @@ CONFIG_ARM_MPU=y CONFIG_GPIO=y CONFIG_USE_DT_CODE_PARTITION=y + +CONFIG_MPU_ALLOW_FLASH_WRITE=y +CONFIG_NVS=y +CONFIG_SETTINGS_NVS=y +CONFIG_FLASH=y +CONFIG_FLASH_PAGE_LAYOUT=y +CONFIG_FLASH_MAP=y \ No newline at end of file diff --git a/app/boards/shields/kyria/Kconfig.defconfig b/app/boards/shields/kyria/Kconfig.defconfig index 9ce12d96..bc0a7b82 100644 --- a/app/boards/shields/kyria/Kconfig.defconfig +++ b/app/boards/shields/kyria/Kconfig.defconfig @@ -1,8 +1,20 @@ -if SHIELD_KYRIA_LEFT || SHIELD_KYRIA_RIGHT +if SHIELD_KYRIA_LEFT config ZMK_KEYBOARD_NAME - default "Kyria" + default "Kyria Left" + +endif + + +if SHIELD_KYRIA_RIGHT + +config ZMK_KEYBOARD_NAME + default "Kyria Right" + +endif + +if SHIELD_KYRIA_LEFT || SHIELD_KYRIA_RIGHT config ZMK_SPLIT default y diff --git a/app/src/ble.c b/app/src/ble.c index 3cbb14de..809575d2 100644 --- a/app/src/ble.c +++ b/app/src/ble.c @@ -128,8 +128,11 @@ static struct bt_conn_auth_cb zmk_ble_auth_cb_display = { static const struct bt_data zmk_ble_ad[] = { BT_DATA_BYTES(BT_DATA_FLAGS, (BT_LE_AD_GENERAL | BT_LE_AD_NO_BREDR)), BT_DATA_BYTES(BT_DATA_UUID16_SOME, +#if !IS_ENABLED(CONFIG_ZMK_SPLIT_BLE) 0x12, 0x18, /* HID Service */ - 0x0f, 0x18), /* Battery Service */ +#endif + 0x0f, 0x18 /* Battery Service */ + ), #if IS_ENABLED(CONFIG_ZMK_SPLIT_BLE) BT_DATA_BYTES(BT_DATA_UUID128_ALL, ZMK_SPLIT_BT_SERVICE_UUID) @@ -155,10 +158,6 @@ static void zmk_ble_ready(int err) static int zmk_ble_init(struct device *_arg) { - if (IS_ENABLED(CONFIG_SETTINGS)) - { - settings_load(); - } int err = bt_enable(NULL); if (err) @@ -167,6 +166,11 @@ static int zmk_ble_init(struct device *_arg) return err; } + if (IS_ENABLED(CONFIG_BT_SETTINGS)) + { + settings_load(); + } + bt_conn_cb_register(&conn_callbacks); bt_conn_auth_cb_register(&zmk_ble_auth_cb_display); diff --git a/app/src/main.c b/app/src/main.c index b7d3a4b8..e7553042 100644 --- a/app/src/main.c +++ b/app/src/main.c @@ -16,10 +16,6 @@ LOG_MODULE_REGISTER(zmk, CONFIG_ZMK_LOG_LEVEL); #include #include -#ifdef CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL -#include -#endif /* CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL */ - #define ZMK_KSCAN_DEV DT_LABEL(ZMK_MATRIX_NODE_ID) void main(void) @@ -30,8 +26,4 @@ void main(void) { return; } - -#ifdef CONFIG_SETTINGS - settings_load(); -#endif }