コード例 #1
0
int main(int argc, char* argv[])
{

	LoggerConfig *config = getWorkingLoggerConfig();
	initApi();
	initialize_logger_config();
	setupMockSerial();
	imu_init(config);
	resetPredictiveTimer();

	int pt;

	pt = open("/dev/ptmx", O_RDWR | O_NOCTTY);
	if (pt < 0)
	{
		perror("open /dev/ptmx");
		return 1;
	}

	grantpt(pt);
	unlockpt(pt);

	fprintf(stderr, "RaceCapture/Pro simulator on: %s\n", ptsname(pt));

	char line[LINE_BUFFER_SIZE];
	memset(line, 0, LINE_BUFFER_SIZE);
	int messageCount = 0;
	while(1){
		size_t count = 0;
		line[0] = '\0';
		while (count < LINE_BUFFER_SIZE){
			char c;
			read(pt, &c, 1);
			line[count] = c;
			count++;
			if (c == '\r'){
				line[count] = '\0';
				break;
			}
		}

		printf("rx: (%zu): %s\r\n", strlen(line), line);
		mock_resetTxBuffer();
		process_api(getMockSerial(), line, strlen(line));
		char *txBuffer = mock_getTxBuffer();
		printf("tx:(%zu) %s\r\n", strlen(txBuffer), txBuffer);
		write(pt, txBuffer, strlen(txBuffer));
		pr_info_int(++messageCount);
		pr_info(" messages\r\n");
	}
	return 0;
}
コード例 #2
0
void setupTask(void *delTask)
{
        initialize_tracks();
        initialize_logger_config();
        InitLoggerHardware();
        initMessaging();

        startUSBCommTask(RCP_INPUT_PRIORITY);
        startGPIOTasks(RCP_INPUT_PRIORITY);
        startGPSTask(RCP_INPUT_PRIORITY);
        startOBD2Task(RCP_INPUT_PRIORITY);
        startFileWriterTask(RCP_OUTPUT_PRIORITY);
        startConnectivityTask(RCP_OUTPUT_PRIORITY);
        startLoggerTaskEx(RCP_LOGGING_PRIORITY);
        startLuaTask(RCP_LUA_PRIORITY);

        /* Removes this setup task from the scheduler */
        if (delTask)
                vTaskDelete(NULL);
}
コード例 #3
0
void setupTask(void *params)
{
    (void)params;

    initialize_tracks();
    initialize_logger_config();
    initialize_script();
    InitLoggerHardware();
    initMessaging();

    startGPIOTasks			( GPIO_TASK_PRIORITY );
    startUSBCommTask		( USB_COMM_TASK_PRIORITY );
    startLuaTask			( LUA_TASK_PRIORITY );
    startFileWriterTask		( FILE_WRITER_TASK_PRIORITY );
    startConnectivityTask	( CONNECTIVITY_TASK_PRIORITY );
    startGPSTask			( GPS_TASK_PRIORITY );
    startOBD2Task			( OBD2_TASK_PRIORITY);
    startLoggerTaskEx		( LOGGER_TASK_PRIORITY );

    /* Removes this setup task from the scheduler */
    vTaskDelete(NULL);
}
コード例 #4
0
void setupTask(void *param)
{
        initialize_tracks();
        initialize_logger_config();

        InitLoggerHardware();
        initMessaging();

        startGPSTask(RCP_INPUT_PRIORITY);

#if USB_SERIAL_SUPPORT
        startUSBCommTask(RCP_INPUT_PRIORITY);
#endif

        start_CAN_task(RCP_INPUT_PRIORITY);
        startConnectivityTask(RCP_OUTPUT_PRIORITY);
        startLoggerTaskEx(RCP_LOGGING_PRIORITY);

#if GPIO_CHANNELS > 0
        startGPIOTasks(RCP_INPUT_PRIORITY);
#endif

#if SDCARD_SUPPORT
        startFileWriterTask(RCP_OUTPUT_PRIORITY);
#endif

#if LUA_SUPPORT
        lua_task_init(RCP_LUA_PRIORITY);
#endif

#if WIFI_SUPPORT
        wifi_init_task(RCP_OUTPUT_PRIORITY, RCP_INPUT_PRIORITY);
#endif

        /* Removes this setup task from the scheduler */
        pr_info("[main] Setup Task complete!\r\n");
        vTaskDelete(NULL);
}