Skip to content
Snippets Groups Projects
Commit d534be68 authored by Stephen D's avatar Stephen D
Browse files

add 250kbps config and add underflow sanity check

parent 8ca6123e
No related branches found
No related tags found
No related merge requests found
// 500kbps, 2-FSK
pub const RADIO_CONFIG: [u8; 643] = [
0x7, 0x2, 0x1, 0x0, 0x1, 0xC9, 0xC3, 0x80, 0x8, 0x13, 0x0, 0x20, 0x21, 0x20, 0x0, 0x0, 0x0,
0x5, 0x11, 0x0, 0x1, 0x0, 0x62, 0x5, 0x11, 0x0, 0x1, 0x3, 0x30, 0x5, 0x11, 0x10, 0x1, 0x4,
......@@ -38,3 +39,47 @@ pub const RADIO_CONFIG: [u8; 643] = [
0x11, 0x30, 0xC, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xC, 0x11,
0x40, 0x8, 0x0, 0x3A, 0xC, 0xB1, 0x7E, 0x44, 0x44, 0x20, 0xFE,
];
// 250kbps, 2-FSK
/*
pub const RADIO_CONFIG: [u8; 643] = [
0x7, 0x2, 0x1, 0x0, 0x1, 0xC9, 0xC3, 0x80, 0x8, 0x13, 0x0, 0x20, 0x21, 0x20, 0x0, 0x0, 0x0,
0x5, 0x11, 0x0, 0x1, 0x0, 0x62, 0x5, 0x11, 0x0, 0x1, 0x3, 0x30, 0x5, 0x11, 0x10, 0x1, 0x4,
0x21, 0x10, 0x11, 0x20, 0xC, 0x0, 0x3, 0x0, 0x7, 0x2, 0x71, 0x0, 0x5, 0xC9, 0xC3, 0x80, 0x0,
0x0, 0x5, 0x11, 0x20, 0x1, 0xC, 0x46, 0x10, 0x11, 0x20, 0xC, 0x18, 0x1, 0x0, 0x8, 0x3, 0x80,
0x0, 0xB0, 0x10, 0xC, 0xE8, 0x0, 0x4E, 0x10, 0x11, 0x20, 0xC, 0x24, 0x6, 0x8D, 0xB9, 0x0, 0x0,
0x2, 0xC0, 0x8, 0x0, 0x12, 0x0, 0x23, 0x7, 0x11, 0x20, 0x3, 0x30, 0x1, 0x5C, 0xA0, 0x5, 0x11,
0x20, 0x1, 0x35, 0xE0, 0x10, 0x11, 0x20, 0xC, 0x38, 0x11, 0x11, 0x11, 0x80, 0x1A, 0x20, 0x0,
0x0, 0x28, 0xC, 0xA4, 0x23, 0x9, 0x11, 0x20, 0x5, 0x45, 0x3, 0x0, 0x85, 0x1, 0x0, 0x8, 0x11,
0x20, 0x4, 0x4B, 0x6, 0x9, 0x10, 0x40, 0x6, 0x11, 0x20, 0x2, 0x50, 0x94, 0xA, 0x6, 0x11, 0x20,
0x2, 0x54, 0x3, 0x7, 0x5, 0x11, 0x20, 0x1, 0x57, 0x0, 0x9, 0x11, 0x20, 0x5, 0x5B, 0x40, 0x4,
0x4, 0x78, 0x20, 0x10, 0x11, 0x21, 0xC, 0x0, 0x7E, 0x64, 0x1B, 0xBA, 0x58, 0xB, 0xDD, 0xCE,
0xD6, 0xE6, 0xF6, 0x0, 0x10, 0x11, 0x21, 0xC, 0xC, 0x3, 0x3, 0x15, 0xF0, 0x3F, 0x0, 0x7E, 0x64,
0x1B, 0xBA, 0x58, 0xB, 0x10, 0x11, 0x21, 0xC, 0x18, 0xDD, 0xCE, 0xD6, 0xE6, 0xF6, 0x0, 0x3,
0x3, 0x15, 0xF0, 0x3F, 0x0, 0x5, 0x11, 0x22, 0x1, 0x3, 0x1D, 0xB, 0x11, 0x23, 0x7, 0x0, 0x2C,
0xE, 0xB, 0x4, 0xC, 0x73, 0x3, 0xC, 0x11, 0x40, 0x8, 0x0, 0x3B, 0x9, 0x0, 0x0, 0x44, 0x44,
0x20, 0xFE, 0x8, 0x32, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x17, 0x56, 0x10, 0xCA, 0xF0,
0x5, 0x17, 0x13, 0x10, 0xCA, 0xF0, 0x5, 0x11, 0x0, 0x1, 0x1, 0x0, 0x5, 0x11, 0x1, 0x1, 0x0,
0x0, 0x8, 0x11, 0x2, 0x4, 0x0, 0xA, 0x0, 0x0, 0x0, 0xD, 0x11, 0x10, 0x9, 0x0, 0x10, 0x14, 0x0,
0xF, 0x12, 0x0, 0x0, 0x0, 0x0, 0xA, 0x11, 0x11, 0x6, 0x0, 0x3, 0xD5, 0xB3, 0xF7, 0x80, 0x0,
0x10, 0x11, 0x12, 0xC, 0x0, 0x0, 0x0, 0x30, 0xFF, 0xFF, 0x20, 0x12, 0x0, 0x0, 0x0, 0x0, 0x30,
0x10, 0x11, 0x12, 0xC, 0xC, 0x30, 0x0, 0x40, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10,
0x11, 0x12, 0xC, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x11,
0x12, 0xC, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x11, 0x12,
0x5, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x11, 0x12, 0x4, 0x36, 0x0, 0x0, 0x0, 0x0, 0x10, 0x11,
0x20, 0xC, 0x0, 0x2, 0x0, 0x7, 0x26, 0x25, 0xA0, 0x1, 0xC9, 0xC3, 0x80, 0x0, 0x22, 0x5, 0x11,
0x20, 0x1, 0xC, 0x22, 0x10, 0x11, 0x20, 0xC, 0x18, 0x1, 0x0, 0x8, 0x3, 0x80, 0x0, 0x0, 0x30,
0x0, 0xE8, 0x0, 0x78, 0x10, 0x11, 0x20, 0xC, 0x24, 0x4, 0x44, 0x44, 0x4, 0x44, 0x2, 0x0, 0x0,
0x0, 0x23, 0x88, 0x89, 0x7, 0x11, 0x20, 0x3, 0x30, 0x1, 0xB7, 0xA0, 0x5, 0x11, 0x20, 0x1, 0x35,
0xE0, 0x10, 0x11, 0x20, 0xC, 0x38, 0x22, 0xD, 0xD, 0x80, 0x2, 0x40, 0x0, 0x0, 0x28, 0xC, 0xA4,
0x23, 0xE, 0x11, 0x20, 0xA, 0x45, 0x3, 0x1, 0xA, 0x1, 0x0, 0xFF, 0x6, 0x2, 0x18, 0x40, 0x6,
0x11, 0x20, 0x2, 0x50, 0x84, 0xA, 0x6, 0x11, 0x20, 0x2, 0x54, 0x3, 0x7, 0x5, 0x11, 0x20, 0x1,
0x57, 0x0, 0x9, 0x11, 0x20, 0x5, 0x5B, 0x40, 0x4, 0x8, 0x78, 0x20, 0x10, 0x11, 0x21, 0xC, 0x0,
0x5B, 0x47, 0xF, 0xC0, 0x6D, 0x25, 0xF4, 0xDB, 0xD6, 0xDF, 0xEC, 0xF7, 0x10, 0x11, 0x21, 0xC,
0xC, 0xFE, 0x1, 0x15, 0xF0, 0xFF, 0x3, 0x5B, 0x47, 0xF, 0xC0, 0x6D, 0x25, 0x10, 0x11, 0x21,
0xC, 0x18, 0xF4, 0xDB, 0xD6, 0xDF, 0xEC, 0xF7, 0xFE, 0x1, 0x15, 0xF0, 0xFF, 0x3, 0x8, 0x11,
0x22, 0x4, 0x0, 0x8, 0x7F, 0x0, 0x5D, 0xB, 0x11, 0x23, 0x7, 0x0, 0x1, 0x5, 0xB, 0x5, 0x2, 0x0,
0x3, 0x10, 0x11, 0x30, 0xC, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xC, 0x11, 0x40, 0x8, 0x0, 0x3A, 0xC, 0xB1, 0x7E, 0x44, 0x44, 0x20, 0xFE,
];
*/
......@@ -160,6 +160,10 @@ where
// wait for packet sent interrupt
while !self.packet_sent_pending()? {}
if self.fifo_underflow_pending()? {
panic!("underflow");
}
Ok(())
}
......@@ -187,6 +191,13 @@ where
Ok(())
}
// also clears the interrupt
fn fifo_underflow_pending(&mut self) -> Result<bool, Spi::Error> {
let ch_pend = self.send_command::<7>(&[GET_INT_STATUS, 0xFF, 0xFF, 0xFF ^ (1 << 5)])?[6];
Ok(ch_pend & (1 << 5) != 0)
}
// also clears the interrupt
fn packet_sent_pending(&mut self) -> Result<bool, Spi::Error> {
let ph_pend = self.send_command::<3>(&[GET_INT_STATUS, 0xFF ^ (1 << 5), 0xFF, 0xFF])?[2];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment