diff --git a/applications/main/subghz/helpers/subghz_gps.h b/applications/main/subghz/helpers/subghz_gps.h index 21e5795eb..daee3945b 100644 --- a/applications/main/subghz/helpers/subghz_gps.h +++ b/applications/main/subghz/helpers/subghz_gps.h @@ -1,8 +1,7 @@ #include #include -#define UART_CH \ - (xtreme_settings.uart_nmea_channel == UARTDefault ? FuriHalUartIdUSART1 : FuriHalUartIdLPUART1) +#define UART_CH (xtreme_settings.uart_nmea_channel) #define RX_BUF_SIZE 1024 diff --git a/applications/main/xtreme_app/scenes/xtreme_app_scene_protocols_gpio.c b/applications/main/xtreme_app/scenes/xtreme_app_scene_protocols_gpio.c index 2921fa30b..889772aa6 100644 --- a/applications/main/xtreme_app/scenes/xtreme_app_scene_protocols_gpio.c +++ b/applications/main/xtreme_app/scenes/xtreme_app_scene_protocols_gpio.c @@ -33,28 +33,31 @@ static void xtreme_app_scene_protocols_gpio_nrf24_handle_changed(VariableItem* i static void xtreme_app_scene_protocols_gpio_esp32_channel_changed(VariableItem* item) { XtremeApp* app = variable_item_get_context(item); - xtreme_settings.uart_esp_channel = - variable_item_get_current_value_index(item) == 0 ? UARTDefault : UARTExtra; + xtreme_settings.uart_esp_channel = variable_item_get_current_value_index(item) == 0 ? + FuriHalSerialIdUsart : + FuriHalSerialIdLpuart; variable_item_set_current_value_text( - item, xtreme_settings.uart_esp_channel == UARTDefault ? "13,14" : "15,16"); + item, xtreme_settings.uart_esp_channel == FuriHalSerialIdUsart ? "13,14" : "15,16"); app->save_settings = true; } static void xtreme_app_scene_protocols_gpio_nmea_channel_changed(VariableItem* item) { XtremeApp* app = variable_item_get_context(item); - xtreme_settings.uart_nmea_channel = - variable_item_get_current_value_index(item) == 0 ? UARTDefault : UARTExtra; + xtreme_settings.uart_nmea_channel = variable_item_get_current_value_index(item) == 0 ? + FuriHalSerialIdUsart : + FuriHalSerialIdLpuart; variable_item_set_current_value_text( - item, xtreme_settings.uart_nmea_channel == UARTDefault ? "13,14" : "15,16"); + item, xtreme_settings.uart_nmea_channel == FuriHalSerialIdUsart ? "13,14" : "15,16"); app->save_settings = true; } static void xtreme_app_scene_protocols_gpio_general_channel_changed(VariableItem* item) { XtremeApp* app = variable_item_get_context(item); - xtreme_settings.uart_general_channel = - variable_item_get_current_value_index(item) == 0 ? UARTDefault : UARTExtra; + xtreme_settings.uart_general_channel = variable_item_get_current_value_index(item) == 0 ? + FuriHalSerialIdUsart : + FuriHalSerialIdLpuart; variable_item_set_current_value_text( - item, xtreme_settings.uart_general_channel == UARTDefault ? "13,14" : "15,16"); + item, xtreme_settings.uart_general_channel == FuriHalSerialIdUsart ? "13,14" : "15,16"); app->save_settings = true; } @@ -91,7 +94,7 @@ void xtreme_app_scene_protocols_gpio_on_enter(void* context) { app); variable_item_set_current_value_index(item, xtreme_settings.uart_esp_channel); variable_item_set_current_value_text( - item, xtreme_settings.uart_esp_channel == UARTDefault ? "13,14" : "15,16"); + item, xtreme_settings.uart_esp_channel == FuriHalSerialIdUsart ? "13,14" : "15,16"); item = variable_item_list_add( var_item_list, @@ -101,7 +104,7 @@ void xtreme_app_scene_protocols_gpio_on_enter(void* context) { app); variable_item_set_current_value_index(item, xtreme_settings.uart_nmea_channel); variable_item_set_current_value_text( - item, xtreme_settings.uart_nmea_channel == UARTDefault ? "13,14" : "15,16"); + item, xtreme_settings.uart_nmea_channel == FuriHalSerialIdUsart ? "13,14" : "15,16"); item = variable_item_list_add( var_item_list, @@ -111,7 +114,7 @@ void xtreme_app_scene_protocols_gpio_on_enter(void* context) { app); variable_item_set_current_value_index(item, xtreme_settings.uart_general_channel); variable_item_set_current_value_text( - item, xtreme_settings.uart_general_channel == UARTDefault ? "13,14" : "15,16"); + item, xtreme_settings.uart_general_channel == FuriHalSerialIdUsart ? "13,14" : "15,16"); variable_item_list_set_enter_callback( var_item_list, xtreme_app_scene_protocols_gpio_var_item_list_callback, app); diff --git a/lib/xtreme/settings.c b/lib/xtreme/settings.c index 978494318..497d61771 100644 --- a/lib/xtreme/settings.c +++ b/lib/xtreme/settings.c @@ -39,9 +39,9 @@ XtremeSettings xtreme_settings = { .charge_cap = 100, // 100% .spi_cc1101_handle = SpiDefault, // &furi_hal_spi_bus_handle_external .spi_nrf24_handle = SpiDefault, // &furi_hal_spi_bus_handle_external - .uart_esp_channel = UARTDefault, // pin 13,14 - .uart_nmea_channel = UARTDefault, // pin 13,14 - .uart_general_channel = UARTDefault, // pin 13,14 + .uart_esp_channel = FuriHalSerialIdUsart, // pin 13,14 + .uart_nmea_channel = FuriHalSerialIdUsart, // pin 13,14 + .uart_general_channel = FuriHalSerialIdUsart, // pin 13,14 }; void XTREME_SETTINGS_LOAD() { @@ -187,15 +187,15 @@ void XTREME_SETTINGS_LOAD() { } flipper_format_rewind(file); if(flipper_format_read_uint32(file, "uart_esp_channel", &u, 1)) { - x->uart_esp_channel = CLAMP(u, UARTCount - 1U, 0U); + x->uart_esp_channel = CLAMP(u, FuriHalSerialIdMax - 1U, 0U); } flipper_format_rewind(file); if(flipper_format_read_uint32(file, "uart_nmea_channel", &u, 1)) { - x->uart_nmea_channel = CLAMP(u, UARTCount - 1U, 0U); + x->uart_nmea_channel = CLAMP(u, FuriHalSerialIdMax - 1U, 0U); } flipper_format_rewind(file); if(flipper_format_read_uint32(file, "uart_general_channel", &u, 1)) { - x->uart_general_channel = CLAMP(u, UARTCount - 1U, 0U); + x->uart_general_channel = CLAMP(u, FuriHalSerialIdMax - 1U, 0U); } } flipper_format_free(file); diff --git a/lib/xtreme/xtreme.h b/lib/xtreme/xtreme.h index e9f1d59df..e62164f73 100644 --- a/lib/xtreme/xtreme.h +++ b/lib/xtreme/xtreme.h @@ -2,6 +2,7 @@ #include #include +#include #ifdef __cplusplus extern "C" { @@ -44,12 +45,6 @@ typedef enum { SpiCount, } SpiHandle; -typedef enum { - UARTDefault, // pin 13,14 - UARTExtra, // pin 15,16 - UARTCount, -} UARTChannel; - typedef struct { char asset_pack[XTREME_ASSETS_PACK_NAME_LEN]; uint32_t anim_speed; @@ -84,9 +79,9 @@ typedef struct { uint32_t charge_cap; SpiHandle spi_cc1101_handle; SpiHandle spi_nrf24_handle; - UARTChannel uart_esp_channel; - UARTChannel uart_nmea_channel; - UARTChannel uart_general_channel; + FuriHalSerialId uart_esp_channel; + FuriHalSerialId uart_nmea_channel; + FuriHalSerialId uart_general_channel; } XtremeSettings; typedef enum {