ArmLabCC1200

Libraries for interfacring with Armstrong Labs CC1200 based radios


Download with crates.io

https://crates.io/crates/ArmlabRadio

Purpose

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

Whats Available

Whats Coming

Design

Latest design specifications

Use

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);

} ```

Speed / Power

Serial <-> Serial Speed

Using two radios positioned relatively close, one with a 8in whip antenna and the other with a 16in whip antenna I was able to achieve 60000 continuous transmissions containing on average 13 bytes each at a rate of about 1000 packets in 15 seconds

This leads to a transmit rate of ~7kbps, which would be improved using: