Expand description
Rust adaptation of the RP6Lib provided with the original Robby RP6 robot.
Example usage (see examples/ directory for more):
#![no_std]
#![no_main]
use rp6::*;
/// entry point for the embedded rust program
#[entry]
fn main() -> ! {
    RobotBase::init();
    Serial::write("Hello world!\n");
    let init_leds: u8 = 0b001001;
    let mut running_light: u8 = init_leds;
    // main loop:
    loop {
        // set LEDs according to the binary number `running_light`
        RobotBase::set_leds(running_light);
        // sleep for 250ms (= a quarter of one second)
        delay_ms(250);
        // shift to the left for the 'running' effect
        running_light <<= 1;
        // reset to the initial LED pattern after the last LED was lit
        if running_light > 0b111111 {
            running_light = init_leds;
        }
    }
}Re-exports
Modules
This module combines some simple device-abstraction for AVR microcontrollers. Currently only
supports the atmega32 target, but could be extended to other avr devices.
Re-exports commonly-used API that can be imported at once.
Module for general interaction with the specific systems installed on the RP6’s robot base.
UART = “Universal Aynchronous Receiver Transceiver”
Macros
Convenience macro that allows to write multiple (formatted) 
Serial::write statements as a
single call. Currently supported formatters are dec and hex for numbers.Convenience macro that allows to use the 
print! macro and append a newline character.Functions
Blocking procedure that allows to
delay for N milliseconds
Blocking procedure that allows to
delay for N microseconds