mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-23 05:24:46 -07:00
TX POWER: Move from Receiver Config to Radio Settings
This commit is contained in:
@@ -66,6 +66,22 @@ const int32_t debug_counter_val[DEBUG_COUNTER_COUNT] = {
|
|||||||
-50,
|
-50,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//TX Power
|
||||||
|
#define TX_POWER_COUNT 11
|
||||||
|
const char* const tx_power_text[TX_POWER_COUNT] = {
|
||||||
|
"Preset",
|
||||||
|
"12dBm",
|
||||||
|
"10dBm",
|
||||||
|
"7dBm",
|
||||||
|
"5dBm",
|
||||||
|
"0dBm",
|
||||||
|
"-6dBm",
|
||||||
|
"-10dBm",
|
||||||
|
"-15dBm",
|
||||||
|
"-20dBm",
|
||||||
|
"-30dBm",
|
||||||
|
};
|
||||||
|
|
||||||
static void subghz_scene_radio_settings_set_device(VariableItem* item) {
|
static void subghz_scene_radio_settings_set_device(VariableItem* item) {
|
||||||
SubGhz* subghz = variable_item_get_context(item);
|
SubGhz* subghz = variable_item_get_context(item);
|
||||||
uint8_t index = variable_item_get_current_value_index(item);
|
uint8_t index = variable_item_get_current_value_index(item);
|
||||||
@@ -80,6 +96,20 @@ static void subghz_scene_radio_settings_set_device(VariableItem* item) {
|
|||||||
subghz_txrx_radio_device_set(subghz->txrx, radio_device_value[index]);
|
subghz_txrx_radio_device_set(subghz->txrx, radio_device_value[index]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void subghz_scene_radio_settings_set_tx_power(VariableItem* item) {
|
||||||
|
SubGhz* subghz = variable_item_get_context(item);
|
||||||
|
uint8_t index = variable_item_get_current_value_index(item);
|
||||||
|
|
||||||
|
//Update the Menu Item on screen
|
||||||
|
variable_item_set_current_value_text(item, tx_power_text[index]);
|
||||||
|
|
||||||
|
//Set TX power and remember setting
|
||||||
|
subghz->last_settings->tx_power = subghz->tx_power = index;
|
||||||
|
|
||||||
|
//Save the settings now, this is the convention here!
|
||||||
|
subghz_last_settings_save(subghz->last_settings);
|
||||||
|
}
|
||||||
|
|
||||||
static void subghz_scene_receiver_config_set_debug_pin(VariableItem* item) {
|
static void subghz_scene_receiver_config_set_debug_pin(VariableItem* item) {
|
||||||
SubGhz* subghz = variable_item_get_context(item);
|
SubGhz* subghz = variable_item_get_context(item);
|
||||||
uint8_t index = variable_item_get_current_value_index(item);
|
uint8_t index = variable_item_get_current_value_index(item);
|
||||||
@@ -144,6 +174,18 @@ void subghz_scene_radio_settings_on_enter(void* context) {
|
|||||||
variable_item_set_current_value_index(item, value_index);
|
variable_item_set_current_value_index(item, value_index);
|
||||||
variable_item_set_current_value_text(item, radio_device_text[value_index]);
|
variable_item_set_current_value_text(item, radio_device_text[value_index]);
|
||||||
|
|
||||||
|
//Add TX Power
|
||||||
|
item = variable_item_list_add(
|
||||||
|
subghz->variable_item_list,
|
||||||
|
"TX Power",
|
||||||
|
TX_POWER_COUNT,
|
||||||
|
subghz_scene_radio_settings_set_tx_power,
|
||||||
|
subghz);
|
||||||
|
|
||||||
|
value_index = subghz->tx_power;
|
||||||
|
variable_item_set_current_value_index(item, value_index);
|
||||||
|
variable_item_set_current_value_text(item, tx_power_text[value_index]);
|
||||||
|
|
||||||
item = variable_item_list_add(
|
item = variable_item_list_add(
|
||||||
variable_item_list,
|
variable_item_list,
|
||||||
"Protocol Names",
|
"Protocol Names",
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ enum SubGhzSettingIndex {
|
|||||||
SubGhzSettingIndexFrequency,
|
SubGhzSettingIndexFrequency,
|
||||||
SubGhzSettingIndexHopping,
|
SubGhzSettingIndexHopping,
|
||||||
SubGhzSettingIndexModulation,
|
SubGhzSettingIndexModulation,
|
||||||
SubGhzSettingIndexTXPower,
|
|
||||||
SubGhzSettingIndexBinRAW,
|
SubGhzSettingIndexBinRAW,
|
||||||
SubGhzSettingIndexIgnoreReversRB2,
|
SubGhzSettingIndexIgnoreReversRB2,
|
||||||
SubGhzSettingIndexIgnoreAlarms,
|
SubGhzSettingIndexIgnoreAlarms,
|
||||||
@@ -103,22 +102,6 @@ const char* const combobox_text[COMBO_BOX_COUNT] = {
|
|||||||
"ON",
|
"ON",
|
||||||
};
|
};
|
||||||
|
|
||||||
//TX Power
|
|
||||||
#define TX_POWER_COUNT 11
|
|
||||||
const char* const tx_power_text[TX_POWER_COUNT] = {
|
|
||||||
"Preset",
|
|
||||||
"12dBm",
|
|
||||||
"10dBm",
|
|
||||||
"7dBm",
|
|
||||||
"5dBm",
|
|
||||||
"0dBm",
|
|
||||||
"-6dBm",
|
|
||||||
"-10dBm",
|
|
||||||
"-15dBm",
|
|
||||||
"-20dBm",
|
|
||||||
"-30dBm",
|
|
||||||
};
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
subghz_scene_receiver_config_set_ignore_filter(VariableItem* item, SubGhzProtocolFlag filter) {
|
subghz_scene_receiver_config_set_ignore_filter(VariableItem* item, SubGhzProtocolFlag filter) {
|
||||||
SubGhz* subghz = variable_item_get_context(item);
|
SubGhz* subghz = variable_item_get_context(item);
|
||||||
@@ -300,29 +283,6 @@ static void subghz_scene_receiver_config_set_speaker(VariableItem* item) {
|
|||||||
subghz_txrx_speaker_set_state(subghz->txrx, speaker_value[index]);
|
subghz_txrx_speaker_set_state(subghz->txrx, speaker_value[index]);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void subghz_scene_receiver_config_set_tx_power(VariableItem* item) {
|
|
||||||
SubGhz* subghz = variable_item_get_context(item);
|
|
||||||
uint8_t index = variable_item_get_current_value_index(item);
|
|
||||||
|
|
||||||
//Update the Menu Item on screen
|
|
||||||
variable_item_set_current_value_text(item, tx_power_text[index]);
|
|
||||||
|
|
||||||
//Set TX power and remember setting
|
|
||||||
subghz->last_settings->tx_power = subghz->tx_power = index;
|
|
||||||
|
|
||||||
//Get current preset and frequency so I can update preset wit TX power.
|
|
||||||
SubGhzSetting* setting = subghz_txrx_get_setting(subghz->txrx);
|
|
||||||
uint32_t frequency = subghz_setting_get_default_frequency(setting);
|
|
||||||
SubGhzRadioPreset preset = subghz_txrx_get_preset(subghz->txrx);
|
|
||||||
|
|
||||||
//Edit TX power, if necessary.
|
|
||||||
subghz_txrx_set_tx_power(preset.data, preset.data_size, subghz->tx_power);
|
|
||||||
|
|
||||||
// Maybe better add one more function with only with the frequency argument?
|
|
||||||
subghz_txrx_set_preset(
|
|
||||||
subghz->txrx, furi_string_get_cstr(preset.name), frequency, preset.data, preset.data_size);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void subghz_scene_receiver_config_set_bin_raw(VariableItem* item) {
|
static void subghz_scene_receiver_config_set_bin_raw(VariableItem* item) {
|
||||||
SubGhz* subghz = variable_item_get_context(item);
|
SubGhz* subghz = variable_item_get_context(item);
|
||||||
uint8_t index = variable_item_get_current_value_index(item);
|
uint8_t index = variable_item_get_current_value_index(item);
|
||||||
@@ -392,7 +352,7 @@ static void subghz_scene_receiver_config_var_list_enter_callback(void* context,
|
|||||||
subghz->txrx,
|
subghz->txrx,
|
||||||
SUBGHZ_LAST_SETTING_DEFAULT_FREQUENCY,
|
SUBGHZ_LAST_SETTING_DEFAULT_FREQUENCY,
|
||||||
SUBGHZ_LAST_SETTING_DEFAULT_PRESET,
|
SUBGHZ_LAST_SETTING_DEFAULT_PRESET,
|
||||||
0);
|
subghz->tx_power);
|
||||||
|
|
||||||
SubGhzSetting* setting = subghz_txrx_get_setting(subghz->txrx);
|
SubGhzSetting* setting = subghz_txrx_get_setting(subghz->txrx);
|
||||||
SubGhzRadioPreset preset = subghz_txrx_get_preset(subghz->txrx);
|
SubGhzRadioPreset preset = subghz_txrx_get_preset(subghz->txrx);
|
||||||
@@ -480,18 +440,6 @@ void subghz_scene_receiver_config_on_enter(void* context) {
|
|||||||
variable_item_set_current_value_text(item, hopping_mode_text[value_index]);
|
variable_item_set_current_value_text(item, hopping_mode_text[value_index]);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Add TX Power
|
|
||||||
item = variable_item_list_add(
|
|
||||||
subghz->variable_item_list,
|
|
||||||
"TX Power",
|
|
||||||
TX_POWER_COUNT,
|
|
||||||
subghz_scene_receiver_config_set_tx_power,
|
|
||||||
subghz);
|
|
||||||
|
|
||||||
value_index = subghz->tx_power;
|
|
||||||
variable_item_set_current_value_index(item, value_index);
|
|
||||||
variable_item_set_current_value_text(item, tx_power_text[value_index]);
|
|
||||||
|
|
||||||
if(scene_manager_get_scene_state(subghz->scene_manager, SubGhzSceneReadRAW) !=
|
if(scene_manager_get_scene_state(subghz->scene_manager, SubGhzSceneReadRAW) !=
|
||||||
SubGhzCustomEventManagerSet) {
|
SubGhzCustomEventManagerSet) {
|
||||||
item = variable_item_list_add(
|
item = variable_item_list_add(
|
||||||
|
|||||||
Reference in New Issue
Block a user