Merge Develop into Main (#298)

Various improvements and new internal APIs including a new Development service+app which allows `tactility.py` to upload and run applications remotely.
This commit is contained in:
Ken Van Hoeylandt
2025-07-19 00:27:49 +02:00
committed by GitHub
parent d06197a6aa
commit ab4cf79a47
25 changed files with 1096 additions and 12 deletions
@@ -4,6 +4,9 @@
*/
#pragma once
// Alloc
#define LOG_MESSAGE_ALLOC_FAILED "Memory allocation failed"
// Mutex
#define LOG_MESSAGE_MUTEX_LOCK_FAILED "Mutex acquisition timeout"
#define LOG_MESSAGE_MUTEX_LOCK_FAILED_FMT "Mutex acquisition timeout (%s)"
@@ -64,4 +64,12 @@ bool isAsciiHexString(const std::string& input);
/** @return the first part of a file name right up (and excluding) the first period character. */
std::string removeFileExtension(const std::string& input);
/**
* Remove the given characters from the start and end of the specified string.
* @param[in] input the text to trim
* @param[in] characters the characters to remove from the input
* @return the input where the specified characters are removed from the start and end of the input string
*/
std::string trim(const std::string& input, const std::string& characters);
} // namespace
-1
View File
@@ -13,7 +13,6 @@ class Timer {
public:
typedef std::function<void()> Callback;
// typedef std::function<void(uint32_t)> PendingCallback;
typedef void (*PendingCallback)(void* context, uint32_t arg);
private:
+10
View File
@@ -96,4 +96,14 @@ bool isAsciiHexString(const std::string& input) {
}).empty();
}
std::string trim(const std::string& input, const std::string& characters) {
auto index = input.find_first_not_of(characters);
if (index == std::string::npos) {
return "";
} else {
auto end_index = input.find_last_not_of(characters);
return input.substr(index, end_index - index + 1);
}
}
} // namespace