diff --git a/firmware/application/apps/ui_dfu_menu.cpp b/firmware/application/apps/ui_dfu_menu.cpp index 3bef06e3d..24ee12593 100644 --- a/firmware/application/apps/ui_dfu_menu.cpp +++ b/firmware/application/apps/ui_dfu_menu.cpp @@ -103,7 +103,8 @@ DfuMenu2::DfuMenu2(NavigationView& nav) &text_info_line_8, &text_info_line_9, &text_info_line_10, - &text_info_line_11}); + &text_info_line_11, + &text_info_line_12}); } void DfuMenu2::paint(Painter& painter) { @@ -118,9 +119,12 @@ void DfuMenu2::paint(Painter& painter) { text_info_line_9.set(to_string_dec_uint(portapack::transmitter_model.target_frequency(), 10)); text_info_line_10.set(to_string_dec_uint(portapack::transmitter_model.baseband_bandwidth(), 10)); text_info_line_11.set(to_string_dec_uint(portapack::transmitter_model.sampling_rate(), 10)); + text_info_line_12.set(std::string("M") + (radio::get_mixer_invert() ? "Y" : "N") + + " B" + (radio::get_baseband_invert() ? "Y" : "N") + + " IQ" + ((radio::get_mixer_invert() ^ radio::get_baseband_invert()) ? "Y" : "N")); constexpr auto margin = 5; - constexpr auto lines = 11 + 2; + constexpr auto lines = 12 + 2; painter.fill_rectangle( {{5 * CHARACTER_WIDTH - margin, 3 * LINE_HEIGHT - margin}, diff --git a/firmware/application/apps/ui_dfu_menu.hpp b/firmware/application/apps/ui_dfu_menu.hpp index a95fb6482..af0e7206f 100644 --- a/firmware/application/apps/ui_dfu_menu.hpp +++ b/firmware/application/apps/ui_dfu_menu.hpp @@ -96,6 +96,7 @@ class DfuMenu2 : public View { {{5 * CHARACTER_WIDTH, 13 * LINE_HEIGHT}, "TX Freq:", Theme::getInstance()->fg_darkcyan->foreground}, {{5 * CHARACTER_WIDTH, 14 * LINE_HEIGHT}, "TX BW:", Theme::getInstance()->fg_darkcyan->foreground}, {{5 * CHARACTER_WIDTH, 15 * LINE_HEIGHT}, "TX SampR:", Theme::getInstance()->fg_darkcyan->foreground}, + {{5 * CHARACTER_WIDTH, 16 * LINE_HEIGHT}, "IQ Inv:", Theme::getInstance()->fg_darkcyan->foreground}, }; Text text_info_line_1{{14 * CHARACTER_WIDTH, 5 * LINE_HEIGHT, 10 * CHARACTER_WIDTH, 1 * LINE_HEIGHT}, ""}; @@ -109,6 +110,7 @@ class DfuMenu2 : public View { Text text_info_line_9{{14 * CHARACTER_WIDTH, 13 * LINE_HEIGHT, 10 * CHARACTER_WIDTH, 1 * LINE_HEIGHT}, ""}; Text text_info_line_10{{14 * CHARACTER_WIDTH, 14 * LINE_HEIGHT, 10 * CHARACTER_WIDTH, 1 * LINE_HEIGHT}, ""}; Text text_info_line_11{{14 * CHARACTER_WIDTH, 15 * LINE_HEIGHT, 10 * CHARACTER_WIDTH, 1 * LINE_HEIGHT}, ""}; + Text text_info_line_12{{(14 + 1) * CHARACTER_WIDTH, 16 * LINE_HEIGHT, (10 - 1) * CHARACTER_WIDTH, 1 * LINE_HEIGHT}, ""}; }; } /* namespace ui */ diff --git a/firmware/application/radio.cpp b/firmware/application/radio.cpp index 7d6da6b15..76fea4879 100644 --- a/firmware/application/radio.cpp +++ b/firmware/application/radio.cpp @@ -404,6 +404,14 @@ void set_antenna_bias(const bool on) { #endif } +bool get_mixer_invert() { + return mixer_invert; +} + +bool get_baseband_invert() { + return baseband_invert; +} + void set_tx_max283x_iq_phase_calibration(const size_t v) { second_if->set_tx_LO_iq_phase_calibration(v); } diff --git a/firmware/application/radio.hpp b/firmware/application/radio.hpp index 1655669b8..c68bef93d 100644 --- a/firmware/application/radio.hpp +++ b/firmware/application/radio.hpp @@ -54,6 +54,8 @@ void set_baseband_filter_bandwidth_rx(const uint32_t bandwidth_minimum); void set_baseband_filter_bandwidth_tx(const uint32_t bandwidth_minimum); void set_baseband_rate(const uint32_t rate); void set_antenna_bias(const bool on); +bool get_mixer_invert(); +bool get_baseband_invert(); void set_tx_max283x_iq_phase_calibration(const size_t v); void set_rx_max283x_iq_phase_calibration(const size_t v);