From 88ff0aa891babb4f3ec3a9f9cd8a171f0c84138f Mon Sep 17 00:00:00 2001 From: Vince Speelman Date: Thu, 5 Nov 2026 20:29:01 -0500 Subject: [PATCH 01/11] Add an advertise-only Bluetooth test image (make ble) A separate build target that links JieLi's Apache-2.0 LE controller (third_party/jieli-ble) into the normal firmware and sends one scannable advertisement named OpenPocket-BLE-TEST with the BLE-MIDI service UUID. No connections, pairing or MIDI over Bluetooth. The normal firmware and installer packages are byte-identical; the VM and BTIF areas are not touched. Built, linked and packaged; not yet run on a pedal (docs/BLE-TEST.md lists what is unverified). --- .dockerignore | 1 + .gitignore | 2 + Makefile | 8 +- NOTICE.md | 2 + README.md | 1 + docs/BLE-TEST.md | 116 ++++++ docs/BUILDING.md | 4 +- firmware/app.ld | 7 +- firmware/ble/ble_cfg.c | 60 +++ firmware/ble/ble_ctx.S | 29 ++ firmware/ble/ble_libc.c | 27 ++ firmware/ble/ble_os.c | 361 ++++++++++++++++++ firmware/ble/ble_os.h | 25 ++ firmware/ble/ble_rf.c | 29 ++ firmware/ble/ble_rf_tables.h | 3 + firmware/ble/ble_stubs.c | 205 ++++++++++ firmware/ble/ble_test.c | 72 ++++ firmware/build.sh | 27 +- firmware/openpocket.c | 29 ++ firmware/px_audio.h | 2 + tests/run_tests.sh | 2 + tests/test_ble_sources.mjs | 25 ++ tests/test_op.mjs | 7 +- .../jieli-ble/LICENSE-JieLi-Apache-2.0 | 201 ++++++++++ third_party/jieli-ble/MEMBERS | 37 ++ third_party/jieli-ble/README.md | 36 ++ third_party/jieli-ble/btctrler/RF.c.bc | Bin 0 -> 18888 bytes third_party/jieli-ble/btctrler/RF_ble.c.bc | Bin 0 -> 194040 bytes third_party/jieli-ble/btctrler/aes128.c.bc | Bin 0 -> 11220 bytes third_party/jieli-ble/btctrler/analog.c.bc | Bin 0 -> 26028 bytes .../jieli-ble/btctrler/analog_ble.c.bc | Bin 0 -> 21724 bytes third_party/jieli-ble/btctrler/btagc.c.bc | Bin 0 -> 4608 bytes .../jieli-ble/btctrler/btcontroller_heap.c.bc | Bin 0 -> 13920 bytes .../jieli-ble/btctrler/btcontroller_util.c.bc | Bin 0 -> 29156 bytes .../jieli-ble/btctrler/btctrler_task.c.bc | Bin 0 -> 38780 bytes .../jieli-ble/btctrler/device_manager.c.bc | Bin 0 -> 22492 bytes .../btctrler/h4_controller_interface.c.bc | Bin 0 -> 7408 bytes .../jieli-ble/btctrler/hci_controller.c.bc | Bin 0 -> 41492 bytes third_party/jieli-ble/btctrler/hci_ll.c.bc | Bin 0 -> 43448 bytes .../jieli-ble/btctrler/hci_ll_cmds.c.bc | Bin 0 -> 26620 bytes third_party/jieli-ble/btctrler/hw_dma.c.bc | Bin 0 -> 14804 bytes third_party/jieli-ble/btctrler/lbuf.c.bc | Bin 0 -> 28648 bytes .../jieli-ble/btctrler/le_low_power.c.bc | Bin 0 -> 35136 bytes .../jieli-ble/btctrler/link_layer.c.bc | Bin 0 -> 165648 bytes third_party/jieli-ble/btctrler/link_task.c.bc | Bin 0 -> 34384 bytes third_party/jieli-ble/btctrler/ll_adv.c.bc | Bin 0 -> 46240 bytes third_party/jieli-ble/btctrler/ll_afh.c.bc | Bin 0 -> 37700 bytes third_party/jieli-ble/btctrler/ll_events.c.bc | Bin 0 -> 47872 bytes third_party/jieli-ble/btctrler/ll_init.c.bc | Bin 0 -> 33424 bytes third_party/jieli-ble/btctrler/ll_keys.c.bc | Bin 0 -> 2552 bytes .../jieli-ble/btctrler/ll_resolve_list.c.bc | Bin 0 -> 28576 bytes third_party/jieli-ble/btctrler/ll_scan.c.bc | Bin 0 -> 31884 bytes third_party/jieli-ble/btctrler/ll_slave.c.bc | Bin 0 -> 58656 bytes third_party/jieli-ble/btctrler/ll_vendor.c.bc | Bin 0 -> 12764 bytes .../jieli-ble/btctrler/ll_white_list.c.bc | Bin 0 -> 11656 bytes third_party/jieli-ble/btctrler/misc_hw.c.bc | Bin 0 -> 3096 bytes third_party/jieli-ble/btctrler/sys_timer.c.bc | Bin 0 -> 5008 bytes third_party/jieli-ble/btctrler/thread.c.bc | Bin 0 -> 13488 bytes third_party/jieli-ble/btctrler/vsprintf.c.bc | Bin 0 -> 9852 bytes third_party/jieli-ble/cpu/crc16.c.bc | Bin 0 -> 17684 bytes third_party/jieli-ble/cpu/delay.c.bc | Bin 0 -> 3700 bytes third_party/jieli-ble/cpu/wlc.c.bc | Bin 0 -> 16844 bytes third_party/jieli-ble/extract.sh | 17 + tools/op.mjs | 12 +- tools/serve.py | 13 +- 65 files changed, 1340 insertions(+), 20 deletions(-) create mode 100644 docs/BLE-TEST.md create mode 100644 firmware/ble/ble_cfg.c create mode 100644 firmware/ble/ble_ctx.S create mode 100644 firmware/ble/ble_libc.c create mode 100644 firmware/ble/ble_os.c create mode 100644 firmware/ble/ble_os.h create mode 100644 firmware/ble/ble_rf.c create mode 100644 firmware/ble/ble_rf_tables.h create mode 100644 firmware/ble/ble_stubs.c create mode 100644 firmware/ble/ble_test.c create mode 100644 tests/test_ble_sources.mjs create mode 100644 third_party/jieli-ble/LICENSE-JieLi-Apache-2.0 create mode 100644 third_party/jieli-ble/MEMBERS create mode 100644 third_party/jieli-ble/README.md create mode 100644 third_party/jieli-ble/btctrler/RF.c.bc create mode 100644 third_party/jieli-ble/btctrler/RF_ble.c.bc create mode 100644 third_party/jieli-ble/btctrler/aes128.c.bc create mode 100644 third_party/jieli-ble/btctrler/analog.c.bc create mode 100644 third_party/jieli-ble/btctrler/analog_ble.c.bc create mode 100644 third_party/jieli-ble/btctrler/btagc.c.bc create mode 100644 third_party/jieli-ble/btctrler/btcontroller_heap.c.bc create mode 100644 third_party/jieli-ble/btctrler/btcontroller_util.c.bc create mode 100644 third_party/jieli-ble/btctrler/btctrler_task.c.bc create mode 100644 third_party/jieli-ble/btctrler/device_manager.c.bc create mode 100644 third_party/jieli-ble/btctrler/h4_controller_interface.c.bc create mode 100644 third_party/jieli-ble/btctrler/hci_controller.c.bc create mode 100644 third_party/jieli-ble/btctrler/hci_ll.c.bc create mode 100644 third_party/jieli-ble/btctrler/hci_ll_cmds.c.bc create mode 100644 third_party/jieli-ble/btctrler/hw_dma.c.bc create mode 100644 third_party/jieli-ble/btctrler/lbuf.c.bc create mode 100644 third_party/jieli-ble/btctrler/le_low_power.c.bc create mode 100644 third_party/jieli-ble/btctrler/link_layer.c.bc create mode 100644 third_party/jieli-ble/btctrler/link_task.c.bc create mode 100644 third_party/jieli-ble/btctrler/ll_adv.c.bc create mode 100644 third_party/jieli-ble/btctrler/ll_afh.c.bc create mode 100644 third_party/jieli-ble/btctrler/ll_events.c.bc create mode 100644 third_party/jieli-ble/btctrler/ll_init.c.bc create mode 100644 third_party/jieli-ble/btctrler/ll_keys.c.bc create mode 100644 third_party/jieli-ble/btctrler/ll_resolve_list.c.bc create mode 100644 third_party/jieli-ble/btctrler/ll_scan.c.bc create mode 100644 third_party/jieli-ble/btctrler/ll_slave.c.bc create mode 100644 third_party/jieli-ble/btctrler/ll_vendor.c.bc create mode 100644 third_party/jieli-ble/btctrler/ll_white_list.c.bc create mode 100644 third_party/jieli-ble/btctrler/misc_hw.c.bc create mode 100644 third_party/jieli-ble/btctrler/sys_timer.c.bc create mode 100644 third_party/jieli-ble/btctrler/thread.c.bc create mode 100644 third_party/jieli-ble/btctrler/vsprintf.c.bc create mode 100644 third_party/jieli-ble/cpu/crc16.c.bc create mode 100644 third_party/jieli-ble/cpu/delay.c.bc create mode 100644 third_party/jieli-ble/cpu/wlc.c.bc create mode 100755 third_party/jieli-ble/extract.sh diff --git a/.dockerignore b/.dockerignore index e241596..bb28666 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,6 +1,7 @@ .git build firmware/build +firmware/build-ble docs/firmware/*.fwsc node_modules fm1-1.bin diff --git a/.gitignore b/.gitignore index cd0c4ea..8a7836e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ build/ firmware/build/ firmware/openpocket.bin +firmware/build-ble/ +firmware/openpocket-ble.bin docs/firmware/*.fwsc docs/firmware/manifest.json *.o diff --git a/Makefile b/Makefile index 591ee81..ee6f958 100644 --- a/Makefile +++ b/Makefile @@ -2,18 +2,22 @@ # Docker command lines; Windows calls it from the .bat files. See docs/BUILDING.md. # make doctor check the prerequisites (Node, Docker, the image) # make build firmware/openpocket.bin, the update loader and docs/firmware/*.fwsc + manifest.json +# make ble the advertise-only Bluetooth test image: firmware/openpocket-ble.bin, build/ble/*.fwsc (docs/BLE-TEST.md) # make test the host tests (tests/run_tests.sh) # make package build + build/SHA256SUMS of the outputs # make clean remove every build output (needs no Docker) # make shell a shell in the build container # make image (re)build the container image # make serve the installer and editor on http://localhost:8765/ (offline install) +# make serve-ble the same, with the Bluetooth test packages (build/ble) to install; builds them first if missing # make render IN=guitar.wav [OUT=out.wav] [PRESET=1] a WAV through the engine # make appimage [DUMP=fm1-1.bin] fm1-300.bin for the SD-card recovery # `make NATIVE=1 build` skips Docker (toolchain installed with firmware/setup.sh). -.PHONY: doctor build test package clean shell image serve render appimage -doctor build test package clean shell image serve: +.PHONY: doctor build ble test package clean shell image serve serve-ble render appimage +doctor build ble test package clean shell image serve: @node tools/op.mjs $@ +serve-ble: + @node tools/op.mjs serve ble render: @node tools/op.mjs render "$(IN)" "$(OUT)" "$(PRESET)" appimage: diff --git a/NOTICE.md b/NOTICE.md index c9a68b7..403bce4 100644 --- a/NOTICE.md +++ b/NOTICE.md @@ -8,6 +8,8 @@ OpenPocket is GPL-3.0-only (`LICENSE`), except the parts below, which keep their | `loader/` (update loader) | felucca-bsp `loader/`, changed for the Pocket X flash layout | MPL-2.0 | | `docs/pxota.js`, `docs/pxpkg.js`, `tools/pxpkg.py`, `tools/mkloader.py`, `tools/lz4blk.py` | adapted from [Felucca](https://github.com/hugelton/Felucca)'s web installer and build tools (as used by CLIPPER and SLOOP) | GPL-3.0 | | `firmware/sdk/` (I2S and DAC drivers as LLVM bitcode, SPL, cfg files) | JieLi AC79 SDK V1.2.0 (fw-AC79_AIoT_SDK) | Apache-2.0 (`LICENSES/Apache-2.0.txt`) | +| `third_party/jieli-ble/` (JieLi's Bluetooth LE controller, 33 objects of `btctrler.a` and 3 of `cpu.a`, as published LLVM bitcode, used only by the Bluetooth test image `make ble`) | JieLi AC79 SDK V1.2.0 (fw-AC79_AIoT_SDK, commit `0617f4c`), `cpu/wl82/liba/`; see `third_party/jieli-ble/README.md` | Apache-2.0 (`third_party/jieli-ble/LICENSE-JieLi-Apache-2.0`, `LICENSES/Apache-2.0.txt`) | +| `firmware/ble/ble_cfg.c` | values and names from the same SDK's `apps/common/config/log_config/lib_btctrler_config.c` | Apache-2.0 | | `firmware/fonts.h` (bitmaps generated from Inter) | [Inter](https://rsms.me/inter/), Rasmus Andersson | SIL OFL 1.1 (`LICENSES/OFL-1.1-Inter.txt`) | Sound models: the names refer to the gear that inspired each voicing (circuit analyses published by ElectroSmash, diff --git a/README.md b/README.md index 5e58bde..11e1f06 100644 --- a/README.md +++ b/README.md @@ -122,6 +122,7 @@ replaces the files with this folder's. | `tools/` | package builder, loader wrapper, font converter, flash image tools | | `tests/` | host tests and the simulated pedal | | `flash/` | SD-card recovery with fm1buddy (ESP32-S3) | +| `firmware/ble/`, `third_party/jieli-ble/` | the optional advertise-only Bluetooth test image (`make ble`, [docs/BLE-TEST.md](docs/BLE-TEST.md)) and JieLi's Bluetooth controller it links | ## Licence diff --git a/docs/BLE-TEST.md b/docs/BLE-TEST.md new file mode 100644 index 0000000..6824a7d --- /dev/null +++ b/docs/BLE-TEST.md @@ -0,0 +1,116 @@ +# Bluetooth test image (advertise only) + +An optional build of OpenPocket that turns the pedal's Bluetooth radio on and sends **one advertisement**, so the name +**`OpenPocket-BLE-TEST`** shows up in a phone or Mac Bluetooth scanner. It is stage 2 of the Bluetooth plan: the radio comes up, nothing +more. No connection is ever accepted, there is no pairing, no GATT table and no MIDI over Bluetooth. USB MIDI is not +changed. + +The normal firmware and the installer's packages in `docs/firmware/` are built exactly as before: `make build` gives the +same bytes with or without this feature in the tree. The test image is its own build target, `make ble`. + +> **Status: built and linked, not yet run on a pedal.** No pedal was available to the author and there is no emulator of the +> radio, so everything below about what the pedal does is the plan, not an observation. Read +> [What is not verified](#what-is-not-verified) before you flash it. + +## Build + +``` +make ble # firmware/openpocket-ble.bin and build/ble/PocketX_936.fwsc, BlackBox_936.fwsc, manifest.json +``` + +(`node tools/op.mjs ble` is the same; `OP_BLE=1 sh firmware/build.sh` inside the container.) It prints the SHA-256 of the image and the two packages. Build outputs +are `firmware/build-ble/` and `build/ble/`; `make clean` removes them. + +## Flash it + +This is the pedal's normal update path, with the test packages instead of the release ones. Your pedal must already run +OpenPocket (the stock-firmware scan was skipped on purpose). + +1. `make serve-ble` builds the test packages if they are missing and opens the offline installer on + `http://localhost:8765/` with `build/ble/` as its package folder. (Chrome or Edge, USB cable to the pedal.) +2. **Connect**, pick the pedal, **Install**, as for any update. The pedal restarts into the test image; its start-up + screen reads `v36 BLE TEST`. +3. To go back to the normal firmware: run `make serve` (the release packages) and **Install** again, or use the + **Back to the official firmware** step. The SD-card recovery (`make appimage`) works as before. + +The status text at the bottom right of the screen starts with the Bluetooth state: `STARTING`, then `ADVERTISING` +(or `FAILED`). + +## What you should see + +Open a scanner (nRF Connect, LightBlue, or macOS *Bluetooth Explorer* / *Audio MIDI Setup* are all fine; use active +scanning, which phones do by default): + +| In the scanner | Value | +| --- | --- | +| Name | `OpenPocket-BLE-TEST` (in the scan response) | +| Service UUID | BLE-MIDI `03B80E5A-EDE8-4B33-A751-6CE34EC4C700` (in the advertising data) | +| Type | scannable, not connectable (`ADV_SCAN_IND`), 100 ms interval, channels 37, 38, 39 | +| Address | the controller's default address: this image does not set one, so it can differ from the stock firmware's | + +The name appearing in a scanner is the whole success test. Connecting to it will fail by design. + +If the screen reads `FAILED`, or nothing appears within a few seconds, please report the screen text, the pedal model, +what the scanner shows and whether the pedal still works as a normal OpenPocket (audio, screen, USB MIDI). + +## How it works + +``` +openpocket.c (OP_BLE_TEST) ble_test_start() after the screen is up, ble_test_poll() in the main loop +firmware/ble/ble_test.c a task that starts the controller, sets the advertising data and enables advertising +firmware/ble/ble_os.c the operating-system services the library calls (below) +firmware/ble/ble_rf.c the Wi-Fi front-end half of the radio start-up (below) +firmware/ble/ble_cfg.c controller configuration: LE only, advertising + one slave link +firmware/ble/ble_stubs.c empty stand-ins for the parts that are not built +third_party/jieli-ble/ JieLi's controller, as published (Apache-2.0): see its README.md +``` + +* **The controller is JieLi's**, from the Apache-2.0 SDK libraries (`btctrler.a`, 33 of its objects plus 3 helpers from + `cpu.a`): HCI front end, link layer, advertising, the LE radio driver. Only the objects the image reaches are linked. + The host stack (`btstack.a`) is not used; `ble_test.c` calls the controller's own `ll_hci_adv_*` functions. + The OpenPocket code around it is small and separate from the vendor objects (`firmware/ble/`), which are kept + unmodified under `third_party/jieli-ble/` with the licence text and the source URL. +* **No RTOS.** The library expects tasks, queues, semaphores and timers. `ble_os.c` provides a cooperative scheduler: + the controller's one task runs from `ble_poll()` in the main loop, switches only where it waits (queue, semaphore, + delay), and is woken by the two BLE interrupts (IRQ 45 and 29, priority 2: the numbers and priority the stock firmware + uses). The heap is a 24 KB static pool; each task has a 4 KB stack. Against the normal image it needs about 44 KB more RAM (of which the heap + and stacks are 36 KB) and 131 KB more flash; the link fits with about 15 KB of the 96 KB RAM region free. +* **Radio start-up.** The library's `bt_rf_init` calls the Wi-Fi library's `wf_rf_common_init` first. Linking that would + pull in the Wi-Fi MAC/SDIO stack, so `ble_rf.c` runs the already committed capture of the stock start-up instead + (`firmware/bsp/chip/ble_rf_tables_v15.h`, run by `fm1_ble_rf.h`), with this unit's trims measured by `fm1_rf_cal.h`. + The BLE baseband itself is initialised by the library (`le_hw_init`), which makes the same register changes as the stock + firmware's baseband start-up in the analysis (bits 13 and 14 set, bit 4 cleared, IRQs 45 and 29 at priority 2). +* **Nothing is saved.** The library asks for stored items (`syscfg_read`): none are returned. It tries to store calibration + results (`syscfg_write`): the call is accepted and ignored. The VM (`0xA5000`) and BTIF (`0xBE000`) areas are not read + and not written by this image. + +## What is not verified + +All of it was built, linked and size-checked; none of it ran on hardware. The things most likely to go wrong, in the +order I would suspect them: + +1. **The radio start-up.** It replays a capture taken from another firmware, with the stored crystal trim and the other + saved radio records **not applied** (the VM is not read, so those fields stay at the capture's defaults). The carrier + may therefore be off by some kHz. A scanner usually still sees it; a wrong value that stops the PLL would hang the + start-up and the screen would stay on `STARTING`. + The brief asked for the stock TX trims to be left as found. This image does **not** meet that exactly: it neither + reads nor writes them, and the transmit level is whatever the library's power table gives with no saved trim. + Reading them needs the VM item format, which is not documented in this repository; that would be the next task. +2. **Interrupt return.** The library's two interrupt functions end in `rti` without the `csync` the stock ones have + (our compiler does not add it to bitcode; `fm1_isr.S` explains it for our own interrupts). The risk is an interrupt + taken twice. Suspect this if the pedal resets or hangs a moment after `ADVERTISING` appears. +3. **The scheduler.** The context switch (`ble_ctx.S`) is eight instructions assembled from the compiler's own prologue + and epilogue forms, and was not run. The queue, semaphore and timer code is plain C but also unrun. +4. **Flash writes while Bluetooth runs.** The library's interrupt code runs from flash (execute in place). Saving a + preset or an update while advertising could, in principle, fetch code while the flash is busy. Do not save presets + while testing. +5. **Real-time load.** Starting the radio blocks the main loop for the length of the start-up (screen and knobs freeze, + audio keeps running from its interrupt). Afterwards the cost is the two radio interrupts every 100 ms. +6. **Regulation.** The pedal was certified with the stock firmware. This image uses the standard advertising channels, + the 1M PHY and the library's own power table; it is a hobby experiment, not a product. + +## Recovery + +If the image does not start, the existing safety net applies: two failed boots go back to the update loader +(`UBOOT`), and the web installer, the SD-card recovery (`make appimage`) and the official firmware's own updater all work as +before. The image does not touch the flash outside the application area. diff --git a/docs/BUILDING.md b/docs/BUILDING.md index de42e5f..c521ac1 100644 --- a/docs/BUILDING.md +++ b/docs/BUILDING.md @@ -28,6 +28,8 @@ Apple silicon and other ARM machines Docker emulates it (Rosetta or QEMU); you c | --- | --- | | `make doctor` | check Node, Docker and the image, one line each (exit 1 when the build cannot work) | | `make build` | `firmware/build.sh` in the container: `firmware/openpocket.bin`, the update loader, `docs/firmware/PocketX_9NN.fwsc`, `BlackBox_9NN.fwsc`, `manifest.json` | +| `make ble` | the advertise-only Bluetooth test image (`OP_BLE=1 firmware/build.sh`): `firmware/openpocket-ble.bin`, `build/ble/*.fwsc`. Own target, own output folders; [BLE-TEST.md](BLE-TEST.md) | +| `make serve-ble` | `make serve` with `build/ble/` as the installer's package folder, to flash the test image | | `make package` | `build`, then `build/SHA256SUMS` | | `make test` | `tests/run_tests.sh` (engine, preset store, screen, simulated pedal, installer, editor; the browser page tests also run when Playwright is installed) | | `make clean` | remove every build output (on the host; needs neither Docker nor the image) | @@ -57,7 +59,7 @@ old one. The toolchain is JieLi's proprietary software. It is **not** in this repository and is not redistributed by it: the image build downloads it from JieLi's own server (`jl-update.oss-cn-shenzhen.aliyuncs.com`, the file `https://pkgman.jieliapp.com/s/linux-toolchain` redirects to). If you publish a container image, do not include the toolchain layer. The Apache-2.0 SDK parts in -`firmware/sdk/` are covered by `NOTICE.md`. +`firmware/sdk/` and `third_party/jieli-ble/` are covered by `NOTICE.md`. ## Reproducibility diff --git a/firmware/app.ld b/firmware/app.ld index fb14fa1..9ae320f 100644 --- a/firmware/app.ld +++ b/firmware/app.ld @@ -3,6 +3,7 @@ /* Memory map of a standalone FM-1 app: code and constants run in place from XIP * (app.bin offset 0 = 0x02000120); .data is copied to RAM by fm1_cstart, and so is .ram_text (code that runs * while the flash is busy: the flash driver) into RAMTEXT, the guard's RAM code window. + * The ble build (OP_BLE=1) adds the JieLi controller's own sections: .*_code and .*_const (XIP), .*_data, .*_bss (RAM). * Stacks sit above the RAM with 256-byte guard bands; NOINIT survives resets. * 0x01C7FD50.. is reserved (boot info, mailbox, vector table). */ MEMORY @@ -15,14 +16,14 @@ MEMORY } SECTIONS { - .text : { KEEP(*(.text.crt0)) *(.text*) *(.rodata*) . = ALIGN(4); _etext = .; } > XIP + .text : { KEEP(*(.text.crt0)) *(.text*) *(.rodata*) *(.*_code) *(.*_const) . = ALIGN(4); _etext = .; } > XIP .ram_text : { _rt_start = .; KEEP(*(.ram_text*)) . = ALIGN(4); _c1_start = .; KEEP(*(.c1_text*)) . = ALIGN(4); _c1_end = .; /* the second core's loop */ _rt_end = .; } > RAMTEXT AT > XIP _rt_load = LOADADDR(.ram_text); - .data : { . = ALIGN(4); _data_start = .; *(.data*) *(.sdata*) . = ALIGN(4); _data_end = .; } > RAM AT > XIP + .data : { . = ALIGN(4); _data_start = .; *(.data*) *(.sdata*) *(.*_data) . = ALIGN(4); _data_end = .; } > RAM AT > XIP _data_load = LOADADDR(.data); - .bss (NOLOAD) : { _bss_start = .; *(.bss*) *(.sbss*) *(COMMON) . = ALIGN(4); _bss_end = .; } > RAM + .bss (NOLOAD) : { _bss_start = .; *(.bss*) *(.sbss*) *(.*_bss) *(COMMON) . = ALIGN(4); _bss_end = .; } > RAM .noinit (NOLOAD) : { *(.noinit*) } > NOINIT .pool (NOLOAD) : { . = ALIGN(8); *(.pool*) } > POOL _guard0 = 0x01C74000; _ustack_lo = 0x01C74100; _ustack_top = 0x01C7A000; diff --git a/firmware/ble/ble_cfg.c b/firmware/ble/ble_cfg.c new file mode 100644 index 0000000..53db78e --- /dev/null +++ b/firmware/ble/ble_cfg.c @@ -0,0 +1,60 @@ +/* SPDX-License-Identifier: Apache-2.0 */ +/* Controller configuration for the advertise-only image: the values the JieLi SDK's own + * apps/common/config/log_config/lib_btctrler_config.c (fw-AC79_AIoT_SDK V1.2.0, Apache-2.0, see + * third_party/jieli-ble/) gives a Bluetooth LE only build, reduced to LE advertising and one slave link. The names and + * types are the library's; the values for features we do not build are the SDK's defaults. */ +#include + +#define BIT(n) (1u << (n)) +enum { BT_MODULE_CLASSIC = BIT(0), BT_MODULE_LE = BIT(1) }; +enum { BT_NORMAL = 0x01 }; +enum { LE_MASTER = BIT(0), LE_SLAVE = BIT(1), LE_ADV = BIT(2), LE_SCAN = BIT(3), LE_INIT = BIT(4) }; + +const int config_btctler_modules = BT_MODULE_LE; +int config_btctler_mode = BT_NORMAL; +int config_btctler_hci_standard = 0; +const int config_bt_function = 0; +const int config_btctler_le_tws = 0; +const int CONFIG_BTCTLER_TWS_ENABLE = 0; +const int CONFIG_TWS_AFH_ENABLE = 0; +const int CONFIG_WIFI_DETECT_ENABLE = 0; +const int ESCO_FORWARD_ENABLE = 0; +const int CONFIG_LOW_LATENCY_ENABLE = 0; +const int CONFIG_ESCO_MUX_RX_BULK_ENABLE = 0; +const int CONFIG_BTCTLER_FAST_CONNECT_ENABLE = 0; +const int CONFIG_LMP_NAME_REQ_ENABLE = 1; +const int CONFIG_LMP_PASSKEY_ENABLE = 1; +const int CONFIG_LMP_MASTER_ESCO_ENABLE = 1; +const int CONFIG_INQUIRY_PAGE_OFFSET_ADJUST = 0; +const int config_force_bt_pwr_tab_using_normal_level = 0; /* 0: the power table of each mode (the stock trims) */ +unsigned char config_btctler_bredr_master = 0; +const int config_btctler_dual_a2dp = 0; +const int config_btctler_role_switch_fail_disconnect = 1; +const int config_btctler_role_switch_fail_back_to_slave = 0; +const int config_bredr_afh_user = 0; +const uint8_t rx_fre_offset_adjust_enable = 1; +const int config_fix_fre_enable = 0; +const int ble_disable_wait_enable = 1; +const int config_delete_link_key = 1; +const int config_btstask_auto_exit_sniff = 1; +const int CONFIG_TEST_DUT_CODE = 0; +const int CONFIG_TEST_FCC_CODE = 0; +const int CONFIG_TEST_DUT_ONLY_BOX_CODE = 0; +const int CONFIG_BREDR_INQUIRY = 0; + +const uint64_t config_btctler_le_features = 0; /* no encryption: no connections in this image */ +const int config_btctler_le_roles = LE_ADV | LE_SLAVE; +const int config_btctler_le_afh_en = 0; +const int config_btctler_le_hw_ram_use_static = 1; +const int config_btctler_le_master_multilink = 0; +const int config_multilink_support_esco_enalbe = 0; +const int config_btctler_le_slave_multilink = 1; +const int config_btctler_le_hw_nums = 1; +const int config_btctler_le_rx_nums = 5 * 1; +const int config_btctler_le_acl_packet_length = 27; +const int config_btctler_le_acl_total_nums = 5 * 1; +const uint32_t config_vendor_le_bb = 0; +const int config_btctler_le_slave_conn_update_winden = 2500; +const int config_btctler_single_carrier_en = 0; +const int sniff_support_reset_anchor_point = 0; +const int config_bt_security_vulnerability = 0; diff --git a/firmware/ble/ble_ctx.S b/firmware/ble/ble_ctx.S new file mode 100644 index 0000000..08c8eab --- /dev/null +++ b/firmware/ble/ble_ctx.S @@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: MPL-2.0 */ +/* Context switch for the cooperative scheduler in ble_os.c. A task is suspended by pushing the registers a C call must + * preserve (rets and r4-r9, the same list the compiler's own prologue pushes) on its own stack and storing the stack + * pointer; it is resumed by loading that pointer and popping the same list. Push and pop are the same instruction pair + * the compiler emits, so the order in memory does not matter. + * + * void ble_ctx_swap(uint32_t **save, uint32_t *load) suspend here into *save, resume the context in load + * void ble_ctx_enter(uint32_t **save, uint32_t *top, void (*fn)(void)) + * suspend here into *save, call fn on the stack at top + * (fn never returns) + */ + .section .text.ble_ctx,"ax",@progbits + .balign 4 + .globl ble_ctx_swap +ble_ctx_swap: + [--sp] = {rets, r9-r4} + r2 = sp + [r0 + 0] = r2 + sp = r1 + {pc, r9-r4} = [sp++] + + .globl ble_ctx_enter +ble_ctx_enter: + [--sp] = {rets, r9-r4} + r3 = sp + [r0 + 0] = r3 + sp = r1 + call r2 + goto . diff --git a/firmware/ble/ble_libc.c b/firmware/ble/ble_libc.c new file mode 100644 index 0000000..130d099 --- /dev/null +++ b/firmware/ble/ble_libc.c @@ -0,0 +1,27 @@ +/* SPDX-License-Identifier: GPL-3.0-only OR MPL-2.0 */ +/* The C library routines and diagnostics hooks the controller library calls and px_audio.h does not already supply + * (log_print, printf, config_asser, cpu_assert_debug, P33_SYSTEM_RESET, os_current_task_rom). Logging is switched off in + * the library by its log tags (ble_stubs.c), so the print functions here do nothing. */ +#include +#include +#include "ble_os.h" + +size_t strlen(const char *s) { const char *p = s; while (*p) p++; return (size_t)(p - s); } +int strcmp(const char *a, const char *b) { while (*a && *a == *b) { a++; b++; } return (uint8_t)*a - (uint8_t)*b; } +char *strcpy(char *d, const char *s) { char *r = d; while ((*d++ = *s++)) {} return r; } +char *strncpy(char *d, const char *s, size_t n) { size_t i = 0; for (; i < n && s[i]; i++) d[i] = s[i]; for (; i < n; i++) d[i] = 0; return d; } +void *memmove(void *d, const void *s, size_t n) +{ + uint8_t *dp = d; + const uint8_t *sp = s; + if (dp < sp) + while (n--) *dp++ = *sp++; + else + for (dp += n, sp += n; n--;) *--dp = *--sp; + return d; +} + +void printf_buf(const uint8_t *b, uint32_t n) { (void)b; (void)n; } +void put_buf(const uint8_t *b, uint32_t n) { (void)b; (void)n; } +int puts(const char *s) { (void)s; return 0; } +int putchar(int c) { return c; } diff --git a/firmware/ble/ble_os.c b/firmware/ble/ble_os.c new file mode 100644 index 0000000..21855c2 --- /dev/null +++ b/firmware/ble/ble_os.c @@ -0,0 +1,361 @@ +/* SPDX-License-Identifier: GPL-3.0-only OR MPL-2.0 */ +/* The few operating-system services the JieLi Bluetooth controller library (third_party/jieli-ble) calls, written for + * OpenPocket's main loop: a cooperative scheduler for the controller's tasks, task message queues, semaphores and + * mutexes, software timers, a heap, and the interrupt registration. Signatures and error numbers follow the SDK's + * public headers (include_lib/system/os/os_api.h, os_error.h, timer.h, asm/hwi.h; Apache-2.0). + * + * Tasks never run by themselves: ble_poll() (called from the main loop) resumes every task that is ready and returns + * when all of them are waiting again. A task gives up the processor only inside os_taskq_pend, os_sem_pend, + * os_mutex_pend or os_time_dly; interrupts only post messages and semaphores. */ +#include +#include +#include "fm1_irq.h" +#include "fm1_time.h" +#include "ble_os.h" + +enum { OS_NO_ERR = 0, OS_TIMEOUT = 11, OS_TASKQ = 13, OS_TASK_NOT_EXIST = 14, OS_Q_FULL = 21, OS_Q_EMPTY = 22 }; +enum { OS_TICK_MS = 10 }; /* OS_TICKS_PER_SEC is 100 in the SDK */ + +extern void ble_ctx_swap(uint32_t **save, uint32_t *load); +extern void ble_ctx_enter(uint32_t **save, uint32_t *top, void (*fn)(void)); + +/* ---- interrupts: one level of nesting count, as the SDK's local_irq_disable / local_irq_enable */ +static uint32_t irq_nest; +void local_irq_disable(void) { fm1_irq_off(); irq_nest++; } +void local_irq_enable(void) { if (irq_nest && !--irq_nest) fm1_irq_on(); } +void __local_irq_disable(void) { local_irq_disable(); } +void __local_irq_enable(void) { local_irq_enable(); } +void sys_local_irq_disable(void) { local_irq_disable(); } +void sys_local_irq_enable(void) { local_irq_enable(); } +int cpu_irq_disabled(void) { return !(fm1_icfg() & 0x200u); } /* icfg bit 9: the global enable that cli and sti clear and set */ +int cpu_in_irq(void) { return 0; } + +/* ---- heap: first fit with coalescing on free, 8-byte aligned, one static pool */ +#define HEAP_BYTES (24u * 1024u) +typedef struct blk { uint32_t size; uint32_t used; } blk_t; /* size includes this header */ +static uint8_t heap[HEAP_BYTES] __attribute__((aligned(8))); +static int heap_ready; +static uint32_t heap_free_bytes, heap_min_free; + +static void heap_init(void) +{ + blk_t *b = (blk_t *)heap; + b->size = HEAP_BYTES; + b->used = 0; + heap_free_bytes = heap_min_free = HEAP_BYTES; + heap_ready = 1; +} + +void *malloc(size_t n) +{ + uint32_t need = (uint32_t)((n + sizeof(blk_t) + 7u) & ~7u); + uint8_t *p, *end = heap + HEAP_BYTES; + local_irq_disable(); + if (!heap_ready) + heap_init(); + for (p = heap; p < end; p += ((blk_t *)p)->size) { + blk_t *b = (blk_t *)p; + if (b->used || b->size < need) + continue; + if (b->size >= need + 16u) { /* split */ + blk_t *r = (blk_t *)(p + need); + r->size = b->size - need; + r->used = 0; + b->size = need; + } + b->used = 1; + heap_free_bytes -= b->size; + if (heap_free_bytes < heap_min_free) + heap_min_free = heap_free_bytes; + local_irq_enable(); + return p + sizeof(blk_t); + } + local_irq_enable(); + return 0; +} + +void free(void *ptr) +{ + uint8_t *p, *end = heap + HEAP_BYTES; + blk_t *b; + if (!ptr) + return; + local_irq_disable(); + b = (blk_t *)((uint8_t *)ptr - sizeof(blk_t)); + b->used = 0; + heap_free_bytes += b->size; + for (p = heap; p < end;) { /* merge neighbouring free blocks */ + blk_t *c = (blk_t *)p, *n = (blk_t *)(p + c->size); + if ((uint8_t *)n < end && !c->used && !n->used) + c->size += n->size; + else + p += c->size; + } + local_irq_enable(); +} + +void *zalloc(size_t n) { void *p = malloc(n); if (p) memset(p, 0, n); return p; } +void *ram_malloc(unsigned long n) { return malloc(n); } +void ram_free(void *p) { free(p); } +unsigned int xPortGetPhysiceMemorySize(void) { return HEAP_BYTES; } +uint32_t ble_heap_free(void) { return heap_free_bytes; } +uint32_t ble_heap_min_free(void) { return heap_min_free; } + +/* ---- tasks and their message queues */ +#define MAXTASK 3 /* the library starts one ("btctrler"); room for two more */ +#define STACK_WORDS 1024u /* 4 KB each: the radio start-up replay runs on one */ +#define QDEPTH 16 +#define QARGS 12 /* type + up to 11 words */ +typedef struct { int v[QARGS]; } msg_t; +enum { T_FREE, T_READY, T_WAIT_Q, T_WAIT_SEM, T_SLEEP, T_DEAD }; +typedef struct { + char name[16]; + void (*fn)(void *); + void *arg; + uint32_t *sp; /* saved stack pointer while suspended */ + uint32_t state; + uint32_t wake_ms; /* T_SLEEP, and the timeout of the waits (0: none) */ + void *wait_on; + int timed_out; + msg_t q[QDEPTH]; + uint32_t qh, qn; + uint32_t stack[STACK_WORDS] __attribute__((aligned(8))); +} task_t; +static task_t tasks[MAXTASK]; +static task_t *cur; /* the task being run, 0 in the scheduler */ +static uint32_t *sched_sp; + +static task_t *task_find(const char *name) +{ + int i; + for (i = 0; i < MAXTASK; i++) + if (tasks[i].state != T_FREE && !strcmp(tasks[i].name, name)) + return &tasks[i]; + return 0; +} + +static void task_body(void) +{ + task_t *t = cur; + t->fn(t->arg); + t->state = T_DEAD; + for (;;) + ble_ctx_swap(&t->sp, sched_sp); +} + +static void task_yield(void) { ble_ctx_swap(&cur->sp, sched_sp); } + +int task_create(void (*fn)(void *), void *arg, const char *name) +{ + int i; + for (i = 0; i < MAXTASK; i++) + if (tasks[i].state == T_FREE || tasks[i].state == T_DEAD) + break; + if (i == MAXTASK) + return -1; + memset(&tasks[i], 0, sizeof(task_t) - sizeof(tasks[i].stack)); + strncpy(tasks[i].name, name, sizeof(tasks[i].name) - 1); + tasks[i].fn = fn; + tasks[i].arg = arg; + tasks[i].sp = 0; /* 0: not started, ble_poll enters task_body on first run */ + tasks[i].state = T_READY; + return 0; +} + +int task_kill(const char *name) +{ + task_t *t = task_find(name); + if (!t) + return OS_TASK_NOT_EXIST; + t->state = T_FREE; + return 0; +} + +const char *os_current_task(void) { return cur ? cur->name : "main"; } + +int os_taskq_post_type(const char *name, int type, int argc, int *argv) +{ + task_t *t = task_find(name); + msg_t *m; + int i; + if (!t) + return OS_TASK_NOT_EXIST; + local_irq_disable(); + if (t->qn == QDEPTH) { + local_irq_enable(); + return OS_Q_FULL; + } + m = &t->q[(t->qh + t->qn++) % QDEPTH]; + m->v[0] = type; + for (i = 0; i < argc && i < QARGS - 1; i++) + m->v[1 + i] = argv[i]; + if (t->state == T_WAIT_Q) + t->state = T_READY; + local_irq_enable(); + return 0; +} + +/* the SDK's os_taskq_pend blocks until a message is queued; argv[0] is the type, argv[1..] the words */ +int os_taskq_pend(const char *fmt, int *argv, int argc) +{ + msg_t m; + int i; + (void)fmt; + for (;;) { + local_irq_disable(); + if (cur->qn) { + m = cur->q[cur->qh]; + cur->qh = (cur->qh + 1u) % QDEPTH; + cur->qn--; + local_irq_enable(); + for (i = 0; i < argc && i < QARGS; i++) + argv[i] = m.v[i]; + return OS_TASKQ; + } + cur->state = T_WAIT_Q; + local_irq_enable(); + task_yield(); + } +} + +void os_time_dly(int ticks) +{ + cur->wake_ms = fm1_uptime_ms() + (uint32_t)ticks * OS_TICK_MS; + cur->state = T_SLEEP; + task_yield(); +} + +/* ---- semaphores and mutexes. The SDK's OS_SEM / OS_MUTEX are opaque and at least 16 bytes: the first word is the + * count (a mutex: 1 free, 0 taken), the second the owner for the mutex. */ +typedef struct { volatile int32_t count; void *owner; } sem_t; + +int os_sem_create(void *s, int cnt) { ((sem_t *)s)->count = cnt; ((sem_t *)s)->owner = 0; return 0; } +int os_sem_set(void *s, uint16_t cnt) { ((sem_t *)s)->count = cnt; return 0; } +int os_sem_post(void *s) +{ + int i; + local_irq_disable(); + ((sem_t *)s)->count++; + for (i = 0; i < MAXTASK; i++) + if (tasks[i].state == T_WAIT_SEM && tasks[i].wait_on == s) + tasks[i].state = T_READY; + local_irq_enable(); + return 0; +} + +int os_sem_pend(void *s, int timeout) +{ + sem_t *sm = s; + uint32_t until = timeout ? fm1_uptime_ms() + (uint32_t)timeout * OS_TICK_MS : 0; + for (;;) { + local_irq_disable(); + if (sm->count > 0) { + sm->count--; + local_irq_enable(); + return 0; + } + if (!cur || (until && (int32_t)(fm1_uptime_ms() - until) >= 0)) { + local_irq_enable(); + return OS_TIMEOUT; + } + cur->state = T_WAIT_SEM; + cur->wait_on = s; + cur->wake_ms = until; + local_irq_enable(); + task_yield(); + } +} + +int os_mutex_create(void *m) { return os_sem_create(m, 1); } +int os_mutex_del(void *m, int force) { (void)m; (void)force; return 0; } +int os_mutex_pend(void *m, int timeout) { return os_sem_pend(m, timeout); } +int os_mutex_post(void *m) { return os_sem_post(m); } + +/* ---- software timers (sys_timer_add: periodic, sys_timeout_add: once), run from ble_poll */ +#define MAXTIMER 16 +typedef struct { + void (*fn)(void *); + void *priv; + uint32_t period, due; + uint8_t used, once; +} timer_t_; +static timer_t_ timers[MAXTIMER]; + +static uint16_t timer_add(void *priv, void (*fn)(void *), uint32_t ms, int once) +{ + int i; + for (i = 0; i < MAXTIMER; i++) + if (!timers[i].used) { + timers[i].fn = fn; timers[i].priv = priv; timers[i].period = ms ? ms : 1u; + timers[i].due = fm1_uptime_ms() + timers[i].period; timers[i].once = (uint8_t)once; timers[i].used = 1; + return (uint16_t)(i + 1); + } + return 0; +} +static void timer_del(uint16_t id) { if (id && id <= MAXTIMER) timers[id - 1].used = 0; } + +uint16_t sys_timer_add(void *p, void (*f)(void *), uint32_t ms) { return timer_add(p, f, ms, 0); } +uint16_t sys_timeout_add(void *p, void (*f)(void *), uint32_t ms) { return timer_add(p, f, ms, 1); } +uint16_t usr_timeout_add(void *p, void (*f)(void *), uint32_t ms, uint8_t prio) { (void)prio; return timer_add(p, f, ms, 1); } +void sys_timer_del(uint16_t id) { timer_del(id); } +void sys_timeout_del(uint16_t id) { timer_del(id); } +void usr_timeout_del(uint16_t id) { timer_del(id); } +void sys_timer_re_run(uint16_t id) { if (id && id <= MAXTIMER && timers[id - 1].used) timers[id - 1].due = fm1_uptime_ms() + timers[id - 1].period; } +int sys_timer_modify(uint16_t id, uint32_t ms) +{ + if (!id || id > MAXTIMER || !timers[id - 1].used) + return -1; + timers[id - 1].period = ms ? ms : 1u; + timers[id - 1].due = fm1_uptime_ms() + timers[id - 1].period; + return 0; +} +void sys_timer_set_user_data(uint16_t id, void *p) { if (id && id <= MAXTIMER) timers[id - 1].priv = p; } +void *sys_timer_get_user_data(uint16_t id) { return id && id <= MAXTIMER ? timers[id - 1].priv : 0; } +uint32_t sys_timer_get_ms(void) { return fm1_uptime_ms(); } + +/* ---- interrupt registration: the library hands over its own interrupt functions (already complete interrupt entries) */ +void request_irq(uint8_t idx, uint8_t prio, void (*handler)(void), uint8_t cpu) +{ + (void)cpu; + fm1_irq_attach(idx, handler, prio); +} +void unrequest_irq(uint8_t idx, uint8_t cpu) { (void)cpu; FM1_ICFG(idx) &= ~(1u << ((idx & 7u) * 4u)); } +void bit_set_ie(uint8_t idx, uint8_t cpu) { (void)cpu; FM1_ICFG(idx) |= 1u << ((idx & 7u) * 4u); } +void bit_clr_ie(uint8_t idx, uint8_t cpu) { (void)cpu; FM1_ICFG(idx) &= ~(1u << ((idx & 7u) * 4u)); } +uint8_t irq_read(uint32_t idx) { return (uint8_t)((FM1_ICFG(idx) >> ((idx & 7u) * 4u)) & 0xFu); } + +/* ---- the scheduler */ +void ble_poll(void) +{ + int i, ran; + fm1_wdt_feed(); + uint32_t now = fm1_uptime_ms(); + for (i = 0; i < MAXTIMER; i++) { + timer_t_ *t = &timers[i]; + if (t->used && (int32_t)(now - t->due) >= 0) { + if (t->once) + t->used = 0; + else + t->due = now + t->period; + t->fn(t->priv); + } + } + do { + ran = 0; + now = fm1_uptime_ms(); + for (i = 0; i < MAXTASK; i++) { + task_t *t = &tasks[i]; + if ((t->state == T_SLEEP || t->state == T_WAIT_SEM) && t->wake_ms && (int32_t)(now - t->wake_ms) >= 0) + t->state = T_READY; + if (t->state != T_READY) + continue; + cur = t; + ran = 1; + if (!t->sp) + ble_ctx_enter(&sched_sp, t->stack + STACK_WORDS, task_body); + else + ble_ctx_swap(&sched_sp, t->sp); + cur = 0; + } + } while (ran); +} diff --git a/firmware/ble/ble_os.h b/firmware/ble/ble_os.h new file mode 100644 index 0000000..7d14371 --- /dev/null +++ b/firmware/ble/ble_os.h @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-3.0-only OR MPL-2.0 */ +#pragma once +#include +#include + +/* C library routines the controller library needs (ble_libc.c); memset and memcpy are bsp/chip/libc.c's */ +void *memset(void *d, int c, unsigned n); +void *memcpy(void *d, const void *s, unsigned n); +size_t strlen(const char *s); +int strcmp(const char *a, const char *b); +char *strcpy(char *d, const char *s); +char *strncpy(char *d, const char *s, size_t n); +int memcmp(const void *a, const void *b, unsigned n); +void *memmove(void *d, const void *s, size_t n); +void *malloc(size_t n); +void free(void *p); + +void ble_poll(void); /* the main loop calls this often: runs the controller's timers and tasks */ +uint32_t ble_heap_free(void); +uint32_t ble_heap_min_free(void); + +/* ble_test.c */ +void ble_test_start(void); /* radio on, controller up, one advertisement */ +void ble_test_poll(void); +const char *ble_test_state(void); /* a short word for the screen */ diff --git a/firmware/ble/ble_rf.c b/firmware/ble/ble_rf.c new file mode 100644 index 0000000..87da989 --- /dev/null +++ b/firmware/ble/ble_rf.c @@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: GPL-3.0-only OR MPL-2.0 */ +/* The part of the radio start-up that the JieLi controller library leaves to the Wi-Fi library: its bt_rf_init (RF.c) + * first calls wf_rf_common_init, which brings up the shared Wi-Fi front end (about 34,000 register writes). Linking + * the Wi-Fi library for that would pull in its SDIO/MAC stack, so the writes come from the committed capture of the + * stock start-up instead (bsp/chip/ble_rf_tables_v15.h, run by bsp/chip/fm1_ble_rf.h: stock's boot-2 order, groups 2 + * to 13), with this unit's trims measured by fm1_rf_cal.h (docs/BLE-TEST.md, "What is not verified"). + * + * The saved radio records (VM items 106, 107, 108, 187) are not read: the VM stays untouched. The records are given + * as zeros, which leaves the crystal trim (106) and the other stored fields at the captured defaults. */ +#include "ble_os.h" +#include "fm1_ble_rf.h" + +static const uint8_t no_record[68]; + +void wf_rf_common_init(void) +{ + fm1_wdt_feed(); /* the replay takes a while: keep the watchdog fed around it */ + fm1_rf_cal_on = 1; + fm1_ble_rf_run(no_record, no_record, no_record, no_record); + fm1_wdt_feed(); +} + +/* The library asks for saved items (trims, bonding): none, as in audio_probe.h. It stores nothing: the VM and BTIF + * areas are never written by this image. */ +int syscfg_read(uint16_t id, void *buf, uint16_t len) { (void)id; (void)buf; (void)len; return -1; } +int syscfg_write(uint16_t id, void *buf, uint16_t len) { (void)id; (void)buf; return len; } +void hw_udelay(uint32_t us) { fm1_delay_us(us); fm1_wdt_feed(); } +uint32_t sys_clk_get(void) { return 360000000u; } /* SYS_CLK in the stock isd_config.ini */ +uint8_t boot_info[64]; /* read by the library's chip-id helpers only */ diff --git a/firmware/ble/ble_rf_tables.h b/firmware/ble/ble_rf_tables.h new file mode 100644 index 0000000..5d84e3a --- /dev/null +++ b/firmware/ble/ble_rf_tables.h @@ -0,0 +1,3 @@ +/* SPDX-License-Identifier: GPL-3.0-only OR MPL-2.0 */ +/* fm1_ble_rf.h includes the radio start-up program as "ble_rf_tables.h"; here it is the committed capture. */ +#include "../bsp/chip/ble_rf_tables_v15.h" diff --git a/firmware/ble/ble_stubs.c b/firmware/ble/ble_stubs.c new file mode 100644 index 0000000..8909de0 --- /dev/null +++ b/firmware/ble/ble_stubs.c @@ -0,0 +1,205 @@ +/* SPDX-License-Identifier: GPL-3.0-only OR MPL-2.0 */ +/* What the controller library references but this image never runs: Bluetooth classic (BR/EDR, LMP, eSCO, TWS), LE + * 5 extended features, controller-side test modes, Wi-Fi coexistence and low-power negotiation. The configuration + * (ble_cfg.c: LE only, advertising and one slave link) keeps the library from calling them; each is an empty function + * that returns 0 and counts the call in ble_stub_calls so a call that should not happen shows on the screen. + * Generated from the link errors of the "ble" target (list the names with: grep BLE_STUB firmware/ble/ble_stubs.c). */ +#include + +uint32_t ble_stub_calls; +#define BLE_STUB(name) int name(void) { ble_stub_calls++; return 0; } +BLE_STUB(__ble5_hw_anchor_cnt_timeout) +BLE_STUB(__ble5_hw_event_process) +BLE_STUB(__ble5_hw_rx_process) +BLE_STUB(__hw5_free_slots) +BLE_STUB(__ll_receive_length_req) +BLE_STUB(__ll_send_phy_req) +BLE_STUB(__master_ll_phy_update_done) +BLE_STUB(__master_ll_send_phy_update_ind) +BLE_STUB(__master_reset_transmitWindowDelay) +BLE_STUB(__reset_CodedPHY_conn_winsize) +BLE_STUB(__reset_connection_winsize) +BLE_STUB(__set_extended_conn_dead_times) +BLE_STUB(__set_extended_empty_tx_data) +BLE_STUB(__set_extended_tx_data) +BLE_STUB(__set_ll_effective_data_args) +BLE_STUB(__slave_ll_phy_update_done) +BLE_STUB(__slave_ll_send_vendor_wifi_detect_req) +BLE_STUB(__slave_reset_widen) +BLE_STUB(__slave_vendor_wifi_detect_done) +BLE_STUB(aes128_start_enc) +BLE_STUB(ble5_master_primary_event_end_handle) +BLE_STUB(ble_ext_primary_scan_preprocess) +BLE_STUB(ble_master_multilink_schedule) +BLE_STUB(bredr_bd_close) +BLE_STUB(bredr_bd_init) +BLE_STUB(bredr_close_all_scan) +BLE_STUB(bredr_fcc_init) +BLE_STUB(bredr_goto_background) +BLE_STUB(bredr_link_check_used) +BLE_STUB(bredr_link_close) +BLE_STUB(bredr_link_init) +BLE_STUB(bredr_link_reset_power) +BLE_STUB(bredr_power_off) +BLE_STUB(bredr_power_on) +BLE_STUB(bredr_power_resume) +BLE_STUB(bredr_power_suspend) +BLE_STUB(bredr_radiopwrupdn_reset) +BLE_STUB(bredr_read_slot_clk) +BLE_STUB(bredr_rx_bulk_empty) +BLE_STUB(bredr_rx_bulk_resume) +BLE_STUB(bredr_rx_bulk_suspend) +BLE_STUB(bredr_rx_remain_bulk_empty) +BLE_STUB(bredr_tx_bulk_empty) +BLE_STUB(bt_edr_prio_settings) +BLE_STUB(bt_event_notify) +BLE_STUB(bt_sfr_pop) +BLE_STUB(ccm_memory_v2) +BLE_STUB(conn_master_rx_post_handler) +BLE_STUB(dut_bredr_close_recall) +BLE_STUB(dut_hci_emit_le_meta_event) +BLE_STUB(dut_le_hw_open) +BLE_STUB(find_interspace_between_connected) +BLE_STUB(get_bredr_is_init) +BLE_STUB(get_if_exist_ble5) +BLE_STUB(hci_add_cmd_handler) +BLE_STUB(hci_lmp_controller_baseband_cmd_handler) +BLE_STUB(hci_lmp_informational_parameters_cmd_handler) +BLE_STUB(hci_lmp_link_control_cmd_handler) +BLE_STUB(hci_lmp_link_policy_cmd_handler) +BLE_STUB(hci_lmp_status_parameters_cmd_handler) +BLE_STUB(hci_lmp_testing_cmd_handler) +BLE_STUB(hci_lmp_vendor_cmd_handler) +BLE_STUB(hci_packet_handler) +BLE_STUB(hci_push_iso_sdu) +BLE_STUB(hci_vendor_cmd_handler) +BLE_STUB(le_controller_handler_for_ble5) +BLE_STUB(le_dut_hci_reset_handle) +BLE_STUB(le_enhanced_receiver_test_handle) +BLE_STUB(le_enhanced_transmitter_test_handle) +BLE_STUB(le_receive_test_handle) +BLE_STUB(le_test_end_handle) +BLE_STUB(le_transmitter_test_handle) +BLE_STUB(link_bulk_init) +BLE_STUB(link_change_bulk_init) +BLE_STUB(link_change_rx_bulk_size) +BLE_STUB(link_data_extension_init) +BLE_STUB(ll_data_extension_init) +BLE_STUB(ll_exit_ext_legacy_adv_status) +BLE_STUB(ll_ext_destroy) +BLE_STUB(ll_ext_handle_malloc) +BLE_STUB(ll_ext_legacy_adv_scan_req_received) +BLE_STUB(ll_ext_rx_post_process) +BLE_STUB(ll_read_maximum_data_length) +BLE_STUB(ll_read_suggested_default_data_length) +BLE_STUB(ll_set_default_prefers_phys) +BLE_STUB(ll_update_ch_done_wfdet_callback) +BLE_STUB(ll_wifi_detect_ext) +BLE_STUB(ll_wifi_detect_init) +BLE_STUB(ll_wifi_detect_probe_process) +BLE_STUB(ll_write_suggested_default_data_length) +BLE_STUB(lmp_conn_for_address) +BLE_STUB(lmp_conn_for_handle) +BLE_STUB(lmp_conn_resume) +BLE_STUB(lmp_conn_suspend) +BLE_STUB(lmp_esco_conn_for_handle) +BLE_STUB(lmp_event_handler) +BLE_STUB(lmp_get_conn_num) +BLE_STUB(lmp_hci_cmd_handler) +BLE_STUB(lmp_hci_cmd_to_conn_handler) +BLE_STUB(lmp_hci_disconnect) +BLE_STUB(lmp_hci_read_remote_version_information) +BLE_STUB(lmp_hci_send_packet_standard) +BLE_STUB(lmp_init) +BLE_STUB(lmp_reset) +BLE_STUB(lmp_tx_suspend) +BLE_STUB(low_power_exit_request) +BLE_STUB(low_power_get) +BLE_STUB(low_power_get_osc_type) +BLE_STUB(low_power_on) +BLE_STUB(low_power_put) +BLE_STUB(low_power_request) +BLE_STUB(low_power_trace_drift) +BLE_STUB(master_rx_conn_post_handler) +BLE_STUB(master_setup_connection_updatea_first_data_location) +BLE_STUB(master_setup_first_data_location) +BLE_STUB(mult_slave_or_master_check_up_point) +BLE_STUB(mult_slave_or_master_del_conn_id) +BLE_STUB(mult_slave_or_master_event_enter) +BLE_STUB(mult_slave_or_master_fist_con_event_set) +BLE_STUB(mult_slave_or_master_get_con_num) +BLE_STUB(mult_slave_or_master_get_rx_irq_hw) +BLE_STUB(mult_slave_or_master_save_conn_id) +BLE_STUB(mult_slave_or_master_set_adv_interval) +BLE_STUB(mult_slave_or_master_set_init_param) +BLE_STUB(mult_slave_or_master_set_scan_param) +BLE_STUB(ogf_vendor_le_controller) +BLE_STUB(power_is_poweroff_post) +BLE_STUB(record_rx_chsel_algorithm) +BLE_STUB(refind_interspace_between_connected) +BLE_STUB(refresh_phy_param) +BLE_STUB(repair_algorithm2_hop) +BLE_STUB(rf_dc_set_max) +BLE_STUB(rf_dc_set_reload) +BLE_STUB(set_hw_channel_selection_algorithm) +BLE_STUB(set_tx_pdu_channel_selection_algorithm) +BLE_STUB(slave_ll_receive_phy_req) +BLE_STUB(slot_timer_disable) +BLE_STUB(slot_timer_get) +BLE_STUB(slot_timer_put) +BLE_STUB(slot_timer_remain) +BLE_STUB(slot_timer_reset) +BLE_STUB(slot_timer_set) +BLE_STUB(suspend_init) +BLE_STUB(tws_link_ble_slave_conn_establish_handler) +BLE_STUB(tws_link_ble_slave_conn_establish_probe_handler) +BLE_STUB(tws_link_get_ble_role_slave) +BLE_STUB(tws_phone_ble_link_connection) +BLE_STUB(tws_phone_ble_link_disconnection) +BLE_STUB(wf_get_phcom_cnt) + +/* values the library keeps for the radio's offset trims (analog.c): written by it, read by it */ +int keep_BT_CMPUK1; +int keep_BT_CMPUK2; +int keep_BT_CMPUK3; +int keep_BT_OFSI; +int keep_BT_OFSQ; + +/* log tags: the library prints nothing (a tag of 0 turns its log call off) */ +#define TAG(n) const char n = 0; +TAG(log_tag_const_d_HCI_LL) +TAG(log_tag_const_d_HCI_STD) +TAG(log_tag_const_d_LE_BB) +TAG(log_tag_const_d_LL_AFH) +TAG(log_tag_const_d_LL_E) +TAG(log_tag_const_e_HCI_STD) +TAG(log_tag_const_e_LE_BB) +TAG(log_tag_const_e_LL) +TAG(log_tag_const_e_LL_ADV) +TAG(log_tag_const_e_LL_AFH) +TAG(log_tag_const_e_LL_E) +TAG(log_tag_const_e_LL_INIT) +TAG(log_tag_const_e_LL_RL) +TAG(log_tag_const_e_LL_S) +TAG(log_tag_const_e_LL_SCAN) +TAG(log_tag_const_e_LL_WL) +TAG(log_tag_const_e_LMP) +TAG(log_tag_const_i_Analog) +TAG(log_tag_const_i_HCI_LL) +TAG(log_tag_const_i_HCI_LMP) +TAG(log_tag_const_i_HCI_STD) +TAG(log_tag_const_i_LE_BB) +TAG(log_tag_const_i_LL) +TAG(log_tag_const_i_LL_ADV) +TAG(log_tag_const_i_LL_AFH) +TAG(log_tag_const_i_LL_E) +TAG(log_tag_const_i_LL_INIT) +TAG(log_tag_const_i_LL_RL) +TAG(log_tag_const_i_LL_S) +TAG(log_tag_const_i_LL_SCAN) +TAG(log_tag_const_i_LL_WL) +TAG(log_tag_const_i_LMP) +TAG(log_tag_const_i_RF) +TAG(log_tag_const_i_Thread) +TAG(log_tag_const_w_LL_AFH) +TAG(log_tag_const_i_WLC) diff --git a/firmware/ble/ble_test.c b/firmware/ble/ble_test.c new file mode 100644 index 0000000..49aac84 --- /dev/null +++ b/firmware/ble/ble_test.c @@ -0,0 +1,72 @@ +/* SPDX-License-Identifier: GPL-3.0-only OR MPL-2.0 */ +/* Advertise-only Bluetooth test (build target "ble", docs/BLE-TEST.md): the controller from the JieLi SDK library + * (third_party/jieli-ble) is started, and one scannable, non-connectable advertisement is sent on the three + * advertising channels: + * advertising data flags, the BLE-MIDI service UUID 03B80E5A-EDE8-4B33-A751-6CE34EC4C700 (128 bit) + * scan response the complete local name "OpenPocket-BLE-TEST" + * No connection is ever accepted (the type is ADV_SCAN_IND), no pairing, nothing is sent over Bluetooth but this. */ +#include +#include +#include "fm1_irq.h" +#include "ble_os.h" + +/* the controller library's entry points (include_lib/btctrler/btctrler_task.h, ble/hci_ll.h; hci_transport.h) */ +extern int btctrler_task_init(const void *transport, const void *config); +extern int btctrler_task_ready(void); /* blocks until the controller task answers, 1 when it did */ +extern const void *hci_transport_h4_controller_instance(void); +extern void ll_hci_adv_set_params(uint16_t adv_int_min, uint16_t adv_int_max, uint8_t adv_type, uint8_t direct_address_type, + uint8_t *direct_address, uint8_t channel_map, uint8_t filter_policy); +extern void ll_hci_adv_set_data(uint8_t len, uint8_t *data); +extern void ll_hci_adv_scan_response_set_data(uint8_t len, uint8_t *data); +extern int ll_hci_adv_enable(bool enable); +extern int task_create(void (*fn)(void *), void *arg, const char *name); /* ble_os.c */ + +enum { ADV_SCAN_IND = 2 }; +enum { S_IDLE, S_STARTING, S_ADV, S_FAILED }; + +static volatile uint32_t state; +static uint32_t t_start; +static uint8_t cfg[64]; /* the controller reads its host-side settings here: none */ + +static uint8_t adv_data[] = { + 2, 0x01, 0x06, /* flags: LE general discoverable, no BR/EDR */ + 17, 0x07, /* complete list of 128-bit service UUIDs, little endian */ + 0x00, 0xC7, 0xC4, 0x4E, 0xE3, 0x6C, 0x51, 0xA7, 0x33, 0x4B, 0xE8, 0xED, 0x5A, 0x0E, 0xB8, 0x03, +}; +static uint8_t scan_rsp[] = { 20, 0x09, 'O','p','e','n','P','o','c','k','e','t','-','B','L','E','-','T','E','S','T' }; + +/* btctrler_task_ready waits (on a semaphore) until the controller's own task has started, so this runs as a task of + * its own: the main loop must never block there. */ +static void test_task(void *arg) +{ + uint8_t chmap = 7; /* channels 37, 38, 39 */ + (void)arg; + if (btctrler_task_init(hci_transport_h4_controller_instance(), cfg) || !btctrler_task_ready()) { + state = S_FAILED; + return; + } + ll_hci_adv_set_params(0x00A0, 0x00A0, ADV_SCAN_IND, 0, 0, chmap, 0); /* 100 ms */ + ll_hci_adv_set_data(sizeof(adv_data), adv_data); + ll_hci_adv_scan_response_set_data(sizeof(scan_rsp), scan_rsp); + state = ll_hci_adv_enable(true) ? S_FAILED : S_ADV; +} + +void ble_test_start(void) +{ + state = S_STARTING; + t_start = fm1_uptime_ms(); + if (task_create(test_task, 0, "bletest")) + state = S_FAILED; +} + +void ble_test_poll(void) +{ + ble_poll(); + if (state == S_STARTING && fm1_uptime_ms() - t_start > 5000u) + state = S_FAILED; /* (the task, if it is still waiting, is left alone) */ +} + +const char *ble_test_state(void) +{ + return state == S_ADV ? "ADVERTISING" : state == S_STARTING ? "STARTING" : state == S_FAILED ? "FAILED" : "OFF"; +} diff --git a/firmware/build.sh b/firmware/build.sh index 506303d..fb19aa3 100755 --- a/firmware/build.sh +++ b/firmware/build.sh @@ -1,6 +1,9 @@ #!/bin/sh # Build OpenPocket -> firmware/openpocket.bin (app), build/loader/ota.bin (update loader), # docs/firmware/*.fwsc (packages for the web installer) (in the container: tools/op.mjs build) +# OP_BLE=1 sh firmware/build.sh builds the advertise-only Bluetooth test image instead (docs/BLE-TEST.md): the same +# firmware plus the JieLi controller (third_party/jieli-ble) -> firmware/openpocket-ble.bin and build/ble/*.fwsc. +# Nothing of the normal build's outputs is touched. set -e HERE="$(cd "$(dirname "$0")" && pwd)" BSP="${BSP:-$HERE/bsp}" @@ -17,7 +20,9 @@ if [ ! -x "$TC/pi32v2/bin/ld" ]; then echo "ERROR: linker '$TC/pi32v2/bin/ld' missing (incomplete toolchain)." exit 1 fi -O="$HERE/build"; rm -rf "$O"; mkdir -p "$O" +if [ -n "$OP_BLE" ]; then O="$HERE/build-ble"; APP="$HERE/openpocket-ble.bin"; PKG="$HERE/../build/ble"; BLEDEF="-DOP_BLE_TEST=1 -I$HERE/ble" +else O="$HERE/build"; APP="$HERE/openpocket.bin"; PKG="$HERE/../docs/firmware"; BLEDEF=""; fi +rm -rf "$O"; mkdir -p "$O" CC="$TC/pi32v2/bin/clang -target pi32v2" $CC -c "$BSP/chip/crt0.S" -o "$O/crt0.o" $CC -c "$BSP/chip/fm1_vec.S" -o "$O/vec.o" @@ -31,19 +36,30 @@ fi FP="-mcpu=r3 -mfprev1" DSPDEF="-DPX_SR=44100.0f -DPX_OVERSAMPLE=4" INC="-I$HERE/inc -I$HERE/../engine" -$CC $FP -Os -ffunction-sections -fno-builtin -Wall -Wno-unused-function $DSPDEF $INC \ +$CC $FP -Os -ffunction-sections -fno-builtin -Wall -Wno-unused-function $DSPDEF $BLEDEF $INC \ -I"$BSP/chip" -I"$BSP/boards/fm1" -c "$HERE/openpocket.c" -o "$O/openpocket.o" $CC $FP -O2 -fno-builtin $DSPDEF $INC -c "$HERE/../engine/px_dsp.c" -o "$O/px_dsp.o" $CC $FP -O2 -fno-builtin -c "$HERE/px_math.c" -o "$O/px_math.o" +BLEOBJ=""; MAPOPT="" +if [ -n "$OP_BLE" ]; then + MAPOPT="-Map $O/openpocket.map" + # JieLi's LE controller (LLVM bitcode, Apache-2.0, third_party/jieli-ble) -> pi32v2 objects, and our context switch + mkdir -p "$O/jl" + for b in "$HERE"/../third_party/jieli-ble/*/*.bc; do + $CC -Os -c -x ir "$b" -o "$O/jl/$(basename "$(dirname "$b")")_$(basename "$b" .bc).o" + done + rm -f "$O/libjl.a"; "$TC/pi32v2/bin/ar" rcs "$O/libjl.a" "$O"/jl/*.o # an archive: the linker takes only the objects the image calls + $CC -c "$HERE/ble/ble_ctx.S" -o "$O/ble_ctx.o"; BLEOBJ="$O/ble_ctx.o $O/libjl.a" +fi # official JieLi I2S driver (LLVM bitcode from the AC79 SDK, Apache-2.0) -> pi32v2 object $CC -Os -c -x ir "$HERE/sdk/iis.bc" -o "$O/iis.o" -"$TC/pi32v2/bin/ld" -T "$HERE/app.ld" "$O/crt0.o" "$O/vec.o" "$O/isr.o" $CPU1OBJ "$O/openpocket.o" "$O/px_dsp.o" "$O/px_math.o" "$O/iis.o" -o "$O/openpocket.elf" +"$TC/pi32v2/bin/ld" -T "$HERE/app.ld" "$O/crt0.o" "$O/vec.o" "$O/isr.o" $CPU1OBJ "$O/openpocket.o" "$O/px_dsp.o" "$O/px_math.o" "$O/iis.o" $BLEOBJ $MAPOPT -o "$O/openpocket.elf" # symbol map: used to translate a crash address (PC) into a function name "$TC/common/bin/objdump" -t "$O/openpocket.elf" 2>/dev/null | sort > "$O/symbols.txt" || true "$TC/common/bin/objcopy" -O binary -j .text "$O/openpocket.elf" "$O/text.bin" "$TC/common/bin/objcopy" -O binary -j .data "$O/openpocket.elf" "$O/data.bin" "$TC/common/bin/objcopy" -O binary -j .ram_text "$O/openpocket.elf" "$O/rt.bin" 2>/dev/null || : > "$O/rt.bin" -python3 - "$TC" "$O" "$HERE/openpocket.bin" <<'PY' +python3 - "$TC" "$O" "$APP" <<'PY' import re,subprocess,sys tc,out,dest=sys.argv[1:] syms=subprocess.run([f"{tc}/common/bin/objdump","-t",f"{out}/openpocket.elf"],capture_output=True,text=True,check=True).stdout @@ -79,5 +95,6 @@ python3 "$HERE/../tools/mkloader.py" "$L/loader.bin" "$L/ota.bin" # ---- update packages for the web installer -> docs/firmware/ (PocketX_9NN.fwsc, BlackBox_9NN.fwsc, manifest.json) ---- VER=$(sed -n 's/^#define OP_VERSION_NUM "\([0-9]*\)".*/\1/p' "$HERE/openpocket.c") -python3 "$HERE/../tools/pxpkg.py" "$HERE/openpocket.bin" "$L/ota.bin" "$HERE/../docs/firmware" --version "$VER" \ +mkdir -p "$PKG" +python3 "$HERE/../tools/pxpkg.py" "$APP" "$L/ota.bin" "$PKG" --version "$VER" \ --sdk-files "$HERE/sdk/packager" diff --git a/firmware/openpocket.c b/firmware/openpocket.c index 2a1956f..17c0d2f 100644 --- a/firmware/openpocket.c +++ b/firmware/openpocket.c @@ -544,6 +544,14 @@ static uint32_t ed_flags(void) { return (a_bypass ? 1u : 0u) | (a_c1 ? 2u : 0u); #include "px_editor.h" /* the web editor (docs/EDITOR-PROTOCOL.md) */ #endif #endif +#if OP_BLE_TEST /* the advertise-only Bluetooth test image (docs/BLE-TEST.md): make ble */ +#include "ble/ble_os.c" +#include "ble/ble_libc.c" +#include "ble/ble_cfg.c" +#include "ble/ble_rf.c" +#include "ble/ble_stubs.c" +#include "ble/ble_test.c" +#endif /* P3_RST_SRC as read at boot: why the chip last reset (fm1_sys.h) */ static void rst_names(char *l, uint32_t r) @@ -576,7 +584,11 @@ static void app_main(void) /* boot screen with the version: shows which image is running */ lcd_rect(0,0,240,240,UI_BG); ft_box(0, 98, 240, "OPENPOCKET", &FT_MD, UI_ACC, UI_BG, 1); +#if OP_BLE_TEST + ft_box(0, 126, 240, OP_VERSION " BLE TEST", &FT_SM, UI_DIM, UI_BG, 1); +#else ft_box(0, 126, 240, OP_VERSION, &FT_SM, UI_DIM, UI_BG, 1); +#endif #if !AUDIO_PROBE { /* the supplies as found -> as set (fm1_cstart): "PWR 3>7 11>15 DCDC" */ char l[32]; l[0] = 0; @@ -653,11 +665,17 @@ static void app_main(void) ui_invalidate(); ui_render(); op_stage(ST_RUN, 0); +#endif +#if OP_BLE_TEST + ble_test_start(); /* radio on, controller up, one advertisement (the pedal keeps working) */ #endif enc_last = (uint8_t)(PC_IN & ENC_MASK); for (;;) { uint32_t now = ms_now(); fm1_wdt_feed(); +#if OP_BLE_TEST + ble_test_poll(); +#endif #if !AUDIO_PROBE px_usb_service(now); /* web installer: handshake, update, UBOOT soft key */ audio_poll(now); /* the sound follows the UI (preset, settings, volume) */ @@ -674,7 +692,18 @@ static void app_main(void) if (l >= 100u) c[i++] = (char)('0' + l / 100u); if (l >= 10u) c[i++] = (char)('0' + (l / 10u) % 10u); c[i++] = (char)('0' + l % 10u); c[i++] = '%'; c[i] = 0; +#if OP_BLE_TEST + { /* "ADVERTISING C1 42%": the Bluetooth state first */ + char b[40]; int k = 0, j; const char *w = ble_test_state(); + while (*w && k < 14) b[k++] = *w++; + b[k++] = ' '; + for (j = 0; c[j]; j++) b[k++] = c[j]; + b[k] = 0; + ui_status(b, a_bypass); + } +#else ui_status(c, a_bypass); +#endif } } else if (now - t_tuner >= 100u) { t_tuner = now; tuner_draw(tuner_estimate()); } #endif diff --git a/firmware/px_audio.h b/firmware/px_audio.h index 183714e..72e12b8 100644 --- a/firmware/px_audio.h +++ b/firmware/px_audio.h @@ -46,9 +46,11 @@ void *os_current_task_rom(void) { return 0; } void cpu_assert_debug(void) { } void P33_SYSTEM_RESET(void) { for (;;) ; } +#if !OP_BLE_TEST /* the ble build has a real heap (ble/ble_os.c); iis_open draws its block from it */ static uint8_t jl_heap[4096] __attribute__((aligned(8))); /* iis_open: 2 channels x 8 x sr_points (256) */ void *malloc(unsigned n) { return (n <= sizeof jl_heap) ? jl_heap : 0; } /* single block: iis_open */ void free(void *p) { (void)p; } +#endif /* memset / memcpy: felucca-bsp libc.c (included by openpocket.c) */ static volatile uint32_t *jl_preg(uint32_t gpio, uint32_t off) diff --git a/tests/run_tests.sh b/tests/run_tests.sh index ff82108..cfdcb70 100755 --- a/tests/run_tests.sh +++ b/tests/run_tests.sh @@ -25,6 +25,8 @@ echo "== installer" node tests/test_installer.mjs "$1" echo "== build entry point (tools/op.mjs)" node tests/test_op.mjs +echo "== Bluetooth test image sources (third_party/jieli-ble)" +node tests/test_ble_sources.mjs echo "== editor" $CC -O1 -Wall -Wno-unused-function -o build/edsim tests/edsim.c engine/px_dsp.c firmware/px_math.c -lm node tests/test_editor.mjs diff --git a/tests/test_ble_sources.mjs b/tests/test_ble_sources.mjs new file mode 100644 index 0000000..c7de97b --- /dev/null +++ b/tests/test_ble_sources.mjs @@ -0,0 +1,25 @@ +// The Bluetooth test image's vendor objects (third_party/jieli-ble, docs/BLE-TEST.md): MEMBERS lists exactly the files +// that are there, each is LLVM bitcode, the licence text is JieLi's Apache-2.0 file, and the normal build never touches +// them. (The image itself is built by `make ble`; this needs no Docker.) +import assert from "node:assert/strict"; +import { readdirSync, readFileSync, statSync } from "node:fs"; +import { dirname, join, resolve } from "node:path"; +import { fileURLToPath } from "node:url"; + +const repo = resolve(dirname(fileURLToPath(import.meta.url)), ".."); +const dir = join(repo, "third_party/jieli-ble"); +const listed = readFileSync(join(dir, "MEMBERS"), "utf8").split("\n").filter((l) => l && !l.startsWith("#")).map((l) => l.split("\t")[2]); +assert.ok(listed.length > 0 && listed.every(Boolean), "MEMBERS has archive, member and file on each line"); +const onDisk = ["btctrler", "cpu"].flatMap((d) => readdirSync(join(dir, d)).map((f) => `${d}/${f}`)); +assert.deepEqual([...listed].sort(), onDisk.sort(), "MEMBERS lists exactly the objects in the directory"); +for (const f of listed) { + const head = readFileSync(join(dir, f)).subarray(0, 4); + assert.deepEqual([...head], [0x42, 0x43, 0xc0, 0xde], `${f} is LLVM bitcode, as published`); + assert.ok(statSync(join(dir, f)).size > 100, `${f} is not empty`); +} +assert.equal(readFileSync(join(dir, "LICENSE-JieLi-Apache-2.0"), "utf8"), readFileSync(join(repo, "firmware/sdk/LICENSE-JieLi-Apache-2.0"), "utf8"), "the licence text is JieLi's"); +const build = readFileSync(join(repo, "firmware/build.sh"), "utf8"); +const link = build.split("\n").find((l) => l.includes("pi32v2/bin/ld") && l.includes("app.ld")); +assert.ok(link.includes("$BLEOBJ") && !link.includes("jieli-ble"), "the vendor objects are linked only through $BLEOBJ, which the OP_BLE branch fills"); +assert.match(build, /BLEOBJ=""[\s\S]*if \[ -n "\$OP_BLE" \]; then[\s\S]*third_party\/jieli-ble[\s\S]*\nfi/, "third_party/jieli-ble is read only inside the OP_BLE branch"); +console.log(`ble sources: ${listed.length} objects ok`); diff --git a/tests/test_op.mjs b/tests/test_op.mjs index 50598cf..f522730 100644 --- a/tests/test_op.mjs +++ b/tests/test_op.mjs @@ -41,6 +41,9 @@ let r = op(["build"]); assert.equal(r.status, 0); assert.deepEqual(r.calls, [["info"], BUILD, base(["sh", "firmware/build.sh"])], "build"); +r = op(["ble"]); +assert.deepEqual(r.calls.at(-1), base(["sh", "-c", "OP_BLE=1 sh firmware/build.sh && sha256sum firmware/openpocket-ble.bin build/ble/*.fwsc"]), "ble: the test image is its own build"); + r = op(["test"]); assert.deepEqual(r.calls.at(-1), base(["sh", "tests/run_tests.sh"]), "test"); @@ -97,12 +100,12 @@ r = op(["build"], { path: join(tmp, "empty") }); assert.notEqual(r.status, 0); assert.match(r.err, /Docker is not installed or not running/, "no docker at all"); -for (const p of ["build/x", "firmware/build/y", "docs/firmware/PocketX_900.fwsc", "docs/firmware/manifest.json", "engine/px_render"]) touch(p); +for (const p of ["build/x", "firmware/build/y", "firmware/build-ble/z", "firmware/openpocket-ble.bin", "docs/firmware/PocketX_900.fwsc", "docs/firmware/manifest.json", "engine/px_render"]) touch(p); touch("docs/firmware/README.md"); touch("engine/px_dsp.c"); r = op(["clean"], { path: join(tmp, "empty") }); assert.equal(r.status, 0, "clean needs no docker"); -for (const p of ["build", "firmware/build", "firmware/openpocket.bin", "docs/firmware/PocketX_900.fwsc", "docs/firmware/manifest.json", "engine/px_render"]) { +for (const p of ["build", "firmware/build", "firmware/build-ble", "firmware/openpocket-ble.bin", "firmware/openpocket.bin", "docs/firmware/PocketX_900.fwsc", "docs/firmware/manifest.json", "engine/px_render"]) { assert.ok(!existsSync(join(root, p)), `${p} removed`); } for (const p of ["docs/firmware/README.md", "engine/px_dsp.c", "guitar.wav"]) assert.ok(existsSync(join(root, p)), `${p} kept`); diff --git a/third_party/jieli-ble/LICENSE-JieLi-Apache-2.0 b/third_party/jieli-ble/LICENSE-JieLi-Apache-2.0 new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/third_party/jieli-ble/LICENSE-JieLi-Apache-2.0 @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/third_party/jieli-ble/MEMBERS b/third_party/jieli-ble/MEMBERS new file mode 100644 index 0000000..df16c62 --- /dev/null +++ b/third_party/jieli-ble/MEMBERS @@ -0,0 +1,37 @@ +# archivemember -> file in this directory (read by extract.sh) +btctrler.a RF.c.o btctrler/RF.c.bc +btctrler.a RF_ble.c.o btctrler/RF_ble.c.bc +btctrler.a aes128.c.o btctrler/aes128.c.bc +btctrler.a analog.c.o btctrler/analog.c.bc +btctrler.a analog_ble.c.o btctrler/analog_ble.c.bc +btctrler.a btagc.c.o btctrler/btagc.c.bc +btctrler.a btcontroller_heap.c.o btctrler/btcontroller_heap.c.bc +btctrler.a btcontroller_util.c.o btctrler/btcontroller_util.c.bc +btctrler.a btctrler_task.c.o btctrler/btctrler_task.c.bc +btctrler.a device_manager.c.o btctrler/device_manager.c.bc +btctrler.a h4_controller_interface.c.o btctrler/h4_controller_interface.c.bc +btctrler.a hci_controller.c.o btctrler/hci_controller.c.bc +btctrler.a hci_ll.c.o btctrler/hci_ll.c.bc +btctrler.a hci_ll_cmds.c.o btctrler/hci_ll_cmds.c.bc +btctrler.a hw_dma.c.o btctrler/hw_dma.c.bc +btctrler.a lbuf.c.o btctrler/lbuf.c.bc +btctrler.a le_low_power.c.o btctrler/le_low_power.c.bc +btctrler.a link_layer.c.o btctrler/link_layer.c.bc +btctrler.a link_task.c.o btctrler/link_task.c.bc +btctrler.a ll_adv.c.o btctrler/ll_adv.c.bc +btctrler.a ll_afh.c.o btctrler/ll_afh.c.bc +btctrler.a ll_events.c.o btctrler/ll_events.c.bc +btctrler.a ll_init.c.o btctrler/ll_init.c.bc +btctrler.a ll_keys.c.o btctrler/ll_keys.c.bc +btctrler.a ll_resolve_list.c.o btctrler/ll_resolve_list.c.bc +btctrler.a ll_scan.c.o btctrler/ll_scan.c.bc +btctrler.a ll_slave.c.o btctrler/ll_slave.c.bc +btctrler.a ll_vendor.c.o btctrler/ll_vendor.c.bc +btctrler.a ll_white_list.c.o btctrler/ll_white_list.c.bc +btctrler.a misc_hw.c.o btctrler/misc_hw.c.bc +btctrler.a sys_timer.c.o btctrler/sys_timer.c.bc +btctrler.a thread.c.o btctrler/thread.c.bc +btctrler.a vsprintf.c.o btctrler/vsprintf.c.bc +cpu.a delay.c.o cpu/delay.c.bc +cpu.a crc16.c.o cpu/crc16.c.bc +cpu.a wlc.c.o cpu/wlc.c.bc diff --git a/third_party/jieli-ble/README.md b/third_party/jieli-ble/README.md new file mode 100644 index 0000000..095ba28 --- /dev/null +++ b/third_party/jieli-ble/README.md @@ -0,0 +1,36 @@ +# third_party/jieli-ble: JieLi's Bluetooth controller (Apache-2.0) + +This directory holds JieLi's own Bluetooth LE controller code, **as published, unmodified**, for the advertise-only +Bluetooth test image (`make ble`, [docs/BLE-TEST.md](../../docs/BLE-TEST.md)). Nothing here is part of the normal +OpenPocket firmware or of the USB MIDI image; only the `ble` build target links it. + +| | | +| --- | --- | +| Source | JieLi `fw-AC79_AIoT_SDK`, branch `release/AC79NN_SDK_V1.2.0`, commit `0617f4cc09685332aaf1104893718291c54ee5bb` | +| URL | https://gitee.com/Jieli-Tech/fw-AC79_AIoT_SDK (files under `cpu/wl82/liba/`) | +| Licence | Apache-2.0, the SDK's `LICENSE`, kept here as `LICENSE-JieLi-Apache-2.0` (identical to `firmware/sdk/LICENSE-JieLi-Apache-2.0`) | +| Copyright | Zhuhai Jieli Technology Co., Ltd. | +| Ruling | The project owner ruled that linking the SDK's Apache-2.0 binary libraries is acceptable (the same reading as for `firmware/sdk/iis.bc`, `docs/AUDIO-SDK.md`). The libraries are shipped as LLVM bitcode, not as source. | + +## What is here + +Individual objects (LLVM bitcode, clang 4.0.1, the same compiler as our toolchain), taken as they are from the +archives; `build.sh` compiles each with `clang -target pi32v2 -x ir`, as it does for `firmware/sdk/iis.bc`. + +| Directory | From | Objects | +| --- | --- | --- | +| `btctrler/` | `btctrler.a` (sha256 `d98f2ad9d483cd2c103cab56c2760162edf92cc451a04e5668af02a590c95cb3`) | the LE controller: HCI front end, link layer, advertising, slave link, the LE and BT radio drivers, interrupt and DMA helpers, their utilities (33 of the archive's 106 bitcode members) | +| `cpu/` | `cpu.a` (sha256 `3d3e0876e21afe2c9cb7de713378d3802b1d0f544a1787f07e982269a0e7e67d`) | `delay`, `crc16`, `wlc` (small helpers the controller calls) | + +Not used: the classic Bluetooth, TWS, LE 5 extended/ISO members of `btctrler.a`, and all of `btstack.a` (the host +stack: this image sends its advertisement through the controller's own HCI-level functions). + +`extract.sh` rebuilds this directory from an SDK checkout and checks the archive hashes above: +`sh third_party/jieli-ble/extract.sh /path/to/fw-AC79_AIoT_SDK`. + +## What OpenPocket supplies + +`firmware/ble/` is OpenPocket's own code that these objects need: a small cooperative scheduler with the operating +system calls they make (tasks, queues, semaphores, timers, heap, interrupt registration), the configuration +(`ble_cfg.c`, derived from the SDK's `apps/common/config/log_config/lib_btctrler_config.c`, Apache-2.0), empty stand-ins +for the parts that are not built (`ble_stubs.c`), and the radio start-up replay (`ble_rf.c`). diff --git a/third_party/jieli-ble/btctrler/RF.c.bc b/third_party/jieli-ble/btctrler/RF.c.bc new file mode 100644 index 0000000000000000000000000000000000000000..ef79d11e5154750f494f0a597d92c684d509a28a GIT binary patch literal 18888 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 literal 0 HcmV?d00001 diff --git a/third_party/jieli-ble/btctrler/RF_ble.c.bc b/third_party/jieli-ble/btctrler/RF_ble.c.bc new file mode 100644 index 0000000000000000000000000000000000000000..a3dd0465a20778f3df74ee8fc2dd99ad5c2fe580 GIT binary patch literal 194040 zcmeFa30RXyyEi`B1BN6lVvxmvsJId!Dk#>3fTBf>h%0CkLRged0s^+xumn)irfMx( zv|!a*t1T+6+S(cfEGo3I`nGCaprS?Vf?I2?*8e^8BoW&8yyt(;`M&G=uIs$1Oy>E` z%)QM$_uTU&Pa2^xUm5L&5DOuc$dmX_ng7+`yJuI7jHCr)2>J35%KZ|dKE+~0hig~( z;}i{iOWwkq!WIUHt*4dp2C=vvKFl?V2LC8}#QHuF{?5T}pM96hR7TEHnZmFI{!%hlztr!oo)%9m$zpfv~jL~~w?hI;v! zs`3I8XL%|^Zzvy=TAp3Q$wjTcUgtGFr)c69U+){fUQI>br)r(Le7(La^1i6{I$q=r ztw_)1EUPNdLEL2l<%Lz{V+_Ewd}(w!lw%~E0w5*km~rPDwO;7B_mx_wR=LmdT1=|F z!~44i@2*;}&RVBaMc&`ldZXp0^5p>>b#{3^NMb6_PAvx^3ku3}vpIklrk3QW%X3r9 z$3Tbd@-gc294;ux%`Ye)6V1t&l!Mm)O#Vw9-WO%ww`#rHiTqfRo|5C?+2z^U|7y6} z=erKCOSN7twN8&f;0{p7sg>q)vBvv&k&lHYDbH4e${Yic9JI(ba0)=A(7zk=Mv>2P zjo0^}zTD?Zkm77Ti+`?#lSrW&8{o|E5}S6Y3WBL!sb-Opu}GcU#zZg#1Sa zz9FoXF}_t1hL~YH8pBIVLhBS^^|T44ig9%c&q_sT9kepk{0=k!p^}dp_}3+ZhZc6X zSa4m!zbO#_%^OGnq&iU*bZ!ja$dDaw9A94))}jcl$E3oKD#jgVOxRcwUM~-;Q;e%; z$UsiPb;P^d%?C*y2>ExE{0t!Cg((y+Xo`)5oha1CzyIJ8`uL!j;#-STR{%w#G2{Ai~;AS@eu9DwrVLw&! zA9V9U7mz>0!tam?x_YZXn*b`98R0uh##jHH+C!P3L&E=snBpFYE#W`v=0C8oe^Lr= zsQFk6;8g>B+i5b3BDAG3Y$IbreM6{OF#$c0aL`P_U5Nnnq73*q0nULX6`rk);?T{Q2P%RdK}JeRW+mSiepIk!AlT|Pzxivohf%jI8; z*BvYz@O*Il?;y5NKJ4q&@|P9#AFq9m0px_BB*Kf@?A7V(b+Oj#BJ#Q7>wO7U6D*$^ zuk*g%7i*oM!=+lM^R-^ESg6PY(WX`NAISf|DF_HdPT+|b7--REW*k|bM;pOI#-C%1 zuVaK;V3pCrV6AN|2}4bxM@zz66k(N&33ZBB>Wg3{PB_c}KZI2owxeXi4yc2VDZ*Qb zkNuM+(`n*A6!L#EV=sLqZ0KGVy% zK^E@~v7p0(Np*MgVIe<)1!!SkH}h{=_z2e8gpCZze-b)ifj5pntnh>wRSF7{B@fH9 z>R&DS8vbJo4tF3wR-}jI|EnT~n2&@dPC+Hlu=^kp@39mswBXRzbng6?m4bk#(J0Dshc!Fd6YQlAha`(l8NB=yEniS(&6`>W3 z@!%2=19vdSLjZ*B2DS-%C=)_>e+VHRk|J5!~H13>YJS+{6 zA1l&Ray-19-_icBhBt)oXbd~72s0@>yFlPZ*lNk@kmGn>^OpqzT67>mH;9zY|J#nx z%9v2v7`m4%w4;m(u+}V%DjLc*7yb!7Rw5qaLvo82Lxu@y%we3QEr$)oz=8Z~jJP}pa#{(; zAS%x{k({%Jv#h0jjHw)Q;CyHm<371{<+)H#Eh((v6xL7~X~{Ckh-5u>CAp+;Yg7#~8}Wm5CEQ>B*25Ec&2NGat%?1T=N?8I4u)gY_%TJQ(bG1Gf zX+BtfqDT+PNk$4uVE(@ve#6)Mn+9*Z-OC2R9(v_p?UJAcms4PXoV;A0`d4En`oIC< zgvJ|oWJr=Bw}*@ZQj3c+uUidXtt8b4UXVhgaKv5C~ za|+LYZ*$b);y+1@#eu{|2 z_qhq5n|3QE)H5J;oIo7_dz|=4=5|-ehtmq#m;ZWfBwKTSIv!m@eLL_Mr6tLgLMX1&EJe zkU2w0ME}mi$qges zbp!h+9={#V_^Aez0=EK6=%EaRroiV}I{Z0Vu{uH=BV;E=C}X&l4#zbyT$4k@_88%& z#9}kkwbZvtENx(R1Pm6w`V-T&LYr3X(D)tGwK%2N;^xYX-Yg!`!1Q$-%u~3;2-mBR zOClReWn08v4NQ&WU}jUPVT&y0?b$Khj~y6pLtV?XLkIJm+<~3;xGAlHnV5DUvAE9J zm7Ym&h@39bWFJU8o}JskY;YLNofV`}yJQucUw17#0hhcW-zUJuH70;PJ|zwck5B-sfTOW0b+2%zP2@PTN0B2^avv^g6n8Wn)pXNL$W<{Ow1tSubERq`#jn3o>#j^im z1rG{P*2rithr>so6_R^CoVcJsxU1X|} z$z6oei2g(LtVo9q14c9rSQs#0OyponQf2(u_69C;4v1hnNIUwctq#yUC^0_yppSQ- z0Hsi7kTLd{=d2%b;4fno&n)A*B$_INBTdMVT0O|>J<#z5P1+a{ z8C^BAB%QMBpDzN}J$x1+>$}?|mV<8&nS$qaM#5Qv==h6y&MsVGbP;Q^9pwFEMqFfw zZ;`>!NZewjUn$M+HmB^?kYU?5D`o9cqUWH9>@Bp4x&fj+@9nNgj-Vs@&sKMd{BwZ& z@kP-lVLO`-#u2vEYB_KEgxZbV^7Yd1+-4r{d;zjfl!zxj=9wd(Mb8RN6^l{BOwz>Z z^VW-|(avo$9*9gUVT#>4ZPtAv_+=%Z=L~ek*=way8zsLtL_8}uR=Q6t<-H{{R8&Wd zt~mQdc1;?fUiubkf1!B}>bRCM2Qs@_rda9UAMpJEr_9lV&Lku+4`m>S zf`D)BTF%(?h@mjD5tD1#7K}{h@~4*uT0P~MKXMwzB@X`_4>JTbX zeOt;*oxMd^Gbc=LSk&fhpf^wTq)Uen;41g|`^pZ*8qxKs4)prr3%SZqI(=ow9uySm!_IdTci7z_3(!W<+GEpNrDemKYfjAp`kK5Awk<;;p(0WfSB6h{>gXZUI7wXRmMa zqtoaXuFw(-;SGAaEU4hR`wPX}cOoSdJT9r8i$=M`E>}9zMO3lPSXI5>FtI=C5xeZi;*MF%Ym053$lmwLdJ>`jMeFPhvf znkg3x4v`=&kWMe5)5j7@6Bi!qbUQo1*=#62J=Cx{_*-WlvsjwMpgpMG011P1D01Z$ zM3;w|7_XU1obutbDhq!(lt{2#!pW)O=*1lPEN`i;vP{N#iL3d&F5CI=Evuz!(!s*+ zsNulp5HNhW`&c0dKDbetIQl27rSO^2yoSR?q3~Jrv*Pfo#y}H%pF|P5H}#SXf8Ml0 z?$g@Q?*x2NLF3b17g4jVu*{-ZS_2P zz(6$@$q-U=t~r)?41!G_{*4#S6IlWrNT>4+Eyqohrhvr|GV^zdQtkM;<281?OxUF3 zGBMHf4Z`Dxc|}$_iO2xPrXhoO>qy>`jS%DD-)(iKM*Tjxju`XZ(1+n=<6E^*blXn9 zhn&mhEd$j;N=^k23CYm9lA&e&r^4LAzh#nA*(ik=_b~IzgvVbB6Y)|QH8K$W4Bj!J zTm*S3@UJWJD6f5UJ;HJlAv5ekw#v~?4bE>sNCwZ|UtaFJ(bm6m9PfR5|MMEjPMcB( z*^PXgQX*Nv+y8{lNu%#N8y((w-UoI%S2RjHoeh0T?8Xr-6Dfz~=6Cup2hX_$rm?k=>Y;jqQ_d{ZI5Q3$gd#RHHD9vGyp8v#5U-=d5e7Cn~X0h!vjT zis;zh;5Kx-+e}Zau}kRct_ZYgTD4zfwo52vAg0yLP9$B-Rn?2Wu@m3ete$RDCwU}0*RIYI$s?r;L})y-X={A9 z+AIw2mua_frl!E|e)gG_(R~vpU1$*gbBBrN-LenQ(Nx)oH}Vz3Z0dmb-nAS2XtUWa z;ownh_>Kc*#@1$w9p5#oEWd~3PwbLkFw$Q7$dm* zGqJ_)KL^>0ms(pykL)6CES5}a6jKpkaKEx~R*@QG@?4BIL zZ?r25p4?)mT+=9?>OedaVvDrwjj4z%kFxMFG+;*}1VV~!XAvEomb?tUGZrHnL>L?q zk=gWtj{(OKtTIx!gb45`LIX)U=R3jq%|Lt{i5}F0Vc0SR*9h?n7cr25L3Bc>EPQ`2 zb{7yG>_}d~E(6g_P^Z|Xj4@z4ke9ke?}<^HFc6Q4kakHw7XaE-Nd^}%}D*m(#*PdmFx4luT}JH_A{ zfWHiefp$L^AqGQ87y!FRz<|cJvio*9Lfv+DA4~u?c6JYadK&Y0(C$BCcLIzF+F03L z>t)O*G6O!cVtow0--32RJG+$dp4x@<(ykEL`5A1+Z0)7ptzPUt>CF!K06XjiV9eLy z4Qy?lyI$%h71S+feYg?{I2etv3v*_QV8#t_ z0n29xm(FvSQFF{IoWrD*0W&dfD+?c4+*7-LG}Qib3RYpav@M?@lZ0yQ&lJ0mfn15& z&hChln23m(iyrj$=f!X*3C3VT!0uSD83$uh0}*yGSgp91ZN?2mM64?W2U?FN&g7m= z5Bv9Yb?ke=2Al6~glUClxW+S{%R~kcREDq0!ta2vu(HJXO5x)JaxrYa_vV|uBpGc$ z?a+ymn6{2Kl6T=^HoJk|PQ}h1q5@gPP$H_c>^BDD?9;f2wXshugb!E%Lzv7;Mu1s1Y$U5Mmfw- z=bkk8f-sBi!fcx(H)x!oBkl^J00JG3ka&hAorNHbKh*G*=s}aC5T!#+41W--=hJ$u zvKhUi*$0sZ(u=Z;et1t|P6Ew~KtKk6pv4!(s6+%h;;xXi%z zK6G9tjIo+@soc=Uh4^fi5B%K%fGRfi<ONHc=jR8P9(X4-JaA28=7U#TM;+U7;*+X{%hnDW!*x4xoP}E8t|jC~V2EI! zssIn?7*nOg;K?VL3c7@@WEz$1(FwbsyigXEtbQTLi?06Tg>vhOBQFG>s&Ms8GgR{y z;A(9nR3Gzkb@h3+uD>$LIJe1l&^D#PKxc7NmC;5orQ>L2Lu2_1fq#u`qGOJMTZzue zJlq<2GKY-{XUm7qX!UFhofV*L4`7LayVw{jG0u_=isQ0oGIdH(v(l}3rhjv+w0Tyf zF)oHRJI**efi)+|I47MoH`h4#^(c|Dg4QfjnrKlT$|_p3hq8ti)nB=r*4$rNM~m`Q z9;P*WD$TSgFJ%jDrN;4}eL3x5@Oi;G6SPPZsS%Z}Atm})E1~w~AS;J;6QJUGT z3}rie(9GSO=GT;8aagY_n>fbTl@^Zi4P`sWxI)>@F|JfT(h2je!S<8`I`&Y6C?*kP>qlzTYM%awJU zsMnOAbBwPke_|Umm7Q!>mhuKWPWG)hbgTQ$bDM&yl3en{ZhKzYu(PwkzY~!OGMeUVM^W1;1|QsT<^j zfSXS*9Y6NE`e6U*yFP^5xkRR6btMw6cSec9blG%i$Ojj63)8-#?>~F@z{iovMO_`g zFPOV!iF@_*HL;6Ni(-OTjT3qc93RWR8MeW}FW~>mdY-a+bwp21cR!8U6k(hN^D+Cq zld-$*y|ZrmxACt$dOn>0?P;+Ow`}aYZOKAV=b%jTy2Fgw^>1C1-yQ4imi)oDnXH8~ zgU%1Wd?SA@=VI_0Rc+n)Nh^O$8=G3m|KhT4*(Z^i0dc&~rX2eH@;{0`YyD|%!0mNs zt}YV^`oG_pnZNn+@V7i2`<7&Um$4#0uV&=ICw(2ia2z~qZvN@hDJCyL#D)v2%OaZ9 zuZ~#r%g-P4>vitOA~bW?y;%RFMp+fJ=@<1Am#=D-LFZjg|Mc{T%@1~7JJz{OL!FO0xn2)-3yR$B)nM-jc;9-yiO_>`c~^v3GoaBV#S==59QFHRnAW>D4Ufcjcyo zr;^6FUA(_K=lA%#XRT7l?iVM9aC7EtZY_%#zi8&Dm8ajZ`Q-f{@34sw)PhnQr1w3H#py?@~SLMQP2^;uE)j zJIb?q>D8V~X`ydWwEt9%*qd5{&wGjIxJvFfvp?e|p6;tki-`5NDH;;^o;)X7kz<&GsgG1Hlc6+4vj1N&) z<+`yGrhQw|`XI++2cw~T(CdoYWMR)`_r-1Y{pI3EUtWLz+Oc~-fkDwuD{7l=9v4R;R-0*-q)6d33>pzsKqV8U<`1#el_nzEYR&uH1 z{^zx+0bOg4H}slVkblFqLv^E~Im0@@VV+)jaPt0-^ZLP@bUPXU-uM09eb3nYvd-)` zx(`tI$p|;xK7VVVKs@2Ipwo<&H}AweM06=#R-EpzjbrltaZ491Hvo=qLl!6X37TN= zxo{;;P!s)G*bj`<^>?QKiuNS^cyNMY)P)tff|{7mCSGM!xK4UC_(G>qH17ALjj^%w zcfLJ0ar4ei-O7Nd-hP(2Z1b;CSC1tZ9$xq-UNJ56b-|vFf9W)GK*jQ{#l?}sQ>P2g zp0@e(UphSu_Lk0gPkyZ~VcV$Fa!r2K^H;$6`tSU)m*tlIzUHfyXYWeCthHqHiaCe= z5&XmDYm3sZD7!xEIg?|fKPzd`EEnxq5|G<#<;4#^E!Y0~+M+p9x6ga+Qhh(TsaFc( z{DAwgPy5!5Sl4a+ra<}Q$>{yrJzec;p!e2oB>`_2(|heMqrTupT$MwJ>s(QC>Tdq? zN_N{#&GO~EEvFkZ+;_hcSaK1s0lqQ9iM8*$u)oB{V>dNpQn!8oP97}mZ|QFw%gtTh zV`n@!^>pu8+wYARn=U_+P7u7@Jr}U!6Xz#Pw1?|_6F<)H{aX*+x>&>Bn)$eJPpu{R zFYY{Ltr!nkc{Vf0fF>0@9cI_MF%Wq3Wm_-xwDsTm$6QwGoE4Ey5i2jSJ&(XZbB z;_j|@uB*lboP#BveDDGuQuAGc{L}9p+<%(57rsH%wYe^@*a+VT8Nl^DzHL?J&A+WL z@gwiZl_f3L!xsMe4NR1GZ?8P}i<`ecdsXC6o-K-KdoAyGz#U7Q#BT+xEy@*>Ehv{) z5Ow6)$lq>Sx1gOflASwOoRvQu=fz)n`lgd{U9S~<`DW;C_Q{{Kg<&y*lH3}XBegXN zTiCrevG`YnkH@j5mCJ|p^7@OPo`Em5JbpDYKEtNAC|1<_? ztO5T*1b)mO9vytb0g(ODVaFLuLgBXz>J$^;k)CJA z!#fq@E8w!RvT+NiP=tQ~Whp|1VuWtF!*8?rM2i&_JdZFBf74sC6D=*NeoC%e@HUZ$ z@8lNK%#FU)9V$G@$GSNlBSxGK+05`C^!0)0nUBIvakFR5p8b!qJ`7ifwsxNL@eykW zdQC3&`Z|c$vcVD&A&k_Bd2%g8a`3FX@)=N$*7CP>iuGtO)15O|JcWfLH zvt819JYaQB!0PX$Yp;d&IV(MVJoKCOlGXzwDz{5sUGIM~QCt!nP_|U+^r?92PF|_p z>)QhXv0~|zjc%)#N+;`u&HKZ-@5|QgkG7Obrd{*mxs3ceN5W;!ta>afeao9o@3T5_ zL}a2r`@84{*O99tMzHGKnq;MoArcF1DEF<~$2I&_h5(2CQm!VvN$%yao!6-LZ^`uL`>BGRF40^d|*3OT4t^;CmAMXR4S1yYEIPjIF(|??CEhm zucPJDr$@!a%~Q>u9y3GnDpc@WOceBtjEYpv3Vm4(hH7NgB>C(ZOoy}r5;P5lQkTl; z`2Ym}6@VT++vkjysGz56`s``5pgXPt0gz*IRHRZqKW2tJlCq^THeyy-FC++F5_t6n zB|+rBULYPDG`bgr2jf>S5L3gizkz@6Npa~teAbldlR*cCJT`VpRP29aHm#1N!iyp) zCkCB<1C*vNbuH43%D&t4#$DNrEM+DNN7OB&l)>vvsz5x-L_jl?lW0vhwt*+yXop zfJ|z%Mx)Kqre&t(=BI&B%XRRUm7EMDiN`I2m9NPK0)@G08M>@IV5G^+)TO6pW$U$? z{In!pW?E*7?OjEU)Fh`;wEu?|)EDY=bs2#vx=dY8nie9BK6g|qE>)>IO;V<=AU8Wl zw+t^?U1n}hA=WFmKnoHlYP3t>pUPIp)<{oJOUfr-G!b~P*5{;eay6M& zb*vZK^d*@p7zR>n(zA8CoScGO_zzDX=zwPwF7TTw)mnl1$tldv#j}YWORLFLfppm2 zv-5K(uLu995d4;ymmFk$4+d*316PGf&H=@(&YPwOyQJlUP7q9OYe28h(WU5de~q>f znlvy=AV5YE*dr?&YFXM`U9KJ~*xvsQN9h?9{^HV_+^mc=?Wk1hU6l(=vUQnYK0Hkt zZ8~h5z|&d>1@RRuUA<15my4rIK_Y0AoR*wL0t0oa&B_28dQC2Dl6aQE&G8%da$>?9 zeKyAIb=-jez&rBvsfy@nawTb_+=oz2Vh_3olC%+y+go|Ujpo0_G{(Ji$x!aS`G zqtRj;>A{|P+1W7P>1i2hHfMs#2NA6uRoQx7UQ!lTrH64<`aG?+=XJ6sEgh4$x+REj zcNTlas<|o^TJ3e1KU+P$2cDj`Our-v`#*7e?E08I4pI1z#Bf}}APMwx*jH!7MofvD zF=-N{9#bOcO_~uqO&&Kx8K;;Y7ZVXFkBp3!P;WtT^WtVqj>SdXJY`(0gp`2FqoEJ= z23L{P6@CkfCH+VlGR+(n2%#NB9M-r#ld0@*alV*V=v6GasQ)XZx zsTvk;%JjHNvGQqAaaaQhMo29P*I=j>BQ=6eik+!~Igwc3gYbJ?L=3rx_n@eGagZHF z#!iyhYZwCotQb`z{a%d&%xe5#=%j$Tpx$t^JaWqH>5#iYdZ(Nl6&pKGHCaAoI?SqS zR#Y5ZL8*+1fi!KJa$4jx0?wK>MG^}|5H5mo5h9-+qna^04)!G+5YuuC^Kj?}ZyOEJ zer+$Jl4Txjwj48UmuH)wH7PJz7>EF_3r_Dfhxa0%j5 zJ6Kk7u6+wr!43iW0ptUOGOm(v0)Y#*8wm3_wm=xo%1p9fzGRtO&|@r>SZVWe-~?nR zNP&6T5IFIQrNV1sR#rOfscEoH0g{`Qt4UX7=4I$#Vh~|+bQ!n@h2hqyf?RphGG$Vp zN}gAsNS%VyIBOzB#c0^D$qpU*QeI4-sGxxqCM!pkodqFUm7>X3>C>}vGc-7o_Ec1* zUy_z>gY1K;01Gl<#q1~^jRDF;NqISBCm~&6kHtGLY=qXyNz|pJW#-^L8>TEjCk>1N z6}(Xs5N3z60#tAm!$fRx8>%pWy*2QSc{%${dm#&E8r;v()s0xngtQLsf{jM^eF)niullu2>cQLo0uL`}zaDgfJSgc-qb z<;J3Lr%*NPj)9kg`xMquuq=W5(^s!x#Zuam>`q{5YNBb4&DJRMjQF??id_0Vd z1r=~GvtN*2FT)_VKSV!*DsdpRscetYc<{?Ojjt$nL|+maF=mU$J?exe6_<$wRF$CC zSV~A+<0-CFG1ZDfT*Wn8Y{hkJd?g)ljI~t=O%iKuNC>W2V=i`SavT_q*93SkNx4<{ zE(&BuRI3VL2wza*b&^`B%}UZiPD-2`20>b*OVVcLf<_7g>-!uG2D;v+OY~4H_UQ;B**BWa{*A(j%u4a%h5ELMd6W;8QcK zQ3U5x&@)4$B^iuW2RNis<5g)n_8cuOH9uVgr#KLd3NqSM9Z9ZnR~*1p5HfX1dFi?g zh?E%6lLDGYQs>MkdF4a#Bmp&YcXuAssFdEAMf@?K7IcZeh3_BB*qFdAOM{Jnj+$()XOV4>|nlFf1C8Uj-MZOJpi@j*0& zI^n9cg<3eXCBvzv0K6LH!h5Fe5_bgoQt;wQRHY`7eB5@c5zeB8US$$YpYN zWWFXRSv-fjzZt1Z%u5kZffZ>(G+7y$Y1vt@@^i&th@4qz8QJMNu_910e7HC+LN3>2 z7K%wGpv!?9P2itkZ@4R|ikpE$Exyl$*@6hfmvNqfuOY_ZYgpQOI=swM^QHRaoZ$aU z2_TUG&f9P!2mFi5Ucie~!N9ZUrR}}~%svqhE0Y7KxpaIh#MTHmhL*wkH!CMY19=tc z5QO~;PQ}!nsQ-o%Jx}YIx_q3}TA@HVyaz%q2FG)_50wXHs4DmWEC-05scD(IKvj}1 zS%Yt{;5%1fE0xO14jdZzh6H1ev(>QYk?@Hfk6h#tZwH@*^#<_+-`2~tzUO46>!=k8 z_X#q<@UXT>s)QFJS&R@QA@%^5pfQ+>wSt*ZfUO2g3jzX|ow{{JZe!wtP|Lyh5Al61 zl9oXb$Q!3nMO?al!fuW4JKlq8S&gV;IAQ5f{z4V6|Wj7e-t( zK=iu)e_< zE{wQn#s%wJjN!tFi)LJ~&SMN0MqD)Gf^`97xG>_P85gXJ7{i4T7tOd}{fIGK7;({z z3)Ur!;lhZEW?Zl?V+O%Fyf*a7p$uo!-WwS&A4E7VGI{WTr}f?brWN_ zFyf*a7pz+t!-WwS&A4Fwf-zheanXzm)@_X8!ibAzT(It73>QXRG~K=iu%2QJ7e-t(b-1;Y zYeLs~I;w#$KMP>xrLldaU31}7h664@77J8c}|>v0sG2HFGaR#>r8KVOe? zY-H#JY=#wMSuS0y?1!Ghm%_zXDQ2y*RKv3fPvAMDM_Ma`KO*#Lbd(L>9Ivzvj0^Vl zuyBx>4i7kkuEfm8N|S0}5@0?r;YUEQ!G4X;R!PHpzmubKs#N5Wg-Bck&FW zt~!mvPP|vTn=J>)(p$3=0~wuFD_uTv2dQGBoWj^4vURIEWP9Yo$_^MJtQMi_#i;cJ z@0ZcgvbjUO*fvng=sf>Q&0?W-;2davJVp)!pTHxcsDe3!jq3WNgFz*)-Q=0H-P4*D zz@rjag!A8k2!j2XBc6yKD?L^sv>T@RAdJHfbEd88B-jqF!eNGRr&*UPH!sFdbRzL* z)=rn(s@{T5U=!@ugwmDD3yVl6i>=e+)~XH{WN-!##+^WoAtyl2`%>qR#M7&n^_ko@^gF35FVf*h7P%;P6f3ay>=J0RDc+s?ZUB8$3Z`;DRA+3f;7L-9)Gg zepZ8Y!qc@ArfWh|2C|Afc)V=g<fAjly>AY5E9r!2+HE0ow;r&2es$urV-> z`TmV1Xg9bBbJk48hj;k0#Ru@TwE`k`f%&e_L@_}-s(xXA;)y-t1h6<#dYdilc7X*O zot=neU(h6dM|W1;1O0rCdLnrN*w(LM70qyuZH_x<(sqE5uXkr6=0gyJc*1Q@tn|iL z9(f*y#S7k^1w+7T6Mj}4D}tE9MCRw%X+fgP>?aIMMxCR?i%A=9Bh2HN=S6iV=6aeV zg624zMVHxi%F5Zyph<^lBiyuo<&|eLP@m?wbFxE4f1+GZ3!TT2EBjdGH8;{EbDS+O z=nx(>deWhWkua!e?U{^hJjkT|114@o(Ne^G3c-#DoaBWVePv=~ma$}9B>4uR=1_)M z6v7>ULOT$C>!s^F1F2z+;?PtXg3LkRAZ`oq_?tx+qD?Xs_A4wq(5DpEIZ!ZB6ixw! z5h2{9ImwtprAIi4(CTDR@){4BflNe5i6J>{jEld}Ty>dFmcU{lgV}!rgTt@!45&>~ zH~-xugpGC%p9;sA4g4TnB(#gyhM*?tH%N3YlwpVqaa%e#ML#JekD_^>qPfgU^LwC~ z0IZ8(%%m~jAo0aeMol^ZjQ~s^`wcR@IaX1eQn)MSwG%0C+(=o;UW_I0tXd1MfYpO& zWagE>x$45^eIC`9H}7_eL+>HBu`yL`*514$d-s=-{?qXF9+Nt_vAHgt`JN4o}@;cG~S_#O>)qybA{qS3{! zL59)n9XC+jOJ1_Qgk(5d#!f~wEaKa=52MU`v4|8s*^(agKC#oQ2HBeedw~c?-GayU>M78`MS4>*oQ=DBZYrU)h*3@^==Bp*40Whfxct{m+y&wWu#gpftx<{U}#7iSjKvuSmtIfSD< zK{fM9bFL)$OVSLpe3mDpwF;YlgdYb3R!#lEk;FJ80Ml6iOAS>;lb1AKMD;9gv4scba`LIXP*Cr_PmU6ZxjGxF-kQAROn;_< zO=v)KVZHlDpsx>-DD;`XoXEU$Bl8|R>(QL7UzcS)*_6fTYxaR<3TnJjm$hZdP1}U6 z9dP^I8w);X<6pBd^XSJO{|EvYir4vma(zJ!NGwrwXMxlVN9|{>bylbZ)m@A!MHOCF zZym^?yj3>PQG3F*E-FWjH!eJl0hRM-nB7l;T$GJ=NRlVg;`dKNVp_2{Qi09ksAap? z^<6@jxrn(DQYi?yOOmXCPVQ*1t&`qSI~aGOW!pRLmLw;UP64(~8yvNBNGFrM(;i83 zGIT0K5*jxBK}YQ-+=FXyMUpmfJYK`;wM+-_85v$5W}FvdXFFcCkCoo+g;T>;b7{iK z&6iHrCY<{4(y9Fkr;k*(LKN61COwbR+fF)UUUnBjD8>vJeWYWD9L7$4g6KbOgvD!X z`<%VLsDB?~`vWrlvSO@S_6V5lf8fb(rMF#o$ZTGKn)ah&aU8aZqL1_gOolD~n$9g& zI^p#)(vt8VQ0j|(`hcBAV>^8&)2|@J-mnw9L~nZz#I~R(c48%cr2U2+)-8rPIY5Nm z&__DN3LGTB`yjOys3*X|KGMm0chkc~w6oHErfly1r9ztL-MW92b-$Mx0Q3NU&ZTl$#pAiBfeCZDqfh&|F zd0DDIYRCTnIz^yUrvIck9@e6G6p>&fqpg7uFdrraw0!B1;aCO3HHtu(#p`1tK@~-y zOQ!#v5Xhzo>|nIram?Hd%c6z?T4-(eDWIJKb~D<3cg(!t?t{dEgy&vH+j9yi06@wR zLzu}OONE&|Y&dzGgPor^6r;`9C-Z`L01}5n21sJU(f$GOdtUjJ-<$<$M;$ii*C4}B zMEq-f>0~R=Nm-OHO&N7~c0BaBK>&t8nr{WV2;eG^mRo^a1Q;lgzBB4@RJ@vQxJ`f% zf%MR*!=vNtkl`@_6awkbqsTm8WuR6qN>U5BYFM_@CRi?g(LSfk7p)KwxBX3~?=Ft7 zEl1*4h(hg*w&p&W5Pr;02%!xE>5#y~I8xqVka+ZpCE?3<5|7{~Gk{_;=qZke0?dIo z!D=7te$n=dr5bwPf(UV!^mLkNxdZ^rbPL7%xlI3iar_|&Q0EDNx5r&@MHpWLl>!ep zF9+xTlK>9|(jNkeO7Jrnz}P9;Qhkif`%{XXuUs!K!H&~C5vMK^7vdi7Q<@gho8TZp z)b*3=eM{mGKvd(p5MYp8??(Y53K%Tc`TCPU;G|@LKkRGu%(i{JOyhtRC=@yZaG2S)pNM9rg5X0J z=?@^QuEeJZI>@!-+JYa z_tnQ+uRizgT6LxCtwlFCFS_;Nm0O=~`{hfY+igB~{;}=OWuJSGx7}NH^~qbR-?t8U zy7RrK`v&|0k+f}ElaCAWCpa}R?~ZLmbzAndMRL(I_+K32d`q}eZS{k&pyW}0@egdf z+xxECU;PdYf@T8^wMx+5Ul)fs)0Hc&K7D?G&8MeVdQ`T2{~UZ85(fsY?&7}7c)#o% zVBIgD+9)=#%2QR4~-oa{X;AYr)FP7_r zBJiT3crUP2S6VP}Hr`qr-KAp(){||F;vH}CT5H+#A!Xz?BsTMCPHbB)SOZ(SlPyNL zOXtGK5?TOi$C(*owhG(T5^FlhhE%`PX1FZ5eoRFCIFW&g4afMYxSE-&QL@YUEpCO1XQJ}I0Tk7Wp9tAlkF_4AT_V%ib zRT{)Wba--PqNq{>6wl#SYl1G*_LF|l@6hZr{QDr7TfSWX+R}KPNQRi$3?==fUsKI6 zxp)c|SrSy2=6Jx5sc=aD<#PQBsy{U+w^?n^n={_lAZymz*iXvoPw0coVFD^kLMlao z3Xm)0`t1|}DzrUgwXHot2w1~Kf9Yf^0Tv;UYDq|=2=pToY?teIQ3O(n((t_3R*FC! z6&?CZ%dG@Bgg}}lVKGHu03onTuHQous2~KY*=_r*63~ea`b)pI5^x{{7F!aQPz2!D zQ^00>;2!SP*gmj8PAR+LvTz`Nf&_W0tWw*6i zC18*|&r>?tO2CN_NVgU75CR#NgiMOS zL_***x&CvC0GAwqF0tG0SS6tRz*G9Qm4GuLkZDQCq6kbT1U{GRzoG~P5CXT^ZO^R| z5CV;!QjQO016M*I%aTw)5tu;;d?nZaL=lK41fH?m)_zU-0gKqcM>^R`pf4d%U`Z&X z2+Sn}ev<2NPy|v5fl5x>R*FC!A)xS)mRkw*BLoU93Ck%0Dnj6fTz`uqP(cV(bK3S< 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

I;TC+^L)?j>QSTdM@k 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 GzyAVdO3=Xo literal 0 HcmV?d00001 diff --git a/third_party/jieli-ble/btctrler/hci_ll.c.bc b/third_party/jieli-ble/btctrler/hci_ll.c.bc new file mode 100644 index 0000000000000000000000000000000000000000..e0024e96579a94ffe681d3e4bcf47eb36627c123 GIT binary patch literal 43448 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 AtN;K2 literal 0 HcmV?d00001 diff --git a/third_party/jieli-ble/btctrler/le_low_power.c.bc b/third_party/jieli-ble/btctrler/le_low_power.c.bc new file mode 100644 index 0000000000000000000000000000000000000000..175e219247e5deef9d4cb5af96f05bb3ef431fd7 GIT binary patch literal 35136 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 literal 0 HcmV?d00001 diff --git a/third_party/jieli-ble/btctrler/link_layer.c.bc b/third_party/jieli-ble/btctrler/link_layer.c.bc new file mode 100644 index 0000000000000000000000000000000000000000..e163b4e7ced88dc1823770a3e45e292caf6d8d7e GIT binary patch literal 165648 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

WZ)YTuDw&5+4DePphYk7wcVs16 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�C$%En|I!L6ByobFQu zoh1C-Jv?Nf?Y{*v@A&1JyUQ~0?BBWdButLQTTNLmx@1AhT znYwlYQ1kI-;zR?y!-RK7#@?Dh*7)@tNnD^r1)Ze7O;9<>NlH}J*m%zQyjTXchpAkr hoRf2$#L(#Wuo=BdJv{b-u1IZxD~1pi=u02)`Y&Ad!H)m{ literal 0 HcmV?d00001 diff --git a/third_party/jieli-ble/btctrler/aes128.c.bc b/third_party/jieli-ble/btctrler/aes128.c.bc new file mode 100644 index 0000000000000000000000000000000000000000..fcf54624beca10cc57264eba468108179798c3ac GIT binary patch literal 11220 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 Q+GELbtK!76IUGj)KW0KbNdN!< literal 0 HcmV?d00001 diff --git a/third_party/jieli-ble/btctrler/analog_ble.c.bc b/third_party/jieli-ble/btctrler/analog_ble.c.bc new file mode 100644 index 0000000000000000000000000000000000000000..7a9187001d436ffcdc1c8f16d7ccf58175684260 GIT binary patch literal 21724 zcmeIad0f-S_CNdy2}uY65-sSzRpLDQ>YQIJ9l zt+mvmH@H;W+Fq#IYMZnH;#%mJ#ai213e~n)wT70qYDJziGXd?r-{1FnUf=tA{&`*x zjmgaWoH;Xd&Y5%0WNAdCX=t%4McGmmmBkg$iF@kfc|Q+seLRX5gdoa?OHq%{peXw) z5oH5?7x>4j^lg@&W5h9eK}%nv)o|z9vfaEG&u8fb(KZn;*+-apL9StJ!75HrR$Xk9 zt0+=dcZhNeintc**u?iWCrOhl8%C(Y6WXk zMXk1gUVenNNx`bnvo;sdOZ-@y{a6~RZes;&b5m`JfVD+Y`&jF)5&d2iy9}jb-=Y=+hQ6Gu}p~hhc*wY%X6sBp-1Y~ z)rLe3k9ZDrdXBbvTx)ZwpQmAXoVI@tq>VjHWWJN`7shS1&=7Q=H zMQv$8Z749PYeN;aC2ZIryS$<{G?rB^u7zFyck910;`x=t^QSh?VZ45{kw;gKhO2AU z>i=oD!fRl}<4T*yxi*J!SnvpJ$DxPj^_AYUtJ15FCazU0V9P8WUODVStz%WdlEVI7 znLku|btyeA!S-W0v%|92bYHYU%m&i~2Q)th5$HR{?DQEg~nZAnvYIUE7x z_SKs}?UH}-{88|Hn%A(8=amtUfAgFc))sc{#&mpwD!|)oH|lH4n`%ROwOhn2@BwiC z&9SV%`>`k|s>-WN>h)Qh$7q|w8JgEmw5HmnRNWSEU^ouebN87@hW8MRnzUWOzzoI!=pw0Ih8lS7I}dii3E=LUF805g|$tG553Qu_MJ&@e6il ziR(E=XDrZmiYRI^yavs#vlHcPXSnzttbwPiHEm6<&It_-_BG}NUQMS5?Ij6it6?Nn zQ5uG#=~vq6rv_Y;yRO+gc8B$P&zPh~QPoEww2?mre(BO@GjzJyb2yLFY1?D>yy0`0 zr?a6Lb2&})ZYdtkvL6eVFvO!Xb|?k^_YV*+d1+1|;cThj?^mBC*wH3>i!F&xv!l9x zU`yIu;|?r#*q~w198wc#lnb{awsvU~UE5UcP@d$tq0ey(JX20!lM+2kBVui6a@;u8 z*d$>+#1)Qz=?*(WRNkn-41LTIJqtoC3|}Z%!ec?`lsB<7ceX>MhPb?!6?Cqtd3HpX z<2(T+f)!Jgf~8?oVhZ)d*Pfy%wvM706yWEsQZx}X(4VP^WkV?-?eL(Z^KoKOCSVdF zQlytXMcJ^CD2m##0vPB#N{2e!&0-P7fd;6C68s_o1pcAaCBF8h4vT^|CGo8}e?81_ z@y6X74|f0aM~mg;{SOcKUccRHc(CKko5gNU+djSit!B?>j?c^gIKFgZ@5^5VY z^WfRir5`QY*7q}6{-10*Cr~e-bAt4KbWX57jLr$s z$I>~A_33m@sJ?*CS)#9?bHem>bk0)!E_(e^eJh=_OfRwJWa@P+&P#efJI>4cFgwmJ zeXJel6@9uLXScq^SXuo_&0WUSNNrLoc%D z9MeneIVbd~_Vp+9&)9R`*XP*Rzpq!>b3V{l*mF+m>+CO_)Hm7JpVI5?IUng69E1Lf zJ*Q7Ea^PIlD;zkN^?HX3dXq!^{v@aRKlINzaqj5roH%#&dMD1GdXp1pLO<-pnbeOv z)lcdvK8N2X;>SC;`SCd}Z90Cvpsj&lFK*+y)Q7b-xzsOfYj>$%-ez*)tZWn8a{i`Q zvpCIqwO#$I`Z~M%WBMrj`s4aO`}hI9pTmU#z1SgsP#@-SVNjo7AK&J2VSh;c!Gw5Q zssmy}0oW^;t@ALCc;va#R@Oy^)pR#RKoL;E(zI;k{y;h1;yI4%9D}(LkhDA@X61=( zF(;|}yxHV9B6cbgJ6*LnT9O=t zd1e&3F8g?PDZTQSz2i6iD%Alw`@?&kf zV+&%-b+vMcvx3@^7N}P$7yWE;{CU{%Hc(#AIs!wb-dGrK_IqmmYHLxNfbtU8Ts0`nP&u7eStnQ15;C;Grk?l+3ol93- zJmeac%r&=%*thvXRK4(?cxRW`{$)SzF>(EVkNW)~tFMNA))mtGp7@1hbGXMAtup&@ zj?IaCY0)QY0kd*N@^|9x*^;v@&?CXFEmgwr5^=$>V*UU&ArK z?WLlG1FoxH4(sobxQ4{_W${+|O8Z`#!|fJ#QTBF95!Z*kUFvc6n8>afLcGV>WY--V zJ=N`WtMaIQZ;^eKV8?#HxR*rR+x+VG`*Es7@Ei}MWRE(fC??tUbboA>eg(gS z>Xt0xrSP1nfM?fh0?La^)@#(t?A(Cz!n{JcCTG1|sZz;vE7Zj$rSkm3Qk61mniQZa z%nHaV%`Pob<(32>j(~DiSWrNgQj?pdEXoPUQso9HivQ^5We9@-d z5=~)oktoDp>>nuddkh}g1-!kz-M)n!C|O3en;@h>O~D=X3z<`?DWh|mu4oXWBaxw^EZ zBsX7E792E9FDxo80F8qkFjqEOT1mz9DoZQms@$Toz|iRdngTG_G`$4V3(Do1Qe|nb zrZ}&Zw3PYTa&>u0ZbhjaM4-K*X6~lkqEdB9;Ra>NX428*W)~ObOm`oyp|s+WvGT$q z7@u8M0{%2Dkbq_C9GFaj8-zFDl!hd5C2fm6qggKpX@^ z)aZ&*Y0jpkoHDtztRk`?4$USn&dbx}mTIzmB`h_ph|hZ zQZ3i0ic2>rLEC@Xs9dwYP(1}r55^MYuqL#zX%vk{0H$hk%1V@_;JE*xw`ewNN^>^^ z=xLbr9o${p6ql)PonfeA+l!x%q`fC16wJP~|0s zpnqs!MIjIzhA18y|BE&MKZy-+n85s{xg~iJaqtnt`m%a5+5?zOT~eHtD}Mwd%Ki(C z1QB*vbjjw@&Fb8e3S~}CDSCqSmuNJFFwvCV)CHR#dH{5g%VF0j(_rsIM_sKfQErG% zPnAm(BV*U3pjJd&>Kd60wbsQ&MJI}R`51X-Z6V>J;B}4>L~pFsBr67B9uR1H71|*r%dW zU<-J)Qyt6&N{>pBVVpEE3Y*0IXpJedq?EWdYg45}0l0_MglJ?sJjIiVQPJ2mvXo>w zSQLx2wy{jqPK}s`QzI~%nl4XT7oDOih7>g&Wx?n0%<1wNX&iAF;9DDQHNjLXDIq}~ zxn^||;$0oJdJ0ZiyEYC_gBo}e)WC~GjbOa+#02@8CsY4lI-n%`;gcCclAkn&=<+Y!!XgZ4l$#*7loS>h6ssWGKtrCVQs%3Qv)7{&j@spg zIk`pnNv10WsXO;|hGs`Zd_ zib`?Z0s?G8sZ!_WmXuVK!hiA{$ciLYS~I4+U@CPMWtVJLmu7*cP*OsH)*6)23uNp- z>uV5bXcKI=v~WXiaan1h2DDKKX#_<|IV9R5(6&Z{n3Q;fN(g^2$A%oxK(QKH#o48h z@}Pk<{J(IGN2`;6$v4W<;thq_{srV!UJ8?_bBjPz$S}%m6;w+wr?m~cLOobAgj?7M zlsOeyu#>#PykcB{kZyMI29Tk_*%8?l0ycU^jW5c3+1Zcw^OS`uoEnMe!InU?#95{r)}6}>fI8iVjZL*xkKn4pO`7%p zn{xLr#emhj0-)T4!{T3no^kPl>PxiT(h4|IDzsI2$fw#W2sE0a4LR8bnq0iAl8T~S zO_4RkSYrVu!j&bz80wjV4a6Wsb08RsffDpjjtT_SK(k@vkR(qMyc8#L*_xEq($qCc zsVGHQ^SCvKr>3W_iAh0EID3onb6{$^G!}9_d4XOO>7kcEoTJ6~IdCdDPbKCQGLF0e zCmu&$0nYQaz|hFch$O2t!Yn55tYvGo<@MqCWw{7+g4dsq`ZED3N$ zAbX^yu+~)Yf`&k~g9`v_I#01?Zj!a32f2GHTU#?V&eAwT3Da@CBI=G5jYWea2Rwq z^vltw0g?a$tQ8uXGvRXrI2noX&sW;*${N{4qx>i;$qGcViWx%mae~eYl(LFz+$m}% zMV*9C!%eY$;_Y3_U*l3b_`v)z_$P*$w^|a9G0@DqC#(}KH1sd0s3Y*ngb7BXQEtVl zAonFY$bpYO&?xG8Pl{qvRJ$AD=smOi1e?+UvLF5-jt}`6OKqrjkoy*q`*MYO_wy9h zLQzfY$p*|`AHGka4VbLJHLu$TVWBW{`~Cn&*^x*BKRx}$^Da`k!?d&fQ0i_ zx!cTXNHO*lbWEUEw!<6J?Exn44BG^E2WV8fpW?$n9ygV$gg4JAmp~KjNi9O?1(6ogE4(gq`koJ;NG+sHQCtOD;d1mD6i9P|9eaUnMCg+g z9~Z7P!#LeLNQ%V8$S)pGa;&taKD42FvZ)-26wkEQBiiImW|H_ClZ(fBeo`vT9`EsU z;a!igBK!lu7_{FU2--D<5lQ z*rD|}RKgMu!#||CFNKXUPHoPyl;Ux`(t_eBua!BGu+mdl&M{;1=J6y4ALG@y2Z5n^ z%Q$b554DIeXIW%7`Xe&fHYff-RQ#b`@oycEKYB6# z-SPO2IjfFEtvXS<3QY4dvpC86*0PFSg<%(EXe!v#ZEVP}d`-EUs&UVIga*cn>Tbdw#FC!R7H=yp?#DTspO; zBE-dq`ki6jJ;7lwx~}D)4>*oY?f17`Yhb^=oZF>A%St2lAPX(_fF;rI08&2yK#t_x z-W9YAc>vkVAxq){Oon&{aftTwr8{tdWql% z7oHef8-8~%eEY80M%TEui&5Mp^eusHR%dTqXyC7~G{s8+gBgG26uUaDIGBPw1ax8Q z5}v0!z3IvzHe0>O&`+2>u-VUb3Hu2dJ5lcv#Cn4M6(P4&uLT<(6x^7`JA#?EP zFhg=29(@#(o4SRs5wblVz0}Z8$OcSq=@zyTG8d0tYDkX9qkAw}-z|KTkR9;oWrlu2 zzJkd|x`iEt?1)D%GbFFVqi@lfb_+WRnTJO&HzX(E(OhEh zZsB=C=Ht;T4E==cfyw8(h5dx=j7P69B(KJ!7h!T=xA03scEO`p8u|%&1twqa7LE|I zD;~YlkerA|Ct&h$x9~b4&%mRfF!U4hGc;2OT|osi$`?D&L2kRi){&xy;j4SdMMt}Z zV+^P7XM|CDTjaq|XHX=s_ELJ9IMTGvR~i9W`#L=oM{;sRdY>>fudy`AD>+miK3VrI zvhdExt+orOFeU~jEHVWFE)(E^MW!S`1&bWwSRG9bj#&o6#ZSW%TFw1#VWX{6^Gpbq zei*1R3!4d`CqSK9_zD4r3D95`zD5AiV|YlDS-96Kg8;kC!Zxc60<@TghitL;9>%9u z<6L}jCO)k!6i3X$6V@pJ;6B%$vgq>^|KC!? zGu8$zUK{e{+R(DKVXv%Rc4F;{&(}Wj+ginpw5-KxIZvkLm8BKDlJ@M0G}Y&6MZcw~ zXRIq(ysq@gb(;>Y+h+T8+uWxQ)Jr6n?msRfJhB27`MFVDO6CR3&ks!HVQ55{$I z>3C&+eniF9tIfNuz-L6YiRMdIU;qQF6U{T<#M?+G z+gQfWI7GHVN|&2as@E>KK?!6!f%VYs(owbmre*8CAOhByXTF666c7PV@H5`T0*(*? z_oGyA5&=;Cf)eO6J5Cb;UlRf8=Crr5fC?fYi=XjsiA>L+S%`p!XqEAT8`NmJlUP9H z%nsXyXa&?&BH$_W?xR@13q(L3KjS1`fr3<1tY{zv*R}c4C9InrEdu-q{*QkvxO?T)tMZl_Gs1iPu)j`D~_4i8n`omPQxPhPXU5V^B5MZtDiuf7V2oOv1YB4|KhZ0#9 zgF_V%K+VtikpOiB*vQWqCBP8^l<+gIm&lZidDJ-qX!sd7N@NO#J(cc+{k4>z@iW$v zWhM64i&B;GQ#UArhX24@&SrJk2IQj}={u7D{$@@ywDO^JZXg0S@iTtGc2Ycn1zd?% zeg3IiCsZDK3@A|H9&Sz4sBo{Fs?a1IxdHi6S)l(v@l@5bI?4j_QDOHBnJUwq_Hip8 z6&Ak}z$N3)64_=bu13k+Tlg6hc=5yGceFV#Z;H-`rLHQTaGDy8bckh^M1$=M;}d-~ zMRS0kF;9cee0wap937(3PKVI-5bZ-kiDLva;eK}!Y>(n=lT5X@$L&i&IyDRf0BDh^ z+Irl21q_`Zo>Al8afr-#0A>uPyv33FY?1-QF?VQ`=>=Fkgbjyh&6h5;@?RWb=@28- z7tfk!eu|gIb;0I+i=XkhMz&&yH|0oxxA__Vc&%cnt3v2vSfkRqMm+;+sycMHg(bB^ ztnG1Ybn~DTzzD!`nd*EGI)A2Rc#T)xI~E6H-Tq7}pY`UMz1T4fWTtk0Mkt<1v<3?> z%T(X=xS>*50RZ<6QO2?8j1##TA8gM!btvPb(;3F^Gd{7+9GRPWH9GVA+{_=hXI?*) zdE<2Et?x5$+sc2R)2hPi0 zvLk!xrR*nu&sNCta`W=?cjOg@LNI-=Gpo+2(iI)P9^TO}QRO_g7%JxtOwby5rSA19 zuk1Us{M0!oqZ?vH8r@(ReExnPB0~!8rc5q>?~P*XT4|(s7w0R04+Z}B#}dWAM3yp{ zaJM&c8Ppn)Z3>j|ihNKWI{8IumX$wET@}`I|50x1qg% z#Lrk}gWQw&OtJaW3p$jsY_R(aJ5Kv5$ZZO&d`G7GjV(Y?7T<4ri_N=V)S=Vvfo-UZ zQBAM~aKLmV=2nG>Ko58g|pSBI^y5+w{Q zXjhEtbSx4i!OHuApAqDYmMB0v@7-*^)KG&H7%5vu`57V3GIXl~-G zq|U+nJ;+B7#;86AsqS!trqJDj(Zjp=)zsZ07QViU-g1F6f559F*H>A(UPRN`Qa!q( z?r)#i^S06bXutcr4yn`)93}dW*S;H=WxXs#wy%d_aDO`Pl5K^mDbpZW?T)+EYM)G5 z?N_hcW|wS65m*f?$>BM}+BFUQlf>R&54d)P2g)>2a3!n~&A}Cc_ie_^Y)Ik~XUP8F zq3jQrFC{R!QuC&m;CeO(G11i1OuvjJ=3pkjDW+iW+o_nTX`1N`OJW`{)lhKXf=xtv z-`<5d*gA4dk6IGf2g>H#QVO`Bij6aiz6&k7mR9t`rlQf^ML)e?ME0HIl=GK+;~fdw zfF4Sk5bFkZIpv@Ya9{&h(FP7$67K<%EA_?{(^^m;Vxp<1nSLKjoWM*+rkH%aZ(qYq zP18)jjwMcFrnjb;G@vhMB&mIx33llt#W9#19q-#Ah=Z*o#lT@p;vA{${Tk#Lu%nkj zO@vI+;=QrNc~V?#V85aD@NRxRW52eI{1Im zN2k92s58TG{%b>jhVjdh%WOJ;lgOKs1wz0vSwjPge#pIq?)hR;8ms*EL^Cdz)ipdvaRh@*4FSU)0 z<}?)^ZNTI!v8wZgj4!ngFPJY8at|h7i&ga#GQQL{zFb<8X;tSscn4GoK}QK-^b+pv8wBYj4!ngE#^yvOfI!GajG#w#+Ta07IRuL z9!)N_4RNZwgp4n>4zHOn5i+^d?ut`Y)?$0(OKsz8=Cletnp|pI<5W8d8DDB0_Lwgb zGP%?qj8ioeGQQL{?lGrr#-rg<3%-3cPW2ig&%{N^>*h;@tit5uajG^#o`uMbubb1h z;L*=vvLR0OCL!b4@6c+#M92-8Y>rcP)Vkf8VWV@yqg%~s+Lr!IA8HRK_r$4AVX_I6 z9rl_p5%NAvz8I%EUF&vt#t}--MCU$xe#czzylZfa*5%+ppqbyX*a{Spz%jog+6q*V zP%*zF*BhU^dVG``_n9yK9j||p^({Z=j5|shTuZH2VN0Cqd%Pjj0W4r}e#apq;3Xp9 zALdJ2v48|3V4HKseJnshF2=fe)o(<=AuPaULC5z*z#bdx)j=2E2^C-#)Cs8c*zcS% zsgxaIu_zUhc)&TsCrftFmPuK!&Ig?{W)q-=a2#^Z@Ff7eua9KB;hZst0O$>R01i86 z%q74%0vvJ9m`8xi1bEXqV}2IexE{Yl-*+Tl)mDd`%=9i^_pt>Xugu1p`=E>DHcJkKWH)d%yAc?EBWw zZh8FIZ>|3|;cTf*k zZ~VaDc-G(eg}?Dff8!tiMpl4vR)BGSfN@EHF($ycF2I-{U@Q+X)&>|~4KN-KFn$nV zJR4yABEa}#fbow2BP+-_E66xM$haiP7!zb%7i7#2GL}Qv-&h-Dd^N~;ILP=xknwDg z@rxkik3q&if{d(S*GV$EnYuaGJmq{`)PdWC!O~Vo%}}4w>N6MZ(1^MTK3(v z4Bc$e>V2c$I|JIg z1KN87+CK-h_Xo5S1KI}z+Q|W}Xi)1jsGU8i^&QmC8Pv`l)Xp2!&L7lX9nks>Y9AZa zE*R7<9Mmov)IL6_^&iv*3~I%L+Q30=P`5U?Tf4Mdd#_vjXSeqLRqe!8t@5fi`>Hng zsy6?sws27UU{E_bs9is(6tHI(C_{T{f@O{44m%+aKQ+}*(HYg z5x*>nFnqD(*Tc)k&o2Azi)CXm5r+B84eKHd`4NWl2t#dz;nfJk;RwSA5y3sQlW0i? z#|XDnFM~FIEURO*TIk{W%9ZNh6;1^b)-{FGeH|0EO->*U9!Djtk0p*p!^~?i3p|UQ zfkec>4<6M5HOzQThgJ(4XT-PIEQM$CAZymwZ0@f_iyy5? zBo9QjZij5@;WHW7R2{2lEF}UT6$MBWeJO~t4rh2Cp<6}is$eCRX!}{Fos4+ktgD$q z0Q4JK|GVi_rLc(}URNVLNdqBXk32ty+6@284;8W$wX0X6EzstJSiHd%eV}$QO%XO+ zh}4BVkV>hU_a)XY0z0h=hsA&q>8i`s@azr(|08Yxo27_~h@PjPiN+o(nGt`)%d@XC z+HqzKt5m{T;N3@Ch#$pGOwV&=6sJhR0sNZiLz-tFV`00EXS+?n^_LqM^ZaIohJF+} zE2ty*)s7F7tAa1oHTJ&Sd+1i<(HGw7Iohd@>g^*wjlVd>`riCPCjz-qHX$}TK3Dftv}s%69On6xQN!Ws zalYJrHk9C1_Wi@#3J>+fExd?t!0fcW*)MU?$^@ zF>i5}j`CqMU(dXA4=B7@Z`_4n{~!Gk+Tv_U0eg}rUNO&FoT&jf`SQF!jkdrydD8BtI6UmR!LkdDd;GZkbJcOjlZ<<> z%KmKXSx_~x>cCcA-VEC0q2%zo&XZAn$PycMhbijJ+^Pp7@$Ne#g?5zKpFbY3ZXnj< zs{%^5ai@M;$4jzn?Zg-pgRg`H)rP{4te=@Z`j4Xr`OB`scYUrpOD8wYZTw1k9KQea zD*N8qg@vU~H&~R3X`X!G#Hi+Rqr`$v9i!Tr8_FF$t2G{bp1KpzScUB8!k|Ltu_Xlw zJl)q*wyfNNZCT!rY#I3+v1LuzbN5&c0+EDW)yZ^kLsqGfn+e`|fUabjl2S?ZyWHrry`3lMI~?jH0v+nihK{hN zjti3ie&ly2L6Kl~AjrE{83{HjN^1O^4U}zu_ncaanyQp%beC(RCUtx|gDn+be&)bp z&_wOP$zFIF2}f-=dY6am1U(2u$oBVzi$v&dfP5%}Ap&2MwQtSXF-P&qV{)YG;^|u9`Yzg1RRV;mNCib}}fKGhQYztooLq4|{AO1(2&V_NyKP@@Z{d?~w z*}S%`5;ZudE> zobQ^6Zg8ocq0Y#qZpz<1*c^AfAGwrrGHY&QQdJ{%sXq@dEZpV1fkBy0MqLhnD$e&6 zbvW|ct_Qc`-Hqk~8uHrTUtBlfH}4V(73U@^6}+lSHq%$oq)4i&v||c){BdI??<=uE ze*2x?9i0y<)=X~VOW-7krAZI6swmwV294clXM?`+HsyyqW!MilkKmXx<%e;)&IdGW z)Y-`-9N1I4r#TKj!f{59JaBX8UuEx@pZvtUwZ|M6Zi1-@buRJqZs<{BpG zGA>WV=v4SRl!CRrf3Lz0a1Z_$72e<`yOMr)x~#Lf1~bj8PJ*Oa70Z=WlK7k*T|uuZ zg`*JA&-s(}%pXJ`a7AqtH9~*he`G)>`!T1Ikb2N5%P&kkC*2 z^5Ewcxl=i*eKcGI7kd&L*`3s7(edP;H_T?}CLz$ZZ-Y3gXx0+1{Q8v;=jZ!zpu6e) z&x8HxN4??yImDd&Gn@xO%y1U&nbITRI7#Q=AX&X(%(f8OTGNcP-|6jOq1W9V ztKq1cXFL4vM8e4%I~b4UaoHVrswe1vf*)#VYAGLbP5Ll!&+uE8Eos>9dDB}F%L9+d zT4Yj8>fCu?#51#J{qA%`-;cnp%1NCk_n%`7@Pl++*8`d>rR<{M|D|9@H#LYbdIzLg zS9gf1LMzfsUkAffZzZcUr~84UP+)uM%$^4{H?U|<@=cVwNGw5iihx+coDH$0+qp&o z8YlKy3i@_oB;fi1)gO#q5{JGd0W#BV>0Kw+SelD#2<@>*PnNUmq2!Qj4rLy(NxNjp z@WBYST@t*K_`+biLL1qxv;zGi^v>kkfPyR=X8U<+M}HB&S`e$eYpm;81^& z_*lJua-eR>o~NSq+X_Rx&L5q9=aY~ir-C%TPSGU$p^|m1UNSjwZski)MT@GW?x$h| zAc4;v7+ncNB!C#tx2U|XO!p;;bRyopUnayMX?#uEz>!c~z0}$<=L^8}Rh1k#OYNkFxw`jn3<~D8 z{fIq0IpB9WngSo}^0(>xB*Zf06(b&EFTca5@4WX&y= z$nWTXw_0|6P35%h8<~UyS4R&yjy%F~=5JVr@~<-bfTP=?u|NmMzFBzT0qq#K5|u%x zno*t{k%9+*Q*g&g5Gt~nPod6{J5DWg1rVdY@dLO>9qS7jk3Cdy9|9KdF>ufiX#7lpue9x z>l74s3Bwab*PknQDyW_yQ5=NJlQH|ZQHv!lbJHPC3+rK9SA6-Ml%BnT4ru_Y~korY7A+Ul`I(Hn(62BTyzy8I? zm~_Y@h`l8TB`x;jY$$N5o|x@6t;loTp-6e(i2n;-+GMEhMvn;PP0-`R=z9Z23xPx0>dkJ^c2%8KxBh5r)obQXwra2K*> zvgRE)nrTU%wZ=O}UERZI)=VOz7DvR$X^x|haFB?o#S!r#$3@@}^7dt)(SMqct~xt<7lZ{j8y`3yDRcV6q3}8mhiSn8z8*4~(e-e_09+4Op(<%% z3cy!*du8ajFB-T5v9t17KgwL%J;wn`gy%yhSi5*|YNZSt7{E>St23eW-4HU#f-ecx z3^T#k1ARZAgjig;UXMH9OhPPX@E6^cmDwuFr|NaHAGc#~5d!sF+>Z3=mDdEcSyUVs1KQ7I9p>m|`xYYy+KRAg7#TIKcG|39Cv7o1mW)f0&f{~!0!v>ymwkbkwR+T>s%Cp+iYzhW;MmltDe&3*PE}Q zy$=hoqrDGXby>&WzfEFSs1IgF?SU(9dJ|I&yBatMG54}g!YTwI2jdq(!6(Og4h9 ca7It~%&p_@NUdNgs#~tyUgCMw2FJ!b2M?b%N4eyVa8LLx}>0Kp|ka zCM5c3Wv0kr!Ej??<#o*Qgu zcE)f2*+2Gu$+_p8d+t5w+;iSJH!0(Tmwu3mP$EL8M#AN-fAYPhH!eK)a5+(gStv(> zP&NWZ_It=1?s_dqDnbJ3kZa=pI&l6?DZ zX1d)W>}eo7j?(RB+To`=8%TRT-I-6fqMjB9-RTwVa=ObbJljBaI)pA84YPKTG17aC zfD0>qg2PL9HIS`NVP%70^V4l8lA{>6sKy93oTI#&qZoB5#{#L-Ig0Zx+Q%8PpC=KoU{W>Qvdy7UUjKPEQ;TO`v%n|muk$Sn2sso z1V#g@$gpC}pt=aU3=fPELDK0LY+j)?AL8O}aSB~%%EF){stJo~1SIcoz|r{0`-BcI z9!;~*A*Q>&3*|VwVg#p+)Jar~s!zIgVP4ZqmJaZ%2VJ_8eCZIW=_56Rgr?tJ+7CFN z9pQChvUJd;3G&&4ygEugg09M#Yn=27l1+J;uVl<0g3OhuXjaC27G#<@CKklAPK}4u zMtBXPw0$96gwGDTb$uaqe@F*=`bZsYV|dwAvk5|2Hnof(uAG<7IBxn7`XCLY8_$>Nny?aT3f9siPrnn9uIvOMPw) z_5yUdSND-l8X2T9R{BR1GaD6MM$%g-98#e2(xH$J{JM95e``Rc6i%{-$9sk6Fgey^EGC+KgH$s9hNnhf&aY$vs|oY6sXHWx4<&X%|P^{d6l!H+h+s zZ;^IA{TIHO`5)vY1C_4D92ba+VtyLR7A#*TUnQfvZYOqfLbV(hicY_<;6Qc{S$d~i z=L;3|hO}N@Gp+L)_V;F{<+gLfQDi{4Tx;buw*5KCiI6krBLeA>7=iBy@vo7t z{kmis7ItDn(z%F5B8U8K+ z``3Ru{Q9xbA3iB<+PL?RQ@0NMY~lN(vxVEvuK2Ke=Iz6C?;LCS)hlXU!GTcom%HvX zzy0ZrSA43~FK(-SJ~d(AM`DD2rANpGs)|&;%&fEuZ*S7lM^97yqQ$6h9eTkp8}r}E z&&%gZ)H;2+vBFffWvjWaq0!dnc-HCZ>Gk&c4*UC$zA-R3bTT*^jzoVuJ~25peQjp; z_8pX%l$y36OPRCe!H3hbQZnbrQBpRG)8npl*pyc(mn6z1Yt#1)n~c_#hadlh-si0w z-cquSi{AY6Ki^&B{pjDD{-j+kz4h|%Z#@^fFnz1*-T!#{P2uS`Kl%OjTV3}^dhS`ZZ2iLCwHHq5W#z-Bk~DOGVfu-A zEhcNp!VN!JM^>$?eXGh^qPG;i{K26sWrq@L->TCLy=lm#O8+0=&*OSujKjTg*bMO9 zp=}sHQGxLjt1$k~QjEW|0OP-=Fzh-$dmM7aHsyG2Ll| zHb{5bNVrYdSRpHt#$59iNgttVr>4>VG;cf-dE^UzBn8Tsrz_!4+)K>0F>V8*8Y~%4um9Utb%QeV7Iy3 z8fXVx6XZghU&uPUS$YFWzcew>tS;-NF_yUoUa}4J)4`RM_Ag<%~sCwa=}NgtP;E zDICb15#1E8?E#WRoh(AfAxvn5(Yu&DDOJieoy~DQK-d4TC+SX{P z`EIJ9(OOeb(^lJNZ>+Z$V2Of`Ms-m^jit4|#?o9@P`kUSX?HV-Sa#H|sQo`GsBN?~ z?_k^O?XA|`&1}gEZbc!R{~&xCcLV>K=2q*D=K4C;+KjbTw>8$p`S+cyt7*alwG9?~ zd56Wmo&AUTUCZlhp4q{!Z{EK9TMk~nyQ$e~+uc^*+{WS+o2^Z@#(I`7;Fm39tI7;e z%h5Uq0C>1=FS}U0zNp)qzgX-p%q})1nm!wm<2H1xkbDMxTrbii6f{)^t9XR;<|b&q zdd@^p2`GXhwWv<-By1IXk5Tg>SH2G6O@M835;YS~rVGjsUzA_#L!lI@T^Xx7l{+(8HLU)nD7D%ap`#! z4E3n&o{Yr(lCD_tL$2)d?~Blx7KP?^cj*v8 zCBHYB@?J1NEVB70QyPK+kIL&d_PFF*Ue4aq;1m_5`}|wS$FE)78Xi5n_4McKl3wqP zlNT?AKOZ048W|rsdv#q}WKy!pQhRJy>-xpZTK^?`iQb*#CeZO5cMej6h3J=1hf-in zNroR19ZtGyi_HgD$q>9rnrNu|s^To!M?Q_xn| zl)sDN6uy{owfg?VdOA2jr0L6n7)-3AgFQrohn1I{$G`NX=Wbwl04;7nf_^@}A{c{QkHsWsCO$>ki*Q;urC`T+xUHc6%L$h%h-?~^-{!gZM zBw0n#a=dSgD}nov6A$+iv4v~%QAvMct^VY`pI{p;6c09@Oax+M!doD0J9mZ98x|Fd zsI6N%ktADY3MC&9n zmKye-v%&P<@M#RiSk!XbX-YZ8IG^k`pLW^~lx3pBh3wVb0g`1!NpQYTQGVvQ#4ss( zO0>l0emImqH2iWPX~O*BB-K1n@9U2T0pu(!Lai`nP=Z!mIx?g)x=F3cU#L#lo}cf?EXl*u^%%;kdVSC=MV$h7=)b;V2j ztRvjxi(a>eN?KrFoWJn5z%QYwv zf!}5PzsOS*x)-bcIS?x{4aZ6hu`=UWsS{R>7qPDF#;ilZ)Z>y35YqiiLCl>2Vni~C z$r5o$6IS7~!cPl}5RT&}MwVOG-LGKF!&63$zQ-HrP4tMLbRAp1;Ih;e`^R8e+Cyy9 zB$Z(n@1?jk=h>H-@B{h7lzimHl5ibCo5gnrDbWDhKO-f+`r!sMbxOZHUZ7y_{{}4g Bp!NU& literal 0 HcmV?d00001 diff --git a/third_party/jieli-ble/btctrler/btcontroller_heap.c.bc b/third_party/jieli-ble/btctrler/btcontroller_heap.c.bc new file mode 100644 index 0000000000000000000000000000000000000000..c6897a5038145b4c138c9ae18ab34ac3109a9fde GIT binary patch literal 13920 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 literal 0 HcmV?d00001 diff --git a/third_party/jieli-ble/btctrler/btcontroller_util.c.bc b/third_party/jieli-ble/btctrler/btcontroller_util.c.bc new file mode 100644 index 0000000000000000000000000000000000000000..756cfaf78629d7415a51127cfb17ebed9e1c5f4d GIT binary patch literal 29156 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 literal 0 HcmV?d00001 diff --git a/third_party/jieli-ble/btctrler/btctrler_task.c.bc b/third_party/jieli-ble/btctrler/btctrler_task.c.bc new file mode 100644 index 0000000000000000000000000000000000000000..302b132a6e7bcce766a050d407be633d46787ad0 GIT binary patch literal 38780 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 (r37A^)-~MCsZi3j!)6t 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 literal 0 HcmV?d00001 diff --git a/third_party/jieli-ble/btctrler/device_manager.c.bc b/third_party/jieli-ble/btctrler/device_manager.c.bc new file mode 100644 index 0000000000000000000000000000000000000000..94ddd6b61331da2b4c0f65bf7cae0aa28cb37097 GIT binary patch literal 22492 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 literal 0 HcmV?d00001 diff --git a/third_party/jieli-ble/btctrler/h4_controller_interface.c.bc b/third_party/jieli-ble/btctrler/h4_controller_interface.c.bc new file mode 100644 index 0000000000000000000000000000000000000000..1575fe1a18621d88db58a20581029ecca89461b1 GIT binary patch literal 7408 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