CHANGELOG.md (093c3dfd652916ea99ab33c8db4d490e810af157) | CHANGELOG.md (f840457c73c5842899275d7c96778af2478a69a1) |
---|---|
1# Change Log 2All notable changes to this project will be documented in this file. 3 4The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) 5and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). 6 7--- 8 9## Unreleased 10 11### Added | 1# Change Log 2All notable changes to this project will be documented in this file. 3 4The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) 5and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). 6 7--- 8 9## Unreleased 10 11### Added |
12- HCI: `btstack_transport_sco.h` allows to support SCO over physical PCM/I2S interface (`HAVE_SCO_TRANSPORT`) 13- HCI: add `hci_sniff_subrating` command | 12### Fixed 13### Changed 14 15## Release v1.4 16 17### Added 18- HCI: `btstack_transport_sco.h` supports SCO over physical PCM/I2S interface (`HAVE_SCO_TRANSPORT`) |
14- POSIX: `btstack_transport_sco_i2s_test_bridge.c` implements SCO transport interface for UART-to-I2S test bridge 15- btstack_uart: `btstack_uart_t` interface extends `btstack_uart_block_t`: 16 - support sending and receiving SLIP frames for HCI H5 17 - support odd parity 18 - `hci_transport_h4` and chipset drivers have new functions to provide `btstack_uart_t` 19- btstack_uart_slip_wrapper: wrapper that implements SLIP functionality for existing `btstack_uart_block` drivers. 20- hci_transport: add parity field and pass on to `btstack_uart_t` in h4 and h5 21- GATT Client: Battery Service Client 22- GATT Client: Device Information Service Client 23- GATT Client: HID-over-GATT (HOG) Client, Report and Boot Host 24- GATT Client: Scan Parameters Service Client 25- GATT Server: Scan Parameters Service Server 26- GAP: support scan page configuration with `gap_set_page_scan_activity` and `gap_set_page_scan_type` | 19- POSIX: `btstack_transport_sco_i2s_test_bridge.c` implements SCO transport interface for UART-to-I2S test bridge 20- btstack_uart: `btstack_uart_t` interface extends `btstack_uart_block_t`: 21 - support sending and receiving SLIP frames for HCI H5 22 - support odd parity 23 - `hci_transport_h4` and chipset drivers have new functions to provide `btstack_uart_t` 24- btstack_uart_slip_wrapper: wrapper that implements SLIP functionality for existing `btstack_uart_block` drivers. 25- hci_transport: add parity field and pass on to `btstack_uart_t` in h4 and h5 26- GATT Client: Battery Service Client 27- GATT Client: Device Information Service Client 28- GATT Client: HID-over-GATT (HOG) Client, Report and Boot Host 29- GATT Client: Scan Parameters Service Client 30- GATT Server: Scan Parameters Service Server 31- GAP: support scan page configuration with `gap_set_page_scan_activity` and `gap_set_page_scan_type` |
27- GAP: support sniff subrating with `gap_sniff_subrating_configure | 32- GAP: support sniff subrating with `gap_sniff_subrating_configure` |
28- GAP: support QoS setup with `gap_qos_set` 29- AVRCP: new field `button_pressed` in `AVRCP_SUBEVENT_OPERATION` 30- AVRCP: `AVRCP_SUBEVENT_OPERATION` emitted for button release | 33- GAP: support QoS setup with `gap_qos_set` 34- AVRCP: new field `button_pressed` in `AVRCP_SUBEVENT_OPERATION` 35- AVRCP: `AVRCP_SUBEVENT_OPERATION` emitted for button release |
31- AVRCP Controller: avrcp_controller_start_press_and_hold_cmd helps to support device buttons | 36- AVRCP Controller: `avrcp_controller_start_press_and_hold_cmd` supports arbitrary device buttons |
32- AVRCP Controller: reassemble fragmented AVCTP packets 33- AVDTP: `avdtp_register_media_config_validator` allows to validate media codec configuration | 37- AVRCP Controller: reassemble fragmented AVCTP packets 38- AVDTP: `avdtp_register_media_config_validator` allows to validate media codec configuration |
34- A2DP Source: `ENABLE_A2DP_SOURCE_EXPLICIT_CONFIG` disables auto config. Requires call to `a2dp_source_set_config_{CODEC}' | 39- A2DP Source: `ENABLE_A2DP_SOURCE_EXPLICIT_CONFIG` disables auto config. requires call to `a2dp_source_set_config_{CODEC}` |
35 36### Fixed 37- GAP: calculate IO Cap AuthReq Bondable Mode based on `gap_ssp_set_authentication_requirement` and `gap_set_bondable_mode` | 40 41### Fixed 42- GAP: calculate IO Cap AuthReq Bondable Mode based on `gap_ssp_set_authentication_requirement` and `gap_set_bondable_mode` |
38- GAP: only store link key for ssp if remote side has set bondable in io cap auth requirements as well | 43- GAP: only store link key for SSP if remote side has set bondable in io cap auth requirements |
39- GAP: allow to disable link supervision timeout 40- GAP: fix `gap_connect` after `gap_connect_cancel` 41- GAP: re-configure advertisements after power cycle 42- HCI: handle start inquiry failure | 44- GAP: allow to disable link supervision timeout 45- GAP: fix `gap_connect` after `gap_connect_cancel` 46- GAP: re-configure advertisements after power cycle 47- HCI: handle start inquiry failure |
43- L2CAP: fix create outgoing connection triggered in hci disconnect event callback | 48- L2CAP: fix create outgoing connection triggered from packet handler on hci disconnect event |
44- L2CAP: return unknown mandatory option in config response 45- AVDTP: fix spelling `avdtp_set_preferred_sampling_frequency` 46- AVRCP Target: fix notification changed event | 49- L2CAP: return unknown mandatory option in config response 50- AVDTP: fix spelling `avdtp_set_preferred_sampling_frequency` 51- AVRCP Target: fix notification changed event |
47- HFP: Emit Audio Connection Released on SLC Release, e.g. remote power off | 52- HFP: Emit audio connection released on SLC Release, e.g. on remote power off 53- HFP HF: fix audio connection setup if codec negotiation is supported |
48- HFP HF: only emit single event for RING and AG Status updates 49- HFP AG: fix audio connection setup for in-band ringtone on incoming connection | 54- HFP HF: only emit single event for RING and AG Status updates 55- HFP AG: fix audio connection setup for in-band ringtone on incoming connection |
50- HFP: fix audio connection setup by HF if codec negotiation is supported | |
51 52### Changed | 56 57### Changed |
53- HCI: config I2S for BCM Controllers if `ENABLE_SCO_OVER_PCM`, reduce bit clock to 256/512 kHz 54- btstack_uart_posix: supports SLIP frames and replaces `btstack_uart_block_posix` 55- hci_transport_h5: new more performant H5 implementation that requires `btstack_uart_t` driver with SLIP support. 56- POSIX Ports: use new `btstack_uart_posix` implementation 57- posix-h5/posix-h5-bcm: use even parity for UART | |
58- Port Archive: moved ports that are not recommended for new designs to port/archive folder: 59 - MSP430: the ports used the older community GCC version without 20-bit support needed for code size > 64kB 60 - Broadcom/Cypress H5: uploading PatchRAM is only possible in H4 mode. It's better to also use H4 in general | 58- Port Archive: moved ports that are not recommended for new designs to port/archive folder: 59 - MSP430: the ports used the older community GCC version without 20-bit support needed for code size > 64kB 60 - Broadcom/Cypress H5: uploading PatchRAM is only possible in H4 mode. It's better to also use H4 in general |
61 - PIC32-Harmony: the port used Harmony v1 while Harmony v3 has been out since a while. | 61 - PIC32-Harmony: the port used Harmony v1 while Harmony v3 has been out since a while 62 - iOS: not supported |
62- Run Loop Base: functionality used in most platform run loop implementations 63 - code from `btstack_run_loop_base.c` moved into `btstack_run_loop.c` to minimize changes to build systems 64 - `btstack_run_loop_base.c` is a placeholder and can be removed from build 65- HCI Dump: replace monolithic `hci_dump.c` (with many #ifdefs) into dispatcher with platform-specific implementations: 66 - `posix/hci_dump_posix_fs` - writes binary log file 67 - `posix/hci_dump_stdout` - log to console using printf with local system time 68 - `embedded/hci_dump_embedded_stdout` - log to console using printf 69 - `embedded/hci_dump_segger_stdout` - log to RTT console using `SEGGER_printf` 70 - `embedded/hci_dump_segger_binary` - writes binary log over RTT to host | 63- Run Loop Base: functionality used in most platform run loop implementations 64 - code from `btstack_run_loop_base.c` moved into `btstack_run_loop.c` to minimize changes to build systems 65 - `btstack_run_loop_base.c` is a placeholder and can be removed from build 66- HCI Dump: replace monolithic `hci_dump.c` (with many #ifdefs) into dispatcher with platform-specific implementations: 67 - `posix/hci_dump_posix_fs` - writes binary log file 68 - `posix/hci_dump_stdout` - log to console using printf with local system time 69 - `embedded/hci_dump_embedded_stdout` - log to console using printf 70 - `embedded/hci_dump_segger_stdout` - log to RTT console using `SEGGER_printf` 71 - `embedded/hci_dump_segger_binary` - writes binary log over RTT to host |
72- HCI: config I2S for BCM Controllers if `ENABLE_SCO_OVER_PCM`, reduce bit clock to 256/512 kHz 73- btstack_uart_posix: supports SLIP frames and replaces `btstack_uart_block_posix` 74- hci_transport_h5: more performant H5 implementation that requires `btstack_uart_t` driver with SLIP support 75- POSIX Ports: use new `btstack_uart_posix` implementation 76- posix-h5/posix-h5-bcm: use even parity for UART 77- HCI Transport: extract convenience function declaration for h4, h5, em9304_spi, and usb into separate hci_transport_{type}.h 78- GAP: provide Device ID from EIR in GAP_EVENT_INQUIRY_RESULT 79- GAP: only store link key if it allows requested security level 80- GAP: abort SSP pairing if MITM protection required but not possible 81- SM: start pairing as Central for already encrypted connection on Slave Security Request 82- GATT Client: Use ATT_READ_REQUEST for first blob of Read Long Characteristic and Read Long Characteristic Descriptor 83- GATT Server: Allow ATT Read Callback to return custom ATT Error Code |
|
71- Nordic SPP Service Server: use `GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED` and `GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED` 72 events instead of callback, and `RFCOMM_DATA_PACKET` for received data 73- u-blox SPP Service Server: use `GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED` and `GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED` 74 events instead of callback, and `RFCOMM_DATA_PACKET` for received data | 84- Nordic SPP Service Server: use `GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED` and `GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED` 85 events instead of callback, and `RFCOMM_DATA_PACKET` for received data 86- u-blox SPP Service Server: use `GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED` and `GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED` 87 events instead of callback, and `RFCOMM_DATA_PACKET` for received data |
75- HSP AG: emit HSP_SUBEVENT_BUTTON_PRESSED instead of audio connection setup/release 76- Examples: use `btstack_event.h` getters instead of direct array access, use enum to compare status codes 77- HFP: provide acl_handle in events to identify connection 78- HCI Transport: extract convenience function declaration for h4, h5, em9304_spi, and usb into separate hci_transport_{type}.h 79- GATT Client: Use ATT_READ_REQUEST for first blob of Read Long Characteristic and Read Long Characteristic Descriptor 80- GATT Server: Allow ATT Read Callback to return custom ATT Error Code | |
81- HID: Move `src/classic/hid.h` into `src` and prefix with `btstack_` to use it with BLE and avoid name clashes | 88- HID: Move `src/classic/hid.h` into `src` and prefix with `btstack_` to use it with BLE and avoid name clashes |
82- SM: start pairing as Central for already encrypted connection on Slave Security Request 83- GAP: provide Device ID from EIR in GAP_EVENT_INQUIRY_RESULT 84- GAP: only store link key if it allows requested security level 85- GAP: abort SSP pairing if MITM protection required but not possible | 89- HFP: provide acl_handle in events to identify connection 90- HSP AG: emit HSP_SUBEVENT_BUTTON_PRESSED instead of audio connection setup/release 91- Example: use `btstack_event.h` getters instead of direct array access, use enum to compare status codes |
86 87## Release v1.3.2 88 89### Added 90- GAP: support for Classic Out-of-Band (OOB) pairing via `gap_ssp_remote_oob_data` with `ENABLE_CLASSIC_OOB_PAIRING` 91- GAP: read local OOB data on start and on call to `gap_ssp_generate_oob_data`, provided via `GAP_EVENT_LOCAL_OOB_DATA` 92- HID Host: add profile, update `hid_host_demo.c` example 93 --- 717 unchanged lines hidden --- | 92 93## Release v1.3.2 94 95### Added 96- GAP: support for Classic Out-of-Band (OOB) pairing via `gap_ssp_remote_oob_data` with `ENABLE_CLASSIC_OOB_PAIRING` 97- GAP: read local OOB data on start and on call to `gap_ssp_generate_oob_data`, provided via `GAP_EVENT_LOCAL_OOB_DATA` 98- HID Host: add profile, update `hid_host_demo.c` example 99 --- 717 unchanged lines hidden --- |