1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#![no_std]
#![allow(dead_code)]
pub mod peripherals;
pub(crate) mod app;
pub(crate) mod buffer;
pub(crate) mod irq;
pub(crate) mod payload;
pub use crate::{app::EsbApp, buffer::EsbBuffer, irq::EsbIrq, payload::EsbHeader};
pub use bbqueue::{consts, ArrayLength, BBBuffer, ConstBBBuffer};
const RX_WAIT_FOR_ACK_TIMEOUT_US_2MBPS: u16 = 48;
const RETRANSMIT_DELAY_US_OFFSET: u16 = 62;
const RETRANSMIT_DELAY: u16 = 250;
const MAXIMUM_TRANSMIT_ATTEMPTS: u8 = 3;
#[cfg(feature = "51")]
const RAMP_UP_TIME: u8 = 140;
#[cfg(not(feature = "51"))]
const RAMP_UP_TIME: u8 = 40;
pub enum Error {
QueueFull,
QueueEmpty,
AlreadySplit,
InvalidParameters,
}