本文整理汇总了C++中HMC5883L::conectamos_brujula方法的典型用法代码示例。如果您正苦于以下问题:C++ HMC5883L::conectamos_brujula方法的具体用法?C++ HMC5883L::conectamos_brujula怎么用?C++ HMC5883L::conectamos_brujula使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HMC5883L
的用法示例。
在下文中一共展示了HMC5883L::conectamos_brujula方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
/**
* Funcion principal donde se piden los datos a la libreria y se publican una vez tratados.
*/
int main(int argc, char **argv)
{
// Iniciamos el nodo.
ros::init(argc, argv, nodo_name);
ros::NodeHandle nodo;
ROS_INFO("nodo_brujula creado y registrado");
// Cargamos el modulo de la brujula.
HMC5883L brujula;
CompassMsg brujula_struct;
int respuesta = brujula.conectamos_brujula();
ROS_INFO("Modulo de la brujula cargado; (id-i2c = %d)", respuesta);
// Definimos el publicador.
ros::Publisher publicador = nodo.advertise<std_msgs::Float64>(topic_name, 0);
ros::Duration seconds_sleep(tiempo_muestreo);
// Bucle donde continuamente se va a realizar la lectura y publicacion de datos.
// Este proceso se realizara cada float tiempo_muestreo
while (ros::ok())
{
// Tomamos un dato de la brujula a partir de la funcion de la libreria.
brujula_struct = brujula.get_data();
// Calibramos el dato obtenido.
//calibracion(brujula_struct);
//maximos_minimos(brujula_struct);
calibracion_rapida(brujula_struct);
// Aplicamos el filtro de la mediana.
filtro_mediana(brujula_struct.angle);
//printf("Magnetometro [x, y, z] = [%d, %d, %d] - Angulo = %f \n", brujula_struct.x, brujula_struct.y, brujula_struct.z, brujula_struct.angle);
std_msgs::Float64 mensaje_ros;
mensaje_ros.data = brujula_struct.angle;
publicador.publish(mensaje_ros);
ros::spinOnce();
seconds_sleep.sleep();
}
return 0;
}