Example #1
0
//------------------------------------------------------
unsigned int get_compass_position_360(void)
{
	int ttys_descriptor;
	int bytes_arrived = 0;
	unsigned char buffer_in[MAX_LEN_BUFFER];
	float ret_value;
	while(1) 
	{
			ttys_descriptor = init_serial_port();
			write_cmd(ttys_descriptor,0x12);
			sleep(1);
			bytes_arrived = rs232_buffer_in_lenght(ttys_descriptor);
			if (bytes_arrived != ANSWER_CMD_360_POS_LENGHT)	
			{
				printf("ERROR: Re-send command (360) to serial port, bytes arrived:%d\n",bytes_arrived);
				rs232_close(ttys_descriptor);
				continue;
			}
			break;	
	}
	rs232_get(ttys_descriptor,buffer_in, ANSWER_CMD_360_POS_LENGHT);
	ret_value = (((float)buffer_in[0]) * 360)/255;
	rs232_close(ttys_descriptor);	  
	return (unsigned int)ret_value;
}
Example #2
0
//------------------------------------------------------
void reset_cmps10()
{ 
	int ttys_descriptor;
	int bytes_arrived;
	unsigned char buffer_in[MAX_LEN_BUFFER],cmd_1,cmd_2,cmd_3;
	
	// Open serial port 
	ttys_descriptor = rs232_open(SERIAL_PORT,B9600,CS8,PNONE,SB1);

	// Test port descriptor 
	if(ttys_descriptor == -1)	{printf("ERROR:serial port not open,exit!!!");exit(1);}
	
	// Command to send
	cmd_1 = 0x6A;cmd_2 = 0x7C;cmd_3 = 0x81;
	
	// Send request 0x23
	bytes_arrived = 0;
	rs232_write(ttys_descriptor,&cmd_1,1);
	usleep(50000);
	bytes_arrived = rs232_bytes_arrived(ttys_descriptor,0);
	rs232_get(ttys_descriptor,buffer_in, 1);
	printf("Bytes arrived %d - Value %d\n",bytes_arrived,buffer_in[0]);
	
	rs232_write(ttys_descriptor,&cmd_2,1);
	usleep(50000);
	bytes_arrived = rs232_bytes_arrived(ttys_descriptor,0);
	rs232_get(ttys_descriptor,buffer_in, 1);
	printf("Bytes arrived %d - Value %d\n",bytes_arrived,buffer_in[0]);
		
	rs232_write(ttys_descriptor,&cmd_3,1);
	usleep(50000);
	bytes_arrived = rs232_bytes_arrived(ttys_descriptor,0);
	rs232_get(ttys_descriptor,buffer_in, 1);
	printf("Bytes arrived %d - Value %d\n",bytes_arrived,buffer_in[0]);
	rs232_close(ttys_descriptor);
	
}
Example #3
0
//----------------------------------------------------
void get_compass_data_full(unsigned char *buffer_in)
{
	int ttys_descriptor;
	int bytes_arrived = 0;

	while(1) 
	{
			ttys_descriptor = init_serial_port();
			write_cmd(ttys_descriptor,0x23);
			sleep(1);
			bytes_arrived = rs232_buffer_in_lenght(ttys_descriptor);
			if (bytes_arrived != ANSWER_CMD_FULL_LENGHT)	
			{
				printf("ERROR: Re-send command (FULL) to serial port, bytes arrived:%d\n",bytes_arrived);
				rs232_close(ttys_descriptor);
				continue;
			}
			break;	
	}
	rs232_get(ttys_descriptor,buffer_in, ANSWER_CMD_FULL_LENGHT);
	rs232_close(ttys_descriptor);	
}
Example #4
0
u8_t slipdev_char_poll(u8_t *c) { return (rs232_get(c) != RS_ERR_NO_DATA); }