summaryrefslogtreecommitdiff
path: root/app/src/split
AgeCommit message (Collapse)Author
2021-01-20refactor(core): Extra event payloads to own types, refactor API.Pete Johanson
* Make it easier to use *just* event payloads by defining the data, and then having event manager macros generate "wrapper structs" * Improve is_*/cast_* APIs to hide details of full event struct. * Create `zmk_event_t` typedef to pass to event handlers. * Bring event names inline w/ consistent `zmk_` prefix.
2021-01-20refactor(core): Extra position state change data struct.Pete Johanson
* Separate header and data struct for the event. * Remove duplicate struct in split code.
2021-01-15fix(splits): Send pos notify from dedicated threadPete Johanson
* Avoid deadlocks by using a deadicated workqueue for sending position state notifications from peripherals.
2021-01-15fix(ble): Perform GATT notifies from dedicated queue.Pete Johanson
* Zephyr BT stack frees TX buffers from system workqueue, and to avoid blocking waiting to allocate, perform notify from a dedicated queue.
2021-01-15fix(split): Use queue/work for peripheral events.Pete Johanson
* Avoid corruption by using work to process peripheral key position events on the main work thread, like local kscan events are. * Fixes #221
2020-12-28refactor: replace filename hyphens with underscoresinnovaker
Aligns *.h and *.c to underscore naming convention. These were kept (with warnings) for backwards compatibility with external boards/shields: - kscan-mock.h - matrix-transform.h They should be removed in the future. PR: #523
2020-12-14refactor(app): replace `struct device *` with `const struct device *`innovaker
Replaced with RegExp: /(?<!const )(struct device \*)/g See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html PR: #467
2020-12-14refactor(app): replace Zephyr integer types with C99 integer typesinnovaker
u8_t → uint8_t u16_t → uint16_t u32_t → uint32_t u64_t → uint64_t s8_t → int8_t s16_t → int16_t s32_t → int32_t s64_t → int64_t Prerequisite for #223 See: https://github.com/zephyrproject-rtos/zephyr/releases/tag/zephyr-v2.4.0 PR: #467
2020-11-11Fix connection to incorrect peripheralXudong Zheng
2020-10-10Add timestamps to position and behavior events (#147)Okke Formsma
* Add timestamps to position events and behaviors. - Take original event timestamps into consideration so nested tap-holds have proper timing. - Add position and timestamp to keycode state changed event so the one-shot behavior can properly identify other keypresses and timings. - Add timestamp to position events received from peripheral * reduce number of arguments to behaviors
2020-09-14chore: clang-format the codebase.Pete Johanson
* Use the LLVM style * Override indent width (8) and column limit (100) * Fixes #142.
2020-09-13feat(bluetooth): Add back profiles, split fixes.Pete Johanson
* 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.
2020-09-13feat(bluetooth): Proper bond management, identity support for non-splitsPete Johanson
* Add `bt` behavior that can be used to perform certain actions, such as next/prev identity, reset identity, etc. NOTE: Multiple identities is only supported for non-split shields, due to missing Zephyr identity functionality for dual central/peripheral devices. * Proper bond reset tied to action, that honors peripheral bonds, so folks can reset and pair to other hosts, without breaking bonds between splt halves.
2020-09-10fix: Switch to single AUTHORS file.* Closes #164Pete Johanson
2020-08-02Add two solutions to param updatesNick
2020-08-02Fix interval update, add PHY updateNick
2020-07-20Improved function naming for central functions.Pete Johanson
2020-07-20Replace magic 16 with sane constant.Pete Johanson
2020-07-19Fixed min/max.Pete Johanson
2020-07-19Connection params tweaks.Pete Johanson
2020-07-17More split implementation.Pete Johanson
* Propogate key position state changes on central. * Various BLE tweaks.
2020-07-17Swtich to SYS_INIT.Pete Johanson
2020-07-17Lots of work on split peripheral/central logic.Pete Johanson
2020-07-17Initial work on split central support.Pete Johanson
2020-07-17Initial exploration of split BLE service.Pete Johanson
* Service for split peripheral to report position state to split central. * Updated advertising info. * Behavior for split BT until we have a proper event system.