Libraries for interfacring with Armstrong Labs CC1200 based radios
Download with crates.io
https://crates.io/crates/ArmlabRadio
ArmLabCC1200 contains a set of libraries for interfacing with STM32 controlled CC1200 radios. An STM32 wired to a CC1200 chip, and flashed with the following code will be able to be controlled by
- any linux device over I2C
- any device over serial
- Rust source code to interface with the device over I2C on linux (radio_i2c.rs)
- Rust source code to interface with the device over serial (radio_serial.rs)
- Library published on crates.io
- stm32 source code
- custom stm32 board schematic
- Commands to change basic radio settings
- interactive command line example
cargo run --example terminal
cargo run --features i2clib --example terminal
- continuous rx/tx (serial only) example
cargo run --example beacon
- Serial radio device, auto detection
- More exposed features on the radio
- Platform independent library for C / C++
view the Latest design specifications, for an explanation on protocols, schematics, testing, and more
I2C (Linux)
use ArmlabRadio::radio_i2c::Radio;
fn main () {
let mut radio: Radio = Radio::new_rpi().unrwap();
radio.transmit(b"test message").expect("transmit error");
let packet = radio.get_packet().expect("read error");
println!("got message: \"{:?}\"", packet);
}
Serial
use ArmlabRadio::radio_serial::Radio;
fn main () {
let mut radio: Radio = Radio::new("COM 4").unrwap();
radio.transmit(b"test message").expect("transmit error");
let packet = radio.get_packet().expect("read error");
println!("got message: \"{:?}\"", packet);
}