当前位置: 首页>>代码示例>>C++>>正文


C++ HMC5883L::GetDataRaw方法代码示例

本文整理汇总了C++中HMC5883L::GetDataRaw方法的典型用法代码示例。如果您正苦于以下问题:C++ HMC5883L::GetDataRaw方法的具体用法?C++ HMC5883L::GetDataRaw怎么用?C++ HMC5883L::GetDataRaw使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在HMC5883L的用法示例。


在下文中一共展示了HMC5883L::GetDataRaw方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: loop

/**
  *循环体
  *
  */
void loop()
{
	 static double updateSlice=0, dataSendSlice= 0,voltageSendTimeSlice=0; //taskmanager时间 测试
	
	//系统运行指示灯,1s闪烁一次
	ledBlue.Blink(0,0.5,false);
	//更新姿态、控制电机,500Hz
 	if(tskmgr.TimeSlice(updateSlice,0.002)) //每0.002秒(500Hz)执行一次
 	{
 		gimbal.UpdateIMU();//更新姿态
 		gimbal.UpdateMotor(&motorValueRoll,&motorValuePitch,&motorValueYaw);//控制电机
 	}
	
 	//输出电源值和飞机姿态数据、电机数据。12.5Hz
 	if(tskmgr.TimeSlice(dataSendSlice,0.1)) 
 	{
 //		if(gimbal.IsGyroCalibrated() && gimbal.IsMagCalibrated())//已经校准完毕
 //		{
 			ledGreen.Toggle();
 			communicate.ANO_DT_Send_Status(gimbal.mAngle.y*RtA,gimbal.mAngle.x*RtA,gimbal.mAngle.z*RtA,0,1,gimbal.mIsArmed);
 			//communicate.ANO_DT_Send_MotoPWM(motorValueRoll%256+256,motorValuePitch%256+256,motorValueYaw%256+256,0,0,0,0,0);
 			communicate.ANO_DT_Send_MotoPWM(motorValueRoll,motorValuePitch,motorValueYaw,0,0,0,0,0);
 			//communicate.ANO_DT_Send_Power(gimbal.UpdateVoltage(4,5.1,1,12)*100,0);
 			if(!gimbal.IsMagCalibrated())
 				communicate.ANO_DT_Send_Senser(mpu6050.GetAcc().x*1000,mpu6050.GetAcc().y*1000,mpu6050.GetAcc().z*1000,mpu6050.GetGyrRaw().x,mpu6050.GetGyrRaw().y,mpu6050.GetGyrRaw().z,mag.xMaxMinusMin,mag.yMaxMinusMin,mag.zMaxMinusMin,0);
 			else
 				communicate.ANO_DT_Send_Senser(mpu6050.GetAcc().x*1000,mpu6050.GetAcc().y*1000,mpu6050.GetAcc().z*1000,mpu6050.GetGyrRaw().x,mpu6050.GetGyrRaw().y,mpu6050.GetGyrRaw().z,mag.GetDataRaw().x,mag.GetDataRaw().y,mag.GetDataRaw().z,0);
 			communicate.ANO_DT_Send_RCData(0,(gimbal.mTargetAngle.z+180)*2.77778+1000,(gimbal.mTargetAngle.y+180)*2.77778+1000,(gimbal.mTargetAngle.x+180)*2.77778+1000,0,0,0,0,0,0);
 //		}
 //		else if(gimbal.IsGyroCalibrating()||gimbal.IsMagCalibrating())
 //			LOG("..");
//			com<<mpu6050.GetAcc().x<<"\t"<<mpu6050.GetAcc().y<<"\t"<<mpu6050.GetAcc().z<<"\t"<<mpu6050.GetGyrRaw().x<<"\t"<<mpu6050.GetGyrRaw().y<<"\t"<<mpu6050.GetGyrRaw().z<<"\t"<<mag.GetDataRaw().x<<"\t"<<mag.GetDataRaw().y<<"\t"<<mag.GetDataRaw().z<<"\n";
		
 	}
	
 	if(tskmgr.TimeSlice(voltageSendTimeSlice,2)) 
 	{
 		if(gimbal.IsGyroCalibrated() && gimbal.IsMagCalibrated())//已经校准完毕
 		{
 			communicate.ANO_DT_Send_Power(gimbal.UpdateVoltage(5.1,1,12)*100,0);
 		}
 	}
	
 	//处理来自地面站的消息
 	communicate.ANO_DT_Data_Receive_Deal(gimbal);
}
开发者ID:Neutree,项目名称:Gimbal,代码行数:50,代码来源:Main.cpp


注:本文中的HMC5883L::GetDataRaw方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。