Lines Matching defs:compass

109     sensors.compass.accuracy = inv_data_builder.save.compass_accuracy;
111 if (sensors.compass.accuracy == 3) {
163 return sensors.compass.sensitivity;
252 sensors.compass.sample_rate_us = sample_rate_us;
253 sensors.compass.sample_rate_ms = sample_rate_us / 1000;
254 if (sensors.compass.bandwidth == 0) {
255 sensors.compass.bandwidth = (int)(1000000L / sample_rate_us);
271 *sample_rate_ms = sensors.compass.sample_rate_ms;
311 sensors.compass.bandwidth = bandwidth_hz;
314 /** Helper function stating whether the compass is on or off.
315 * @return TRUE if compass if on, 0 if compass if off
319 return (sensors.compass.status & INV_SENSOR_ON) == INV_SENSOR_ON;
353 if (sensors.compass.status & INV_SENSOR_ON) {
354 if (timestamp < sensors.compass.timestamp) {
355 timestamp = sensors.compass.timestamp;
407 set_sensor_orientation_and_scale(&sensors.compass, orientation, sensitivity);
443 /** Returns the current bias for the compass
458 inv_apply_calibration(&sensors.compass, inv_data_builder.save.compass_bias);
460 sensors.compass.accuracy = accuracy;
465 /** Set the state of a compass disturbance
650 /** Record new compass data for use when inv_execute_on_data() is called
651 * @param[in] compass Compass data, if it was calibrated outside MPL, the units are uT scaled by 2^16.
661 inv_error_t inv_build_compass(const long *compass, int status,
668 fwrite(compass, sizeof(compass[0]), 3, inv_data_builder.file);
674 sensors.compass.raw[0] = (short)compass[0];
675 sensors.compass.raw[1] = (short)compass[1];
676 sensors.compass.raw[2] = (short)compass[2];
677 inv_apply_calibration(&sensors.compass, inv_data_builder.save.compass_bias);
678 sensors.compass.status |= INV_RAW_DATA;
680 sensors.compass.calibrated[0] = compass[0];
681 sensors.compass.calibrated[1] = compass[1];
682 sensors.compass.calibrated[2] = compass[2];
683 sensors.compass.status |= INV_CALIBRATED;
684 sensors.compass.accuracy = status & 3;
687 sensors.compass.timestamp_prev = sensors.compass.timestamp;
688 sensors.compass.timestamp = timestamp;
689 sensors.compass.status |= INV_NEW_DATA | INV_SENSOR_ON;
755 /** This should be called when the compass has been turned off. This is so
760 sensors.compass.status = 0;
794 * gyro data, INV_MAG_NEW = compass data. So passing in
851 * gyro data, INV_MAG_NEW = compass data. So passing in
899 if (sensors.compass.status & INV_NEW_DATA)
936 if (sensors.compass.status & INV_NEW_DATA) {
937 sensors.compass.status |= INV_CONTIGUOUS;
938 current_time = MAX(current_time, sensors.compass.timestamp);
957 if (inv_delta_time_ms(current_time, sensors.compass.timestamp) >= 2000)
967 sensors.compass.status &= ~INV_NEW_DATA;
1030 /** Gets a whole set of compass data including data, accuracy and timestamp.
1037 memcpy(data, sensors.compass.calibrated, sizeof(sensors.compass.calibrated));
1039 *timestamp = sensors.compass.timestamp;
1045 *accuracy = sensors.compass.accuracy;
1071 /** Returns accuracy of compass.
1072 * @return Accuracy of compass with 0 being not accurate, and 3 being most accurate.
1078 return sensors.compass.accuracy;