1
mirror of https://github.com/DarkFlippers/unleashed-firmware.git synced 2025-12-12 04:34:43 +04:00

Merge remote-tracking branch 'OFW/dev' into dev

This commit is contained in:
MX
2024-08-10 14:47:38 +03:00
1244 changed files with 1976 additions and 32 deletions

View File

@@ -1,5 +1,5 @@
entry,status,name,type,params
Version,+,72.0,,
Version,+,72.1,,
Header,+,applications/services/bt/bt_service/bt.h,,
Header,+,applications/services/bt/bt_service/bt_keys_storage.h,,
Header,+,applications/services/cli/cli.h,,
@@ -13,6 +13,7 @@ Header,+,applications/services/gui/icon_i.h,,
Header,+,applications/services/gui/modules/button_menu.h,,
Header,+,applications/services/gui/modules/button_panel.h,,
Header,+,applications/services/gui/modules/byte_input.h,,
Header,+,applications/services/gui/modules/number_input.h,,
Header,+,applications/services/gui/modules/dialog_ex.h,,
Header,+,applications/services/gui/modules/empty_screen.h,,
Header,+,applications/services/gui/modules/file_browser.h,,
@@ -722,6 +723,11 @@ Function,+,byte_input_free,void,ByteInput*
Function,+,byte_input_get_view,View*,ByteInput*
Function,+,byte_input_set_header_text,void,"ByteInput*, const char*"
Function,+,byte_input_set_result_callback,void,"ByteInput*, ByteInputCallback, ByteChangedCallback, void*, uint8_t*, uint8_t"
Function,+,number_input_alloc,NumberInput*,
Function,+,number_input_free,void,NumberInput*
Function,+,number_input_get_view,View*,NumberInput*
Function,+,number_input_set_header_text,void,"NumberInput*, const char*"
Function,+,number_input_set_result_callback,void,"NumberInput*, NumberInputCallback, void*, int32_t, int32_t, int32_t"
Function,-,bzero,void,"void*, size_t"
Function,+,calloc,void*,"size_t, size_t"
Function,+,canvas_clear,void,Canvas*
@@ -1576,6 +1582,8 @@ Function,+,furi_string_cmpi_str,int,"const FuriString*, const char[]"
Function,+,furi_string_empty,_Bool,const FuriString*
Function,+,furi_string_end_with,_Bool,"const FuriString*, const FuriString*"
Function,+,furi_string_end_with_str,_Bool,"const FuriString*, const char[]"
Function,+,furi_string_end_withi,_Bool,"const FuriString*, const FuriString*"
Function,+,furi_string_end_withi_str,_Bool,"const FuriString*, const char[]"
Function,+,furi_string_equal,_Bool,"const FuriString*, const FuriString*"
Function,+,furi_string_equal_str,_Bool,"const FuriString*, const char[]"
Function,+,furi_string_free,void,FuriString*
1 entry status name type params
2 Version + 72.0 72.1
3 Header + applications/services/bt/bt_service/bt.h
4 Header + applications/services/bt/bt_service/bt_keys_storage.h
5 Header + applications/services/cli/cli.h
13 Header + applications/services/gui/modules/button_menu.h
14 Header + applications/services/gui/modules/button_panel.h
15 Header + applications/services/gui/modules/byte_input.h
16 Header + applications/services/gui/modules/number_input.h
17 Header + applications/services/gui/modules/dialog_ex.h
18 Header + applications/services/gui/modules/empty_screen.h
19 Header + applications/services/gui/modules/file_browser.h
723 Function + byte_input_get_view View* ByteInput*
724 Function + byte_input_set_header_text void ByteInput*, const char*
725 Function + byte_input_set_result_callback void ByteInput*, ByteInputCallback, ByteChangedCallback, void*, uint8_t*, uint8_t
726 Function + number_input_alloc NumberInput*
727 Function + number_input_free void NumberInput*
728 Function + number_input_get_view View* NumberInput*
729 Function + number_input_set_header_text void NumberInput*, const char*
730 Function + number_input_set_result_callback void NumberInput*, NumberInputCallback, void*, int32_t, int32_t, int32_t
731 Function - bzero void void*, size_t
732 Function + calloc void* size_t, size_t
733 Function + canvas_clear void Canvas*
1582 Function + furi_string_empty _Bool const FuriString*
1583 Function + furi_string_end_with _Bool const FuriString*, const FuriString*
1584 Function + furi_string_end_with_str _Bool const FuriString*, const char[]
1585 Function + furi_string_end_withi _Bool const FuriString*, const FuriString*
1586 Function + furi_string_end_withi_str _Bool const FuriString*, const char[]
1587 Function + furi_string_equal _Bool const FuriString*, const FuriString*
1588 Function + furi_string_equal_str _Bool const FuriString*, const char[]
1589 Function + furi_string_free void FuriString*

