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

add missing api [ci skip]

This commit is contained in:
MX
2025-02-13 20:20:25 +03:00
parent d4830270a4
commit dea16b7055
4 changed files with 32 additions and 0 deletions

View File

@@ -40,6 +40,7 @@ env.Append(
File("pulse_protocols/pulse_glue.h"), File("pulse_protocols/pulse_glue.h"),
File("md5_calc.h"), File("md5_calc.h"),
File("varint.h"), File("varint.h"),
File("run_parallel.h"),
], ],
) )

View File

@@ -0,0 +1,17 @@
#include "run_parallel.h"
#include <stdlib.h>
static void run_parallel_thread_state(FuriThread* thread, FuriThreadState state, void* context) {
UNUSED(context);
if(state == FuriThreadStateStopped) {
furi_thread_free(thread);
}
}
void run_parallel(FuriThreadCallback callback, void* context, uint32_t stack_size) {
FuriThread* thread = furi_thread_alloc_ex(NULL, stack_size, callback, context);
furi_thread_set_state_callback(thread, run_parallel_thread_state);
furi_thread_start(thread);
}

View File

@@ -0,0 +1,12 @@
#pragma once
#include <core/thread.h>
/**
* @brief Run function in thread, then automatically clean up thread.
*
* @param[in] callback pointer to a function to be executed in parallel
* @param[in] context pointer to a user-specified object (will be passed to the callback)
* @param[in] stack_size stack size in bytes
*/
void run_parallel(FuriThreadCallback callback, void* context, uint32_t stack_size);

View File

@@ -241,6 +241,7 @@ Header,+,lib/toolbox/pipe.h,,
Header,+,lib/toolbox/pretty_format.h,, Header,+,lib/toolbox/pretty_format.h,,
Header,+,lib/toolbox/protocols/protocol_dict.h,, Header,+,lib/toolbox/protocols/protocol_dict.h,,
Header,+,lib/toolbox/pulse_protocols/pulse_glue.h,, Header,+,lib/toolbox/pulse_protocols/pulse_glue.h,,
Header,+,lib/toolbox/run_parallel.h,,
Header,+,lib/toolbox/saved_struct.h,, Header,+,lib/toolbox/saved_struct.h,,
Header,+,lib/toolbox/simple_array.h,, Header,+,lib/toolbox/simple_array.h,,
Header,+,lib/toolbox/stream/buffered_file_stream.h,, Header,+,lib/toolbox/stream/buffered_file_stream.h,,
@@ -3155,6 +3156,7 @@ Function,+,rpc_system_app_set_callback,void,"RpcAppSystem*, RpcAppSystemCallback
Function,+,rpc_system_app_set_error_code,void,"RpcAppSystem*, uint32_t" Function,+,rpc_system_app_set_error_code,void,"RpcAppSystem*, uint32_t"
Function,+,rpc_system_app_set_error_text,void,"RpcAppSystem*, const char*" Function,+,rpc_system_app_set_error_text,void,"RpcAppSystem*, const char*"
Function,-,rpmatch,int,const char* Function,-,rpmatch,int,const char*
Function,+,run_parallel,void,"FuriThreadCallback, void*, uint32_t"
Function,+,saved_struct_get_metadata,_Bool,"const char*, uint8_t*, uint8_t*, size_t*" Function,+,saved_struct_get_metadata,_Bool,"const char*, uint8_t*, uint8_t*, size_t*"
Function,+,saved_struct_load,_Bool,"const char*, void*, size_t, uint8_t, uint8_t" Function,+,saved_struct_load,_Bool,"const char*, void*, size_t, uint8_t, uint8_t"
Function,+,saved_struct_save,_Bool,"const char*, const void*, size_t, uint8_t, uint8_t" Function,+,saved_struct_save,_Bool,"const char*, const void*, size_t, uint8_t, uint8_t"
1 entry status name type params
241 Header + lib/toolbox/pretty_format.h
242 Header + lib/toolbox/protocols/protocol_dict.h
243 Header + lib/toolbox/pulse_protocols/pulse_glue.h
244 Header + lib/toolbox/run_parallel.h
245 Header + lib/toolbox/saved_struct.h
246 Header + lib/toolbox/simple_array.h
247 Header + lib/toolbox/stream/buffered_file_stream.h
3156 Function + rpc_system_app_set_error_code void RpcAppSystem*, uint32_t
3157 Function + rpc_system_app_set_error_text void RpcAppSystem*, const char*
3158 Function - rpmatch int const char*
3159 Function + run_parallel void FuriThreadCallback, void*, uint32_t
3160 Function + saved_struct_get_metadata _Bool const char*, uint8_t*, uint8_t*, size_t*
3161 Function + saved_struct_load _Bool const char*, void*, size_t, uint8_t, uint8_t
3162 Function + saved_struct_save _Bool const char*, const void*, size_t, uint8_t, uint8_t