From 4b079b93093b94ad0dc5adc3c84cb94812e38f29 Mon Sep 17 00:00:00 2001 From: Peter Johanson Date: Wed, 1 Jan 2025 13:48:14 -0700 Subject: [PATCH] test(split): Test peripheral run behavior. Add test for triggering local behaviors on split peripherals. --- .../run-peripheral-behavior/events.patterns | 1 + .../run-peripheral-behavior/nrf52_bsim.conf | 1 + .../run-peripheral-behavior/nrf52_bsim.keymap | 19 +++++++++++++++ .../peripheral.overlay | 10 ++++++++ .../run-peripheral-behavior/siblings.txt | 2 ++ .../run-peripheral-behavior/snapshot.log | 23 +++++++++++++++++++ 6 files changed, 56 insertions(+) create mode 100644 app/tests/ble/split/run-peripheral-behavior/events.patterns create mode 100644 app/tests/ble/split/run-peripheral-behavior/nrf52_bsim.conf create mode 100644 app/tests/ble/split/run-peripheral-behavior/nrf52_bsim.keymap create mode 100644 app/tests/ble/split/run-peripheral-behavior/peripheral.overlay create mode 100644 app/tests/ble/split/run-peripheral-behavior/siblings.txt create mode 100644 app/tests/ble/split/run-peripheral-behavior/snapshot.log diff --git a/app/tests/ble/split/run-peripheral-behavior/events.patterns b/app/tests/ble/split/run-peripheral-behavior/events.patterns new file mode 100644 index 00000000000..01188623b7a --- /dev/null +++ b/app/tests/ble/split/run-peripheral-behavior/events.patterns @@ -0,0 +1 @@ +s/^d_03: @[0-9][0-9]:[0-9][0-9]:[0-9][0-9].[0-9][0-9][0-9][0-9][0-9][0-9] .{19}/peripheral 0 /p diff --git a/app/tests/ble/split/run-peripheral-behavior/nrf52_bsim.conf b/app/tests/ble/split/run-peripheral-behavior/nrf52_bsim.conf new file mode 100644 index 00000000000..ea5f08aa7cf --- /dev/null +++ b/app/tests/ble/split/run-peripheral-behavior/nrf52_bsim.conf @@ -0,0 +1 @@ +CONFIG_ZMK_SPLIT=y \ No newline at end of file diff --git a/app/tests/ble/split/run-peripheral-behavior/nrf52_bsim.keymap b/app/tests/ble/split/run-peripheral-behavior/nrf52_bsim.keymap new file mode 100644 index 00000000000..fd6fa9d952e --- /dev/null +++ b/app/tests/ble/split/run-peripheral-behavior/nrf52_bsim.keymap @@ -0,0 +1,19 @@ +#include +#include +#include + +&kscan { + /delete-property/ exit-after; + events = <>; +}; +/ { + keymap { + compatible = "zmk,keymap"; + + default_layer { + bindings = < + &kp A &kp B + &kp C &sys_reset>; + }; + }; +}; diff --git a/app/tests/ble/split/run-peripheral-behavior/peripheral.overlay b/app/tests/ble/split/run-peripheral-behavior/peripheral.overlay new file mode 100644 index 00000000000..82a3f777be7 --- /dev/null +++ b/app/tests/ble/split/run-peripheral-behavior/peripheral.overlay @@ -0,0 +1,10 @@ + +#include + + +&kscan { + events = + ; +}; \ No newline at end of file diff --git a/app/tests/ble/split/run-peripheral-behavior/siblings.txt b/app/tests/ble/split/run-peripheral-behavior/siblings.txt new file mode 100644 index 00000000000..ed3f46f1b6b --- /dev/null +++ b/app/tests/ble/split/run-peripheral-behavior/siblings.txt @@ -0,0 +1,2 @@ +./ble_test_central.exe -d=2 +./tests_ble_split_run-peripheral-behavior_peripheral.exe -d=3 diff --git a/app/tests/ble/split/run-peripheral-behavior/snapshot.log b/app/tests/ble/split/run-peripheral-behavior/snapshot.log new file mode 100644 index 00000000000..d281cc67cce --- /dev/null +++ b/app/tests/ble/split/run-peripheral-behavior/snapshot.log @@ -0,0 +1,23 @@ +peripheral 0 OS build 702e50c58f67 *** +peripheral 0 bt_hci_core: HW Platform: Nordic Semiconductor (0x0002) +peripheral 0 bt_hci_core: HW Variant: nRF52x (0x0002) +peripheral 0 bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 3.5 Build 0 +peripheral 0 bt_id: No static addresses stored in controller +peripheral 0 bt_hci_core: Identity: D1:0B:03:A3:ED:6F (random) +peripheral 0 bt_hci_core: HCI: version 5.4 (0x0d) revision 0x0000, manufacturer 0x05f1 +peripheral 0 bt_hci_core: LMP: version 5.4 (0x0d) subver 0xffff +peripheral 0 zmk: kscan_mock_schedule_next_event_0: delaying next keypress: 5000 +peripheral 0 zmk: Welcome to ZMK! +peripheral 0 zmk: security_changed: Security changed: FD:9E:B2:48:47:39 (random) level 2 +peripheral 0 zmk: split_svc_pos_state_ccc: value 1 +peripheral 0 zmk: split_svc_select_phys_layout_callback: Selecting physical layout after GATT write of 0 +peripheral 0 zmk: kscan_mock_work_handler_0: ev 327680000 row 0 column 0 state 0 +peripheral 0 zmk: kscan_mock_schedule_next_event_0: delaying next keypress: 5000 +peripheral 0 zmk: zmk_physical_layouts_kscan_process_msgq: Row: 0, col: 0, position: 0, pressed: false +peripheral 0 zmk: split_listener: +peripheral 0 zmk: kscan_mock_work_handler_0: ev 2475163905 row 1 column 1 state 1 +peripheral 0 zmk: kscan_mock_schedule_next_event_0: delaying next keypress: 5000 +peripheral 0 zmk: zmk_physical_layouts_kscan_process_msgq: Row: 1, col: 1, position: 3, pressed: true +peripheral 0 zmk: split_listener: +peripheral 0 zmk: split_svc_run_behavior: offset 0 len 20 +peripheral 0 zmk: split_svc_run_behavior: sysreset with params 0 0: pressed? 1