mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2026-07-26 10:38:52 +00:00
Looking Glass frequency list now supports muiti file loads (#3215)
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
#include "ui_looking_glass_app.hpp"
|
||||
#include "convert.hpp"
|
||||
#include "file_reader.hpp"
|
||||
#include "file.hpp"
|
||||
#include "string_format.hpp"
|
||||
#include "audio.hpp"
|
||||
#include "file_path.hpp"
|
||||
@@ -603,34 +604,39 @@ void GlassView::on_freqchg(int64_t freq) {
|
||||
}
|
||||
|
||||
void GlassView::load_presets() {
|
||||
File presets_file;
|
||||
auto error = presets_file.open(looking_glass_dir / u"PRESETS.TXT");
|
||||
presets_db.clear();
|
||||
|
||||
// Add the "Manual" entry.
|
||||
presets_db.push_back({0, 0, "Manual"});
|
||||
|
||||
if (!error) {
|
||||
auto reader = FileLineReader(presets_file);
|
||||
for (const auto& line : reader) {
|
||||
if (line.length() == 0 || line[0] == '#')
|
||||
continue;
|
||||
scan_root_files(looking_glass_dir, u"*.TXT", [this](const std::filesystem::path& path) {
|
||||
if (path.empty() || path.native()[0] == u'.')
|
||||
return;
|
||||
|
||||
auto cols = split_string(line, ',');
|
||||
if (cols.size() != 3)
|
||||
continue;
|
||||
File presets_file;
|
||||
auto error = presets_file.open(looking_glass_dir / path);
|
||||
if (!error) {
|
||||
auto reader = FileLineReader(presets_file);
|
||||
for (const auto& line : reader) {
|
||||
if (line.length() == 0 || line[0] == '#')
|
||||
continue;
|
||||
|
||||
preset_entry entry{};
|
||||
parse_int(cols[0], entry.min);
|
||||
parse_int(cols[1], entry.max);
|
||||
entry.label = trimr(cols[2]);
|
||||
auto cols = split_string(line, ',');
|
||||
if (cols.size() != 3)
|
||||
continue;
|
||||
|
||||
if (entry.min == 0 || entry.max == 0 || entry.min >= entry.max)
|
||||
continue; // Invalid line.
|
||||
preset_entry entry{};
|
||||
parse_int(cols[0], entry.min);
|
||||
parse_int(cols[1], entry.max);
|
||||
entry.label = trimr(cols[2]);
|
||||
|
||||
presets_db.emplace_back(std::move(entry));
|
||||
if (entry.min == 0 || entry.max == 0 || entry.min >= entry.max)
|
||||
continue; // Invalid line.
|
||||
|
||||
presets_db.emplace_back(std::move(entry));
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
populate_presets();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# 433 MHz BAND
|
||||
423,443,433 BAND
|
||||
@@ -0,0 +1,6 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# AUS UHF CB
|
||||
476,478,AUS UHF CB
|
||||
@@ -0,0 +1,10 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# AVIATION
|
||||
108,118,AVIATION 108 NAVAIDS
|
||||
118,137,AVIATION 118 VOICE
|
||||
960,1215,AVIATION 960
|
||||
1089,1091,ADS-B 1090
|
||||
128,137,ACARS
|
||||
@@ -0,0 +1,9 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# BROADCAST RADIO
|
||||
87,108,FM BROADCAST USA
|
||||
76,108,FM BROADCAST BRAZIL
|
||||
76,95,FM BROADCAST JAPAN
|
||||
65,74,FM OIRT EAST EU
|
||||
@@ -0,0 +1,6 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# CITIZENS BAND RADIO
|
||||
26,28,CB RADIO
|
||||
@@ -0,0 +1,8 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# COMMON PUBLIC SERVICE BANDS
|
||||
150,160,PUBLIC SERVICE 155
|
||||
450,470,PUBLIC SERVICE 460
|
||||
769,775,PUBLIC SERVICE 770
|
||||
@@ -0,0 +1,7 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# CubeSats
|
||||
144,146,145 CubeSats
|
||||
435,438,436 CubeSats
|
||||
@@ -0,0 +1,6 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# DECT
|
||||
1879,1931,DECT
|
||||
@@ -0,0 +1,6 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# FRS/GMRS
|
||||
462,468,FRS/GMRS
|
||||
@@ -0,0 +1,6 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# FULL
|
||||
10,7250,FULL RANGE
|
||||
@@ -0,0 +1,12 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# HAM RADIO
|
||||
28,30,HAM 10-METER
|
||||
50,54,HAM 6-METER
|
||||
144,148,HAM 2-METER
|
||||
219,225,HAM 1.25-METER
|
||||
420,450,HAM 70-CM
|
||||
902,928,HAM 33-CM
|
||||
1240,1300,HAM 23-CM
|
||||
@@ -0,0 +1,10 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# ITU-DEFINED BANDS
|
||||
1,3,MF BAND
|
||||
3,30,HF BAND
|
||||
30,300,VHF BAND
|
||||
300,3000,UHF BAND
|
||||
3000,7250,SHF BAND
|
||||
@@ -0,0 +1,11 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# KEYFOBS
|
||||
305,325,315 MHz KEYFOBS
|
||||
380,400,390 MHz KEYFOBS
|
||||
423,443,433 MHz KEYFOBS
|
||||
858,878,868 MHz KEYFOBS
|
||||
902,929,915 MHz KEYFOBS
|
||||
# 260,500,315/433 MHz KEYFOBS
|
||||
@@ -0,0 +1,9 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# LoRa
|
||||
433,435,LoRa 443EU
|
||||
863,870,LoRa 868EU
|
||||
902,928,LoRa 915US
|
||||
779,787,LoRa 780CN
|
||||
@@ -0,0 +1,6 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# MARINE BAND
|
||||
155,163,MARINE VHF
|
||||
@@ -0,0 +1,8 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# MICS
|
||||
140,380,MICS (VHF) AND MARINE
|
||||
420,660,MICS (UHF)
|
||||
169,172,MICS COMMON
|
||||
@@ -0,0 +1,6 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# MULTI-USE RADIO SERVICE - MURS
|
||||
151,155,MULTI-USE RADIO SRVS
|
||||
@@ -0,0 +1,6 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# NOAA WEATHER RADIO
|
||||
161,164,NOAA WEATHER RADIO
|
||||
@@ -0,0 +1,11 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# PAGERS https://www.fcc.gov/wireless/bureau-divisions/mobility-division/paging
|
||||
34,36,USA PAGERS 35
|
||||
43,45,USA PAGERS 44
|
||||
151,153,USA PAGERS 152
|
||||
157,159,USA PAGERS 158
|
||||
453,454,USA PAGERS 454
|
||||
929,931,USA PAGERS 930
|
||||
@@ -1,87 +0,0 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# 433 MHz BAND
|
||||
423,443,433 BAND
|
||||
# AVIATION
|
||||
108,118,AVIATION 108 NAVAIDS
|
||||
118,137,AVIATION 118 VOICE
|
||||
960,1215,AVIATION 960
|
||||
1089,1091,ADS-B 1090
|
||||
128,137,ACARS
|
||||
# BROADCAST RADIO
|
||||
87,108,FM BROADCAST USA
|
||||
76,108,FM BROADCAST BRAZIL
|
||||
76,95,FM BROADCAST JAPAN
|
||||
65,74,FM OIRT EAST EU
|
||||
# CITIZENS BAND RADIO
|
||||
26,28,CB RADIO
|
||||
# COMMON PUBLIC SERVICE BANDS
|
||||
150,160, PUBLIC SERVICE 155
|
||||
450,470,PUBLIC SERVICE 460
|
||||
769,775,PUBLIC SERVICE 770
|
||||
# CubeSats
|
||||
144,146,145 CubeSats
|
||||
435,438,436 CubeSats
|
||||
# DECT
|
||||
1879,1931,DECT
|
||||
# FRS/GMRS
|
||||
462,468,FRS/GMRS
|
||||
# AUS UHF CB
|
||||
476,478,AUS UHF CB
|
||||
# HAM RADIO
|
||||
28,30,HAM 10-METER
|
||||
50,54,HAM 6-METER
|
||||
144,148,HAM 2-METER
|
||||
219,225,HAM 1.25-METER
|
||||
420,450,HAM 70-CM
|
||||
902,928,HAM 33-CM
|
||||
1240,1300,HAM 23-CM
|
||||
# KEYFOBS
|
||||
305,325,315 MHz KEYFOBS
|
||||
380,400,390 MHz KEYFOBS
|
||||
423,443,433 MHz KEYFOBS
|
||||
858,878,868 MHz KEYFOBS
|
||||
902,929,915 MHz KEYFOBS
|
||||
# 260,500,315/433 MHz KEYFOBS
|
||||
# LoRa
|
||||
433,435,LoRa 443EU
|
||||
863,870,LoRa 868EU
|
||||
902,928,LoRa 915US
|
||||
779,787,LoRa 780CN
|
||||
# MARINE BAND
|
||||
155,163,MARINE VHF
|
||||
# MICS
|
||||
140,380,MICS (VHF) AND MARINE
|
||||
420,660,MICS (UHF)
|
||||
169,172,MICS COMMON
|
||||
# MULTI-USE RADIO SERVICE - MURS
|
||||
151,155,MULTI-USE RADIO SRVS
|
||||
# NOAA WEATHER RADIO
|
||||
161,164,NOAA WEATHER RADIO
|
||||
# PAGERS https://www.fcc.gov/wireless/bureau-divisions/mobility-division/paging
|
||||
34,36,USA PAGERS 35
|
||||
43,45,USA PAGERS 44
|
||||
151,153,USA PAGERS 152
|
||||
157,159,USA PAGERS 158
|
||||
453,454,USA PAGERS 454
|
||||
929,931,USA PAGERS 930
|
||||
# RADIOSONDES
|
||||
390,420,RADIOSONDES
|
||||
# RAILROAD
|
||||
159,162,RAILROAD
|
||||
# WATER METERS
|
||||
850,900,Water meters
|
||||
902,928,ISM 900MHz
|
||||
# WIFI
|
||||
2320,2560,BL / WIFI 2.4GHz
|
||||
5160,5900,WIFI 5GHz
|
||||
# ITU-DEFINED BANDS
|
||||
1,3,MF BAND
|
||||
3,30,HF BAND
|
||||
30,300,VHF BAND
|
||||
300,3000,UHF BAND
|
||||
3000,7250,SHF BAND
|
||||
# FULL
|
||||
10,7250,FULL RANGE
|
||||
@@ -0,0 +1,6 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# RADIOSONDES
|
||||
390,420,RADIOSONDES
|
||||
@@ -0,0 +1,6 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# RAILROAD
|
||||
159,162,RAILROAD
|
||||
@@ -0,0 +1,7 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# WATER METERS
|
||||
850,900,Water meters
|
||||
902,928,ISM 900MHz
|
||||
@@ -0,0 +1,7 @@
|
||||
# INI,END,DESCRIPTION
|
||||
# (Freq range in MHz, min separation 3MHz)
|
||||
# (Description up to 20 char)
|
||||
# (fields comma delimiter)
|
||||
# WIFI
|
||||
2320,2560,BL / WIFI 2.4GHz
|
||||
5160,5900,WIFI 5GHz
|
||||
Reference in New Issue
Block a user