Setfreq usb command (#2235)

* SetFreq usb command for rx apps
* code format, better check
This commit is contained in:
Totoo
2024-09-04 20:26:31 +02:00
committed by GitHub
parent a2c4fefe34
commit 02b75f567a
30 changed files with 202 additions and 0 deletions

View File

@@ -143,6 +143,10 @@ void AFSKRxView::on_data(uint32_t value, bool is_data) {
}
}
void AFSKRxView::on_freqchg(int64_t freq) {
field_frequency.set_value(freq);
}
AFSKRxView::~AFSKRxView() {
audio::output::stop();
receiver_model.disable();

View File

@@ -117,6 +117,15 @@ class AFSKRxView : public View {
const auto message = static_cast<const AFSKDataMessage*>(p);
this->on_data(message->value, message->is_data);
}};
MessageHandlerRegistration message_handler_freqchg{
Message::ID::FreqChangeCommand,
[this](Message* const p) {
const auto message = static_cast<const FreqChangeCommandMessage*>(p);
this->on_freqchg(message->freq);
}};
void on_freqchg(int64_t freq);
};
} // namespace ui::external_app::afsk_rx

View File

@@ -202,4 +202,8 @@ void AnalogTvView::update_modulation(const ReceiverModel::Mode modulation) {
receiver_model.enable();
}
void AnalogTvView::on_freqchg(int64_t freq) {
field_frequency.set_value(freq);
}
} // namespace ui::external_app::analogtv

View File

@@ -108,6 +108,15 @@ class AnalogTvView : public View {
void set_options_widget(std::unique_ptr<Widget> new_widget);
void update_modulation(const ReceiverModel::Mode modulation);
MessageHandlerRegistration message_handler_freqchg{
Message::ID::FreqChangeCommand,
[this](Message* const p) {
const auto message = static_cast<const FreqChangeCommandMessage*>(p);
this->on_freqchg(message->freq);
}};
void on_freqchg(int64_t freq);
};
} // namespace ui::external_app::analogtv

View File

@@ -103,4 +103,8 @@ void FoxhuntRxView::on_orientation(const OrientationDataMessage* msg) {
geomap.update_my_orientation(msg->angle, true);
}
void FoxhuntRxView::on_freqchg(int64_t freq) {
field_frequency.set_value(freq);
}
} // namespace ui::external_app::foxhunt_rx

View File

@@ -103,6 +103,14 @@ class FoxhuntRxView : public View {
[this](const Message* const p) {
this->on_statistics_update(static_cast<const ChannelStatisticsMessage*>(p)->statistics);
}};
MessageHandlerRegistration message_handler_freqchg{
Message::ID::FreqChangeCommand,
[this](Message* const p) {
const auto message = static_cast<const FreqChangeCommandMessage*>(p);
this->on_freqchg(message->freq);
}};
void on_freqchg(int64_t freq);
float my_lat = 200;
float my_lon = 200;

View File

@@ -125,6 +125,10 @@ void NRFRxView::on_data(uint32_t value, bool is_data) {
}
}
void NRFRxView::on_freqchg(int64_t freq) {
field_frequency.set_value(freq);
}
NRFRxView::~NRFRxView() {
audio::output::stop();
receiver_model.disable();

View File

@@ -89,6 +89,15 @@ class NRFRxView : public View {
const auto message = static_cast<const AFSKDataMessage*>(p);
this->on_data(message->value, message->is_data);
}};
MessageHandlerRegistration message_handler_freqchg{
Message::ID::FreqChangeCommand,
[this](Message* const p) {
const auto message = static_cast<const FreqChangeCommandMessage*>(p);
this->on_freqchg(message->freq);
}};
void on_freqchg(int64_t freq);
};
} /* namespace ui::external_app::nrf_rx */

View File

@@ -186,6 +186,10 @@ void ProtoView::on_data(const ProtoViewDataMessage* message) {
draw2();
}
void ProtoView::on_freqchg(int64_t freq) {
field_frequency.set_value(freq);
}
ProtoView::~ProtoView() {
audio::output::stop();
receiver_model.disable();

View File

@@ -157,6 +157,15 @@ class ProtoView : public View {
[this](const Message* const) {
this->on_timer();
}};
MessageHandlerRegistration message_handler_freqchg{
Message::ID::FreqChangeCommand,
[this](Message* const p) {
const auto message = static_cast<const FreqChangeCommandMessage*>(p);
this->on_freqchg(message->freq);
}};
void on_freqchg(int64_t freq);
};
} // namespace ui::external_app::protoview