diff --git a/lib/subghz/protocols/ambient_weather.c b/lib/subghz/protocols/ambient_weather.c index 59a359d3b..33844c405 100644 --- a/lib/subghz/protocols/ambient_weather.c +++ b/lib/subghz/protocols/ambient_weather.c @@ -253,12 +253,13 @@ SubGhzProtocolStatus void ws_protocol_decoder_ambient_weather_get_string(void* context, FuriString* output) { furi_assert(context); WSProtocolDecoderAmbient_Weather* instance = context; + bool locale_is_metric = furi_hal_rtc_get_locale_units() == FuriHalRtcLocaleUnitsMetric; furi_string_cat_printf( output, "%s\r\n%dbit\r\n" "Key:0x%lX%08lX\r\n" "Sn:0x%lX Ch:%d Bat:%d\r\n" - "Temp:%3.1f C Hum:%d%%", + "Temp:%3.1f %c Hum:%d%%", instance->generic.protocol_name, instance->generic.data_count_bit, (uint32_t)(instance->generic.data >> 32), @@ -266,6 +267,8 @@ void ws_protocol_decoder_ambient_weather_get_string(void* context, FuriString* o instance->generic.id, instance->generic.channel, instance->generic.battery_low, - (double)instance->generic.temp, + (double)(locale_is_metric ? instance->generic.temp : + locale_celsius_to_fahrenheit(instance->generic.temp)), + locale_is_metric ? 'C' : 'F', instance->generic.humidity); } diff --git a/lib/subghz/protocols/auriol_ahfl.c b/lib/subghz/protocols/auriol_ahfl.c index b318c3d34..4be9f8b00 100644 --- a/lib/subghz/protocols/auriol_ahfl.c +++ b/lib/subghz/protocols/auriol_ahfl.c @@ -239,12 +239,13 @@ SubGhzProtocolStatus void ws_protocol_decoder_auriol_ahfl_get_string(void* context, FuriString* output) { furi_assert(context); WSProtocolDecoderAuriol_AHFL* instance = context; + bool locale_is_metric = furi_hal_rtc_get_locale_units() == FuriHalRtcLocaleUnitsMetric; furi_string_cat_printf( output, "%s\r\n%dbit\r\n" "Key:0x%lX%08lX\r\n" "Sn:0x%lX Ch:%d Bat:%d\r\n" - "Temp:%3.1f C Hum:%d%%", + "Temp:%3.1f %c Hum:%d%%", instance->generic.protocol_name, instance->generic.data_count_bit, (uint32_t)(instance->generic.data >> 32), @@ -252,6 +253,8 @@ void ws_protocol_decoder_auriol_ahfl_get_string(void* context, FuriString* outpu instance->generic.id, instance->generic.channel, instance->generic.battery_low, - (double)instance->generic.temp, + (double)(locale_is_metric ? instance->generic.temp : + locale_celsius_to_fahrenheit(instance->generic.temp)), + locale_is_metric ? 'C' : 'F', instance->generic.humidity); } diff --git a/lib/subghz/protocols/auriol_hg0601a.c b/lib/subghz/protocols/auriol_hg0601a.c index 5d3a48559..543b7a2a7 100644 --- a/lib/subghz/protocols/auriol_hg0601a.c +++ b/lib/subghz/protocols/auriol_hg0601a.c @@ -233,12 +233,13 @@ SubGhzProtocolStatus void ws_protocol_decoder_auriol_th_get_string(void* context, FuriString* output) { furi_assert(context); WSProtocolDecoderAuriol_TH* instance = context; + bool locale_is_metric = furi_hal_rtc_get_locale_units() == FuriHalRtcLocaleUnitsMetric; furi_string_cat_printf( output, "%s\r\n%dbit\r\n" "Key:0x%lX%08lX\r\n" "Sn:0x%lX Ch:%d Bat:%d\r\n" - "Temp:%3.1f C Hum:%d%%", + "Temp:%3.1f %c Hum:%d%%", instance->generic.protocol_name, instance->generic.data_count_bit, (uint32_t)(instance->generic.data >> 32), @@ -246,6 +247,8 @@ void ws_protocol_decoder_auriol_th_get_string(void* context, FuriString* output) instance->generic.id, instance->generic.channel, instance->generic.battery_low, - (double)instance->generic.temp, + (double)(locale_is_metric ? instance->generic.temp : + locale_celsius_to_fahrenheit(instance->generic.temp)), + locale_is_metric ? 'C' : 'F', instance->generic.humidity); } diff --git a/lib/subghz/protocols/gt_wt_02.c b/lib/subghz/protocols/gt_wt_02.c index c93c9e7f5..a00003417 100644 --- a/lib/subghz/protocols/gt_wt_02.c +++ b/lib/subghz/protocols/gt_wt_02.c @@ -240,12 +240,13 @@ SubGhzProtocolStatus void ws_protocol_decoder_gt_wt_02_get_string(void* context, FuriString* output) { furi_assert(context); WSProtocolDecoderGT_WT02* instance = context; + bool locale_is_metric = furi_hal_rtc_get_locale_units() == FuriHalRtcLocaleUnitsMetric; furi_string_cat_printf( output, "%s\r\n%dbit\r\n" "Key:0x%lX%08lX\r\n" "Sn:0x%lX Ch:%d Bat:%d\r\n" - "Temp:%3.1f C Hum:%d%%", + "Temp:%3.1f %c Hum:%d%%", instance->generic.protocol_name, instance->generic.data_count_bit, (uint32_t)(instance->generic.data >> 32), @@ -253,6 +254,8 @@ void ws_protocol_decoder_gt_wt_02_get_string(void* context, FuriString* output) instance->generic.id, instance->generic.channel, instance->generic.battery_low, - (double)instance->generic.temp, + (double)(locale_is_metric ? instance->generic.temp : + locale_celsius_to_fahrenheit(instance->generic.temp)), + locale_is_metric ? 'C' : 'F', instance->generic.humidity); } diff --git a/lib/subghz/protocols/gt_wt_03.c b/lib/subghz/protocols/gt_wt_03.c index a575735c1..253022a1f 100644 --- a/lib/subghz/protocols/gt_wt_03.c +++ b/lib/subghz/protocols/gt_wt_03.c @@ -315,12 +315,13 @@ SubGhzProtocolStatus void ws_protocol_decoder_gt_wt_03_get_string(void* context, FuriString* output) { furi_assert(context); WSProtocolDecoderGT_WT03* instance = context; + bool locale_is_metric = furi_hal_rtc_get_locale_units() == FuriHalRtcLocaleUnitsMetric; furi_string_cat_printf( output, "%s\r\n%dbit\r\n" "Key:0x%lX%08lX\r\n" "Sn:0x%lX Ch:%d Bat:%d\r\n" - "Temp:%3.1f C Hum:%d%%", + "Temp:%3.1f %c Hum:%d%%", instance->generic.protocol_name, instance->generic.data_count_bit, (uint32_t)(instance->generic.data >> 32), @@ -328,6 +329,8 @@ void ws_protocol_decoder_gt_wt_03_get_string(void* context, FuriString* output) instance->generic.id, instance->generic.channel, instance->generic.battery_low, - (double)instance->generic.temp, + (double)(locale_is_metric ? instance->generic.temp : + locale_celsius_to_fahrenheit(instance->generic.temp)), + locale_is_metric ? 'C' : 'F', instance->generic.humidity); } diff --git a/lib/subghz/protocols/infactory.c b/lib/subghz/protocols/infactory.c index 1b8991afc..311974ae9 100644 --- a/lib/subghz/protocols/infactory.c +++ b/lib/subghz/protocols/infactory.c @@ -271,12 +271,13 @@ SubGhzProtocolStatus void ws_protocol_decoder_infactory_get_string(void* context, FuriString* output) { furi_assert(context); WSProtocolDecoderInfactory* instance = context; + bool locale_is_metric = furi_hal_rtc_get_locale_units() == FuriHalRtcLocaleUnitsMetric; furi_string_cat_printf( output, "%s\r\n%dbit\r\n" "Key:0x%lX%08lX\r\n" "Sn:0x%lX Ch:%d Bat:%d\r\n" - "Temp:%3.1f C Hum:%d%%", + "Temp:%3.1f %c Hum:%d%%", instance->generic.protocol_name, instance->generic.data_count_bit, (uint32_t)(instance->generic.data >> 32), @@ -284,6 +285,8 @@ void ws_protocol_decoder_infactory_get_string(void* context, FuriString* output) instance->generic.id, instance->generic.channel, instance->generic.battery_low, - (double)instance->generic.temp, + (double)(locale_is_metric ? instance->generic.temp : + locale_celsius_to_fahrenheit(instance->generic.temp)), + locale_is_metric ? 'C' : 'F', instance->generic.humidity); } diff --git a/lib/subghz/protocols/kedsum_th.c b/lib/subghz/protocols/kedsum_th.c index d657e2e2a..d7ce1f1f5 100644 --- a/lib/subghz/protocols/kedsum_th.c +++ b/lib/subghz/protocols/kedsum_th.c @@ -279,12 +279,13 @@ SubGhzProtocolStatus void ws_protocol_decoder_kedsum_th_get_string(void* context, FuriString* output) { furi_assert(context); WSProtocolDecoderKedsumTH* instance = context; + bool locale_is_metric = furi_hal_rtc_get_locale_units() == FuriHalRtcLocaleUnitsMetric; furi_string_cat_printf( output, "%s\r\n%dbit\r\n" "Key:0x%lX%08lX\r\n" "Sn:0x%lX Ch:%d Bat:%d\r\n" - "Temp:%3.1f C Hum:%d%%", + "Temp:%3.1f %c Hum:%d%%", instance->generic.protocol_name, instance->generic.data_count_bit, (uint32_t)(instance->generic.data >> 32), @@ -292,6 +293,8 @@ void ws_protocol_decoder_kedsum_th_get_string(void* context, FuriString* output) instance->generic.id, instance->generic.channel, instance->generic.battery_low, - (double)instance->generic.temp, + (double)(locale_is_metric ? instance->generic.temp : + locale_celsius_to_fahrenheit(instance->generic.temp)), + locale_is_metric ? 'C' : 'F', instance->generic.humidity); } diff --git a/lib/subghz/protocols/lacrosse_tx.c b/lib/subghz/protocols/lacrosse_tx.c index 6ed4539a0..1ac3e8a0e 100644 --- a/lib/subghz/protocols/lacrosse_tx.c +++ b/lib/subghz/protocols/lacrosse_tx.c @@ -304,12 +304,13 @@ SubGhzProtocolStatus void ws_protocol_decoder_lacrosse_tx_get_string(void* context, FuriString* output) { furi_assert(context); WSProtocolDecoderLaCrosse_TX* instance = context; + bool locale_is_metric = furi_hal_rtc_get_locale_units() == FuriHalRtcLocaleUnitsMetric; furi_string_cat_printf( output, "%s\r\n%dbit\r\n" "Key:0x%lX%08lX\r\n" "Sn:0x%lX Ch:%d Bat:%d\r\n" - "Temp:%3.1f C Hum:%d%%", + "Temp:%3.1f %c Hum:%d%%", instance->generic.protocol_name, instance->generic.data_count_bit, (uint32_t)(instance->generic.data >> 32), @@ -317,6 +318,8 @@ void ws_protocol_decoder_lacrosse_tx_get_string(void* context, FuriString* outpu instance->generic.id, instance->generic.channel, instance->generic.battery_low, - (double)instance->generic.temp, + (double)(locale_is_metric ? instance->generic.temp : + locale_celsius_to_fahrenheit(instance->generic.temp)), + locale_is_metric ? 'C' : 'F', instance->generic.humidity); } diff --git a/lib/subghz/protocols/lacrosse_tx141thbv2.c b/lib/subghz/protocols/lacrosse_tx141thbv2.c index 9149f4666..1e30b299a 100644 --- a/lib/subghz/protocols/lacrosse_tx141thbv2.c +++ b/lib/subghz/protocols/lacrosse_tx141thbv2.c @@ -290,12 +290,13 @@ SubGhzProtocolStatus ws_protocol_decoder_lacrosse_tx141thbv2_deserialize( void ws_protocol_decoder_lacrosse_tx141thbv2_get_string(void* context, FuriString* output) { furi_assert(context); WSProtocolDecoderLaCrosse_TX141THBv2* instance = context; + bool locale_is_metric = furi_hal_rtc_get_locale_units() == FuriHalRtcLocaleUnitsMetric; furi_string_cat_printf( output, "%s\r\n%dbit\r\n" "Key:0x%lX%08lX\r\n" "Sn:0x%lX Ch:%d Bat:%d\r\n" - "Temp:%3.1f C Hum:%d%%", + "Temp:%3.1f %c Hum:%d%%", instance->generic.protocol_name, instance->generic.data_count_bit, (uint32_t)(instance->generic.data >> 32), @@ -303,6 +304,8 @@ void ws_protocol_decoder_lacrosse_tx141thbv2_get_string(void* context, FuriStrin instance->generic.id, instance->generic.channel, instance->generic.battery_low, - (double)instance->generic.temp, + (double)(locale_is_metric ? instance->generic.temp : + locale_celsius_to_fahrenheit(instance->generic.temp)), + locale_is_metric ? 'C' : 'F', instance->generic.humidity); } diff --git a/lib/subghz/protocols/nexus_th.c b/lib/subghz/protocols/nexus_th.c index fea7e6132..085018ba2 100644 --- a/lib/subghz/protocols/nexus_th.c +++ b/lib/subghz/protocols/nexus_th.c @@ -313,12 +313,13 @@ SubGhzProtocolStatus void ws_protocol_decoder_nexus_th_get_string(void* context, FuriString* output) { furi_assert(context); WSProtocolDecoderNexus_TH* instance = context; + bool locale_is_metric = furi_hal_rtc_get_locale_units() == FuriHalRtcLocaleUnitsMetric; furi_string_cat_printf( output, "%s\r\n%dbit\r\n" "Key:0x%lX%08lX\r\n" "Sn:0x%lX Ch:%d Bat:%d\r\n" - "Temp:%3.1f C Hum:%d%%", + "Temp:%3.1f %c Hum:%d%%", instance->generic.protocol_name, instance->generic.data_count_bit, (uint32_t)(instance->generic.data >> 32), @@ -326,7 +327,9 @@ void ws_protocol_decoder_nexus_th_get_string(void* context, FuriString* output) instance->generic.id, instance->generic.channel, instance->generic.battery_low, - (double)instance->generic.temp, + (double)(locale_is_metric ? instance->generic.temp : + locale_celsius_to_fahrenheit(instance->generic.temp)), + locale_is_metric ? 'C' : 'F', instance->generic.humidity); } diff --git a/lib/subghz/protocols/thermopro_tx4.c b/lib/subghz/protocols/thermopro_tx4.c index 5f051bd0e..f809bee93 100644 --- a/lib/subghz/protocols/thermopro_tx4.c +++ b/lib/subghz/protocols/thermopro_tx4.c @@ -236,12 +236,13 @@ SubGhzProtocolStatus void ws_protocol_decoder_thermopro_tx4_get_string(void* context, FuriString* output) { furi_assert(context); WSProtocolDecoderThermoPRO_TX4* instance = context; + bool locale_is_metric = furi_hal_rtc_get_locale_units() == FuriHalRtcLocaleUnitsMetric; furi_string_cat_printf( output, "%s\r\n%dbit\r\n" "Key:0x%lX%08lX\r\n" "Sn:0x%lX Ch:%d Bat:%d\r\n" - "Temp:%3.1f C Hum:%d%%", + "Temp:%3.1f %c Hum:%d%%", instance->generic.protocol_name, instance->generic.data_count_bit, (uint32_t)(instance->generic.data >> 32), @@ -249,6 +250,8 @@ void ws_protocol_decoder_thermopro_tx4_get_string(void* context, FuriString* out instance->generic.id, instance->generic.channel, instance->generic.battery_low, - (double)instance->generic.temp, + (double)(locale_is_metric ? instance->generic.temp : + locale_celsius_to_fahrenheit(instance->generic.temp)), + locale_is_metric ? 'C' : 'F', instance->generic.humidity); } diff --git a/lib/subghz/protocols/tx_8300.c b/lib/subghz/protocols/tx_8300.c index 18fef24b0..247304b57 100644 --- a/lib/subghz/protocols/tx_8300.c +++ b/lib/subghz/protocols/tx_8300.c @@ -269,12 +269,13 @@ SubGhzProtocolStatus void ws_protocol_decoder_tx_8300_get_string(void* context, FuriString* output) { furi_assert(context); WSProtocolDecoderTX_8300* instance = context; + bool locale_is_metric = furi_hal_rtc_get_locale_units() == FuriHalRtcLocaleUnitsMetric; furi_string_cat_printf( output, "%s\r\n%dbit\r\n" "Key:0x%lX%08lX\r\n" "Sn:0x%lX Ch:%d Bat:%d\r\n" - "Temp:%3.1f C Hum:%d%%", + "Temp:%3.1f %c Hum:%d%%", instance->generic.protocol_name, instance->generic.data_count_bit, (uint32_t)(instance->generic.data >> 32), @@ -282,6 +283,8 @@ void ws_protocol_decoder_tx_8300_get_string(void* context, FuriString* output) { instance->generic.id, instance->generic.channel, instance->generic.battery_low, - (double)instance->generic.temp, + (double)(locale_is_metric ? instance->generic.temp : + locale_celsius_to_fahrenheit(instance->generic.temp)), + locale_is_metric ? 'C' : 'F', instance->generic.humidity); } diff --git a/lib/subghz/protocols/wendox_w6726.c b/lib/subghz/protocols/wendox_w6726.c index a9a05f016..a19568b8e 100644 --- a/lib/subghz/protocols/wendox_w6726.c +++ b/lib/subghz/protocols/wendox_w6726.c @@ -284,12 +284,13 @@ SubGhzProtocolStatus void ws_protocol_decoder_wendox_w6726_get_string(void* context, FuriString* output) { furi_assert(context); WSProtocolDecoderWendoxW6726* instance = context; + bool locale_is_metric = furi_hal_rtc_get_locale_units() == FuriHalRtcLocaleUnitsMetric; furi_string_cat_printf( output, "%s\r\n%dbit\r\n" "Key:0x%lX%08lX\r\n" "Sn:0x%lX Ch:%d Bat:%d\r\n" - "Temp:%3.1f C Hum:%d%%", + "Temp:%3.1f %c Hum:%d%%", instance->generic.protocol_name, instance->generic.data_count_bit, (uint32_t)(instance->generic.data >> 32), @@ -297,6 +298,8 @@ void ws_protocol_decoder_wendox_w6726_get_string(void* context, FuriString* outp instance->generic.id, instance->generic.channel, instance->generic.battery_low, - (double)instance->generic.temp, + (double)(locale_is_metric ? instance->generic.temp : + locale_celsius_to_fahrenheit(instance->generic.temp)), + locale_is_metric ? 'C' : 'F', instance->generic.humidity); }