Example #1
0
 void Data_Send_Senser(void)
{
	U8 _cnt=0;
	U8 sum = 0;
	U8 i=0;
	ax1=(volatile int16_t)mygetqval[0];
	ay1=(volatile int16_t)mygetqval[1];
	az1=(volatile int16_t)mygetqval[2];
	gx1=(volatile int16_t)mygetqval[3];
	gy1=(volatile int16_t)mygetqval[4];
	gz1=(volatile int16_t)mygetqval[5];
	mx=(volatile int16_t)mygetqval[6];
	my=(volatile int16_t)datafliter;
	mz=(volatile int16_t)Alt_CSB;
	
	data_to_send[_cnt++]=0xAA;
	data_to_send[_cnt++]=0xAA;
	data_to_send[_cnt++]=0x02;
	data_to_send[_cnt++]=0;
	data_to_send[_cnt++]=BYTE1(ax1);
	data_to_send[_cnt++]=BYTE0(ax1);
	data_to_send[_cnt++]=BYTE1(ay1);
	data_to_send[_cnt++]=BYTE0(ay1);
	data_to_send[_cnt++]=BYTE1(az1);
	data_to_send[_cnt++]=BYTE0(az1);
	data_to_send[_cnt++]=BYTE1(gx1);
	data_to_send[_cnt++]=BYTE0(gx1);
	data_to_send[_cnt++]=BYTE1(gy1);
	data_to_send[_cnt++]=BYTE0(gy1);
	data_to_send[_cnt++]=BYTE1(gz1);
	data_to_send[_cnt++]=BYTE0(gz1);
	data_to_send[_cnt++]=BYTE1(accgyroval[0]);
	data_to_send[_cnt++]=BYTE0(accgyroval[0]);
	data_to_send[_cnt++]=BYTE1(my);
	data_to_send[_cnt++]=BYTE0(my);
	data_to_send[_cnt++]=BYTE1(mz);
	data_to_send[_cnt++]=BYTE0(mz);
	
	data_to_send[3] = _cnt-4;
	
	
	for( i=0;i<_cnt;i++)
		sum += data_to_send[i];
	data_to_send[_cnt++] = sum;
	
	R_UART0_Send(data_to_send,_cnt);
}
Example #2
0
char SerSend(void *parameters)
{
	char *buffer;
	uint8_t size;
	uint8_t new_size;

	buffer = (char *) parameters;
	size = strlen(buffer);
	new_size = size+1;

	char new_buffer[new_size];
	strncpy(new_buffer, buffer, size);
	new_buffer[size] = ASCII_CARRIAGE_RETURN;

	R_UART0_Send(new_buffer, new_size);

        return SUCESSO;
}
Example #3
0
void Data_Send_RCData(void)
{
	U8 _cnt=0;
	U8 sum = 0;
	U8 i=0;
	data_to_send[_cnt++]=0xAA;
	data_to_send[_cnt++]=0xAA;
	data_to_send[_cnt++]=0x03;
	data_to_send[_cnt++]=0;
	data_to_send[_cnt++]=BYTE1(RC_Data.THROTTLE);
	data_to_send[_cnt++]=BYTE0(RC_Data.THROTTLE);
	data_to_send[_cnt++]=BYTE1(RC_Data.YAW);
	data_to_send[_cnt++]=BYTE0(RC_Data.YAW);
	data_to_send[_cnt++]=BYTE1(RC_Data.ROLL);
	data_to_send[_cnt++]=BYTE0(RC_Data.ROLL);
	data_to_send[_cnt++]=BYTE1(RC_Data.PITCH);
	data_to_send[_cnt++]=BYTE0(RC_Data.PITCH);
	data_to_send[_cnt++]=BYTE1(RC_Data.AUX1);
	data_to_send[_cnt++]=BYTE0(RC_Data.AUX1);
	data_to_send[_cnt++]=BYTE1(RC_Data.AUX2);
	data_to_send[_cnt++]=BYTE0(RC_Data.AUX2);
	data_to_send[_cnt++]=BYTE1(RC_Data.AUX3);
	data_to_send[_cnt++]=BYTE0(RC_Data.AUX3);
	//data_to_send[_cnt++]=BYTE1(RC_Data.AUX4);
	//data_to_send[_cnt++]=BYTE0(RC_Data.AUX4);
//	data_to_send[_cnt++]=BYTE1(RC_Data.AUX5);
//	data_to_send[_cnt++]=BYTE0(RC_Data.AUX5);
//	data_to_send[_cnt++]=BYTE1(RC_Data.AUX6);
//	data_to_send[_cnt++]=BYTE0(RC_Data.AUX6);
	
	data_to_send[3] = _cnt-4;
	
	
	for( i=0;i<_cnt;i++)
		sum += data_to_send[i];
	
	data_to_send[_cnt++]=sum;
	

	R_UART0_Send(data_to_send,_cnt);

}
Example #4
0
void Data_Send_MotoPWM(void)
{
	U8 _cnt=0;
	U8 sum = 0;
	U8 i=0;
	volatile U16 temp1=	Moto_PWM_3-1000;
	volatile U16 temp2=	Moto_PWM_4-1000;
	volatile U16 temp3=	Moto_PWM_1-1000;
	volatile U16 temp4=	Moto_PWM_2-1000;
	data_to_send[_cnt++]=0xAA;
	data_to_send[_cnt++]=0xAA;
	data_to_send[_cnt++]=0x06;
	data_to_send[_cnt++]=0;
	
	data_to_send[_cnt++]=BYTE1( temp1);
	data_to_send[_cnt++]=BYTE0( temp1);
	data_to_send[_cnt++]=BYTE1( temp2);
	data_to_send[_cnt++]=BYTE0( temp2);
	data_to_send[_cnt++]=BYTE1( temp3);
	data_to_send[_cnt++]=BYTE0( temp3);
	data_to_send[_cnt++]=BYTE1( temp4);
	data_to_send[_cnt++]=BYTE0( temp4);
//	data_to_send[_cnt++]=BYTE1(moto1);
//	data_to_send[_cnt++]=BYTE0(moto1);
//	data_to_send[_cnt++]=BYTE1(moto1);
//	data_to_send[_cnt++]=BYTE0(moto1);
//	data_to_send[_cnt++]=BYTE1(moto1);
//	data_to_send[_cnt++]=BYTE0(moto1);
//	data_to_send[_cnt++]=BYTE1(moto1);
//	data_to_send[_cnt++]=BYTE0(moto1);
	
	data_to_send[3] = _cnt-4;
	
	
	for(i=0;i<_cnt;i++)
		sum += data_to_send[i];
	
	data_to_send[_cnt++]=sum;
	

	R_UART0_Send(data_to_send,_cnt);
}
Example #5
0
void Data_Send_Status(void)
{
	U8 _cnt=0;
	 int16_t _temp;
	 U8 sum = 0;
	 U8 i=0;
	data_to_send[_cnt++]=0xAA;
	data_to_send[_cnt++]=0xAA;
	data_to_send[_cnt++]=0x01;
	data_to_send[_cnt++]=0;
	
	_temp = (int)(ypr[2]*100);//roll
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	_temp = (int)(ypr[1]*100);//pitch
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	//_temp = (int)(Q_ANGLE.YAW*100);
	_temp = (int)(ypr[0]*100);//yaw
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
//	vs32 _temp2 = BaroAlt;
//	data_to_send[_cnt++]=BYTE3(_temp2);
//	data_to_send[_cnt++]=BYTE2(_temp2);
//	data_to_send[_cnt++]=BYTE1(_temp2);
//	data_to_send[_cnt++]=BYTE0(_temp2);
		
//	if(ARMED==0)				data_to_send[_cnt++]=0xA0;	//???¡§
//	else if(ARMED==1)		data_to_send[_cnt++]=0xA1;
	
	data_to_send[3] = _cnt-4;
	
	
	for(i=0;i<_cnt;i++)
		sum += data_to_send[i];
	data_to_send[_cnt++]=sum;

	R_UART0_Send(data_to_send,_cnt);

}
Example #6
0
void Data_Send_PID2(void)
{
	U8 _cnt=0;
	volatile int16_t _temp;
	U8 sum = 0;
	U8 i=0;
	data_to_send[_cnt++]=0xAA;
	data_to_send[_cnt++]=0xAA;
	data_to_send[_cnt++]=0x11;
	data_to_send[_cnt++]=0;
	
	if(pid_flag==1)
	{
	_temp = Stabilize_Roll.Kp * 100;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	_temp = Stabilize_Roll.Ki * 1000;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	_temp =Stabilize_Roll.Kd * 100;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	_temp = Stabilize_Pitch.Kp * 100;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	_temp = Stabilize_Pitch.Ki * 1000;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	_temp = Stabilize_Pitch.Kd * 100;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	_temp = Stabilize_Yaw.Kp * 100;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	_temp = Stabilize_Yaw.Ki * 1000;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	_temp =Stabilize_Yaw.Kd * 100;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
        }
        else
	{
	_temp = Stabilize_Roll.Kp ;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	_temp = Stabilize_Roll.Ki ;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	_temp =Stabilize_Roll.Kd ;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	_temp = Stabilize_Pitch.Kp ;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	_temp = Stabilize_Pitch.Ki ;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	_temp = Stabilize_Pitch.Kd ;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	_temp = Stabilize_Yaw.Kp ;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	_temp = Stabilize_Yaw.Ki ;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	_temp =Stabilize_Yaw.Kd ;
	data_to_send[_cnt++]=BYTE1(_temp);
	data_to_send[_cnt++]=BYTE0(_temp);
	}
	data_to_send[3] = _cnt-4;
	
	
	for( i=0;i<_cnt;i++)
		sum += data_to_send[i];
	
	data_to_send[_cnt++]=sum;
	

	R_UART0_Send(data_to_send,_cnt);

}