aboutsummaryrefslogtreecommitdiff
path: root/extmod/nimble
AgeCommit message (Collapse)Author
2020-03-11extmod/nimble: When getting BLE MAC try public address if random fails.Damien George
This is needed for BLE.config('mac') to work on esp32.
2020-03-11extmod/modbluetooth: Change scan result's "connectable" to "adv_type".Damien George
This commit changes the BLE _IRQ_SCAN_RESULT data from: addr_type, addr, connectable, rssi, adv_data to: addr_type, addr, adv_type, rssi, adv_data This allows _IRQ_SCAN_RESULT to handle all scan result types (not just connectable and non-connectable passive scans), and to distinguish between them using adv_type which is an integer taking values 0x00-0x04 per the BT specification. This is a breaking change to the API, albeit a very minor one: the existing connectable value was a boolean and True now becomes 0x00, False becomes 0x02. Documentation is updated and a test added. Fixes #5738.
2020-03-11extmod/nimble: Clarify active state and check for active in all methods.Jim Mussared
This commit ensures that the BLE stack is active before allowing operations that may otherwise crash if it's not active. It also clarifies the state better (adding the "stopping" state) and renames mp_bluetooth_is_enabled to the more self-explanatory mp_bluetooth_is_active.
2020-03-10stm32: Refactor Bluetooth HCI RX to be independent of transport layer.Damien George
Now all HCI specific code (eg UART vs WB55 internal messaging) is confined to modbluetooth_hci.c.
2020-03-10extmod/modbluetooth: Extract out gatts_db functionality from nimble.Damien George
For use by other stacks, if they need it. Work done in collaboration with Jim Mussared aka @jimmo.
2020-03-10stm32: Refactor bluetooth stack/hci/driver bindings.Damien George
This makes a cleaner separation between the: driver, HCI UART and BT stack. Also updated the naming to be more consistent (mp_bluetooth_hci_*). Work done in collaboration with Jim Mussared aka @jimmo.
2020-03-06extmod/modbluetooth_nimble: Move nimble specific code, factor nimble.mk.Damien George
Move extmod/modbluetooth_nimble.* to extmod/nimble. And move common Makefile lines to extmod/nimble/nimble.mk (which was previously only used by stm32). This allows (upcoming) btstack to follow a similar structure. Work done in collaboration with Jim Mussared aka @jimmo.
2019-11-01extmod/nimble: Factor out stm32-specific HCI UART RX/TX code.Damien George
2019-11-01extmod/nimble: Remove unneeded nimble_sprintf wrapper function.Damien George
2019-10-15extmod/modbluetooth: Increase maximum connections from 1 to 4.Jim Mussared
This avoids a confusing ENOMEM raised from gap_advertise if there is currently an active connection. This refers to the static connection buffer pre-allocated by Nimble (nothing to do with MicroPython heap memory).
2019-10-08stm32: Extract port-specific Nimble implementation.Jim Mussared
On other ports (e.g. ESP32) they provide a complete Nimble implementation (i.e. we don't need to use the code in extmod/nimble). This change extracts out the bits that we don't need to use in other ports: - malloc/free/realloc for Nimble memory. - pendsv poll handler - depowering the cywbt Also cleans up the root pointer management.
2019-10-01extmod/nimble: Add nimble bindings.Damien George