mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2025-08-12 14:47:38 +00:00
Move RF amp control code into new class.
This commit is contained in:
@@ -182,10 +182,6 @@ void AnalogAudioView::on_baseband_bandwidth_changed(uint32_t bandwidth_hz) {
|
|||||||
receiver_model.set_baseband_bandwidth(bandwidth_hz);
|
receiver_model.set_baseband_bandwidth(bandwidth_hz);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnalogAudioView::on_rf_amp_changed(bool v) {
|
|
||||||
receiver_model.set_rf_amp(v);
|
|
||||||
}
|
|
||||||
|
|
||||||
void AnalogAudioView::on_lna_changed(int32_t v_db) {
|
void AnalogAudioView::on_lna_changed(int32_t v_db) {
|
||||||
receiver_model.set_lna(v_db);
|
receiver_model.set_lna(v_db);
|
||||||
}
|
}
|
||||||
@@ -245,11 +241,6 @@ void AnalogAudioView::on_show_options_frequency() {
|
|||||||
void AnalogAudioView::on_show_options_rf_gain() {
|
void AnalogAudioView::on_show_options_rf_gain() {
|
||||||
auto widget = std::make_unique<RadioGainOptionsView>(options_view_rect, &style_options_group);
|
auto widget = std::make_unique<RadioGainOptionsView>(options_view_rect, &style_options_group);
|
||||||
|
|
||||||
widget->set_rf_amp(receiver_model.rf_amp());
|
|
||||||
widget->on_change_rf_amp = [this](bool enable) {
|
|
||||||
this->on_rf_amp_changed(enable);
|
|
||||||
};
|
|
||||||
|
|
||||||
set_options_widget(std::move(widget));
|
set_options_widget(std::move(widget));
|
||||||
field_lna.set_style(&style_options_group);
|
field_lna.set_style(&style_options_group);
|
||||||
}
|
}
|
||||||
|
@@ -150,7 +150,6 @@ private:
|
|||||||
|
|
||||||
void on_tuning_frequency_changed(rf::Frequency f);
|
void on_tuning_frequency_changed(rf::Frequency f);
|
||||||
void on_baseband_bandwidth_changed(uint32_t bandwidth_hz);
|
void on_baseband_bandwidth_changed(uint32_t bandwidth_hz);
|
||||||
void on_rf_amp_changed(bool v);
|
|
||||||
void on_lna_changed(int32_t v_db);
|
void on_lna_changed(int32_t v_db);
|
||||||
void on_vga_changed(int32_t v_db);
|
void on_vga_changed(int32_t v_db);
|
||||||
void on_modulation_changed(const ReceiverModel::Mode modulation);
|
void on_modulation_changed(const ReceiverModel::Mode modulation);
|
||||||
|
@@ -269,6 +269,25 @@ void FrequencyOptionsView::on_reference_ppm_correction_changed(int32_t v) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* RFAmpField ************************************************************/
|
||||||
|
|
||||||
|
RFAmpField::RFAmpField(
|
||||||
|
Point parent_pos
|
||||||
|
) : NumberField {
|
||||||
|
parent_pos,
|
||||||
|
1,
|
||||||
|
{ 0, 1 },
|
||||||
|
1,
|
||||||
|
' ',
|
||||||
|
}
|
||||||
|
{
|
||||||
|
set_value(receiver_model.rf_amp());
|
||||||
|
|
||||||
|
on_change = [](int32_t v) {
|
||||||
|
receiver_model.set_rf_amp(v);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
/* RadioGainOptionsView **************************************************/
|
/* RadioGainOptionsView **************************************************/
|
||||||
|
|
||||||
RadioGainOptionsView::RadioGainOptionsView(
|
RadioGainOptionsView::RadioGainOptionsView(
|
||||||
@@ -282,20 +301,6 @@ RadioGainOptionsView::RadioGainOptionsView(
|
|||||||
&label_rf_amp,
|
&label_rf_amp,
|
||||||
&field_rf_amp,
|
&field_rf_amp,
|
||||||
} });
|
} });
|
||||||
|
|
||||||
field_rf_amp.on_change = [this](int32_t v) {
|
|
||||||
this->on_rf_amp_changed(v);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
void RadioGainOptionsView::set_rf_amp(int32_t v_db) {
|
|
||||||
field_rf_amp.set_value(v_db);
|
|
||||||
}
|
|
||||||
|
|
||||||
void RadioGainOptionsView::on_rf_amp_changed(bool enable) {
|
|
||||||
if( on_change_rf_amp ) {
|
|
||||||
on_change_rf_amp(enable);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* LNAGainField **********************************************************/
|
/* LNAGainField **********************************************************/
|
||||||
|
@@ -281,29 +281,24 @@ private:
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class RFAmpField : public NumberField {
|
||||||
|
public:
|
||||||
|
RFAmpField(Point parent_pos);
|
||||||
|
};
|
||||||
|
|
||||||
class RadioGainOptionsView : public View {
|
class RadioGainOptionsView : public View {
|
||||||
public:
|
public:
|
||||||
std::function<void(bool)> on_change_rf_amp;
|
|
||||||
|
|
||||||
RadioGainOptionsView(const Rect parent_rect, const Style* const style);
|
RadioGainOptionsView(const Rect parent_rect, const Style* const style);
|
||||||
|
|
||||||
void set_rf_amp(int32_t v_db);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Text label_rf_amp {
|
Text label_rf_amp {
|
||||||
{ 0 * 8, 0 * 16, 3 * 8, 1 * 16 },
|
{ 0 * 8, 0 * 16, 3 * 8, 1 * 16 },
|
||||||
"Amp"
|
"Amp"
|
||||||
};
|
};
|
||||||
|
|
||||||
NumberField field_rf_amp {
|
RFAmpField field_rf_amp {
|
||||||
{ 4 * 8, 0 * 16},
|
{ 4 * 8, 0 * 16},
|
||||||
1,
|
|
||||||
{ 0, 1 },
|
|
||||||
1,
|
|
||||||
' ',
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void on_rf_amp_changed(bool enable);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class LNAGainField : public NumberField {
|
class LNAGainField : public NumberField {
|
||||||
|
Reference in New Issue
Block a user