mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2024-12-24 22:07:14 +03:00
f4122a924a
* Abstract primitive type from main logic in FuriEventLoop * Remove message_queue_i.h * Add stream buffer support for event loop * Add semaphore support for event loop * Add temporary unit test workaround * Make the linter happy * Add mutex support for event loop * Implement event subscription and unsubscription while the event loop is running * Implement edge events * Fix leftover logical errors * Add event loop timer example application * Implement flag-based edge trigger and one-shot mode * Add event loop mutex example application * Only notify the event loop if stream buffer is at or above its trigger level * Reformat comments * Add event loop stream buffer example application * Add event loop multiple elements example application * Improve event loop flag names * Remove redundant signal handler as it is already handled by the event loop * Refactor Power service, improve ViewHolder * Use ViewHolder instead of ViewDispatcher in About app * Enable ViewDispatcher queue on construction, deprecate view_dispatcher_enable_queue() * Remove all invocations of view_dispatcher_enable_queue() * Remove app-scened-template * Remove missing library from target.json * Port Accessor app to ViewHolder * Make the linter happy * Add example_view_holder application, update ViewHolder docs * Add example_view_dispatcher application, update ViewDispatcher docs * Replace FuriSemaphore with FuriApiLock, remove workaround delay * Fix logical error * Fix another logical error * Use the sources directive to speed up compilation * Use constant define macro * Improve FuriEventLoop documentation * Improve FuriEventLoop documentation once more * Bump API Version * Gui: remove redundant checks from ViewDispatcher * Gui: remove dead ifs from ViewDispatcher Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com> Co-authored-by: hedger <hedger@users.noreply.github.com> Co-authored-by: あく <alleteam@gmail.com>
46 lines
2.2 KiB
C
46 lines
2.2 KiB
C
#include <update_util/resources/manifest.h>
|
|
#include <nfc/protocols/slix/slix_i.h>
|
|
#include <nfc/protocols/iso15693_3/iso15693_3_poller_i.h>
|
|
#include <FreeRTOS.h>
|
|
#include <FreeRTOS-Kernel/include/queue.h>
|
|
#include <task.h>
|
|
|
|
#include <rpc/rpc_i.h>
|
|
#include <flipper.pb.h>
|
|
#include <core/event_loop.h>
|
|
|
|
static constexpr auto unit_tests_api_table = sort(create_array_t<sym_entry>(
|
|
API_METHOD(resource_manifest_reader_alloc, ResourceManifestReader*, (Storage*)),
|
|
API_METHOD(resource_manifest_reader_free, void, (ResourceManifestReader*)),
|
|
API_METHOD(resource_manifest_reader_open, bool, (ResourceManifestReader*, const char*)),
|
|
API_METHOD(resource_manifest_reader_next, ResourceManifestEntry*, (ResourceManifestReader*)),
|
|
API_METHOD(resource_manifest_reader_previous, ResourceManifestEntry*, (ResourceManifestReader*)),
|
|
API_METHOD(slix_process_iso15693_3_error, SlixError, (Iso15693_3Error)),
|
|
API_METHOD(iso15693_3_poller_get_data, const Iso15693_3Data*, (Iso15693_3Poller*)),
|
|
API_METHOD(rpc_system_storage_get_error, PB_CommandStatus, (FS_Error)),
|
|
API_METHOD(xQueueSemaphoreTake, BaseType_t, (QueueHandle_t, TickType_t)),
|
|
API_METHOD(
|
|
xTaskGenericNotify,
|
|
BaseType_t,
|
|
(TaskHandle_t, UBaseType_t, uint32_t, eNotifyAction, uint32_t*)),
|
|
API_METHOD(xTaskGetCurrentTaskHandle, TaskHandle_t, ()),
|
|
API_METHOD(vQueueDelete, void, (QueueHandle_t)),
|
|
API_METHOD(
|
|
xQueueGenericCreateStatic,
|
|
QueueHandle_t,
|
|
(const UBaseType_t, const UBaseType_t, uint8_t*, StaticQueue_t*, const uint8_t)),
|
|
API_METHOD(
|
|
xQueueGenericSend,
|
|
BaseType_t,
|
|
(QueueHandle_t, const void* const, TickType_t, const BaseType_t)),
|
|
API_METHOD(furi_event_loop_alloc, FuriEventLoop*, (void)),
|
|
API_METHOD(furi_event_loop_free, void, (FuriEventLoop*)),
|
|
API_METHOD(
|
|
furi_event_loop_subscribe_message_queue,
|
|
void,
|
|
(FuriEventLoop*, FuriMessageQueue*, FuriEventLoopEvent, FuriEventLoopEventCallback, void*)),
|
|
API_METHOD(furi_event_loop_unsubscribe, void, (FuriEventLoop*, FuriEventLoopObject*)),
|
|
API_METHOD(furi_event_loop_run, void, (FuriEventLoop*)),
|
|
API_METHOD(furi_event_loop_stop, void, (FuriEventLoop*)),
|
|
API_VARIABLE(PB_Main_msg, PB_Main_msg_t)));
|