View File

@@ -1,5 +1,5 @@
entry,status,name,type,params
Version,+,72.0,,
Version,+,72.1,,
Header,+,applications/drivers/subghz/cc1101_ext/cc1101_ext_interconnect.h,,
Header,+,applications/services/bt/bt_service/bt.h,,
Header,+,applications/services/bt/bt_service/bt_keys_storage.h,,
@@ -20,6 +20,7 @@ Header,+,applications/services/gui/modules/file_browser.h,,
Header,+,applications/services/gui/modules/file_browser_worker.h,,
Header,+,applications/services/gui/modules/loading.h,,
Header,+,applications/services/gui/modules/menu.h,,
Header,+,applications/services/gui/modules/number_input.h,,
Header,+,applications/services/gui/modules/popup.h,,
Header,+,applications/services/gui/modules/submenu.h,,
Header,+,applications/services/gui/modules/text_box.h,,
@@ -1829,6 +1830,8 @@ Function,+,furi_string_cmpi_str,int,"const FuriString*, const char[]"
Function,+,furi_string_empty,_Bool,const FuriString*
Function,+,furi_string_end_with,_Bool,"const FuriString*, const FuriString*"
Function,+,furi_string_end_with_str,_Bool,"const FuriString*, const char[]"
Function,+,furi_string_end_withi,_Bool,"const FuriString*, const FuriString*"
Function,+,furi_string_end_withi_str,_Bool,"const FuriString*, const char[]"
Function,+,furi_string_equal,_Bool,"const FuriString*, const FuriString*"
Function,+,furi_string_equal_str,_Bool,"const FuriString*, const char[]"
Function,+,furi_string_free,void,FuriString*
@@ -2861,6 +2864,11 @@ Function,+,notification_internal_message_block,void,"NotificationApp*, const Not
Function,+,notification_message,void,"NotificationApp*, const NotificationSequence*"
Function,+,notification_message_block,void,"NotificationApp*, const NotificationSequence*"
Function,-,nrand48,long,unsigned short[3]
Function,+,number_input_alloc,NumberInput*,
Function,+,number_input_free,void,NumberInput*
Function,+,number_input_get_view,View*,NumberInput*
Function,+,number_input_set_header_text,void,"NumberInput*, const char*"
Function,+,number_input_set_result_callback,void,"NumberInput*, NumberInputCallback, void*, int32_t, int32_t, int32_t"
Function,-,on_exit,int,"void (*)(int, void*), void*"
Function,+,onewire_host_alloc,OneWireHost*,const GpioPin*
Function,+,onewire_host_free,void,OneWireHost*
1 entry status name type params
2 Version + 72.0 72.1
3 Header + applications/drivers/subghz/cc1101_ext/cc1101_ext_interconnect.h
4 Header + applications/services/bt/bt_service/bt.h
5 Header + applications/services/bt/bt_service/bt_keys_storage.h
20 Header + applications/services/gui/modules/file_browser_worker.h
21 Header + applications/services/gui/modules/loading.h
22 Header + applications/services/gui/modules/menu.h
23 Header + applications/services/gui/modules/number_input.h
24 Header + applications/services/gui/modules/popup.h
25 Header + applications/services/gui/modules/submenu.h
26 Header + applications/services/gui/modules/text_box.h
1830 Function + furi_string_empty _Bool const FuriString*
1831 Function + furi_string_end_with _Bool const FuriString*, const FuriString*
1832 Function + furi_string_end_with_str _Bool const FuriString*, const char[]
1833 Function + furi_string_end_withi _Bool const FuriString*, const FuriString*
1834 Function + furi_string_end_withi_str _Bool const FuriString*, const char[]
1835 Function + furi_string_equal _Bool const FuriString*, const FuriString*
1836 Function + furi_string_equal_str _Bool const FuriString*, const char[]
1837 Function + furi_string_free void FuriString*
2864 Function + notification_message void NotificationApp*, const NotificationSequence*
2865 Function + notification_message_block void NotificationApp*, const NotificationSequence*
2866 Function - nrand48 long unsigned short[3]
2867 Function + number_input_alloc NumberInput*
2868 Function + number_input_free void NumberInput*
2869 Function + number_input_get_view View* NumberInput*
2870 Function + number_input_set_header_text void NumberInput*, const char*
2871 Function + number_input_set_result_callback void NumberInput*, NumberInputCallback, void*, int32_t, int32_t, int32_t
2872 Function - on_exit int void (*)(int, void*), void*
2873 Function + onewire_host_alloc OneWireHost* const GpioPin*
2874 Function + onewire_host_free void OneWireHost*

