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.
This commit is contained in:
2023-05-23 02:19:46 +02:00
parent 6543ac4d95
commit 2347b738c5
19 changed files with 255 additions and 204 deletions

View File

@ -1,44 +1,58 @@
#include <platform/hal/simulator/sdl2/HALSDL2.hpp>
#include <touchgfx/hal/NoDMA.hpp>
#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 <touchgfx/lcd/LCD.hpp>
#include <stdlib.h>
#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)
{
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);
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::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);
touchgfx::HAL &hal = touchgfx::touchgfx_generic_init<touchgfx::HALSDL2>(
dma, lcd, tc, SIM_WIDTH, SIM_HEIGHT, 0, 0);
setupSimulator(argc, argv, hal);
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();
// 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
touchgfx::HAL::getInstance()->taskEntry(); // Never returns
return EXIT_SUCCESS;
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;
}