-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Closed
Description
One of the most important component of Flipper Core is FURI (Flipper Universal Registry Implementation). It helps control the applications flow, make dynamic linking and interaction between applications.
In fact, FURI is just wrapper around RTOS thread management and mutexes, and callback management.
We have draft implementing of it, but there are some issues:
- value mutex not implemented (
test_furi_concurrent_accessfailed) - any API returns
boolorpointer | NULL, maybe add enum with error statuses - function
furi_openhas 6 arguments, maybe pass bitmask of flags - at
furiac_startwe have array for task stack and descriptor and don't reuse its elements after some task ends - you can subscribe to changing record state by passing
state_callbacktofuri_openbut it is not used (test_furi_mute_algorithm, part 3 failed). Also I suggest leave 1 callback for data and state (with "type" argument) -
test_furi_nonexistent_datanot implemented - part of
test_furi_mute_algorithmnot implemented - Mute algorithm only partially implemented, if you want to do this, contact @glitchcore and get some vision from my mind
- Opened records not close on app exit.
Also I think about implement FURI completely in Rust
We have 2 limitations here:
- You cannot "send some data and get answer" (only take pointer to function and call it)
- Bidirectional pipes.
Metadata
Metadata
Assignees
Labels
No labels