RadioSet: Add handling for base parameters such as boosted gain
This commit is contained in:
parent
2eca0898b8
commit
506c840933
@ -81,6 +81,8 @@ char *const toString(RadioParameter p) {
|
||||
switch (p) {
|
||||
case RADIO_POWER:
|
||||
return "Power";
|
||||
case RADIO_BOOSTEDGAIN:
|
||||
return "RX Boosted Gain";
|
||||
case RADIO_FREQUENCY:
|
||||
return "Center Frequency";
|
||||
case RADIO_BANDWIDTH:
|
||||
@ -88,7 +90,7 @@ char *const toString(RadioParameter p) {
|
||||
case RADIO_SPREADFACTOR:
|
||||
return "Spread Factor";
|
||||
case RADIO_CODINGRATE:
|
||||
return "Coding Rate Denominator";
|
||||
return "Coding Rate";
|
||||
case RADIO_SYNCWORD:
|
||||
return "Sync Word";
|
||||
case RADIO_PREAMBLES:
|
||||
@ -559,9 +561,6 @@ static ParameterInput* makeLoraInput(RadioHandle handle, const RadioParameter pa
|
||||
static constexpr float bw_values[] = {7.8, 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125.0, 250.0, 500.0, SliderSelectParameterInput::SELECT_END};
|
||||
// LoRa is standardized, so we get to use fancy inputs
|
||||
switch (param) {
|
||||
case RADIO_POWER: //no break
|
||||
case RADIO_FREQUENCY:
|
||||
return new NumericParameterInput(handle, param, container, row);
|
||||
case RADIO_BANDWIDTH:
|
||||
return new SliderSelectParameterInput(handle, param, container, row, bw_values, "%.1f");
|
||||
case RADIO_SPREADFACTOR:
|
||||
@ -577,7 +576,6 @@ static ParameterInput* makeLoraInput(RadioHandle handle, const RadioParameter pa
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static ParameterInput* makeLrFhssInput(RadioHandle handle, const RadioParameter param, lv_obj_t* container, int row) {
|
||||
switch (param) {;
|
||||
case RADIO_NARROWGRID:
|
||||
@ -587,7 +585,22 @@ static ParameterInput* makeLrFhssInput(RadioHandle handle, const RadioParameter
|
||||
}
|
||||
}
|
||||
|
||||
static ParameterInput* makeBaseInput(RadioHandle handle, const RadioParameter param, lv_obj_t* container, int row) {
|
||||
switch (param) {
|
||||
case RADIO_POWER: //no break
|
||||
case RADIO_FREQUENCY:
|
||||
return new NumericParameterInput(handle, param, container, row);
|
||||
case RADIO_BOOSTEDGAIN:
|
||||
return new FlagParameterInput(handle, param, container, row);
|
||||
default:
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
static ParameterInput* makeParameterInput(RadioHandle handle, const RadioParameter param, const Modulation modulation, lv_obj_t* container, int row) {
|
||||
auto base_input = makeBaseInput(handle, param, container, row);
|
||||
if (base_input) return base_input;
|
||||
|
||||
switch (modulation) {
|
||||
case MODULATION_LORA:
|
||||
return makeLoraInput(handle, param, container, row);
|
||||
@ -697,7 +710,7 @@ public:
|
||||
lv_obj_align(container, LV_ALIGN_TOP_MID, 0, 0);
|
||||
|
||||
const int grid_row_size = 40;
|
||||
const int grid_col_size = 140;
|
||||
const int grid_col_size = 60;
|
||||
static constexpr size_t row_dsc_last = RADIO_NARROWGRID + 1;
|
||||
static lv_coord_t col_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1), grid_col_size, LV_GRID_TEMPLATE_LAST};
|
||||
static lv_coord_t row_dsc[row_dsc_last] = {0};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user