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) {
|
switch (p) {
|
||||||
case RADIO_POWER:
|
case RADIO_POWER:
|
||||||
return "Power";
|
return "Power";
|
||||||
|
case RADIO_BOOSTEDGAIN:
|
||||||
|
return "RX Boosted Gain";
|
||||||
case RADIO_FREQUENCY:
|
case RADIO_FREQUENCY:
|
||||||
return "Center Frequency";
|
return "Center Frequency";
|
||||||
case RADIO_BANDWIDTH:
|
case RADIO_BANDWIDTH:
|
||||||
@ -88,7 +90,7 @@ char *const toString(RadioParameter p) {
|
|||||||
case RADIO_SPREADFACTOR:
|
case RADIO_SPREADFACTOR:
|
||||||
return "Spread Factor";
|
return "Spread Factor";
|
||||||
case RADIO_CODINGRATE:
|
case RADIO_CODINGRATE:
|
||||||
return "Coding Rate Denominator";
|
return "Coding Rate";
|
||||||
case RADIO_SYNCWORD:
|
case RADIO_SYNCWORD:
|
||||||
return "Sync Word";
|
return "Sync Word";
|
||||||
case RADIO_PREAMBLES:
|
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};
|
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
|
// LoRa is standardized, so we get to use fancy inputs
|
||||||
switch (param) {
|
switch (param) {
|
||||||
case RADIO_POWER: //no break
|
|
||||||
case RADIO_FREQUENCY:
|
|
||||||
return new NumericParameterInput(handle, param, container, row);
|
|
||||||
case RADIO_BANDWIDTH:
|
case RADIO_BANDWIDTH:
|
||||||
return new SliderSelectParameterInput(handle, param, container, row, bw_values, "%.1f");
|
return new SliderSelectParameterInput(handle, param, container, row, bw_values, "%.1f");
|
||||||
case RADIO_SPREADFACTOR:
|
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) {
|
static ParameterInput* makeLrFhssInput(RadioHandle handle, const RadioParameter param, lv_obj_t* container, int row) {
|
||||||
switch (param) {;
|
switch (param) {;
|
||||||
case RADIO_NARROWGRID:
|
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) {
|
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) {
|
switch (modulation) {
|
||||||
case MODULATION_LORA:
|
case MODULATION_LORA:
|
||||||
return makeLoraInput(handle, param, container, row);
|
return makeLoraInput(handle, param, container, row);
|
||||||
@ -697,7 +710,7 @@ public:
|
|||||||
lv_obj_align(container, LV_ALIGN_TOP_MID, 0, 0);
|
lv_obj_align(container, LV_ALIGN_TOP_MID, 0, 0);
|
||||||
|
|
||||||
const int grid_row_size = 40;
|
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 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 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};
|
static lv_coord_t row_dsc[row_dsc_last] = {0};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user