Skip to main content

rfham_bands/
uk_rsgb.rs

1//!
2//! Provides ..., a one-line description
3//!
4//! More detailed description
5//!
6//! # Examples
7//!
8//! ```rust
9//! ```
10//!
11
12use crate::{Band, BandPlan, LicenseClass};
13use rfham_core::{
14    agencies::{agency_ofcom, agency_rsgb},
15    countries::country_code_uk,
16};
17use rfham_itu::{allocations::FrequencyAllocation::*, regions::Region};
18
19// ------------------------------------------------------------------------------------------------
20// Public Macros
21// ------------------------------------------------------------------------------------------------
22
23// ------------------------------------------------------------------------------------------------
24// Public Types
25// ------------------------------------------------------------------------------------------------
26
27// ------------------------------------------------------------------------------------------------
28// Public Functions
29// ------------------------------------------------------------------------------------------------
30
31pub fn band_2200m() -> Band {
32    Band::new_default(Band2200M, Region::One)
33}
34
35pub fn band_630m() -> Band {
36    Band::new_default(Band630M, Region::One)
37}
38
39pub fn band_160m() -> Band {
40    Band::new_default(Band160M, Region::One)
41}
42
43pub fn band_80m() -> Band {
44    Band::new_default(Band80M, Region::One)
45}
46
47pub fn band_60m() -> Band {
48    Band::new_default(Band60M, Region::One)
49}
50
51pub fn band_40m() -> Band {
52    Band::new_default(Band40M, Region::One)
53}
54
55pub fn band_30m() -> Band {
56    Band::new_default(Band30M, Region::One)
57}
58
59pub fn band_20m() -> Band {
60    Band::new_default(Band20M, Region::One)
61}
62
63pub fn band_17m() -> Band {
64    Band::new_default(Band17M, Region::One)
65}
66
67pub fn band_15m() -> Band {
68    Band::new_default(Band15M, Region::One)
69}
70
71pub fn band_12m() -> Band {
72    Band::new_default(Band12M, Region::One)
73}
74
75pub fn band_10m() -> Band {
76    Band::new_default(Band10M, Region::One)
77}
78
79pub fn band_6m() -> Band {
80    Band::new_default(Band6M, Region::One)
81}
82
83pub fn band_2m() -> Band {
84    Band::new_default(Band2M, Region::One)
85}
86
87pub fn band_1_25m() -> Band {
88    Band::new_default(Band1_25M, Region::One)
89}
90
91pub fn band_70cm() -> Band {
92    Band::new_default(Band70Cm, Region::One)
93}
94
95pub fn band_33cm() -> Band {
96    Band::new_default(Band33Cm, Region::One)
97}
98
99pub fn band_23cm() -> Band {
100    Band::new_default(Band23Cm, Region::One)
101}
102
103pub fn band_13cm() -> Band {
104    Band::new_default(Band13Cm, Region::One)
105}
106
107pub fn band_9cm() -> Band {
108    Band::new_default(Band9Cm, Region::One)
109}
110
111pub fn band_5cm() -> Band {
112    Band::new_default(Band5Cm, Region::One)
113}
114
115pub fn band_3cm() -> Band {
116    Band::new_default(Band3Cm, Region::One)
117}
118
119pub fn band_1_2cm() -> Band {
120    Band::new_default(Band1_2Cm, Region::One)
121}
122
123pub fn band_6mm() -> Band {
124    Band::new_default(Band6Mm, Region::One)
125}
126
127pub fn band_4mm() -> Band {
128    Band::new_default(Band4Mm, Region::One)
129}
130
131pub fn band_2_5mm() -> Band {
132    Band::new_default(Band2_5Mm, Region::One)
133}
134
135pub fn band_2mm() -> Band {
136    Band::new_default(Band2Mm, Region::One)
137}
138
139pub fn band_1mm() -> Band {
140    Band::new_default(Band1Mm, Region::One)
141}
142
143pub fn rsgb_band_plan() -> BandPlan {
144    BandPlan::new(agency_rsgb(), Region::One, "UK Amateur Radio Band Plan")
145        .with_regulator(agency_ofcom())
146        .in_country(country_code_uk())
147        .with_licenses(
148            vec![
149                ("f".to_string(), LicenseClass::new(1, "Foundation", true)),
150                (
151                    "fc".to_string(),
152                    LicenseClass::new(1, "Foundation (Club)", true),
153                ),
154                ("I".to_string(), LicenseClass::new(2, "Intermediate", true)),
155                (
156                    "Ic".to_string(),
157                    LicenseClass::new(2, "Intermediate (Club)", true),
158                ),
159                ("F".to_string(), LicenseClass::new(3, "Full", true)),
160                ("Fc".to_string(), LicenseClass::new(3, "Full (Club)", true)),
161            ]
162            .into_iter()
163            .collect(),
164        )
165}
166
167// ------------------------------------------------------------------------------------------------
168// Private Macros
169// ------------------------------------------------------------------------------------------------
170
171// ------------------------------------------------------------------------------------------------
172// Private Types
173// ------------------------------------------------------------------------------------------------
174
175// ------------------------------------------------------------------------------------------------
176// Implementations
177// ------------------------------------------------------------------------------------------------
178
179// ------------------------------------------------------------------------------------------------
180// Private Functions
181// ------------------------------------------------------------------------------------------------
182
183// ------------------------------------------------------------------------------------------------
184// Sub-Modules
185// ------------------------------------------------------------------------------------------------