summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorPete Johanson <peter@peterjohanson.com>2020-07-16 15:50:41 -0400
committerPete Johanson <peter@peterjohanson.com>2020-07-17 22:43:40 -0400
commit6701b7babc68cb8090a9d16105bd3876025aa0e8 (patch)
tree11ef4aeb7db0de9fb36b9913865bfedf5c59eaec /app
parent0321c490b5d0d087e76c06185a2940420cf7ab4c (diff)
Working BT settings.
Diffstat (limited to 'app')
-rw-r--r--app/Kconfig22
-rw-r--r--app/boards/arm/nice_nano/nice_nano_defconfig7
-rw-r--r--app/boards/shields/kyria/Kconfig.defconfig16
-rw-r--r--app/src/ble.c14
-rw-r--r--app/src/main.c8
5 files changed, 42 insertions, 25 deletions
diff --git a/app/Kconfig b/app/Kconfig
index 8ae10ad..c2a753f 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 f9be0ee..393d61f 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 9ce12d9..bc0a7b8 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 3cbb14d..809575d 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 b7d3a4b..e755304 100644
--- a/app/src/main.c
+++ b/app/src/main.c
@@ -16,10 +16,6 @@ LOG_MODULE_REGISTER(zmk, CONFIG_ZMK_LOG_LEVEL);
#include <zmk/kscan.h>
#include <zmk/endpoints.h>
-#ifdef CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL
-#include <zmk/split/bluetooth/central.h>
-#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
}