Improve SingleReportTests robustness
This commit is contained in:
parent
ce55fc27df
commit
cc925283e8
|
|
@ -92,7 +92,7 @@ class BNO08x
|
|||
bool data_available(bool ignore_no_reports_enabled = false);
|
||||
void register_cb(std::function<void()> cb_fxn);
|
||||
|
||||
void reset_all_data();
|
||||
void reset_all_data_to_defaults();
|
||||
|
||||
uint32_t get_time_stamp();
|
||||
|
||||
|
|
|
|||
|
|
@ -142,171 +142,172 @@ class BNO08xTestHelper
|
|||
return test_imu->launch_tasks();
|
||||
}
|
||||
|
||||
static bool rotation_vector_data_is_default(imu_report_data_t* report_data)
|
||||
static bool rotation_vector_data_is_default(imu_report_data_t* report_data, imu_report_data_t* prev_report_data)
|
||||
{
|
||||
bool new_data = false;
|
||||
|
||||
if (report_data->quat_I != 0.0f)
|
||||
// prev report should always contain the default test values as per test structure
|
||||
if (report_data->quat_I != prev_report_data->quat_I)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->quat_J != 0.0f)
|
||||
if (report_data->quat_J != prev_report_data->quat_J)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->quat_K != 0.0f)
|
||||
if (report_data->quat_K != prev_report_data->quat_K)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->quat_real != 1.0f)
|
||||
if (report_data->quat_real != prev_report_data->quat_real)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->quat_accuracy != BNO08xAccuracy::UNDEFINED)
|
||||
if (report_data->quat_accuracy != prev_report_data->quat_accuracy)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->quat_radian_accuracy != 0.0f)
|
||||
if (report_data->quat_radian_accuracy != prev_report_data->quat_radian_accuracy)
|
||||
new_data = true;
|
||||
|
||||
return new_data;
|
||||
}
|
||||
|
||||
static bool gyro_integrated_rotation_vector_data_is_default(imu_report_data_t* report_data)
|
||||
static bool gyro_integrated_rotation_vector_data_is_default(imu_report_data_t* report_data, imu_report_data_t* prev_report_data)
|
||||
{
|
||||
bool new_data = false;
|
||||
|
||||
if (report_data->quat_I != 0.0f)
|
||||
if (report_data->quat_I != prev_report_data->quat_I)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->quat_J != 0.0f)
|
||||
if (report_data->quat_J != prev_report_data->quat_J)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->quat_K != 0.0f)
|
||||
if (report_data->quat_K != prev_report_data->quat_K)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->quat_real != 1.0f)
|
||||
if (report_data->quat_real != prev_report_data->quat_real)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->integrated_gyro_vel_x != 0.0f)
|
||||
if (report_data->integrated_gyro_vel_x != prev_report_data->integrated_gyro_vel_x)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->integrated_gyro_vel_y != 0.0f)
|
||||
if (report_data->integrated_gyro_vel_y != prev_report_data->integrated_gyro_vel_y)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->integrated_gyro_vel_z != 0.0f)
|
||||
if (report_data->integrated_gyro_vel_z != prev_report_data->integrated_gyro_vel_z)
|
||||
new_data = true;
|
||||
|
||||
return new_data;
|
||||
}
|
||||
|
||||
static bool uncalibrated_gyro_data_is_default(imu_report_data_t* report_data)
|
||||
static bool uncalibrated_gyro_data_is_default(imu_report_data_t* report_data, imu_report_data_t* prev_report_data)
|
||||
{
|
||||
bool new_data = false;
|
||||
|
||||
if (report_data->uncalib_gyro_vel_x != 0.0f)
|
||||
if (report_data->uncalib_gyro_vel_x != prev_report_data->uncalib_gyro_vel_x)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->uncalib_gyro_vel_y != 0.0f)
|
||||
if (report_data->uncalib_gyro_vel_y != prev_report_data->uncalib_gyro_vel_y)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->uncalib_gyro_vel_z != 0.0f)
|
||||
if (report_data->uncalib_gyro_vel_z != prev_report_data->uncalib_gyro_vel_z)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->uncalib_gyro_drift_x != 0.0f)
|
||||
if (report_data->uncalib_gyro_drift_x != prev_report_data->uncalib_gyro_drift_x)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->uncalib_gyro_drift_y != 0.0f)
|
||||
if (report_data->uncalib_gyro_drift_y != prev_report_data->uncalib_gyro_drift_y)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->uncalib_gyro_drift_z != 0.0f)
|
||||
if (report_data->uncalib_gyro_drift_z != prev_report_data->uncalib_gyro_drift_z)
|
||||
new_data = true;
|
||||
|
||||
return new_data;
|
||||
}
|
||||
|
||||
static bool calibrated_gyro_data_is_default(imu_report_data_t* report_data)
|
||||
static bool calibrated_gyro_data_is_default(imu_report_data_t* report_data, imu_report_data_t* prev_report_data)
|
||||
{
|
||||
bool new_data = false;
|
||||
|
||||
if (report_data->calib_gyro_vel_x != 0.0f)
|
||||
if (report_data->calib_gyro_vel_x != prev_report_data->calib_gyro_vel_x)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->calib_gyro_vel_y != 0.0f)
|
||||
if (report_data->calib_gyro_vel_y != prev_report_data->calib_gyro_vel_y)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->calib_gyro_vel_z != 0.0f)
|
||||
if (report_data->calib_gyro_vel_z != prev_report_data->calib_gyro_vel_z)
|
||||
new_data = true;
|
||||
|
||||
return new_data;
|
||||
}
|
||||
|
||||
static bool accelerometer_data_is_default(imu_report_data_t* report_data)
|
||||
static bool accelerometer_data_is_default(imu_report_data_t* report_data, imu_report_data_t* prev_report_data)
|
||||
{
|
||||
bool new_data = false;
|
||||
|
||||
if (report_data->accel_x != 0.0f)
|
||||
if (report_data->accel_x != prev_report_data->accel_x)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->accel_y != 0.0f)
|
||||
if (report_data->accel_y != prev_report_data->accel_y)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->accel_z != 0.0f)
|
||||
if (report_data->accel_z != prev_report_data->accel_z)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->accel_accuracy != BNO08xAccuracy::UNDEFINED)
|
||||
if (report_data->accel_accuracy != prev_report_data->accel_accuracy)
|
||||
new_data = true;
|
||||
|
||||
return new_data;
|
||||
}
|
||||
|
||||
static bool linear_accelerometer_data_is_default(imu_report_data_t* report_data)
|
||||
static bool linear_accelerometer_data_is_default(imu_report_data_t* report_data, imu_report_data_t* prev_report_data)
|
||||
{
|
||||
bool new_data = false;
|
||||
|
||||
if (report_data->lin_accel_x != 0.0f)
|
||||
if (report_data->lin_accel_x != prev_report_data->lin_accel_x)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->lin_accel_y != 0.0f)
|
||||
if (report_data->lin_accel_y != prev_report_data->lin_accel_y)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->lin_accel_z != 0.0f)
|
||||
if (report_data->lin_accel_z != prev_report_data->lin_accel_z)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->lin_accel_accuracy != BNO08xAccuracy::UNDEFINED)
|
||||
if (report_data->lin_accel_accuracy != prev_report_data->lin_accel_accuracy)
|
||||
new_data = true;
|
||||
|
||||
return new_data;
|
||||
}
|
||||
|
||||
static bool gravity_data_is_default(imu_report_data_t* report_data)
|
||||
static bool gravity_data_is_default(imu_report_data_t* report_data, imu_report_data_t* prev_report_data)
|
||||
{
|
||||
bool new_data = false;
|
||||
|
||||
if (report_data->grav_x != 0.0f)
|
||||
if (report_data->grav_x != prev_report_data->grav_x)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->grav_y != 0.0f)
|
||||
if (report_data->grav_y != prev_report_data->grav_y)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->grav_z != 0.0f)
|
||||
if (report_data->grav_z != prev_report_data->grav_z)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->grav_accuracy != BNO08xAccuracy::UNDEFINED)
|
||||
if (report_data->grav_accuracy != prev_report_data->grav_accuracy)
|
||||
new_data = true;
|
||||
|
||||
return new_data;
|
||||
}
|
||||
|
||||
static bool magnetometer_data_is_default(imu_report_data_t* report_data)
|
||||
static bool magnetometer_data_is_default(imu_report_data_t* report_data, imu_report_data_t* prev_report_data)
|
||||
{
|
||||
bool new_data = false;
|
||||
|
||||
if (report_data->magf_x != 0.0f)
|
||||
if (report_data->magf_x != prev_report_data->magf_x)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->magf_y != 0.0f)
|
||||
if (report_data->magf_y != prev_report_data->magf_y)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->magf_z != 0.0f)
|
||||
if (report_data->magf_z != prev_report_data->magf_z)
|
||||
new_data = true;
|
||||
|
||||
if (report_data->magf_accuracy != BNO08xAccuracy::UNDEFINED)
|
||||
if (report_data->magf_accuracy != prev_report_data->magf_accuracy)
|
||||
new_data = true;
|
||||
|
||||
return new_data;
|
||||
|
|
@ -322,13 +323,79 @@ class BNO08xTestHelper
|
|||
imu->get_accel(report_data->accel_x, report_data->accel_y, report_data->accel_z, report_data->accel_accuracy);
|
||||
imu->get_linear_accel(report_data->lin_accel_x, report_data->lin_accel_y, report_data->lin_accel_z, report_data->lin_accel_accuracy);
|
||||
imu->get_gravity(report_data->grav_x, report_data->grav_y, report_data->grav_z, report_data->grav_accuracy);
|
||||
imu->get_calibrated_gyro_velocity(
|
||||
report_data->calib_gyro_vel_x, report_data->calib_gyro_vel_y, report_data->calib_gyro_vel_z);
|
||||
imu->get_calibrated_gyro_velocity(report_data->calib_gyro_vel_x, report_data->calib_gyro_vel_y, report_data->calib_gyro_vel_z);
|
||||
imu->get_uncalibrated_gyro_velocity(report_data->uncalib_gyro_vel_x, report_data->uncalib_gyro_vel_y, report_data->uncalib_gyro_vel_z,
|
||||
report_data->uncalib_gyro_drift_x, report_data->uncalib_gyro_drift_y, report_data->uncalib_gyro_drift_z);
|
||||
imu->get_magf(report_data->magf_x, report_data->magf_y, report_data->magf_z, report_data->magf_accuracy);
|
||||
}
|
||||
|
||||
static void reset_all_imu_data_to_test_defaults(BNO08x* imu)
|
||||
{
|
||||
static const constexpr uint16_t TEST_VAL_UINT16 = 65535U;
|
||||
static const constexpr uint16_t TEST_VAL_UINT8 = 255;
|
||||
imu->time_stamp = 0UL;
|
||||
|
||||
imu->raw_accel_X = TEST_VAL_UINT16;
|
||||
imu->raw_accel_Y = TEST_VAL_UINT16;
|
||||
imu->raw_accel_Z = TEST_VAL_UINT16;
|
||||
imu->accel_accuracy = static_cast<uint16_t>(BNO08xAccuracy::UNDEFINED);
|
||||
|
||||
imu->raw_lin_accel_X = TEST_VAL_UINT16;
|
||||
imu->raw_lin_accel_Y = TEST_VAL_UINT16;
|
||||
imu->raw_lin_accel_Z = TEST_VAL_UINT16;
|
||||
imu->accel_lin_accuracy = static_cast<uint16_t>(BNO08xAccuracy::UNDEFINED);
|
||||
|
||||
imu->raw_calib_gyro_X = TEST_VAL_UINT16;
|
||||
imu->raw_calib_gyro_Y = TEST_VAL_UINT16;
|
||||
imu->raw_calib_gyro_Z = TEST_VAL_UINT16;
|
||||
|
||||
// reset quaternion to nan
|
||||
imu->raw_quat_I = TEST_VAL_UINT16;
|
||||
imu->raw_quat_J = TEST_VAL_UINT16;
|
||||
imu->raw_quat_K = TEST_VAL_UINT16;
|
||||
imu->raw_quat_real = TEST_VAL_UINT16;
|
||||
imu->raw_quat_radian_accuracy = static_cast<uint16_t>(BNO08xAccuracy::UNDEFINED);
|
||||
imu->quat_accuracy = static_cast<uint16_t>(BNO08xAccuracy::UNDEFINED);
|
||||
|
||||
imu->integrated_gyro_velocity_X = TEST_VAL_UINT16;
|
||||
imu->integrated_gyro_velocity_Y = TEST_VAL_UINT16;
|
||||
imu->integrated_gyro_velocity_Z = TEST_VAL_UINT16;
|
||||
|
||||
imu->gravity_X = TEST_VAL_UINT16;
|
||||
imu->gravity_Y = TEST_VAL_UINT16;
|
||||
imu->gravity_Z = TEST_VAL_UINT16;
|
||||
imu->gravity_accuracy = static_cast<uint16_t>(BNO08xAccuracy::UNDEFINED);
|
||||
|
||||
imu->raw_uncalib_gyro_X = TEST_VAL_UINT16;
|
||||
imu->raw_uncalib_gyro_Y = TEST_VAL_UINT16;
|
||||
imu->raw_uncalib_gyro_Z = TEST_VAL_UINT16;
|
||||
imu->raw_bias_X = TEST_VAL_UINT16;
|
||||
imu->raw_bias_Y = TEST_VAL_UINT16;
|
||||
imu->raw_bias_Z = TEST_VAL_UINT16;
|
||||
|
||||
imu->raw_magf_X = TEST_VAL_UINT16;
|
||||
imu->raw_magf_Y = TEST_VAL_UINT16;
|
||||
imu->raw_magf_Z = TEST_VAL_UINT16;
|
||||
imu->magf_accuracy = static_cast<uint16_t>(BNO08xAccuracy::UNDEFINED);
|
||||
|
||||
imu->tap_detector = TEST_VAL_UINT8;
|
||||
imu->step_count = TEST_VAL_UINT16;
|
||||
imu->stability_classifier = TEST_VAL_UINT8;
|
||||
imu->activity_classifier = TEST_VAL_UINT8;
|
||||
|
||||
imu->mems_raw_accel_X = TEST_VAL_UINT16;
|
||||
imu->mems_raw_accel_Y = TEST_VAL_UINT16;
|
||||
imu->mems_raw_accel_Z = TEST_VAL_UINT16;
|
||||
|
||||
imu->mems_raw_gyro_X = TEST_VAL_UINT16;
|
||||
imu->mems_raw_gyro_Y = TEST_VAL_UINT16;
|
||||
imu->mems_raw_gyro_Z = TEST_VAL_UINT16;
|
||||
|
||||
imu->mems_raw_magf_X = TEST_VAL_UINT16;
|
||||
imu->mems_raw_magf_Y = TEST_VAL_UINT16;
|
||||
imu->mems_raw_magf_Z = TEST_VAL_UINT16;
|
||||
}
|
||||
|
||||
static const char* BNO08xAccuracy_to_str(BNO08xAccuracy accuracy)
|
||||
{
|
||||
switch (accuracy)
|
||||
|
|
@ -345,5 +412,4 @@ class BNO08xTestHelper
|
|||
return "UNKNOWN"; // For undefined cases or future-proofing
|
||||
}
|
||||
};
|
||||
|
||||
};
|
||||
|
|
@ -26,29 +26,39 @@ class BNO08xTestSuite
|
|||
public:
|
||||
static void run_all_tests()
|
||||
{
|
||||
run_init_deinit_tests();
|
||||
run_report_tests();
|
||||
UNITY_BEGIN();
|
||||
run_init_deinit_tests(false);
|
||||
run_report_tests(false);
|
||||
UNITY_END();
|
||||
}
|
||||
|
||||
static void run_init_deinit_tests()
|
||||
static void run_init_deinit_tests(bool call_unity_end_begin = true)
|
||||
{
|
||||
print_begin_tests_banner("init_denit_tests");
|
||||
|
||||
UNITY_BEGIN();
|
||||
if (call_unity_end_begin)
|
||||
UNITY_BEGIN();
|
||||
|
||||
unity_run_tests_by_tag("[InitComprehensive]", false);
|
||||
unity_run_tests_by_tag("[InitDenit]", false);
|
||||
UNITY_END();
|
||||
|
||||
if (call_unity_end_begin)
|
||||
UNITY_END();
|
||||
|
||||
print_end_tests_banner("init_denit_tests");
|
||||
}
|
||||
|
||||
static void run_report_tests()
|
||||
static void run_report_tests(bool call_unity_end_begin = true)
|
||||
{
|
||||
print_begin_tests_banner("report_tests");
|
||||
|
||||
UNITY_BEGIN();
|
||||
if (call_unity_end_begin)
|
||||
UNITY_BEGIN();
|
||||
|
||||
unity_run_tests_by_tag("[SingleReportEnableDisable]", false);
|
||||
UNITY_END();
|
||||
|
||||
if (call_unity_end_begin)
|
||||
UNITY_END();
|
||||
|
||||
print_end_tests_banner("report_tests");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@ esp_err_t BNO08x::init_config_args()
|
|||
return ESP_ERR_INVALID_ARG;
|
||||
}
|
||||
|
||||
reset_all_data(); // reset data members that are returned by public getter APIs (for ex. get_roll_deg())
|
||||
reset_all_data_to_defaults(); // reset data members that are returned by public getter APIs (for ex. get_roll_deg())
|
||||
|
||||
// SPI bus config
|
||||
bus_config.mosi_io_num = imu_config.io_mosi; // assign mosi gpio pin
|
||||
|
|
@ -2376,7 +2376,7 @@ uint32_t BNO08x::get_time_stamp()
|
|||
*
|
||||
* @return void, nothing to return
|
||||
*/
|
||||
void BNO08x::reset_all_data()
|
||||
void BNO08x::reset_all_data_to_defaults()
|
||||
{
|
||||
time_stamp = 0UL;
|
||||
|
||||
|
|
|
|||
|
|
@ -3,11 +3,12 @@
|
|||
|
||||
static const constexpr uint8_t RX_REPORT_TRIAL_CNT = 5;
|
||||
|
||||
TEST_CASE("Enable/Disable Rotation Vector", "[SingleReportEnableDisable]")
|
||||
TEST_CASE("Enable Incorrect Report", "[SingleReportEnableDisable]")
|
||||
{
|
||||
const constexpr char* TEST_TAG = "Enable/Disable Rotation Vector";
|
||||
const constexpr char* TEST_TAG = "Enable Incorrect Report";
|
||||
BNO08x* imu = nullptr;
|
||||
BNO08xTestHelper::imu_report_data_t report_data;
|
||||
BNO08xTestHelper::imu_report_data_t prev_report_data;
|
||||
bool new_data = false;
|
||||
char msg_buff[200] = {};
|
||||
|
||||
|
|
@ -21,7 +22,61 @@ TEST_CASE("Enable/Disable Rotation Vector", "[SingleReportEnableDisable]")
|
|||
TEST_ASSERT_EQUAL(true, imu->initialize());
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, "Report enabled testing phase started.");
|
||||
/*enable linear accelerometer report but check for angular accelerometer data (should remain as default test values) */
|
||||
imu->enable_linear_accelerometer(100000UL);
|
||||
|
||||
for (int i = 0; i < RX_REPORT_TRIAL_CNT; i++)
|
||||
{
|
||||
new_data = false;
|
||||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::accelerometer_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that new data from accelerometer has not been rx'd, only linear accelerometer data should have been rx'd
|
||||
TEST_ASSERT_NOT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff,
|
||||
"Rx Data Trial %d Success: AngularAccelDefaults: aX: %.2lf accel aY: %.2lf accel aZ: "
|
||||
"%.2lf Accuracy %s",
|
||||
(i + 1), report_data.accel_x, report_data.accel_y, report_data.accel_z,
|
||||
BNO08xTestHelper::BNO08xAccuracy_to_str(report_data.accel_accuracy));
|
||||
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
imu->disable_linear_accelerometer();
|
||||
BNO08xTestHelper::print_test_end_banner(TEST_TAG);
|
||||
}
|
||||
|
||||
TEST_CASE("Enable/Disable Rotation Vector", "[SingleReportEnableDisable]")
|
||||
{
|
||||
const constexpr char* TEST_TAG = "Enable/Disable Rotation Vector";
|
||||
BNO08x* imu = nullptr;
|
||||
BNO08xTestHelper::imu_report_data_t report_data;
|
||||
BNO08xTestHelper::imu_report_data_t prev_report_data;
|
||||
bool new_data = false;
|
||||
char msg_buff[200] = {};
|
||||
|
||||
BNO08xTestHelper::print_test_start_banner(TEST_TAG);
|
||||
|
||||
imu = BNO08xTestHelper::get_test_imu();
|
||||
|
||||
// reset all data used in report test
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, "Report enabled testing phase started.");
|
||||
|
|
@ -34,23 +89,23 @@ TEST_CASE("Enable/Disable Rotation Vector", "[SingleReportEnableDisable]")
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::rotation_vector_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::rotation_vector_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that new data from respective report has been received
|
||||
TEST_ASSERT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff, "Enabled Report Rx Data Trial %d Success: Quat: I: %.2lf J: %.2lf K: %.2lf real: %.2lf Accuracy: %s", (i + 1),
|
||||
report_data.quat_I, report_data.quat_J, report_data.quat_K, report_data.quat_real,
|
||||
BNO08xTestHelper::BNO08xAccuracy_to_str(report_data.quat_accuracy));
|
||||
sprintf(msg_buff, "Rx Data Trial %d Success: Quat: I: %.2lf J: %.2lf K: %.2lf real: %.2lf Accuracy: %s", (i + 1), report_data.quat_I,
|
||||
report_data.quat_J, report_data.quat_K, report_data.quat_real, BNO08xTestHelper::BNO08xAccuracy_to_str(report_data.quat_accuracy));
|
||||
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -65,20 +120,21 @@ TEST_CASE("Enable/Disable Rotation Vector", "[SingleReportEnableDisable]")
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::rotation_vector_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::rotation_vector_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that no new data from respective report has been received
|
||||
TEST_ASSERT_NOT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff, "Disabled Report No Rx Data Trial %d Success", (i + 1));
|
||||
sprintf(msg_buff, "No Rx Data Trial %d Success", (i + 1));
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -92,6 +148,7 @@ TEST_CASE("Enable/Disable Game Rotation Vector", "[SingleReportEnableDisable]")
|
|||
const constexpr char* TEST_TAG = "Enable/Disable Game Rotation Vector";
|
||||
BNO08x* imu = nullptr;
|
||||
BNO08xTestHelper::imu_report_data_t report_data;
|
||||
BNO08xTestHelper::imu_report_data_t prev_report_data;
|
||||
bool new_data = false;
|
||||
char msg_buff[200] = {};
|
||||
|
||||
|
|
@ -100,7 +157,7 @@ TEST_CASE("Enable/Disable Game Rotation Vector", "[SingleReportEnableDisable]")
|
|||
imu = BNO08xTestHelper::get_test_imu();
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, "Report enabled testing phase started.");
|
||||
|
|
@ -113,23 +170,23 @@ TEST_CASE("Enable/Disable Game Rotation Vector", "[SingleReportEnableDisable]")
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::rotation_vector_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::rotation_vector_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that new data from respective report has been received
|
||||
TEST_ASSERT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff, "Enabled Report Rx Data Trial %d Success: Quat: I: %.2lf J: %.2lf K: %.2lf real: %.2lf Accuracy: %s", (i + 1),
|
||||
report_data.quat_I, report_data.quat_J, report_data.quat_K, report_data.quat_real,
|
||||
BNO08xTestHelper::BNO08xAccuracy_to_str(report_data.quat_accuracy));
|
||||
sprintf(msg_buff, "Rx Data Trial %d Success: Quat: I: %.2lf J: %.2lf K: %.2lf real: %.2lf Accuracy: %s", (i + 1), report_data.quat_I,
|
||||
report_data.quat_J, report_data.quat_K, report_data.quat_real, BNO08xTestHelper::BNO08xAccuracy_to_str(report_data.quat_accuracy));
|
||||
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -144,20 +201,21 @@ TEST_CASE("Enable/Disable Game Rotation Vector", "[SingleReportEnableDisable]")
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::rotation_vector_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::rotation_vector_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that no new data from respective report has been received
|
||||
TEST_ASSERT_NOT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff, "Disabled Report No Rx Data Trial %d Success", (i + 1));
|
||||
sprintf(msg_buff, "No Rx Data Trial %d Success", (i + 1));
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -171,6 +229,7 @@ TEST_CASE("Enable/Disable ARVR Stabilized Rotation Vector", "[SingleReportEnable
|
|||
const constexpr char* TEST_TAG = "Enable/Disable ARVR Stabilized Rotation Vector";
|
||||
BNO08x* imu = nullptr;
|
||||
BNO08xTestHelper::imu_report_data_t report_data;
|
||||
BNO08xTestHelper::imu_report_data_t prev_report_data;
|
||||
bool new_data = false;
|
||||
char msg_buff[200] = {};
|
||||
|
||||
|
|
@ -179,7 +238,7 @@ TEST_CASE("Enable/Disable ARVR Stabilized Rotation Vector", "[SingleReportEnable
|
|||
imu = BNO08xTestHelper::get_test_imu();
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, "Report enabled testing phase started.");
|
||||
|
|
@ -192,23 +251,23 @@ TEST_CASE("Enable/Disable ARVR Stabilized Rotation Vector", "[SingleReportEnable
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::rotation_vector_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::rotation_vector_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that new data from respective report has been received
|
||||
TEST_ASSERT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff, "Enabled Report Rx Data Trial %d Success: Quat: I: %.2lf J: %.2lf K: %.2lf real: %.2lf Accuracy: %s", (i + 1),
|
||||
report_data.quat_I, report_data.quat_J, report_data.quat_K, report_data.quat_real,
|
||||
BNO08xTestHelper::BNO08xAccuracy_to_str(report_data.quat_accuracy));
|
||||
sprintf(msg_buff, "Rx Data Trial %d Success: Quat: I: %.2lf J: %.2lf K: %.2lf real: %.2lf Accuracy: %s", (i + 1), report_data.quat_I,
|
||||
report_data.quat_J, report_data.quat_K, report_data.quat_real, BNO08xTestHelper::BNO08xAccuracy_to_str(report_data.quat_accuracy));
|
||||
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -223,21 +282,21 @@ TEST_CASE("Enable/Disable ARVR Stabilized Rotation Vector", "[SingleReportEnable
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::rotation_vector_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::rotation_vector_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that no new data from respective report has been received
|
||||
TEST_ASSERT_NOT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff, "Disabled Report No Rx Data Trial %d Success", (i + 1));
|
||||
sprintf(msg_buff, "No Rx Data Trial %d Success", (i + 1));
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -251,6 +310,7 @@ TEST_CASE("Enable/Disable ARVR Stabilized Game Rotation Vector", "[SingleReportE
|
|||
const constexpr char* TEST_TAG = "Enable/Disable ARVR Stabilized Game Rotation Vector";
|
||||
BNO08x* imu = nullptr;
|
||||
BNO08xTestHelper::imu_report_data_t report_data;
|
||||
BNO08xTestHelper::imu_report_data_t prev_report_data;
|
||||
bool new_data = false;
|
||||
char msg_buff[200] = {};
|
||||
|
||||
|
|
@ -259,7 +319,7 @@ TEST_CASE("Enable/Disable ARVR Stabilized Game Rotation Vector", "[SingleReportE
|
|||
imu = BNO08xTestHelper::get_test_imu();
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, "Report enabled testing phase started.");
|
||||
|
|
@ -272,23 +332,23 @@ TEST_CASE("Enable/Disable ARVR Stabilized Game Rotation Vector", "[SingleReportE
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::rotation_vector_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::rotation_vector_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that new data from respective report has been received
|
||||
TEST_ASSERT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff, "Enabled Report Rx Data Trial %d Success: Quat: I: %.2lf J: %.2lf K: %.2lf real: %.2lf Accuracy: %s", (i + 1),
|
||||
report_data.quat_I, report_data.quat_J, report_data.quat_K, report_data.quat_real,
|
||||
BNO08xTestHelper::BNO08xAccuracy_to_str(report_data.quat_accuracy));
|
||||
sprintf(msg_buff, "Rx Data Trial %d Success: Quat: I: %.2lf J: %.2lf K: %.2lf real: %.2lf Accuracy: %s", (i + 1), report_data.quat_I,
|
||||
report_data.quat_J, report_data.quat_K, report_data.quat_real, BNO08xTestHelper::BNO08xAccuracy_to_str(report_data.quat_accuracy));
|
||||
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -303,20 +363,21 @@ TEST_CASE("Enable/Disable ARVR Stabilized Game Rotation Vector", "[SingleReportE
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::rotation_vector_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::rotation_vector_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that no new data from respective report has been received
|
||||
TEST_ASSERT_NOT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff, "Disabled Report No Rx Data Trial %d Success", (i + 1));
|
||||
sprintf(msg_buff, "No Rx Data Trial %d Success", (i + 1));
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -330,6 +391,7 @@ TEST_CASE("Enable/Disable Gyro Integrated Roation Vector", "[SingleReportEnableD
|
|||
const constexpr char* TEST_TAG = "Enable/Disable Gyro Integrated Roation Vector";
|
||||
BNO08x* imu = nullptr;
|
||||
BNO08xTestHelper::imu_report_data_t report_data;
|
||||
BNO08xTestHelper::imu_report_data_t prev_report_data;
|
||||
bool new_data = false;
|
||||
char msg_buff[200] = {};
|
||||
|
||||
|
|
@ -338,7 +400,7 @@ TEST_CASE("Enable/Disable Gyro Integrated Roation Vector", "[SingleReportEnableD
|
|||
imu = BNO08xTestHelper::get_test_imu();
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, "Report enabled testing phase started.");
|
||||
|
|
@ -351,17 +413,18 @@ TEST_CASE("Enable/Disable Gyro Integrated Roation Vector", "[SingleReportEnableD
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::gyro_integrated_rotation_vector_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::gyro_integrated_rotation_vector_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that new data from respective report has been received
|
||||
TEST_ASSERT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff,
|
||||
"Enabled Report Rx Data Trial %d Success: Quat: I: %.2lf J: %.2lf K: %.2lf real: %.2lf gyro vel X: %.2lf gyro vel Y: %.2lf gyro vel "
|
||||
"Rx Data Trial %d Success: Quat: I: %.2lf J: %.2lf K: %.2lf real: %.2lf gyro vel X: %.2lf gyro vel Y: %.2lf gyro vel "
|
||||
"Z: "
|
||||
"%.2lf ",
|
||||
(i + 1), report_data.quat_I, report_data.quat_J, report_data.quat_K, report_data.quat_real, report_data.integrated_gyro_vel_x,
|
||||
|
|
@ -369,7 +432,7 @@ TEST_CASE("Enable/Disable Gyro Integrated Roation Vector", "[SingleReportEnableD
|
|||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -384,20 +447,21 @@ TEST_CASE("Enable/Disable Gyro Integrated Roation Vector", "[SingleReportEnableD
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::gyro_integrated_rotation_vector_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::gyro_integrated_rotation_vector_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that no new data from respective report has been received
|
||||
TEST_ASSERT_NOT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff, "Disabled Report No Rx Data Trial %d Success", (i + 1));
|
||||
sprintf(msg_buff, "No Rx Data Trial %d Success", (i + 1));
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -411,6 +475,7 @@ TEST_CASE("Enable/Disable Uncalibrated Gyro", "[SingleReportEnableDisable]")
|
|||
const constexpr char* TEST_TAG = "Enable/Disable Uncalibrated Gyro";
|
||||
BNO08x* imu = nullptr;
|
||||
BNO08xTestHelper::imu_report_data_t report_data;
|
||||
BNO08xTestHelper::imu_report_data_t prev_report_data;
|
||||
bool new_data = false;
|
||||
char msg_buff[200] = {};
|
||||
|
||||
|
|
@ -419,7 +484,7 @@ TEST_CASE("Enable/Disable Uncalibrated Gyro", "[SingleReportEnableDisable]")
|
|||
imu = BNO08xTestHelper::get_test_imu();
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, "Report enabled testing phase started.");
|
||||
|
|
@ -432,17 +497,18 @@ TEST_CASE("Enable/Disable Uncalibrated Gyro", "[SingleReportEnableDisable]")
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::uncalibrated_gyro_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::uncalibrated_gyro_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that new data from respective report has been received
|
||||
TEST_ASSERT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff,
|
||||
"Enabled Report Rx Data Trial %d Success: Uncalib Gyro: vX: %.2lf vY: %.2lf vZ: %.2lf driftX: %.2lf driftY: %.2lf driftZ: "
|
||||
"Rx Data Trial %d Success: Uncalib Gyro: vX: %.2lf vY: %.2lf vZ: %.2lf driftX: %.2lf driftY: %.2lf driftZ: "
|
||||
"%.2lf",
|
||||
(i + 1), report_data.uncalib_gyro_vel_x, report_data.uncalib_gyro_vel_y, report_data.uncalib_gyro_vel_z,
|
||||
report_data.uncalib_gyro_drift_x, report_data.uncalib_gyro_drift_y, report_data.uncalib_gyro_drift_z);
|
||||
|
|
@ -450,7 +516,7 @@ TEST_CASE("Enable/Disable Uncalibrated Gyro", "[SingleReportEnableDisable]")
|
|||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -465,20 +531,21 @@ TEST_CASE("Enable/Disable Uncalibrated Gyro", "[SingleReportEnableDisable]")
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::uncalibrated_gyro_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::uncalibrated_gyro_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that no new data from respective report has been received
|
||||
TEST_ASSERT_NOT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff, "Disabled Report No Rx Data Trial %d Success", (i + 1));
|
||||
sprintf(msg_buff, "No Rx Data Trial %d Success", (i + 1));
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -492,6 +559,7 @@ TEST_CASE("Enable/Disable Calibrated Gyro", "[SingleReportEnableDisable]")
|
|||
const constexpr char* TEST_TAG = "Enable/Disable Calibrated Gyro";
|
||||
BNO08x* imu = nullptr;
|
||||
BNO08xTestHelper::imu_report_data_t report_data;
|
||||
BNO08xTestHelper::imu_report_data_t prev_report_data;
|
||||
bool new_data = false;
|
||||
char msg_buff[200] = {};
|
||||
|
||||
|
|
@ -500,7 +568,7 @@ TEST_CASE("Enable/Disable Calibrated Gyro", "[SingleReportEnableDisable]")
|
|||
imu = BNO08xTestHelper::get_test_imu();
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, "Report enabled testing phase started.");
|
||||
|
|
@ -513,23 +581,24 @@ TEST_CASE("Enable/Disable Calibrated Gyro", "[SingleReportEnableDisable]")
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::calibrated_gyro_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::calibrated_gyro_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that new data from respective report has been received
|
||||
TEST_ASSERT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff,
|
||||
"Enabled Report Rx Data Trial %d Success: Calibrated Gyro: vX: %.2lf vY: %.2lf vZ: "
|
||||
"Rx Data Trial %d Success: Calibrated Gyro: vX: %.2lf vY: %.2lf vZ: "
|
||||
"%.2lf",
|
||||
(i + 1), report_data.calib_gyro_vel_x, report_data.calib_gyro_vel_y, report_data.calib_gyro_vel_z);
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -544,20 +613,21 @@ TEST_CASE("Enable/Disable Calibrated Gyro", "[SingleReportEnableDisable]")
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::calibrated_gyro_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::calibrated_gyro_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that no new data from respective report has been received
|
||||
TEST_ASSERT_NOT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff, "Disabled Report No Rx Data Trial %d Success", (i + 1));
|
||||
sprintf(msg_buff, "No Rx Data Trial %d Success", (i + 1));
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -571,6 +641,7 @@ TEST_CASE("Enable/Disable Accelerometer", "[SingleReportEnableDisable]")
|
|||
const constexpr char* TEST_TAG = "Enable/Disable Accelerometer";
|
||||
BNO08x* imu = nullptr;
|
||||
BNO08xTestHelper::imu_report_data_t report_data;
|
||||
BNO08xTestHelper::imu_report_data_t prev_report_data;
|
||||
bool new_data = false;
|
||||
char msg_buff[200] = {};
|
||||
|
||||
|
|
@ -579,7 +650,7 @@ TEST_CASE("Enable/Disable Accelerometer", "[SingleReportEnableDisable]")
|
|||
imu = BNO08xTestHelper::get_test_imu();
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, "Report enabled testing phase started.");
|
||||
|
|
@ -592,17 +663,18 @@ TEST_CASE("Enable/Disable Accelerometer", "[SingleReportEnableDisable]")
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::accelerometer_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::accelerometer_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that new data from respective report has been received
|
||||
TEST_ASSERT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff,
|
||||
"Enabled Report Rx Data Trial %d Success: AngularAccel: aX: %.2lf accel aY: %.2lf accel aZ: "
|
||||
"Rx Data Trial %d Success: AngularAccel: aX: %.2lf accel aY: %.2lf accel aZ: "
|
||||
"%.2lf Accuracy %s",
|
||||
(i + 1), report_data.accel_x, report_data.accel_y, report_data.accel_z,
|
||||
BNO08xTestHelper::BNO08xAccuracy_to_str(report_data.accel_accuracy));
|
||||
|
|
@ -610,7 +682,7 @@ TEST_CASE("Enable/Disable Accelerometer", "[SingleReportEnableDisable]")
|
|||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -625,20 +697,21 @@ TEST_CASE("Enable/Disable Accelerometer", "[SingleReportEnableDisable]")
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::accelerometer_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::accelerometer_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that no new data from respective report has been received
|
||||
TEST_ASSERT_NOT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff, "Disabled Report No Rx Data Trial %d Success", (i + 1));
|
||||
sprintf(msg_buff, "No Rx Data Trial %d Success", (i + 1));
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -652,6 +725,7 @@ TEST_CASE("Enable/Disable Linear Accelerometer", "[SingleReportEnableDisable]")
|
|||
const constexpr char* TEST_TAG = "Enable/Disable Linear Accelerometer";
|
||||
BNO08x* imu = nullptr;
|
||||
BNO08xTestHelper::imu_report_data_t report_data;
|
||||
BNO08xTestHelper::imu_report_data_t prev_report_data;
|
||||
bool new_data = false;
|
||||
char msg_buff[200] = {};
|
||||
|
||||
|
|
@ -660,7 +734,7 @@ TEST_CASE("Enable/Disable Linear Accelerometer", "[SingleReportEnableDisable]")
|
|||
imu = BNO08xTestHelper::get_test_imu();
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, "Report enabled testing phase started.");
|
||||
|
|
@ -673,17 +747,18 @@ TEST_CASE("Enable/Disable Linear Accelerometer", "[SingleReportEnableDisable]")
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::linear_accelerometer_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::linear_accelerometer_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that new data from respective report has been received
|
||||
TEST_ASSERT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff,
|
||||
"Enabled Report Rx Data Trial %d Success: LinearAccel: laX: %.2lf laY: %.2lf laZ: "
|
||||
"Rx Data Trial %d Success: LinearAccel: laX: %.2lf laY: %.2lf laZ: "
|
||||
"%.2lf Accuracy: %s",
|
||||
(i + 1), report_data.lin_accel_x, report_data.lin_accel_y, report_data.lin_accel_z,
|
||||
BNO08xTestHelper::BNO08xAccuracy_to_str(report_data.lin_accel_accuracy));
|
||||
|
|
@ -691,7 +766,7 @@ TEST_CASE("Enable/Disable Linear Accelerometer", "[SingleReportEnableDisable]")
|
|||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -706,20 +781,21 @@ TEST_CASE("Enable/Disable Linear Accelerometer", "[SingleReportEnableDisable]")
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::linear_accelerometer_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::linear_accelerometer_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that no new data from respective report has been received
|
||||
TEST_ASSERT_NOT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff, "Disabled Report No Rx Data Trial %d Success", (i + 1));
|
||||
sprintf(msg_buff, "No Rx Data Trial %d Success", (i + 1));
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -733,6 +809,7 @@ TEST_CASE("Enable/Disable Gravity", "[SingleReportEnableDisable]")
|
|||
const constexpr char* TEST_TAG = "Enable/Disable Gravity";
|
||||
BNO08x* imu = nullptr;
|
||||
BNO08xTestHelper::imu_report_data_t report_data;
|
||||
BNO08xTestHelper::imu_report_data_t prev_report_data;
|
||||
bool new_data = false;
|
||||
char msg_buff[200] = {};
|
||||
|
||||
|
|
@ -741,7 +818,7 @@ TEST_CASE("Enable/Disable Gravity", "[SingleReportEnableDisable]")
|
|||
imu = BNO08xTestHelper::get_test_imu();
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, "Report enabled testing phase started.");
|
||||
|
|
@ -754,17 +831,18 @@ TEST_CASE("Enable/Disable Gravity", "[SingleReportEnableDisable]")
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::gravity_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::gravity_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that new data from respective report has been received
|
||||
TEST_ASSERT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff,
|
||||
"Enabled Report Rx Data Trial %d Success: Gravity: gX: %.2lf gY: %.2lf gZ: "
|
||||
"Rx Data Trial %d Success: Gravity: gX: %.2lf gY: %.2lf gZ: "
|
||||
"%.2lf Accuracy: %s",
|
||||
(i + 1), report_data.grav_x, report_data.grav_y, report_data.grav_z,
|
||||
BNO08xTestHelper::BNO08xAccuracy_to_str(report_data.grav_accuracy));
|
||||
|
|
@ -772,7 +850,7 @@ TEST_CASE("Enable/Disable Gravity", "[SingleReportEnableDisable]")
|
|||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -787,20 +865,21 @@ TEST_CASE("Enable/Disable Gravity", "[SingleReportEnableDisable]")
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::gravity_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::gravity_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that no new data from respective report has been received
|
||||
TEST_ASSERT_NOT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff, "Disabled Report No Rx Data Trial %d Success", (i + 1));
|
||||
sprintf(msg_buff, "No Rx Data Trial %d Success", (i + 1));
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -814,6 +893,7 @@ TEST_CASE("Enable/Disable Magnetometer", "[SingleReportEnableDisable]")
|
|||
const constexpr char* TEST_TAG = "Enable/Disable Magnetometer";
|
||||
BNO08x* imu = nullptr;
|
||||
BNO08xTestHelper::imu_report_data_t report_data;
|
||||
BNO08xTestHelper::imu_report_data_t prev_report_data;
|
||||
bool new_data = false;
|
||||
char msg_buff[200] = {};
|
||||
|
||||
|
|
@ -822,7 +902,7 @@ TEST_CASE("Enable/Disable Magnetometer", "[SingleReportEnableDisable]")
|
|||
imu = BNO08xTestHelper::get_test_imu();
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, "Report enabled testing phase started.");
|
||||
|
|
@ -835,17 +915,18 @@ TEST_CASE("Enable/Disable Magnetometer", "[SingleReportEnableDisable]")
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::magnetometer_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::magnetometer_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that new data from respective report has been received
|
||||
TEST_ASSERT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff,
|
||||
"Enabled Report Rx Data Trial %d Success: Magf: mX: %.2lf mY: %.2lf mZ: "
|
||||
"Rx Data Trial %d Success: Magf: mX: %.2lf mY: %.2lf mZ: "
|
||||
"%.2lf Accuracy: %s",
|
||||
(i + 1), report_data.magf_x, report_data.magf_y, report_data.magf_z,
|
||||
BNO08xTestHelper::BNO08xAccuracy_to_str(report_data.magf_accuracy));
|
||||
|
|
@ -853,7 +934,7 @@ TEST_CASE("Enable/Disable Magnetometer", "[SingleReportEnableDisable]")
|
|||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
@ -868,20 +949,21 @@ TEST_CASE("Enable/Disable Magnetometer", "[SingleReportEnableDisable]")
|
|||
|
||||
if (imu->data_available())
|
||||
{
|
||||
prev_report_data = report_data;
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
|
||||
// check if any default values have been overwritten, implying new data from respective report
|
||||
new_data = BNO08xTestHelper::magnetometer_data_is_default(&report_data);
|
||||
new_data = BNO08xTestHelper::magnetometer_data_is_default(&report_data, &prev_report_data);
|
||||
}
|
||||
|
||||
// assert that no new data from respective report has been received
|
||||
TEST_ASSERT_NOT_EQUAL(true, new_data);
|
||||
|
||||
sprintf(msg_buff, "Disabled Report No Rx Data Trial %d Success", (i + 1));
|
||||
sprintf(msg_buff, "No Rx Data Trial %d Success", (i + 1));
|
||||
BNO08xTestHelper::print_test_msg(TEST_TAG, msg_buff);
|
||||
|
||||
// reset all data used in report test
|
||||
imu->reset_all_data();
|
||||
BNO08xTestHelper::reset_all_imu_data_to_test_defaults(imu);
|
||||
BNO08xTestHelper::update_report_data(&report_data, imu);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue