Пример #1
0
int main()
{
	int fd = obd_open(OBD_PORT);
	int avr_fd = avr_open(AVR_PORT);
	FILE* timelog = open_timing_log();

	int RPM = 0;
	int speed = 0;
	
	time_t start, end;

	obd_setup(fd);

	printf("Beginning read cycle...\n");

	while (true) {
		
		start = time(0);
		RPM = get_rpm(fd);
		end = time(0);
		log_time(timelog, end - start);
		
		speed = get_speed(fd);

		if ((RPM != -1) && (speed != -1)) {
			send_to_avr(avr_fd, speed, RPM);
			printf("RPM: %d\nSpeed: %d\n", RPM, speed);
		}
		//flush buffers just in case
		tcflush(fd, TCIOFLUSH);
	}

	return 0;
}
Пример #2
0
static Bool avr_on_event ( void *udta, GF_Event *evt, Bool consumed_by_compositor )
{
    GF_AVRedirect *avr = udta;
    switch ( evt->type )
    {
    case GF_EVENT_CONNECT:
        if ( evt->connect.is_connected )
        {
            avr_open ( avr );
        }
        else
        {
            avr_close ( avr );
        }
        break;
    }
    return 0;
}