ublox-cellular-rs icon indicating copy to clipboard operation
ublox-cellular-rs copied to clipboard

A driver crate for the entire u-blox cellular family in Rust

ublox-cellular

no_std driver crate for interfacing with the ublox cellular family over serial

Test No Std Crates.io Version Crates.io Downloads


A driver crate for AT-command based serial ublox cellular modules, built on top of atat.

Documentation

Relevant docs:

  • https://www.u-blox.com/en/docs/UBX-20015573
  • https://www.u-blox.com/en/docs/UBX-13001820

Relevant repos:

  • https://github.com/u-blox/cellular
  • https://github.com/ARMmbed/mbed-os/blob/master/connectivity/drivers/cellular
  • https://github.com/particle-iot/device-os
  • https://github.com/u-blox/ubxlib

Tests

The crate is covered by tests. These tests can be run by cargo test --tests --all-features, and are run by the CI on every push.

Examples

The crate has examples for running it on a linux platform.

The samples can be built using cargo build -p linux_example --target x86_64-unknown-linux-gnu, and similarly run using cargo run

Features

  • device selection (must select one, and only one!):
    • toby-l4
    • mpci-l2
    • lisa-u2
    • sara-r5
    • sara-g3
    • sara-g4
    • sara-u2
    • sara-u1
    • toby-l2
    • toby-r2
    • lara-r2
    • lara-r6
    • leon-g1
  • socket-tcp: Enabled by default. Adds TCP socket capabilities, and implements [TcpStack] trait.
  • socket-udp: Enabled by default. Adds UDP socket capabilities, and implements [UdpStack] trait.
  • defmt-impl : Use defmt based logging. Typically used in no_std platforms.
    • Different log levels can be used like this: DEFMT_LOG=info cargo run myapp
  • log-impl: Use log based logging. Used in std platforms.
    • Different log levels can be used like this: RUST_LOG=error cargo run myapp

License

Licensed under either of

  • Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.