Skip to content

Libraries for interfacring with Armstrong Labs CC1200 based radios

License

Notifications You must be signed in to change notification settings

explosion33/ArmLabCC1200

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  • 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

Whats Coming

  • More exposed features on the radio
  • Platform independent library for C / C++

Design

view the Latest design specifications, for an explanation on protocols, schematics, testing, and more

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

About

Libraries for interfacring with Armstrong Labs CC1200 based radios

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages