summaryrefslogtreecommitdiff
path: root/app/include/zmk
diff options
context:
space:
mode:
authorPete Johanson <peter@peterjohanson.com>2020-09-08 23:26:00 -0400
committerPete Johanson <peter@peterjohanson.com>2020-09-13 22:33:29 -0400
commit39f980a06dac1769e4f09abaf19d3ccbb4b34e67 (patch)
tree01ca7749443822591e62087bcade5d321974defd /app/include/zmk
parente88d0833c5f8ddd2b8a9b93ab7b6d03c141f8463 (diff)
feat(bluetooth): Add back profiles, split fixes.
* Add back in profiles, not using Zephyr BT identity infrastructure. * Restore additional `&bt` commands for profile operations. * Fix for split pairing and subscriptions, since Zephyr persists subscriptions across connects. * Remove keymap from peripheral builds, reduces firmware size, and avoids unneeded attempts to send HID data.
Diffstat (limited to 'app/include/zmk')
-rw-r--r--app/include/zmk/ble.h9
-rw-r--r--app/include/zmk/ble/profile.h16
-rw-r--r--app/include/zmk/events/ble-active-profile-changed.h22
3 files changed, 45 insertions, 2 deletions
diff --git a/app/include/zmk/ble.h b/app/include/zmk/ble.h
index 62d476e..1cf71a7 100644
--- a/app/include/zmk/ble.h
+++ b/app/include/zmk/ble.h
@@ -6,11 +6,16 @@
#pragma once
-#include <bluetooth/addr.h>
#include <zmk/keys.h>
-
+#include <zmk/ble/profile.h>
int zmk_ble_clear_bonds();
+int zmk_ble_prof_next();
+int zmk_ble_prof_prev();
+int zmk_ble_prof_select(u8_t index);
+
+bt_addr_le_t *zmk_ble_active_profile_addr();
+char *zmk_ble_active_profile_name();
int zmk_ble_unpair_all();
bool zmk_ble_handle_key_user(struct zmk_key_event *key_event);
diff --git a/app/include/zmk/ble/profile.h b/app/include/zmk/ble/profile.h
new file mode 100644
index 0000000..9a79c6d
--- /dev/null
+++ b/app/include/zmk/ble/profile.h
@@ -0,0 +1,16 @@
+/*
+ * Copyright (c) 2020 Peter Johanson <peter@peterjohanson.com>
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#pragma once
+
+#include <bluetooth/addr.h>
+
+#define ZMK_BLE_PROFILE_NAME_MAX 15
+
+struct zmk_ble_profile {
+ char name[ZMK_BLE_PROFILE_NAME_MAX];
+ bt_addr_le_t peer;
+};
diff --git a/app/include/zmk/events/ble-active-profile-changed.h b/app/include/zmk/events/ble-active-profile-changed.h
new file mode 100644
index 0000000..c464236
--- /dev/null
+++ b/app/include/zmk/events/ble-active-profile-changed.h
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2020 Peter Johanson <peter@peterjohanson.com>
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#pragma once
+
+#include <zephyr.h>
+#include <zmk/event-manager.h>
+#include <device.h>
+
+#include <zmk/ble/profile.h>
+
+
+struct ble_active_profile_changed {
+ struct zmk_event_header header;
+ u8_t index;
+ struct zmk_ble_profile *profile;
+};
+
+ZMK_EVENT_DECLARE(ble_active_profile_changed);