Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ members = [
"nrf-mpsl-sys",
"nrf-sdc",
"nrf-sdc-sys",
"nrf-802154-sys",
"nrf-802154",
]

[profile.dev]
Expand Down
11 changes: 9 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,28 @@
# `nrf-sdc`

Rust bindings for the Nordic Semiconductor nRF series SoftDevice Controller.
Rust bindings for the Nordic Semiconductor nRF series SoftDevice Controller and 802.15.4 Radio Driver.

The SoftDevice Controller is a closed source C binary written by Nordic for their microcontrollers that provides a
standard Bluetooth HCI controller interface. It is full featured and pre qualified for bluetooth controller
certification and thus makes a valuable bluetooth stack when bindgened to Rust.

The 802.15.4 Radio Driver is an open source library written by Nordic for their microcontrollers that provides a
driver API for the 802.15.4 protocol capabilities of their radio peripheral.

The SoftDevice Controller and the 802.15.4 Radio Driver can co-exist and be operated simulaneously.

## High-level bindings

The `nrf-sdc` crate contains high-level easy-to-use Rust async/await bindings for the SoftDevice Controller.

The `nrf-802154` crate contains high-level easy-to-use Rust async/await bindings for the 802.15.4 Radio Driver.

## License

This repo contains submodules with code and libraries provided by Nordic Semiconductor and ARM. Those are subject to
their own respective licenses.

The high level bindings [nrf-sdc](nrf-sdc) and [nrf-mpsl](nrf-mpsl) are licensed under either of
The high level bindings [nrf-sdc](nrf-sdc), [nrf-802154](nrf-802154) and [nrf-mpsl](nrf-mpsl) are licensed under either of

- Apache License, Version 2.0 ([LICENSE-APACHE](./nrf-sdc/LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license ([LICENSE-MIT](./nrf-sdc/LICENSE-MIT) or http://opensource.org/licenses/MIT)
Expand Down
16 changes: 16 additions & 0 deletions ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,3 +71,19 @@ cargo clippy -p nrf-sdc --features nrf52840,peripheral
cargo clippy -p nrf-sdc --features nrf52840,central
cargo clippy -p nrf-sdc --features nrf52840,peripheral,central,defmt
cargo clippy -p nrf-sdc --features nrf52840,peripheral,central,log

cargo clippy -p nrf-802154-sys --features nrf52
cargo clippy -p nrf-802154-sys --features nrf53 --target thumbv8m.main-none-eabi
cargo clippy -p nrf-802154-sys --features nrf54l-ns --target thumbv8m.main-none-eabihf
cargo clippy -p nrf-802154-sys --features nrf54l-s --target thumbv8m.main-none-eabihf
cargo clippy -p nrf-802154-sys --features nrf54h --target thumbv8m.main-none-eabihf

cargo clippy -p nrf-802154 --features nrf52805
cargo clippy -p nrf-802154 --features nrf52810
cargo clippy -p nrf-802154 --features nrf52811
cargo clippy -p nrf-802154 --features nrf52820
cargo clippy -p nrf-802154 --features nrf52832
cargo clippy -p nrf-802154 --features nrf52833
cargo clippy -p nrf-802154 --features nrf52840
cargo clippy -p nrf-802154 --features nrf5340-net --target thumbv8m.main-none-eabi
cargo clippy -p nrf-802154 --features nrf52840,defmt
5 changes: 5 additions & 0 deletions nrf-802154-sys/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Change Log

## 0.1.0

- Initial release
60 changes: 60 additions & 0 deletions nrf-802154-sys/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
[package]
authors = ["Alex Moon <[email protected]>"]
description = "Rust bindings to the Nordic 802.15.4 Radio Driver"
edition = "2021"
license-file = "third_party/nordic/nrfxlib/LICENSE"
name = "nrf-802154-sys"
repository = "https://github.com/alexmoon/nrf-sdc"
version = "0.1.0"
rust-version = "1.77"

# TODO: Double-check that the below is good-enough for the 802.15.4 driver build (both bindgen and cmake)
include = [
"./*.md",
"build.rs",
"src/**",
"third_party/arm/CMSIS_5/LICENSE.txt",
"third_party/arm/CMSIS_5/CMSIS/Core/Include/core_cm4.h",
"third_party/arm/CMSIS_5/CMSIS/Core/Include/cmsis_version.h",
"third_party/arm/CMSIS_5/CMSIS/Core/Include/cmsis_compiler.h",
"third_party/arm/CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h",
"third_party/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv7.h",
"third_party/arm/CMSIS_5/CMSIS/Core/Include/core_cm33.h",
"third_party/arm/CMSIS_5/CMSIS/Core/Include/mpu_armv8.h",
"third_party/nordic/nrfx/LICENSE",
"third_party/nordic/nrfx/mdk/nrf.h",
"third_party/nordic/nrfx/mdk/nrf52840.h",
"third_party/nordic/nrfx/mdk/system_nrf52840.h",
"third_party/nordic/nrfx/mdk/nrf52840_bitfields.h",
"third_party/nordic/nrfx/mdk/nrf51_to_nrf52840.h",
"third_party/nordic/nrfx/mdk/nrf52_to_nrf52840.h",
"third_party/nordic/nrfx/mdk/nrf52840_name_change.h",
"third_party/nordic/nrfx/mdk/compiler_abstraction.h",
"third_party/nordic/nrfx/mdk/nrf5340_network.h",
"third_party/nordic/nrfx/mdk/system_nrf5340_network.h",
"third_party/nordic/nrfx/mdk/nrf5340_network_bitfields.h",
"third_party/nordic/nrfx/mdk/nrf5340_network_name_change.h",
"third_party/nordic/nrfxlib/LICENSE",
"third_party/nordic/nrfxlib/nrf-802154/**",
]

[package.metadata.docs.rs]
features = ["nrf52"]
default-target = "thumbv7em-none-eabihf"
targets = ["thumbv7em-none-eabihf"]

[features]
nrf52 = ["nrf-mpsl-sys/nrf52"]
nrf53 = ["nrf-mpsl-sys/nrf53"]
nrf54l-ns = ["nrf-mpsl-sys/nrf54l-ns"]
nrf54l-s = ["nrf-mpsl-sys/nrf54l-s"]
nrf54h = ["nrf-mpsl-sys/nrf54h"]

[dependencies]
nrf-mpsl-sys = { version = "0.2.0", path = "../nrf-mpsl-sys" }

[build-dependencies]
bindgen = "0.72.0"
doxygen-rs = "0.4.2"
winnow = "0.7.12"
cmake = "0.1.54"
12 changes: 12 additions & 0 deletions nrf-802154-sys/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[![crates.io][crates-badge]][crates-url] [![docs.rs][docs-badge]][docs-url]

[crates-badge]: https://img.shields.io/crates/v/nrf-802154-sys
[crates-url]: https://crates.io/crates/nrf-802154-sys
[docs-badge]: https://docs.rs/nrf-802154-sys/badge.svg
[docs-url]: https://docs.rs/nrf-802154-sys

# nrf-802154-sys

Bindings to Nordic Semiconductor's
[802.15.4 Radio Driver](https://docs.nordicsemi.com/bundle/ncs-latest/page/nrfxlib/nrf_802154/README.html)
library for the nRF series of chips.
Loading