View File

@@ -54,6 +54,7 @@ typedef struct {
typedef struct {
float cycle_duration;
float cycle_remainder;
FuriHalInfraredTxGetDataISRCallback data_callback;
FuriHalInfraredTxSignalSentISRCallback signal_sent_callback;
void* data_context;
@@ -512,7 +513,11 @@ static void furi_hal_infrared_tx_fill_buffer(uint8_t buf_num, uint8_t polarity_s
status = infrared_tim_tx.data_callback(infrared_tim_tx.data_context, &duration, &level);
uint32_t num_of_impulses = roundf(duration / infrared_tim_tx.cycle_duration);
const float num_of_impulses_f =
duration / infrared_tim_tx.cycle_duration + infrared_tim_tx.cycle_remainder;
const uint32_t num_of_impulses = roundf(num_of_impulses_f);
// Save the remainder (in carrier periods) for later use
infrared_tim_tx.cycle_remainder = num_of_impulses_f - num_of_impulses;
if(num_of_impulses == 0) {
if((*size == 0) && (status == FuriHalInfraredTxGetDataStateDone)) {
@@ -521,7 +526,7 @@ static void furi_hal_infrared_tx_fill_buffer(uint8_t buf_num, uint8_t polarity_s
*/
status = FuriHalInfraredTxGetDataStateOk;
}
} else if((num_of_impulses - 1) > 0xFFFF) {
} else if((num_of_impulses - 1) > UINT16_MAX) {
infrared_tim_tx.tx_timing_rest_duration = num_of_impulses - 1;
infrared_tim_tx.tx_timing_rest_status = status;
infrared_tim_tx.tx_timing_rest_level = level;
@@ -632,6 +637,7 @@ void furi_hal_infrared_async_tx_start(uint32_t freq, float duty_cycle) {
infrared_tim_tx.stop_semaphore = furi_semaphore_alloc(1, 0);
infrared_tim_tx.cycle_duration = 1000000.0 / freq;
infrared_tim_tx.tx_timing_rest_duration = 0;
infrared_tim_tx.cycle_remainder = 0;
furi_hal_infrared_tx_fill_buffer(0, INFRARED_POLARITY_SHIFT);
@@ -655,7 +661,7 @@ void furi_hal_infrared_async_tx_start(uint32_t freq, float duty_cycle) {
const GpioPin* tx_gpio = infrared_tx_pins[infrared_tx_output];
LL_GPIO_ResetOutputPin(tx_gpio->port, tx_gpio->pin); /* when disable it prevents false pulse */
furi_hal_gpio_init_ex(
tx_gpio, GpioModeAltFunctionPushPull, GpioPullUp, GpioSpeedHigh, GpioAltFn1TIM1);
tx_gpio, GpioModeAltFunctionPushPull, GpioPullNo, GpioSpeedHigh, GpioAltFn1TIM1);
FURI_CRITICAL_ENTER();
LL_TIM_GenerateEvent_UPDATE(INFRARED_DMA_TIMER); /* TIMx_RCR -> Repetition counter */

View File

@@ -29,10 +29,9 @@ const FuriHalRegionBand* furi_hal_region_get_band(uint32_t frequency) {
return NULL;
}
for(size_t i = 0; i < furi_hal_region->bands_count; i++) {
if(furi_hal_region->bands[i].start <= frequency &&
furi_hal_region->bands[i].end >= frequency) {
return &furi_hal_region->bands[i];
for(size_t i = 0; i < region->bands_count; i++) {
if(region->bands[i].start <= frequency && region->bands[i].end >= frequency) {
return &region->bands[i];
}
}