/* Main generated for Simulink Real-Time model VFControl */ #include #include #include "VFControl.h" #include "rte_VFControl_parameters.h" /* Task wrapper function definitions */ void VFControl_Task1(void) { VFControl_step0(); } void VFControl_Task2(void) { VFControl_step2(); } /* Task descriptors */ slrealtime::TaskInfo task_1( 0u, std::bind(VFControl_Task1), slrealtime::TaskInfo::PERIODIC, 0.0001, 0, 40); slrealtime::TaskInfo task_2( 1u, std::bind(VFControl_Task2), slrealtime::TaskInfo::PERIODIC, 0.0005, 0, 39); /* Executable base address for XCP */ #ifdef __linux__ extern char __executable_start; static uintptr_t const base_address = reinterpret_cast(&__executable_start); #else /* Set 0 as placeholder, to be parsed later from /proc filesystem */ static uintptr_t const base_address = 0; #endif /* Model descriptor */ slrealtime::ModelInfo VFControl_Info = { "VFControl", VFControl_initialize, VFControl_terminate, []()->char const*& { return VFControl_M->errorStatus; }, []()->unsigned char& { return VFControl_M->Timing.stopRequestedFlag; }, { task_1, task_2 }, slrealtime::getSegmentVector() }; int main(int argc, char *argv[]) { slrealtime::BaseAddress::set(base_address); return slrealtime::runModel(argc, argv, VFControl_Info); }