pub struct Channel {
pub frequency_hz: u32,
pub bandwidth: Bandwidth,
pub scan_time: ScanTime,
pub transmit_time_ms: u16,
}Expand description
A channel a gateway checks before it transmits on it.
Fields§
§frequency_hz: u32The channel’s carrier, in hertz.
bandwidth: BandwidthIts width.
scan_time: ScanTimeHow long a check listens.
transmit_time_ms: u16How long one transmission may hold the channel, in milliseconds.
Implementations§
Source§impl Channel
impl Channel
Sourcepub const fn covers(&self, frequency_hz: u32, bandwidth_hz: u32) -> bool
pub const fn covers(&self, frequency_hz: u32, bandwidth_hz: u32) -> bool
Whether this is the channel a transmission goes out on.
§Arguments
frequency_hz- the transmission’s carrier.bandwidth_hz- its bandwidth.
§Returns
Whether the widths match and the carriers are within FREQUENCY_TOLERANCE_HZ.
Sourcepub const fn fits(&self, airtime_us: u64) -> bool
pub const fn fits(&self, airtime_us: u64) -> bool
Whether a transmission fits the time the channel allows.
The concentrator reads the check’s answer SENSE_LEAD_US before the packet leaves,
so that much of the transmit time is spent before the packet starts.
§Arguments
airtime_us- how long the transmission holds the air.
§Returns
Whether it ends inside the channel’s transmit time.
§Examples
use pamoja_radios::sx1302::lbt::{Channel, ScanTime};
use pamoja_radios::sx1302::sx1261::Bandwidth;
let channel = Channel {
frequency_hz: 922_100_000,
bandwidth: Bandwidth::Khz125,
scan_time: ScanTime::Long,
transmit_time_ms: 400,
};
assert!(channel.fits(398_500));
assert!(!channel.fits(398_501));Trait Implementations§
impl Copy for Channel
impl Eq for Channel
impl StructuralPartialEq for Channel
Auto Trait Implementations§
impl Freeze for Channel
impl RefUnwindSafe for Channel
impl Send for Channel
impl Sync for Channel
impl Unpin for Channel
impl UnsafeUnpin for Channel
impl UnwindSafe for Channel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more