Merge develop into main (#313)
- Add app path get() functions to `TactilityC` - Improved `Dispatcher` and `DispatcherThread` - Improved `PubSub` (type safety) - Created test for `DispatcherThread` and `PubSub` - Save properties files on app exit (various apps) by posting it to the main dispatcher (fixes UI hanging briefly on app exit) - Fixed bug with `SystemSettings` being read from the wrong file path. - `loadPropertiesFile()` now uses `file::readLines()` instead of doing that manually - Increased timer task stack size (required due to issues when reading a properties file for the very first time) - General cleanup - Created `EstimatedPower` driver that uses an ADC pin to measure voltage and estimate the battery charge that is left. - Cleanup of T-Deck board (updated to new style)
This commit is contained in:
committed by
GitHub
parent
5cc5b50694
commit
0f8380e8fe
@@ -4,6 +4,8 @@
|
||||
|
||||
extern "C" {
|
||||
|
||||
constexpr auto* TAG = "tt_app";
|
||||
|
||||
#define HANDLE_AS_APP_CONTEXT(handle) ((tt::app::AppContext*)(handle))
|
||||
|
||||
BundleHandle _Nullable tt_app_get_parameters(AppHandle handle) {
|
||||
@@ -31,4 +33,38 @@ void tt_app_stop() {
|
||||
tt::app::stop();
|
||||
}
|
||||
|
||||
void tt_app_get_data_directory(AppPathsHandle handle, char* buffer, size_t& size) {
|
||||
assert(buffer != nullptr);
|
||||
assert(size > 0);
|
||||
auto paths = HANDLE_AS_APP_CONTEXT(handle)->getPaths();
|
||||
auto data_path = paths->getDataDirectory();
|
||||
auto expected_length = data_path.length() + 1;
|
||||
if (size < expected_length) {
|
||||
TT_LOG_E(TAG, "Path buffer not large enough (%d < %d)", size, expected_length);
|
||||
size = 0;
|
||||
buffer[0] = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
strcpy(buffer, data_path.c_str());
|
||||
size = data_path.length();
|
||||
}
|
||||
|
||||
void tt_app_get_data_directory_lvgl(AppPathsHandle handle, char* buffer, size_t& size) {
|
||||
assert(buffer != nullptr);
|
||||
assert(size > 0);
|
||||
auto paths = HANDLE_AS_APP_CONTEXT(handle)->getPaths();
|
||||
auto data_path = paths->getDataDirectoryLvgl();
|
||||
auto expected_length = data_path.length() + 1;
|
||||
if (size < expected_length) {
|
||||
TT_LOG_E(TAG, "Path buffer not large enough (%d < %d)", size, expected_length);
|
||||
size = 0;
|
||||
buffer[0] = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
strcpy(buffer, data_path.c_str());
|
||||
size = data_path.length();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user