File System Tasks #40
Labels
No Label
OPS TODO
api change
breaking api change
bug
documentation
duplicate
feature
help wanted
invalid
question
wontfix
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: eive/eive-obsw#40
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Various tasks for file system handling:
CoreController
which performs various CPU/Core related tasks. Manages the critical data black in a thread-safe way, using a Mutex and a critical data struct. This struct will be backed up to NVM regularly.SdCardManager
class which manages opening and closing the filesystem if it is used by multiple threads concurrently. Does so by using mutex and counter for each SD card. If a SD card is not used (counter == 0), SD card access will be closed.SdCardAccess
token class, RAII conformant, created on stack to get access to the currently active preferred SD Card. In normal cases, preferred SD card will be opened. Preferred SD Card will be part of critical data, kept in RAM but backed up to NVM memory regularly. Reading and updating it will be thread-safe as well, using theCoreController
std::ifstream
andstd::ofstream
. Those are threadsafe, as long as the error flags are checked after eachread
functionSdCardAccess
will not be usedThe
SdCardManager
is a globally usable singleton to make using the SD card easier