Skip to content

Commit

Permalink
Merge pull request #85 from embassy-rs/pico-w
Browse files Browse the repository at this point in the history
Add example for rp pico w
  • Loading branch information
lulf authored Aug 21, 2024
2 parents 75dc087 + 9cb350f commit 12645f7
Show file tree
Hide file tree
Showing 8 changed files with 1,792 additions and 4 deletions.
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![CI](https://github.com/embassy-rs/trouble/actions/workflows/ci.yaml/badge.svg)](https://github.com/embassy-rs/trouble/actions/workflows/ci.yaml)

TrouBLE is a Bluetooth Low Energy (BLE) Host implementation written in Rust, with a future goal of qualification. The initial implementation was based on [`bleps`](https://github.com/bjoernQ/bleps) but has been adopted to work with types and traits from [`bt-hci`](https://github.com/alexmoon/bt-hci).
TrouBLE is a Bluetooth Low Energy (BLE) Host implementation written in Rust, with a future goal of qualification. The initial implementation was based on [`bleps`](https://github.com/bjoernQ/bleps) but has been adopted to work with types and traits from [`bt-hci`](https://github.com/alexmoon/bt-hci) and adding support for more of the BLE specification such as L2CAP connection oriented channels.

### What is a Host?

Expand All @@ -16,9 +16,9 @@ The advantage of this split is that the Host can generally be reused for differe

TrouBLE can use any controller that implements the traits from `bt-hci`. At present, that includes:

* [nRF Softdevice Controller](https://github.com/alexmoon/nrf-sdc). Use [`nrf-softdevice`](https://github.com/embassy-rs/nrf-softdevice) for the time being if you want a production ready BLE Rust stack for nRF.
* [nRF Softdevice Controller](https://github.com/alexmoon/nrf-sdc).
* [UART HCI](https://docs.zephyrproject.org/latest/samples/bluetooth/hci_uart/README.html).
* [Raspberry Pi Pico W](https://github.com/embassy-rs/embassy/pull/2865) - This is still WIP and largely untested.
* [Raspberry Pi Pico W](https://github.com/embassy-rs/embassy/tree/main/cyw43).
* [Apache NimBLE Controller](https://github.com/benbrittain/apache-nimble-sys).
* [ESP32](https://github.com/esp-rs/esp-hal).

Expand All @@ -42,6 +42,8 @@ See `examples` for example applications. Currently there are three examples:
* `nrf-sdc` for the nRF52 based using the [`nrf-sdc`](https://github.com/alexmoon/nrf-sdc) crate.
* `serial-hci` which runs on std using a controller attached via a serial port (Such as [this Zephyr sample](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/samples/bluetooth/hci_uart/README.html)).
* `apache-nimble` which uses the controller from the [NimBLE stack](https://github.com/apache/mynewt-nimble) through high-level bindings from the [`apache-nimble`](https://github.com/benbrittain/apache-nimble-sys) crate.
* `esp32` which uses the BLE controller in the [esp-hal](https://github.com/esp-rs/esp-hal).
* `rp-pico-w` which uses the BLE controller in the [Raspberry Pi Pico W](https://www.raspberrypi.com/documentation/microcontrollers/pico-series.html#raspberry-pi-pico-w).

## License

Expand Down
8 changes: 8 additions & 0 deletions examples/rp-pico-w/.cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[target.'cfg(all(target_arch = "arm", target_os = "none"))']
runner = "probe-rs run --chip RP2040"

[build]
target = "thumbv6m-none-eabi" # Cortex-M0 and Cortex-M0+

[env]
DEFMT_LOG = "debug"
Loading

0 comments on commit 12645f7

Please sign in to comment.