[package] name = "ockam_transport_ble" version = "0.97.0" authors = ["Ockam Developers"] autoexamples = false categories = ["cryptography", "asynchronous", "authentication", "embedded", "network-programming"] edition = "2021" exclude = [ "DEVELOP.md", "LICENSE", ] homepage = "https://github.com/build-trust/ockam" keywords = ["ockam", "crypto", "network", "bluetooth", "ble"] license = "Apache-2.0" publish = true readme = "README.md" repository = "https://github.com/build-trust/ockam/tree/develop/implementations/rust/ockam/ockam_transport_ble" description = """ Bluetooth Low Energy (BLE) Transport for the Ockam Routing Protocol. """ [features] default = ["std", "use_btleplug"] # Feature (enabled by default): "std" enables functionality expected to # be available on a standard platform. std = [ "ockam_core/std", "ockam_node/std", "ockam_transport_core/std", "tracing/default", "uuid", ] # Feature: "no_std" enables functionality required for platforms # without the standard library. no_std = [ "ockam_core/no_std", "ockam_node/no_std", "ockam_transport_core/no_std", "heapless", "nb", ] # Feature: "alloc" enables support for heap allocation on "no_std" # platforms, requires nightly. alloc = [ "ockam_core/alloc", "ockam_node/alloc", "ockam_transport_core/alloc", ] # Feature: Bare-metal support for ST Micro BlueNRG-MS BLE radios (server-only) use_bluetooth_hci = ["bluetooth-hci", "bluenrg"] # Feature: Multi-platform support for BLE radios (client-only) use_btleplug = ["btleplug"] # Processor Feature: TODO move this into its own "Ockam Addon" crate atsame54 = [ "embedded-hal", # TODO atsame54_xpro declares hal::hal as private "atsame54_xpro", ] # Processor Feature: TODO move this into its own "Ockam Addon" crate stm32f4 = [ "embedded-hal", # TODO atsame54_xpro declares hal::hal as private "stm32f4xx-hal", ] # Processor Feature: TODO move this into its own "Ockam Addon" crate stm32h7 = [ "embedded-hal", # TODO atsame54_xpro declares hal::hal as private "stm32h7xx-hal", "stm32-device-signature/stm32h75x", ] # Processor Feature: TODO move this into its own "Ockam Addon" crate pic32 = [ "embedded-hal", # TODO pic32-hal declares hal::hal as private "pic32-hal", ] pic32mx1xxfxxxb = ["pic32", "pic32-hal/pic32mx1xxfxxxb"] pic32mx2xxfxxxb = ["pic32", "pic32-hal/pic32mx2xxfxxxb"] [dependencies] ockam_core = { path = "../ockam_core", version = "^0.122.0", default-features = false } ockam_node = { path = "../ockam_node", version = "^0.135.0", default-features = false } ockam_transport_core = { path = "../ockam_transport_core", version = "^0.99.0", default-features = false } futures = { version = "0.3.30", default-features = false } serde = { version = "1.0", default-features = false, features = ["derive"] } tracing = { version = "0.1", default-features = false } # Target os: TODO move this into its own "Ockam Addon" crate btleplug = { version = "0.11.5", optional = true } uuid = { version = "1.10.0", optional = true } # Target baremetal: TODO move this into its own "Ockam Addon" crate bluenrg = { version = "0.1.0", default-features = false, features = ["ms"], optional = true } bluetooth-hci = { version = "0.1.0", default-features = false, features = ["version-4-1"], optional = true } heapless = { version = "0.8.0", optional = true } nb = { version = "1.1.0", optional = true } # Processor atsame: TODO move this into its own "Ockam Addon" crate atsame54_xpro = { version = "0.6.0", optional = true } embedded-hal = { version = "1.0.0-rc", optional = true } # Processor stm32: TODO move this into its own "Ockam Addon" crate stm32-device-signature = { version = "0.3.3", optional = true } stm32f4xx-hal = { version = "0.19.0", features = ["rt", "stm32f407"], optional = true } stm32h7xx-hal = { version = "0.16.0", features = ["rt", "stm32h747cm7"], optional = true } # Processor pic32: TODO move this into its own "Ockam Addon" crate pic32-hal = { version = "0.11.0", optional = true } # Architecture ARM: TODO move this into its own "Ockam Addon" crate [target.'cfg(target_arch = "arm")'.dependencies] cortex-m = "0.7.7" # Architecture RISCV: TODO move this into its own "Ockam Addon" crate [target.'cfg(any(target_arch = "riscv32", target_arch = "riscv64"))'.dependencies] riscv = "0.10.0" [dev-dependencies] ockam_identity = { path = "../ockam_identity", version = "^0.130.0" } ockam_vault = { path = "../ockam_vault", version = "^0.128.0" } [[example]] name = "04-routing-over-ble-transport-initiator" required-features = ["std", "use_btleplug"] [[example]] name = "05-secure-channel-over-ble-transport-initiator" required-features = ["std", "use_btleplug"]