void hmc5843_module_periodic ( void ) { hmc5843_periodic(); mag_x = hmc5843.data.value[0]; mag_y = hmc5843.data.value[1]; mag_z = hmc5843.data.value[2]; RunOnceEvery(30,DOWNLINK_SEND_IMU_MAG_RAW(DefaultChannel, DefaultDevice,&mag_x,&mag_y,&mag_z)); }
void imu_hbmini_downlink_raw(void) { DOWNLINK_SEND_IMU_GYRO_RAW(DefaultChannel, DefaultDevice, &imu.gyro_unscaled.p, &imu.gyro_unscaled.q, &imu.gyro_unscaled.r); DOWNLINK_SEND_IMU_ACCEL_RAW(DefaultChannel, DefaultDevice, &imu.accel_unscaled.x, &imu.accel_unscaled.y, &imu.accel_unscaled.z); DOWNLINK_SEND_IMU_MAG_RAW(DefaultChannel, DefaultDevice, &imu.mag_unscaled.x, &imu.mag_unscaled.y, &imu.mag_unscaled.z); }
void mag_hmc58xx_report(void) { struct Int32Vect3 mag = { (int32_t)(mag_hmc58xx.data.vect.x), (int32_t)(mag_hmc58xx.data.vect.y), (int32_t)(mag_hmc58xx.data.vect.z) }; DOWNLINK_SEND_IMU_MAG_RAW(DefaultChannel, DefaultDevice, &mag.x, &mag.y, &mag.z); }
void mag_hmc58xx_report(void) { struct Int32Vect3 mag = { HMC58XX_CHAN_X_SIGN(int32_t)(mag_hmc58xx.data.value[HMC58XX_CHAN_X]), HMC58XX_CHAN_Y_SIGN(int32_t)(mag_hmc58xx.data.value[HMC58XX_CHAN_Y]), HMC58XX_CHAN_Z_SIGN(int32_t)(mag_hmc58xx.data.value[HMC58XX_CHAN_Z]) }; DOWNLINK_SEND_IMU_MAG_RAW(DefaultChannel, DefaultDevice, &mag.x, &mag.y, &mag.z); }
void micromag_event( void ) { int32_t mx=micromag_values[0]; int32_t my=micromag_values[1]; int32_t mz=micromag_values[2]; if (micromag_status == MM_DATA_AVAILABLE) { DOWNLINK_SEND_IMU_MAG_RAW(DefaultChannel, DefaultDevice, &mx, &my, &mz ); micromag_status = MM_IDLE; } }
static void send_mag_raw(void) { DOWNLINK_SEND_IMU_MAG_RAW(DefaultChannel, DefaultDevice, &imu.mag_unscaled.x, &imu.mag_unscaled.y, &imu.mag_unscaled.z); }
void mag_hmc58xx_report( void ) { DOWNLINK_SEND_IMU_MAG_RAW(DefaultChannel, DefaultDevice,&hmc58xx_data.x,&hmc58xx_data.y,&hmc58xx_data.z); }