1use 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
19pub 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