Added bias-T status icon

Merged radio settings in one screen
This commit is contained in:
furrtek 2018-01-07 23:13:08 +00:00
parent 8b9ecda1a0
commit 3193c6ee99
152 changed files with 487 additions and 803 deletions

View File

@ -109,160 +109,160 @@ set(CSRC
# setting.
set(CPPSRC
main.cpp
irq_lcd_frame.cpp
irq_controls.cpp
irq_rtc.cpp
${COMMON}/event.cpp
event_m0.cpp
${COMMON}/message_queue.cpp
${COMMON}/hackrf_hal.cpp
portapack.cpp
${COMMON}/backlight.cpp
${COMMON}/portapack_shared_memory.cpp
baseband_api.cpp
${COMMON}/portapack_persistent_memory.cpp
${COMMON}/portapack_io.cpp
${COMMON}/i2c_pp.cpp
spi_pp.cpp
clock_manager.cpp
si5351.cpp
${COMMON}/wm8731.cpp
${COMMON}/adsb.cpp
${COMMON}/adsb_frame.cpp
${COMMON}/ais_baseband.cpp
${COMMON}/ais_packet.cpp
${COMMON}/ak4951.cpp
radio.cpp
${COMMON}/backlight.cpp
${COMMON}/baseband_cpld.cpp
tuning.cpp
rf_path.cpp
rffc507x.cpp
rffc507x_spi.cpp
max2837.cpp
max5864.cpp
${COMMON}/bch_code.cpp
${COMMON}/buffer.cpp
debounce.cpp
${COMMON}/buffer_exchange.cpp
${COMMON}/chibios_cpp.cpp
${COMMON}/cpld_max5.cpp
${COMMON}/cpld_update.cpp
${COMMON}/cpld_xilinx.cpp
${COMMON}/debug.cpp
${COMMON}/ert_packet.cpp
${COMMON}/event.cpp
${COMMON}/gcc.cpp
${COMMON}/hackrf_hal.cpp
${COMMON}/i2c_pp.cpp
${COMMON}/jtag.cpp
${COMMON}/jtag_tap.cpp
${COMMON}/lcd_ili9341.cpp
${COMMON}/lfsr_random.cpp
${COMMON}/manchester.cpp
${COMMON}/message_queue.cpp
${COMMON}/morse.cpp
${COMMON}/png_writer.cpp
${COMMON}/pocsag.cpp
${COMMON}/pocsag_packet.cpp
${COMMON}/portapack_io.cpp
${COMMON}/portapack_persistent_memory.cpp
${COMMON}/portapack_shared_memory.cpp
${COMMON}/sonde_packet.cpp
${COMMON}/test_packet.cpp
${COMMON}/tpms_packet.cpp
${COMMON}/ui.cpp
${COMMON}/ui_focus.cpp
${COMMON}/ui_painter.cpp
${COMMON}/ui_text.cpp
${COMMON}/ui_widget.cpp
${COMMON}/utility.cpp
${COMMON}/wm8731.cpp
audio.cpp
baseband_api.cpp
capture_thread.cpp
clock_manager.cpp
core_control.cpp
de_bruijn.cpp
emu_cc1101.cpp
event_m0.cpp
file.cpp
freqman.cpp
io_file.cpp
io_wave.cpp
irq_controls.cpp
irq_lcd_frame.cpp
irq_rtc.cpp
log_file.cpp
portapack.cpp
radio.cpp
receiver_model.cpp
recent_entries.cpp
replay_thread.cpp
rf_path.cpp
rtc_time.cpp
sd_card.cpp
serializer.cpp
spectrum_color_lut.cpp
string_format.cpp
temperature_logger.cpp
touch.cpp
touch_adc.cpp
tone_key.cpp
transmitter_model.cpp
tuning.cpp
hw/debounce.cpp
hw/encoder.cpp
hw/max2837.cpp
hw/max5864.cpp
hw/rffc507x.cpp
hw/rffc507x_spi.cpp
hw/si5351.cpp
hw/spi_pp.cpp
hw/touch_adc.cpp
ui_baseband_stats_view.cpp
ui_navigation.cpp
ui_playdead.cpp
ui_record_view.cpp
ui_sd_card_status_view.cpp
ui/ui_alphanum.cpp
ui/ui_audio.cpp
ui/ui_channel.cpp
ui/ui_font_fixed_8x16.cpp
ui/ui_geomap.cpp
ui/ui_menu.cpp
ui/ui_receiver.cpp
ui/ui_rssi.cpp
ui/ui_spectrum.cpp
ui/ui_tabview.cpp
ui/ui_textentry.cpp
ui/ui_transmitter.cpp
apps/ui_about.cpp
apps/ui_adsb_rx.cpp
apps/ui_adsb_tx.cpp
apps/ui_afsk_rx.cpp
apps/ui_aprs_tx.cpp
apps/ui_bht_tx.cpp
apps/ui_coasterp.cpp
apps/ui_debug.cpp
apps/ui_encoders.cpp
apps/ui_fileman.cpp
apps/ui_freqman.cpp
apps/ui_jammer.cpp
apps/ui_keyfob.cpp
apps/ui_lcr.cpp
apps/ui_mictx.cpp
apps/ui_modemsetup.cpp
apps/ui_morse.cpp
apps/ui_nuoptix.cpp
apps/ui_pocsag_tx.cpp
apps/ui_rds.cpp
apps/ui_scanner.cpp
apps/ui_sd_wipe.cpp
apps/ui_setup.cpp
apps/ui_siggen.cpp
apps/ui_sonde.cpp
apps/ui_soundboard.cpp
apps/ui_sstvtx.cpp
apps/ui_test.cpp
apps/ui_touch_calibration.cpp
apps/ui_touchtunes.cpp
apps/ui_view_wav.cpp
apps/ui_whipcalc.cpp
apps/analog_audio_app.cpp
apps/ais_app.cpp
apps/tpms_app.cpp
apps/pocsag_app.cpp
apps/ert_app.cpp
apps/capture_app.cpp
apps/replay_app.cpp
protocols/aprs.cpp
protocols/ax25.cpp
protocols/bht.cpp
protocols/dcs.cpp
protocols/encoders.cpp
protocols/lcr.cpp
protocols/modems.cpp
protocols/rds.cpp
serializer.cpp
modems.cpp
audio.cpp
${COMMON}/bch_code.cpp
tone_key.cpp
de_bruijn.cpp
encoder.cpp
emu_cc1101.cpp
freqman.cpp
${COMMON}/lcd_ili9341.cpp
${COMMON}/ui.cpp
${COMMON}/ui_text.cpp
${COMMON}/ui_widget.cpp
${COMMON}/ui_painter.cpp
${COMMON}/ui_focus.cpp
ui_about.cpp
ui_adsb_rx.cpp
ui_adsb_tx.cpp
ui_afsk_rx.cpp
ui_alphanum.cpp
ui_aprs_tx.cpp
ui_audio.cpp
ui_baseband_stats_view.cpp
ui_bht_tx.cpp
ui_channel.cpp
ui_coasterp.cpp
ui_debug.cpp
ui_encoders.cpp
ui_fileman.cpp
ui_font_fixed_8x16.cpp
ui_freqman.cpp
ui_geomap.cpp
# ui_handwrite.cpp
ui_jammer.cpp
ui_keyfob.cpp
ui_lcr.cpp
ui_menu.cpp
ui_mictx.cpp
ui_modemsetup.cpp
ui_morse.cpp
ui_navigation.cpp
# ui_numbers.cpp
ui_nuoptix.cpp
ui_playdead.cpp
ui_pocsag_tx.cpp
ui_rds.cpp
ui_receiver.cpp
ui_record_view.cpp
# ui_replay_view.cpp
ui_rssi.cpp
ui_scanner.cpp
# ui_script.cpp
ui_sd_card_status_view.cpp
ui_sd_wipe.cpp
# ui_sd_card_debug.cpp
ui_setup.cpp
ui_siggen.cpp
ui_sonde.cpp
ui_soundboard.cpp
ui_spectrum.cpp
ui_sstvtx.cpp
ui_tabview.cpp
ui_test.cpp
ui_textentry.cpp
ui_touch_calibration.cpp
ui_touchtunes.cpp
ui_transmitter.cpp
ui_view_wav.cpp
ui_whipcalc.cpp
# ui_loadmodule.cpp
recent_entries.cpp
receiver_model.cpp
transmitter_model.cpp
spectrum_color_lut.cpp
analog_audio_app.cpp
${COMMON}/ais_baseband.cpp
${COMMON}/ais_packet.cpp
${COMMON}/pocsag_packet.cpp
${COMMON}/pocsag.cpp
${COMMON}/morse.cpp
${COMMON}/adsb_frame.cpp
${COMMON}/adsb.cpp
${COMMON}/sonde_packet.cpp
${COMMON}/test_packet.cpp
ais_app.cpp
tpms_app.cpp
pocsag_app.cpp
${COMMON}/tpms_packet.cpp
ert_app.cpp
${COMMON}/ert_packet.cpp
capture_app.cpp
replay_app.cpp
sd_card.cpp
rtc_time.cpp
file.cpp
log_file.cpp
${COMMON}/png_writer.cpp
${COMMON}/buffer_exchange.cpp
capture_thread.cpp
replay_thread.cpp
io_file.cpp
io_wave.cpp
${COMMON}/manchester.cpp
string_format.cpp
temperature_logger.cpp
${COMMON}/utility.cpp
${COMMON}/chibios_cpp.cpp
${COMMON}/debug.cpp
${COMMON}/gcc.cpp
${COMMON}/lfsr_random.cpp
core_control.cpp
${COMMON}/cpld_max5.cpp
${COMMON}/cpld_xilinx.cpp
${COMMON}/jtag.cpp
${COMMON}/jtag_tap.cpp
${COMMON}/cpld_update.cpp
# ui_numbers.cpp
# ui_replay_view.cpp
# ui_script.cpp
# ui_sd_card_debug.cpp
${CPLD_20150901_DATA_CPP}
${CPLD_20170522_DATA_CPP}
${HACKRF_CPLD_DATA_CPP}
@ -295,8 +295,11 @@ set(INCDIR ${CMAKE_CURRENT_BINARY_DIR} ${COMMON} ${PORTINC} ${KERNINC} ${TESTINC
${HALINC} ${PLATFORMINC} ${BOARDINC}
${FATFSINC}
${CHIBIOS}/os/various
bitmaps
ui
hw
apps
protocols
bitmaps
)
#

View File

@ -34,7 +34,6 @@ using portapack::receiver_model;
using namespace portapack;
#include "string_format.hpp"
#include "portapack_persistent_memory.hpp"
#include "ui_font_fixed_8x16.hpp"
#include "cpld_update.hpp"
@ -58,7 +57,6 @@ SetDateTimeView::SetDateTimeView(
},
add_children({
&text_title,
&field_year,
&text_slash1,
&field_month,
@ -112,25 +110,23 @@ SetDateTimeModel SetDateTimeView::form_collect() {
};
}
SetFrequencyCorrectionView::SetFrequencyCorrectionView(
SetRadioView::SetRadioView(
NavigationView& nav
) {
button_ok.on_select = [&nav, this](Button&){
const auto model = this->form_collect();
portapack::persistent_memory::set_correction_ppb(model.ppm * 1000);
nav.pop();
},
button_cancel.on_select = [&nav](Button&){
nav.pop();
},
add_children({
&text_title,
&labels,
&field_ppm,
&text_ppm,
&button_ok,
&button_cancel,
&text_description_1,
&text_description_2,
&text_description_3,
&text_description_4,
&check_bias,
&button_done,
&button_cancel
});
SetFrequencyCorrectionModel model {
@ -138,45 +134,35 @@ SetFrequencyCorrectionView::SetFrequencyCorrectionView(
};
form_init(model);
check_bias.set_value(receiver_model.antenna_bias());
check_bias.on_select = [this](Checkbox&, bool v) {
receiver_model.set_antenna_bias(v);
StatusRefreshMessage message { };
EventDispatcher::send_message(message);
};
button_done.on_select = [this, &nav](Button&){
const auto model = this->form_collect();
portapack::persistent_memory::set_correction_ppb(model.ppm * 1000);
nav.pop();
};
}
void SetFrequencyCorrectionView::focus() {
button_cancel.focus();
void SetRadioView::focus() {
button_done.focus();
}
void SetFrequencyCorrectionView::form_init(const SetFrequencyCorrectionModel& model) {
void SetRadioView::form_init(const SetFrequencyCorrectionModel& model) {
field_ppm.set_value(model.ppm);
}
SetFrequencyCorrectionModel SetFrequencyCorrectionView::form_collect() {
SetFrequencyCorrectionModel SetRadioView::form_collect() {
return {
.ppm = static_cast<int8_t>(field_ppm.value()),
};
}
AntennaBiasSetupView::AntennaBiasSetupView(NavigationView& nav) {
add_children({
&text_title,
&text_description_1,
&text_description_2,
&text_description_3,
&text_description_4,
&options_bias,
&button_done,
});
options_bias.set_by_value(receiver_model.antenna_bias() ? 1 : 0);
options_bias.on_change = [this](size_t, OptionsField::value_t v) {
receiver_model.set_antenna_bias(v);
};
button_done.on_select = [&nav](Button&){ nav.pop(); };
}
void AntennaBiasSetupView::focus() {
button_done.focus();
}
SetPlayDeadView::SetPlayDeadView(NavigationView& nav) {
add_children({
&text_sequence,
@ -446,13 +432,14 @@ void ModInfoView::focus() {
SetupMenuView::SetupMenuView(NavigationView& nav) {
add_items({
{ "UI", ui::Color::white(), nullptr, [&nav](){ nav.push<SetUIView>(); } },
{ "Radio", ui::Color::white(), nullptr, [&nav](){ nav.push<SetRadioView>(); } },
{ "UI", ui::Color::white(), nullptr, [&nav](){ nav.push<SetUIView>(); } },
//{ "SD card modules", ui::Color::white(), [&nav](){ nav.push<ModInfoView>(); } },
{ "Date/Time", ui::Color::white(), nullptr, [&nav](){ nav.push<SetDateTimeView>(); } },
{ "Frequency correction", ui::Color::white(), nullptr, [&nav](){ nav.push<SetFrequencyCorrectionView>(); } },
{ "Antenna Bias Voltage", ui::Color::white(), nullptr, [&nav](){ nav.push<AntennaBiasSetupView>(); } },
{ "Touch screen", ui::Color::white(), nullptr, [&nav](){ nav.push<TouchCalibrationView>(); } },
{ "Play dead", ui::Color::red(), &bitmap_icon_playdead, [&nav](){ nav.push<SetPlayDeadView>(); } }
{ "Date/Time", ui::Color::white(), nullptr, [&nav](){ nav.push<SetDateTimeView>(); } },
//{ "Frequency correction", ui::Color::white(), nullptr, [&nav](){ nav.push<SetFrequencyCorrectionView>(); } },
//{ "Antenna Bias Voltage", ui::Color::white(), nullptr, [&nav](){ nav.push<AntennaBiasSetupView>(); } },
{ "Touch screen", ui::Color::white(), nullptr, [&nav](){ nav.push<TouchCalibrationView>(); } },
{ "Play dead", ui::Color::white(), &bitmap_icon_playdead, [&nav](){ nav.push<SetPlayDeadView>(); } }
});
on_left = [&nav](){ nav.pop(); };
}

View File

@ -46,13 +46,10 @@ public:
SetDateTimeView(NavigationView& nav);
void focus() override;
std::string title() const override { return "Set Date/Time"; };
private:
Text text_title {
{ 10 * 8, 7 * 16, 9 * 16, 16 },
"Date/Time"
};
NumberField field_year {
{ 4 * 8, 9 * 16 },
4,
@ -135,36 +132,60 @@ struct SetFrequencyCorrectionModel {
int8_t ppm;
};
class SetFrequencyCorrectionView : public View {
class SetRadioView : public View {
public:
SetFrequencyCorrectionView(NavigationView& nav);
SetRadioView(NavigationView& nav);
void focus() override;
std::string title() const override { return "Radio settings"; };
private:
Text text_title {
{ 5 * 8, 7 * 16, 20 * 8, 16 },
"Frequency Correction"
Labels labels {
{ { 2 * 8, 2 * 16 }, "Frequency correction:", Color::light_grey() },
{ { 6 * 8, 3 * 16 }, "PPM", Color::light_grey() },
};
NumberField field_ppm {
{ 11 * 8, 9 * 16 },
{ 2 * 8, 3 * 16 },
3,
{ -50, 50 },
1,
'0',
};
Text text_ppm {
{ 15 * 8, 9 * 16, 3 * 8, 16 },
"PPM",
Text text_description_1 {
{ 24, 6 * 16, 24 * 8, 16 },
"CAUTION: Ensure that all"
};
Button button_ok {
{ 4 * 8, 13 * 16, 8 * 8, 24 },
"OK",
Text text_description_2 {
{ 28, 7 * 16, 23 * 8, 16 },
"devices attached to the"
};
Text text_description_3 {
{ 8, 8 * 16, 28 * 8, 16 },
"antenna connector can accept"
};
Text text_description_4 {
{ 68, 9 * 16, 13 * 8, 16 },
"a DC voltage!"
};
Checkbox check_bias {
{ 28, 12 * 16 },
5,
"Turn on bias voltage"
};
Button button_done {
{ 2 * 8, 16 * 16, 12 * 8, 32 },
"Done"
};
Button button_cancel {
{ 18 * 8, 13 * 16, 8 * 8, 24 },
{ 16 * 8, 16 * 16, 12 * 8, 32 },
"Cancel",
};
@ -201,58 +222,14 @@ private:
};
};
class AntennaBiasSetupView : public View {
public:
AntennaBiasSetupView(NavigationView& nav);
void focus() override;
private:
Text text_title {
{ 5 * 8, 3 * 16, 20 * 8, 16 },
"Antenna Bias Voltage"
};
Text text_description_1 {
{ 24, 6 * 16, 24 * 8, 16 },
"CAUTION: Ensure that all"
};
Text text_description_2 {
{ 28, 7 * 16, 23 * 8, 16 },
"devices attached to the"
};
Text text_description_3 {
{ 8, 8 * 16, 28 * 8, 16 },
"antenna connector can accept"
};
Text text_description_4 {
{ 68, 9 * 16, 13 * 8, 16 },
"a DC voltage!"
};
OptionsField options_bias {
{ 100, 12 * 16 },
5,
{
{ " Off ", 0 },
{ " On ", 1 },
}
};
Button button_done {
{ 72, 15 * 16, 96, 24 },
"Done"
};
};
class SetUIView : public View {
public:
SetUIView(NavigationView& nav);
void focus() override;
std::string title() const override { return "UI settings"; };
private:
Checkbox checkbox_login {
{ 3 * 8, 2 * 16 },
@ -296,6 +273,8 @@ public:
void focus() override;
std::string title() const override { return "Playdead settings"; };
private:
bool entermode = false;
uint32_t sequence { 0 };
@ -390,6 +369,8 @@ private:
class SetupMenuView : public MenuView {
public:
SetupMenuView(NavigationView& nav);
std::string title() const override { return "Settings"; };
};
} /* namespace ui */

View File

@ -34,6 +34,8 @@ public:
void focus() override;
std::string title() const override { return "Touch calibration"; };
private:
enum class Phase {
Init,

View File

@ -95,28 +95,6 @@ static constexpr Bitmap bitmap_sd_card_error {
{ 16, 16 }, bitmap_sd_card_error_data
};
static constexpr uint8_t bitmap_icon_unistroke_data[] = {
0x33, 0xC0,
0x33, 0x00,
0xB3, 0xCD,
0xB3, 0xDF,
0xB3, 0xD9,
0xB3, 0xD9,
0x9E, 0xD9,
0x00, 0x00,
0x00, 0x00,
0x0C, 0x1C,
0x06, 0x3E,
0x06, 0x67,
0xCE, 0x43,
0xFC, 0x01,
0x78, 0x40,
0x00, 0x00,
};
static constexpr Bitmap bitmap_icon_unistroke {
{ 16, 16 }, bitmap_icon_unistroke_data
};
static constexpr uint8_t bitmap_stripes_data[] = {
0xFF, 0x03, 0xC0,
0xFF, 0x01, 0xE0,
@ -639,28 +617,6 @@ static constexpr Bitmap bitmap_icon_freqman {
{ 16, 16 }, bitmap_icon_freqman_data
};
static constexpr uint8_t bitmap_icon_whistle_data[] = {
0x00, 0x00,
0x60, 0x00,
0xFC, 0x01,
0xFF, 0x03,
0xFF, 0x0F,
0xF9, 0x11,
0x66, 0x30,
0x88, 0x3C,
0x10, 0x7F,
0x10, 0x7E,
0x08, 0x7C,
0x08, 0x7C,
0x10, 0x3C,
0x20, 0x0E,
0xC0, 0x03,
0x00, 0x00,
};
static constexpr Bitmap bitmap_icon_whistle {
{ 16, 16 }, bitmap_icon_whistle_data
};
static constexpr uint8_t bitmap_sd_card_ok_data[] = {
0x00, 0x00,
0x00, 0x00,
@ -705,28 +661,6 @@ static constexpr Bitmap bitmap_icon_microphone {
{ 16, 16 }, bitmap_icon_microphone_data
};
static constexpr uint8_t bitmap_icon_numbers_data[] = {
0x00, 0x00,
0x68, 0x1B,
0x48, 0x09,
0x48, 0x1A,
0x48, 0x5B,
0x08, 0x00,
0x14, 0x00,
0x1C, 0x00,
0x14, 0x00,
0x14, 0x00,
0x1C, 0x00,
0x14, 0x00,
0x22, 0x00,
0x3E, 0x00,
0x22, 0x00,
0x00, 0x00,
};
static constexpr Bitmap bitmap_icon_numbers {
{ 16, 16 }, bitmap_icon_numbers_data
};
static constexpr uint8_t bitmap_icon_notepad_data[] = {
0x0C, 0x00,
0x1E, 0x00,
@ -875,26 +809,48 @@ static constexpr Bitmap bitmap_icon_keyfob {
{ 16, 16 }, bitmap_icon_keyfob_data
};
static constexpr uint8_t bitmap_icon_nordic_data[] = {
static constexpr uint8_t bitmap_icon_biast_off_data[] = {
0xFF, 0xFF,
0xFF, 0xFF,
0x80, 0x01,
0x80, 0x01,
0x80, 0x01,
0x00, 0x00,
0x00, 0x00,
0x20, 0x04,
0x60, 0x06,
0xC0, 0x03,
0x80, 0x01,
0xC0, 0x03,
0x60, 0x06,
0x20, 0x04,
0x00, 0x00,
0x18, 0x18,
0x26, 0x6C,
0xC1, 0x8E,
0x07, 0x8F,
0x1F, 0x8C,
0x3F, 0x80,
0xFF, 0x80,
0xFF, 0x83,
0xFF, 0x87,
0xEF, 0x9F,
0x8F, 0xFF,
0x4F, 0xFF,
0x2E, 0x7C,
0x18, 0x18,
0x00, 0x00,
};
static constexpr Bitmap bitmap_icon_nordic {
{ 16, 16 }, bitmap_icon_nordic_data
static constexpr Bitmap bitmap_icon_biast_off {
{ 16, 16 }, bitmap_icon_biast_off_data
};
static constexpr uint8_t bitmap_icon_biast_on_data[] = {
0xFF, 0xFF,
0xFF, 0xFF,
0x80, 0x01,
0x80, 0x03,
0x08, 0x06,
0x08, 0x04,
0x0C, 0x06,
0x84, 0x03,
0x0E, 0x06,
0x3E, 0x04,
0x38, 0x06,
0x90, 0x03,
0x18, 0x06,
0x08, 0x04,
0x08, 0x06,
0x80, 0x03,
};
static constexpr Bitmap bitmap_icon_biast_on {
{ 16, 16 }, bitmap_icon_biast_on_data
};
static constexpr uint8_t bitmap_icon_previous_data[] = {
@ -1327,28 +1283,6 @@ static constexpr Bitmap bitmap_icon_ert {
{ 16, 16 }, bitmap_icon_ert_data
};
static constexpr uint8_t bitmap_icon_keyboard_data[] = {
0x00, 0x00,
0x00, 0x00,
0x00, 0x00,
0xF0, 0x1F,
0x18, 0x11,
0x18, 0x11,
0x18, 0x11,
0xFC, 0x7F,
0x46, 0x44,
0x46, 0x44,
0x46, 0x44,
0xFE, 0x7F,
0xFE, 0x3F,
0x00, 0x00,
0x00, 0x00,
0x00, 0x00,
};
static constexpr Bitmap bitmap_icon_keyboard {
{ 16, 16 }, bitmap_icon_keyboard_data
};
static constexpr uint8_t bitmap_icon_utilities_data[] = {
0xC0, 0x03,
0x80, 0x0F,
@ -1677,28 +1611,6 @@ static constexpr Bitmap bitmap_target {
{ 16, 16 }, bitmap_target_data
};
static constexpr uint8_t bitmap_icon_audiotx_data[] = {
0x00, 0x70,
0x00, 0x7F,
0xC0, 0x4F,
0xC0, 0x60,
0x40, 0x5E,
0xC0, 0x41,
0x40, 0x40,
0x40, 0x40,
0x40, 0x40,
0x40, 0x70,
0x70, 0x7C,
0x7C, 0x7E,
0x7E, 0x3E,
0x3E, 0x1C,
0x1C, 0x00,
0x00, 0x00,
};
static constexpr Bitmap bitmap_icon_audiotx {
{ 16, 16 }, bitmap_icon_audiotx_data
};
static constexpr uint8_t bitmap_icon_sstv_data[] = {
0x10, 0x08,
0x20, 0x04,

View File

@ -58,8 +58,8 @@ struct freqman_entry {
using freqman_db = std::vector<freqman_entry>;
std::vector<std::string> get_freqman_files();
bool load_freqman_file(std::string& file_stem, freqman_db &db);
bool save_freqman_file(std::string& file_stem, freqman_db &db);
bool load_freqman_file(std::string& file_stem, freqman_db& db);
bool save_freqman_file(std::string& file_stem, freqman_db& db);
bool create_freqman_file(std::string& file_stem, File& freqman_file);
std::string freqman_item_string(freqman_entry &item, size_t max_length);

Some files were not shown because too many files have changed in this diff Show More