mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-11-30 08:20:21 +00:00
aa06328516
* Furi: remove direct FreeRTOS timers use * Furi: eliminate FreeRTOS headers leak. What did it cost? Everything... * SubGhz: proper public api for protocols. Format Sources. * Furi: slightly less redundant declarations * Desktop: proper types in printf * Sync API Symbols * Furi: add timer reset and fix dolphin service, fix unit tests * Furi: proper timer restart method naming and correct behavior in timer stopped state. --------- Co-authored-by: hedger <hedger@nanode.su>
28 lines
786 B
C
28 lines
786 B
C
#include "furi.h"
|
|
#include <string.h>
|
|
|
|
#include <FreeRTOS.h>
|
|
#include <queue.h>
|
|
|
|
void furi_init() {
|
|
furi_assert(!furi_kernel_is_irq_or_masked());
|
|
furi_assert(xTaskGetSchedulerState() == taskSCHEDULER_NOT_STARTED);
|
|
|
|
furi_log_init();
|
|
furi_record_init();
|
|
}
|
|
|
|
void furi_run() {
|
|
furi_assert(!furi_kernel_is_irq_or_masked());
|
|
furi_assert(xTaskGetSchedulerState() == taskSCHEDULER_NOT_STARTED);
|
|
|
|
#if(__ARM_ARCH_7A__ == 0U)
|
|
/* Service Call interrupt might be configured before kernel start */
|
|
/* and when its priority is lower or equal to BASEPRI, svc instruction */
|
|
/* causes a Hard Fault. */
|
|
NVIC_SetPriority(SVCall_IRQn, 0U);
|
|
#endif
|
|
|
|
/* Start the kernel scheduler */
|
|
vTaskStartScheduler();
|
|
}
|