#[non_exhaustive]pub enum Region {
Eu868,
Us915,
Eu433,
Au915,
Cn470,
As923,
Kr920,
In865,
Ru864,
}Expand description
A named regional channel plan.
This is a convenience over ChannelPlan, not the only way to get one: a
deployment on licensed spectrum builds its own plan and every method still
applies. Each variant is behind its own cargo feature.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Eu868
Europe and everywhere else following ETSI EN 300 220, 863-870 MHz.
Us915
The United States, Canada, and ITU Region 2, 902-928 MHz.
Eu433
The 433 MHz ISM band.
Au915
Australia and the countries following it, 915-928 MHz.
Cn470
China, 470-510 MHz.
As923
Asia and the Pacific, 923 MHz.
Kr920
South Korea, 920-923 MHz.
In865
India, 865-867 MHz.
Ru864
Russia, 864-870 MHz.
Implementations§
Source§impl Region
impl Region
Sourcepub const fn plan(self) -> &'static ChannelPlan<'static>
pub const fn plan(self) -> &'static ChannelPlan<'static>
Returns the channel plan this region names.
§Returns
The plan, whose tables come straight from RP002-1.0.5.
Sourcepub const fn name(self) -> &'static str
pub const fn name(self) -> &'static str
Returns the specification’s name for this region’s band.
§Returns
The band name, such as "EU863-870".
Sourcepub const fn code(self) -> &'static str
pub const fn code(self) -> &'static str
Returns the short code this region is configured by.
A deployment is set up as EU868 or US915; the band name the
specification uses, such as EU863-870, is what name
reports. Both identify the same plan.
§Returns
The short code, such as "EU868".
§Examples
use pamoja_lora::region::Region;
assert_eq!(Region::Eu868.code(), "EU868");
assert_eq!(Region::Eu868.name(), "EU863-870");Sourcepub fn from_code(code: &str) -> Option<Self>
pub fn from_code(code: &str) -> Option<Self>
Returns the region a short code names.
The comparison ignores case, and the specification’s band name is accepted as well, so a plan read back from a device’s configuration resolves whichever form it was written in.
§Arguments
code- the short code or band name, such as"EU868".
§Returns
The region, or None if no region in this build goes by that name.
§Examples
use pamoja_lora::region::Region;
assert_eq!(Region::from_code("us915"), Some(Region::Us915));
assert_eq!(Region::from_code("US902-928"), Some(Region::Us915));
assert_eq!(Region::from_code("Atlantis"), None);