Tactility/Boards/Simulator/Source/hal/SimulatorSdCard.h
Ken Van Hoeylandt a7a3b17ff6
SD card improvements (#214)
- Implement SD card locking logic and helper functions
- Fix issue with running ELF apps from SD card: this would crash when launched from the AppList
- Reduce Boot app wait time to 1 second
- Speed up boot by about 0.1 second by moving app&service registration to the Boot app
- Files app now uses proper SD card mount point name (and multiple SD cards)
- Removed `TT_SCREENSHOT_MODE`
2025-02-09 12:01:01 +01:00

46 lines
1021 B
C++

#pragma once
#include <Tactility/hal/SdCard.h>
#include <Tactility/Mutex.h>
#include <memory>
using namespace tt::hal;
class SimulatorSdCard final : public SdCard {
private:
State state;
std::shared_ptr<tt::Lockable> lockable;
std::string mountPath;
public:
SimulatorSdCard() : SdCard(MountBehaviour::AtBoot),
state(State::Unmounted),
lockable(std::make_shared<tt::Mutex>())
{}
std::string getName() const final { return "Mock SD Card"; }
std::string getDescription() const final { return ""; }
bool mount(const std::string& newMountPath) final {
state = State::Mounted;
mountPath = newMountPath;
return true;
}
bool unmount() override {
state = State::Unmounted;
mountPath = "";
return true;
}
std::string getMountPath() const final { return mountPath; };
std::shared_ptr<tt::Lockable> getLockable() const final { return lockable; }
State getState() const override { return state; }
};