1
mirror of https://github.com/flipperdevices/flipperzero-firmware.git synced 2025-12-12 04:41:26 +04:00

Various Fixes for 0.95 (#3215)

* FuriHal: retry gauge/charger initialization
* FuriHal: lower logging level for flash known errata
* FuriHal: graceful fail if subghz chip is not working
* Furi: issue stop command even if timer is not active, document timer behavior
This commit is contained in:
あく
2023-11-16 01:11:05 +09:00
committed by GitHub
parent a61b5d4b4c
commit 457aa5331f
5 changed files with 95 additions and 42 deletions

View File

@@ -122,17 +122,10 @@ FuriStatus furi_timer_stop(FuriTimer* instance) {
furi_assert(instance);
TimerHandle_t hTimer = (TimerHandle_t)instance;
FuriStatus stat;
if(xTimerIsTimerActive(hTimer) == pdFALSE) {
stat = FuriStatusErrorResource;
} else {
furi_check(xTimerStop(hTimer, portMAX_DELAY) == pdPASS);
stat = FuriStatusOk;
}
furi_check(xTimerStop(hTimer, portMAX_DELAY) == pdPASS);
/* Return execution status */
return (stat);
return FuriStatusOk;
}
uint32_t furi_timer_is_running(FuriTimer* instance) {

View File

@@ -32,6 +32,9 @@ FuriTimer* furi_timer_alloc(FuriTimerCallback func, FuriTimerType type, void* co
void furi_timer_free(FuriTimer* instance);
/** Start timer
*
* @warning This is asynchronous call, real operation will happen as soon as
* timer service process this request.
*
* @param instance The pointer to FuriTimer instance
* @param[in] ticks The interval in ticks
@@ -41,6 +44,9 @@ void furi_timer_free(FuriTimer* instance);
FuriStatus furi_timer_start(FuriTimer* instance, uint32_t ticks);
/** Restart timer with previous timeout value
*
* @warning This is asynchronous call, real operation will happen as soon as
* timer service process this request.
*
* @param instance The pointer to FuriTimer instance
* @param[in] ticks The interval in ticks
@@ -50,6 +56,9 @@ FuriStatus furi_timer_start(FuriTimer* instance, uint32_t ticks);
FuriStatus furi_timer_restart(FuriTimer* instance, uint32_t ticks);
/** Stop timer
*
* @warning This is asynchronous call, real operation will happen as soon as
* timer service process this request.
*
* @param instance The pointer to FuriTimer instance
*
@@ -58,6 +67,10 @@ FuriStatus furi_timer_restart(FuriTimer* instance, uint32_t ticks);
FuriStatus furi_timer_stop(FuriTimer* instance);
/** Is timer running
*
* @warning This cal may and will return obsolete timer state if timer
* commands are still in the queue. Please read FreeRTOS timer
* documentation first.
*
* @param instance The pointer to FuriTimer instance
*