コード例 #1
0
ファイル: ledHandler.c プロジェクト: Yulquen/LXR
//-------------------------------------------------
void led_clearSequencerLeds1_8()
{
	for(int i=0;i<8;i++)
	{
		led_setValue(0,LED_STEP1 + i);
	}
};
コード例 #2
0
ファイル: ledHandler.c プロジェクト: Yulquen/LXR
//-------------------------------------------------
void led_setMode2(uint8_t status)
{
	led_setValue(0,LED_MODE1);
	led_setValue(0,LED_MODE2);
	led_setValue(0,LED_MODE3);
	led_setValue(0,LED_MODE4);	
	
	led_setBlinkLed(LED_MODE1,0);
	led_setBlinkLed(LED_MODE2,0);
	led_setBlinkLed(LED_MODE3,0);
	led_setBlinkLed(LED_MODE4,0);
			
	switch(status)
	{
		case 0:
			led_setValue(1,LED_MODE1);
		break;
		
		case 1:
			led_setValue(1,LED_MODE2);
		break;
		
		case 2:
			led_setValue(1,LED_MODE3);
		break;
		
		case 3:
			led_setValue(1,LED_MODE4);		
		break;
		
		case 4:
			led_setValue(1,LED_MODE4);	
		break;
		
		case 5:
			led_setBlinkLed(LED_MODE2,1);
		break;
		
		case 6:
			
		break;
		
		case 7:
			led_setBlinkLed(LED_MODE4,1);
		break;
		
		default:
		break;
	}
};
コード例 #3
0
ファイル: ledHandler.c プロジェクト: Yulquen/LXR
//--------------------------------------------
void led_initPerformanceLeds()
{
	led_setValue(1,menu_playedPattern + LED_PART_SELECT1);
	// a blinking LED shows the viewed pattern if different from the played pattern
	if(menu_playedPattern != menu_getViewedPattern())
	{
		led_setBlinkLed(LED_PART_SELECT1 + menu_getViewedPattern() ,1);
	}		
};
コード例 #4
0
ファイル: POC_0528.c プロジェクト: ksthar/POC_0528
int main(void) {	//this code emulates the RSI process...

	puts("RSI-BLE POC 1...");
	led_setValue(GREEN, 0);
	led_setValue(RED, 0);
	led_setValue(BLUE, 0);

	int rsi_fd = rsiOpen();
	int reqLength, respLength, count, status;
	int running = 1;


	char rsiRequestFrame[RSI_MAX_FRAME_SIZE];
	char rsiResponseFrame[RSI_MAX_FRAME_SIZE];

	// ======================= SET UP SOCKET ==========================
	// socket will be ./demo_socket
	// socket vars
	struct sockaddr_un address;
	int socket_fd, connection_fd, writeToLeet;
	socklen_t address_length;
	pid_t child;
	address_length = 0;
	writeToLeet = 1;
	int counter = 0;
	char ctrString[ 4 ];

	// ignore the SIGCHLD signal to prevent zombie processes
	signal( SIGCHLD, SIG_IGN );

	printf( "Starting socket...\n" );

	socket_fd = socket(PF_UNIX, SOCK_STREAM, 0);
	if(socket_fd < 0)
	{
	  printf( "socket() failed\n" );
	  return 1;
	}

	unlink("./demo_socket");

	/* start with a clean address structure */
	memset(&address, 0, sizeof(struct sockaddr_un));

	address.sun_family = AF_UNIX;
	snprintf(address.sun_path, UNIX_PATH_MAX, "./demo_socket");

	if(bind(socket_fd, (struct sockaddr *) &address, sizeof(struct sockaddr_un)) != 0)
	{
		printf( "bind() failed\n" );
		return 1;
	}

	if(listen(socket_fd, 5) != 0)
	{
		printf( "listen() failed\n" );
		return 1;
	}

	// ======================= MAIN LOOP ==========================
	while (running) {	//emulate RSI process

		//---- listen for RS485 command from ACP (master)
		memset(rsiRequestFrame,  0, sizeof(rsiRequestFrame));
		memset(rsiResponseFrame, 0, sizeof(rsiResponseFrame));
		reqLength = rsiRead(rsi_fd, rsiRequestFrame);

		//process the command, generate immediate response
		status = rsiHandler(rsiRequestFrame, rsiResponseFrame, &reqLength);

		//send immediate response back to ACP
		if (status == STATUS_SUCCESS) {
			//printf("need to send %d bytes back...\n", reqLength);
			rsiWrite(rsi_fd, rsiResponseFrame, reqLength);

			// =================== SOCKET HANDLING ========================
			// send/receive socket messages
			// NOTE: accept() is blocking in this usage
			connection_fd = accept( socket_fd, (struct sockaddr *) &address, &address_length );

			// accept() returns a nonnegative integer that is a descriptor for the accepted socket
			if( connection_fd != -1)
			{
				child = fork();
				if(child == 0)
				{
					// always send the 0x01 command for now
					return connection_handler(connection_fd, 1, writeToLeet);

				} else {
					close(connection_fd);
				} // if child
			} else {
				printf( "Error accepting message.\n" );
				perror( "accept" );
			} // if connection_fd

			/*
			if( writeToLeet == 1) {
				writeToLeet = 0;
			} else {
				writeToLeet = 1;
			} // if writeToLeet
			*/
		} // if status == STATUS_SUCCESS

		//are we done? set the flag...
		//running = 0;




	}	//while running
	printf( "Closing socket...\n" );
	close(socket_fd);
	unlink("./demo_socket");
	printf("done...\n");

	//----- close the UART, release the GPIOs, etc -----
	rsiClose(rsi_fd);
	return 0;
}