Jasper v. Blanckenburg 2347b738c5 Make header structure compatible with simulator
Currently, the generated Makefile doesn't successfully compile. But it
is possible to run the simulator again by manually editing the Makefile.
2023-05-23 02:20:00 +02:00

59 lines
1.6 KiB
C++

#include "gui/model/Model.hpp"
#include "params.h"
#include "vehicle.h"
#include "vehicle_state.h"
#include <common/TouchGFXInit.hpp>
#include <gui_generated/common/SimConstants.hpp>
#include <platform/driver/touch/SDL2TouchController.hpp>
#include <platform/hal/simulator/sdl2/HALSDL2.hpp>
#include <simulator/mainBase.hpp>
#include <stdlib.h>
#include <touchgfx/hal/NoDMA.hpp>
#include <touchgfx/lcd/LCD.hpp>
using namespace touchgfx;
#ifdef __linux__
int main(int argc, char **argv) {
#else
#include <shellapi.h>
#ifdef _UNICODE
#error Cannot run in unicode mode
#endif
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow) {
int argc;
char **argv = touchgfx::HALSDL2::getArgv(&argc);
#endif
touchgfx::NoDMA dma; // For windows/linux, DMA transfers are simulated
LCD &lcd = setupLCD();
touchgfx::SDL2TouchController tc;
touchgfx::HAL &hal = touchgfx::touchgfx_generic_init<touchgfx::HALSDL2>(
dma, lcd, tc, SIM_WIDTH, SIM_HEIGHT, 0, 0);
setupSimulator(argc, argv, hal);
// Ensure there is a console window to print to using printf() or
// std::cout, and read from using e.g. fgets or std::cin.
// Alternatively, instead of using printf(), always use
// touchgfx_printf() which will ensure there is a console to write
// to.
// touchgfx_enable_stdio();
touchgfx::HAL::getInstance()->taskEntry(); // Never returns
return EXIT_SUCCESS;
}
// Stubs
extern "C" {
VehicleState vehicle_state;
void params_dec(ParamType param) {}
void params_inc(ParamType param) {}
void params_broadcast(ParamType param) {}
void vehicle_select_mission(Mission mission) {}
Params params;
}