delete ACCELIOCSELFTEST and GYROIOCSELFTEST

This commit is contained in:
Daniel Agar
2018-08-02 08:05:52 +02:00
committed by Lorenz Meier
parent 31c08c7ffb
commit 568a5f1c4c
23 changed files with 0 additions and 623 deletions
@@ -601,9 +601,6 @@ ACCELSIM::devIOCTL(unsigned long cmd, unsigned long arg)
memcpy((struct accel_calibration_s *) arg, &(_accel_scale), sizeof(_accel_scale));
return OK;
case ACCELIOCSELFTEST:
return OK;
default:
/* give it to the superclass */
return VirtDevObj::devIOCTL(cmd, arg);
-83
View File
@@ -222,20 +222,6 @@ private:
*/
int self_test();
/**
* Accel self test
*
* @return 0 on success, 1 on failure
*/
int accel_self_test();
/**
* Gyro self test
*
* @return 0 on success, 1 on failure
*/
int gyro_self_test();
/*
set sample rate (approximate) - 1kHz to 5Hz
*/
@@ -599,69 +585,6 @@ GYROSIM::self_test()
return (perf_event_count(_sample_perf) > 0) ? 0 : 1;
}
int
GYROSIM::accel_self_test()
{
return OK;
if (self_test()) {
return 1;
}
return 0;
}
int
GYROSIM::gyro_self_test()
{
return OK;
if (self_test()) {
return 1;
}
/*
* Maximum deviation of 20 degrees, according to
* http://www.invensense.com/mems/gyro/documents/PS-MPU-6000A-00v3.4.pdf
* Section 6.1, initial ZRO tolerance
*/
const float max_offset = 0.34f;
/* 30% scale error is chosen to catch completely faulty units but
* to let some slight scale error pass. Requires a rate table or correlation
* with mag rotations + data fit to
* calibrate properly and is not done by default.
*/
const float max_scale = 0.3f;
/* evaluate gyro offsets, complain if offset -> zero or larger than 20 dps. */
if (fabsf(_gyro_scale.x_offset) > max_offset) {
return 1;
}
/* evaluate gyro scale, complain if off by more than 30% */
if (fabsf(_gyro_scale.x_scale - 1.0f) > max_scale) {
return 1;
}
if (fabsf(_gyro_scale.y_offset) > max_offset) {
return 1;
}
if (fabsf(_gyro_scale.y_scale - 1.0f) > max_scale) {
return 1;
}
if (fabsf(_gyro_scale.z_offset) > max_offset) {
return 1;
}
if (fabsf(_gyro_scale.z_scale - 1.0f) > max_scale) {
return 1;
}
return 0;
}
ssize_t
GYROSIM::gyro_read(void *buffer, size_t buflen)
{
@@ -812,9 +735,6 @@ GYROSIM::devIOCTL(unsigned long cmd, unsigned long arg)
case ACCELIOCGRANGE:
return (unsigned long)((_accel_range_m_s2) / CONSTANTS_ONE_G + 0.5f);
case ACCELIOCSELFTEST:
return accel_self_test();
default:
/* give it to the superclass */
return VirtDevObj::devIOCTL(cmd, arg);
@@ -872,9 +792,6 @@ GYROSIM::gyro_ioctl(unsigned long cmd, unsigned long arg)
case GYROIOCGRANGE:
return (unsigned long)(_gyro_range_rad_s * 180.0f / M_PI_F + 0.5f);
case GYROIOCSELFTEST:
return gyro_self_test();
default:
/* give it to the superclass */
return VirtDevObj::devIOCTL(cmd, arg);