Ejemplo n.º 1
0
static struct DriverInstances * DisplayUSB2812()
{
	struct DriverInstances * ret = malloc( sizeof( struct DriverInstances ) );
	memset( ret, 0, sizeof( struct DriverInstances ) );
	struct LEDOutDriver * led = ret->id = malloc( sizeof( struct LEDOutDriver ) );
	ret->Func = LEDUpdate;
	ret->Params = LEDParams;
	OGCreateThread( LEDOutThread, led );
	led->readyFlag = 0;
	LEDParams( led );
	return ret;

}
Ejemplo n.º 2
0
static struct DriverInstances * DisplayDMX()
{
	struct DriverInstances * ret = malloc( sizeof( struct DriverInstances ) );
	memset( ret, 0, sizeof( struct DriverInstances ) );
	struct DMXOutDriver * led = ret->id = malloc( sizeof( struct DMXOutDriver ) );
	ret->Func = DMXUpdate;
	ret->Params = DMXParams;
	OGCreateThread( DMXOutThread, led );
	led->readyFlag = 0;
	DMXParams( led );
	return ret;

}
Ejemplo n.º 3
0
int main(int argc, char**argv)
{
	char sendline[1000];

	if (argc != 3)
	{
      fprintf( stderr, "usage:  udpcli <IP address> <joy file>\n");
      return -2;
	}

	sockfd=socket(AF_INET,SOCK_DGRAM,0);

	if( sockfd <= 0 )
	{
		fprintf( stderr, "Error: could not allocate socket.\n" );
		return -1;
	}

	joyf = open (argv[2], O_RDONLY);

	if( joyf <= 0 )
	{
		fprintf( stderr, "Error: could not open joystick.\n" );
		return -1;
	}

	bzero(&servaddr,sizeof(servaddr));
	servaddr.sin_family = AF_INET;
	servaddr.sin_addr.s_addr=inet_addr(argv[1]);
	servaddr.sin_port=htons(7777);

	joy_t = OGCreateThread( &joy, 0 );
	recv_t = OGCreateThread( &recvthd, 0 );

	while(1)
	{
		int r = sendto(sockfd,"MA\n",3,0, (struct sockaddr *)&servaddr,sizeof(servaddr));
		if( r != 3 )
		{
			fprintf( stderr, "Error: could not send. %d\n", r  );
			exit( -4 );
		}

		r = sendto(sockfd,"T1\n",3,0, (struct sockaddr *)&servaddr,sizeof(servaddr));
		if( r != 3 )
		{
			fprintf( stderr, "Error: could not send. %d\n", r  );
			exit( -4 );
		}

		usleep(10000);

		if( ((gotjoy & 0x0f) == 0x0f ) )
		{
			int n = sprintf( sendline, "J%d:%d:%d:%d", joyd[0]/3, joyd[1]/3, joyd[2]/3, -joyd[3]/3-100 );
			puts( sendline );
			int r = sendto(sockfd,sendline, n,0, (struct sockaddr *)&servaddr,sizeof(servaddr));
			if( r != n )
			{
				fprintf( stderr, "Error: could not send.%d\n", r );
				exit( -4 );
			}
		}

		FILE * tuning = fopen( "tuning.txt", "rb" );
		int i = 0;
		if( tuning )
		{
			for( i = 0; i < sizeof( sendline ) && !feof( tuning ) && !ferror( tuning ); i++ )
			{
				sendline[i] = fgetc( tuning );
			}
			fclose( tuning );
		}
		if( i )
		{
			int r = sendto(sockfd,sendline, i,0, (struct sockaddr *)&servaddr,sizeof(servaddr));
			if( r != i )
			{
					fprintf( stderr, "Error: could not send tuning.%d\n", r );
					exit( -4 );
			}
		}


		usleep(10000);

	}
/*	while (fgets(sendline, 10000,stdin) != NULL)
	{
		sendto(sockfd,sendline,strlen(sendline),0,
			(struct sockaddr *)&servaddr,sizeof(servaddr));
		n=recvfrom(sockfd,recvline,10000,0,NULL,NULL);
		recvline[n]=0;
		fputs(recvline,stdout);
	}*/


}