xbee_s2c 0.1.0

embedded_hal based driver for the XBee S2C.
Documentation
/// Special commands
mod special {
    use embedded_hal::serial::{Read, Write};

    /// WR
    fn write_memory<S: Read<u8> + Write<u8>>(serial: &mut S) {
        unimplemented!()
    }

    /// RE
    fn restore<S: Read<u8> + Write<u8>>(serial: &mut S) {
        unimplemented!()
    }

    /// FR
    fn reset<S: Read<u8> + Write<u8>>(serial: &mut S) {
        unimplemented!()
    }
}

/// Network and Security commands
mod net_sec {
    use embedded_hal::serial::{Read, Write};

    pub enum TxCompat {
        Optimized = 0,
        Legacy = 1,
    }

    pub enum DiscoveryCompat {
        XBee = 0,
        Legacy = 2,
    }

    pub enum MacMode {
        DigiAck = 0,
        NoHeaderAck = 1,
        NoHeaderNoAck = 2,
        DigiNoAck = 3,
    }

    /// C8
    fn legacy_compat<S: Read<u8> + Write<u8>>(serial: &mut S) -> (TxCompat, DiscoveryCompat) {
        unimplemented!()
    }

    /// C8
    fn set_legacy_compat<S: Read<u8> + Write<u8>>(serial: &mut S, tx: TxCompat, disc: DiscoveryCompat) {
        unimplemented!()
    }

    /// CH
    fn operating_channel<S: Read<u8> + Write<u8>>(serial: &mut S) -> u8 {
        unimplemented!()
    }

    /// CH
    fn set_operating_channel<S: Read<u8> + Write<u8>>(serial: &mut S, ch: u8) {
        unimplemented!()
    }

    /// ID
    fn network_id<S: Read<u8> + Write<u8>>(serial: &mut S) -> u16 {
        unimplemented!()
    }

    /// ID
    fn set_network_id<S: Read<u8> + Write<u8>>(serial: &mut S, id: u16) {
        unimplemented!()
    }

    /// DH/DL
    fn destination_addr<S: Read<u8> + Write<u8>>(serial: &mut S) -> u64 {
        unimplemented!()
    }

    /// DH/DL
    fn set_destination_addr<S: Read<u8> + Write<u8>>(serial: &mut S, addr: u64) {
        unimplemented!()
    }

    /// MY
    fn source_addr<S: Read<u8> + Write<u8>>(serial: &mut S) -> u16 {
        unimplemented!()
    }

    /// MY
    fn set_source_addr<S: Read<u8> + Write<u8>>(serial: &mut S, addr: u16) {
        unimplemented!()
    }

    /// SH/SL
    fn source_long_addr<S: Read<u8> + Write<u8>>(serial: &mut S) -> u64 {
        unimplemented!()
    }

    /// MM
    fn mac_mode<S: Read<u8> + Write<u8>>(serial: &mut S) -> MacMode {
        unimplemented!()
    }

    /// MM
    fn set_mac_mode<S: Read<u8> + Write<u8>>(serial: &mut S, mode: MacMode) {
        unimplemented!()
    }

    /// RR
    fn retries<S: Read<u8> + Write<u8>>(serial: &mut S) -> u8 {
        unimplemented!()
    }

    /// RR
    fn set_retries<S: Read<u8> + Write<u8>>(serial: &mut S, retries: u8) {
        unimplemented!()
    }

    /// RN
    fn delay_slots<S: Read<u8> + Write<u8>>(serial: &mut S) -> u8 {
        unimplemented!()
    }

    /// RN
    fn set_delay_slots<S: Read<u8> + Write<u8>>(serial: &mut S, slots: u8) {
        unimplemented!()
    }

    // ND
    // NT
    // NO
    // DN
    // CE
    // SC
    // SD
    // A1
    // A2
    // AI
    // DA
    // FP
    // AS
    // ED
    // EE
    // KY
    // NI
}

/// Serial Interfacing commands
mod serial {
    use embedded_hal::serial::{Read, Write};

    // BD
    // NB
    // RO
    // D7
    // D6
    // API Enable
}

/// Command Mode options
mod command_mode {
    use embedded_hal::serial::{Read, Write};

    /// CT
    /// time x 100 ms
    fn timeout<S: Read<u8> + Write<u8>>(serial: &mut S) -> u16 {
        unimplemented!()
    }

    /// CT
    /// time x 100 ms
    fn set_timeout<S: Read<u8> + Write<u8>>(serial: &mut S, time: u16) {
        unimplemented!()
    }

    /// CN
    fn exit<S: Read<u8> + Write<u8>>(serial: &mut S) {
        unimplemented!()
    }

    /// AC
    fn apply_changes<S: Read<u8> + Write<u8>>(serial: &mut S) {
        unimplemented!()
    }

    /// GT
    /// time x 1 ms
    fn enter_time<S: Read<u8> + Write<u8>>(serial: &mut S) -> u16 {
        unimplemented!()
    }

    /// GT
    /// time x 1 ms
    fn set_enter_time<S: Read<u8> + Write<u8>>(serial: &mut S, time: u16) {
        unimplemented!()
    }

    /// CC
    fn command_character<S: Read<u8> + Write<u8>>(serial: &mut S) -> u8 {
        unimplemented!()
    }

    /// CC
    fn set_command_character<S: Read<u8> + Write<u8>>(serial: &mut S, c: u8) {
        unimplemented!()
    }
}