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

[FL-3764] Expansion module service improvements (#3429)

* Separate expansion control and worker threads
* Add edge case checks
* Reduce expansion control thread stack size, add comments
* Fix crash when disabling expansion modules
* Show a different RPC icon for expansion modules
* Restore expansion interrupt on changing logging settings
* Improve responsiveness in heavy games at the expense of dropped frames
* Improve furi_hal_serial API
* Fix a typo
* Remove too optimistic furi_check, replace with condition
* Fix premature RX interrupt during serial configuration
* Disable expansion interrupt if the handle was acquired
* Do not use a timer callback

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
Georgii Surkov
2024-02-12 05:16:34 +03:00
committed by GitHub
parent 14dabf523a
commit 6836a7b7c5
12 changed files with 793 additions and 416 deletions

View File

@@ -189,6 +189,12 @@ bool rpc_pb_stream_read(pb_istream_t* istream, pb_byte_t* buf, size_t count) {
furi_assert(session);
furi_assert(istream->bytes_left);
/* TODO FL-3768 this function may be called after
marking the worker for termination */
if(session->terminate) {
return false;
}
uint32_t flags = 0;
size_t bytes_received = 0;