mirror of
https://github.com/ByteWelder/Tactility.git
synced 2026-10-17 10:55:06 +00:00
Graphics & rendering - Implement `binfont-module` to generate bitmap fonts on the device itself - Remove lodepng support from LVGL library and create `Modules/lodepng-module` to make the feature re-usable in non-LVGL apps too. Add binding functions for LVGL support. - Implement large icons for boot screen (Tactility and USB logos) - Remove unused asset files in `Data/` Boot - Split up `Tactility.cpp` and its `run()` function into various `Init*.cpp` files. - Re-implement `Boot.cpp` app as non-LVGL app - Boot app now has a `BootSequence.cpp` for the init code. - LVGL is now started when the Boot app finishes - Move more init logic into Boot app BLE - Don't allocate scan result buffers unless BLE is on - Allocate scan results in external memory if possible UX & UI - USB Settings app: remove border from the button container
65 lines
1.2 KiB
C++
65 lines
1.2 KiB
C++
#define DOCTEST_CONFIG_IMPLEMENT
|
|
#include "doctest.h"
|
|
#include <cstdio>
|
|
#include <cstdlib>
|
|
|
|
#include "FreeRTOS.h"
|
|
#include "task.h"
|
|
|
|
typedef struct {
|
|
int argc;
|
|
char** argv;
|
|
int result;
|
|
} TestTaskData;
|
|
|
|
void test_task(void* parameter) {
|
|
auto* data = (TestTaskData*)parameter;
|
|
|
|
doctest::Context context;
|
|
|
|
context.applyCommandLine(data->argc, data->argv);
|
|
|
|
// overrides
|
|
context.setOption("no-breaks", true); // don't break in the debugger when assertions fail
|
|
|
|
data->result = context.run();
|
|
|
|
vTaskEndScheduler();
|
|
|
|
vTaskDelete(nullptr);
|
|
}
|
|
|
|
int main(int argc, char** argv) {
|
|
TestTaskData data = {
|
|
.argc = argc,
|
|
.argv = argv,
|
|
.result = 0
|
|
};
|
|
|
|
BaseType_t task_result = xTaskCreate(
|
|
test_task,
|
|
"test_task",
|
|
8192,
|
|
&data,
|
|
1,
|
|
nullptr
|
|
);
|
|
|
|
if (task_result != pdPASS) {
|
|
return 1;
|
|
}
|
|
|
|
vTaskStartScheduler();
|
|
|
|
return data.result;
|
|
}
|
|
|
|
// NOTE: This is normally provided by the platform kernel module, but that's not loaded for binfont-module
|
|
extern "C" {
|
|
// Required for FreeRTOS
|
|
void vAssertCalled(unsigned long line, const char* const file) {
|
|
std::fprintf(stderr, "assert failed at %s:%lu\n", file, line);
|
|
std::abort();
|
|
}
|
|
}
|