diff --git a/src/lib/drivers/accelerometer/PX4Accelerometer.hpp b/src/lib/drivers/accelerometer/PX4Accelerometer.hpp index 5d39edb3536..d63b010ab3c 100644 --- a/src/lib/drivers/accelerometer/PX4Accelerometer.hpp +++ b/src/lib/drivers/accelerometer/PX4Accelerometer.hpp @@ -53,7 +53,7 @@ public: void set_device_id(uint32_t device_id) { _device_id = device_id; } void set_device_type(uint8_t devtype); - void set_error_count(uint64_t error_count) { _error_count = error_count; } + void set_error_count(uint32_t error_count) { _error_count = error_count; } void increase_error_count() { _error_count++; } void set_range(float range) { _range = range; UpdateClipLimit(); } void set_scale(float scale) { _scale = scale; UpdateClipLimit(); } diff --git a/src/lib/drivers/gyroscope/PX4Gyroscope.hpp b/src/lib/drivers/gyroscope/PX4Gyroscope.hpp index 8f732c7c06e..963f56fd2b9 100644 --- a/src/lib/drivers/gyroscope/PX4Gyroscope.hpp +++ b/src/lib/drivers/gyroscope/PX4Gyroscope.hpp @@ -52,7 +52,7 @@ public: void set_device_id(uint32_t device_id) { _device_id = device_id; } void set_device_type(uint8_t devtype); - void set_error_count(uint64_t error_count) { _error_count = error_count; } + void set_error_count(uint32_t error_count) { _error_count = error_count; } void increase_error_count() { _error_count++; } void set_range(float range) { _range = range; } void set_scale(float scale) { _scale = scale; } diff --git a/src/modules/sensors/data_validator/DataValidator.cpp b/src/modules/sensors/data_validator/DataValidator.cpp index 3b0b506a70e..81871a1ae8b 100644 --- a/src/modules/sensors/data_validator/DataValidator.cpp +++ b/src/modules/sensors/data_validator/DataValidator.cpp @@ -43,13 +43,13 @@ #include -void DataValidator::put(uint64_t timestamp, float val, uint64_t error_count_in, int priority_in) +void DataValidator::put(uint64_t timestamp, float val, uint32_t error_count_in, uint8_t priority_in) { float data[dimensions] = {val}; // sets the first value and all others to 0 put(timestamp, data, error_count_in, priority_in); } -void DataValidator::put(uint64_t timestamp, const float val[dimensions], uint64_t error_count_in, int priority_in) +void DataValidator::put(uint64_t timestamp, const float val[dimensions], uint32_t error_count_in, uint8_t priority_in) { _event_count++; diff --git a/src/modules/sensors/data_validator/DataValidator.hpp b/src/modules/sensors/data_validator/DataValidator.hpp index 662a3032510..d9f2fa8e4ef 100644 --- a/src/modules/sensors/data_validator/DataValidator.hpp +++ b/src/modules/sensors/data_validator/DataValidator.hpp @@ -57,14 +57,14 @@ public: * * @param val Item to put */ - void put(uint64_t timestamp, float val, uint64_t error_count, int priority); + void put(uint64_t timestamp, float val, uint32_t error_count, uint8_t priority); /** * Put a 3D item into the validator. * * @param val Item to put */ - void put(uint64_t timestamp, const float val[dimensions], uint64_t error_count, int priority); + void put(uint64_t timestamp, const float val[dimensions], uint32_t error_count, uint8_t priority); /** * Get the next sibling in the group @@ -89,7 +89,7 @@ public: * Get the error count of this validator * @return the error count */ - uint64_t error_count() const { return _error_count; } + uint32_t error_count() const { return _error_count; } /** * Get the values of this validator @@ -107,7 +107,7 @@ public: * Get the priority of this validator * @return the stored priority */ - int priority() const { return _priority; } + uint8_t priority() const { return _priority; } /** * Get the error state of this validator @@ -170,11 +170,11 @@ private: uint64_t _time_last{0}; /**< last timestamp */ uint64_t _event_count{0}; /**< total data counter */ - uint64_t _error_count{0}; /**< error count */ + uint32_t _error_count{0}; /**< error count */ int _error_density{0}; /**< ratio between successful reads and errors */ - int _priority{0}; /**< sensor nominal priority */ + uint8_t _priority{0}; /**< sensor nominal priority */ float _mean[dimensions] {}; /**< mean of value */ float _lp[dimensions] {}; /**< low pass value */ diff --git a/src/modules/sensors/data_validator/DataValidatorGroup.cpp b/src/modules/sensors/data_validator/DataValidatorGroup.cpp index e9f10269e31..7ebf1550d64 100644 --- a/src/modules/sensors/data_validator/DataValidatorGroup.cpp +++ b/src/modules/sensors/data_validator/DataValidatorGroup.cpp @@ -119,8 +119,8 @@ void DataValidatorGroup::set_equal_value_threshold(uint32_t threshold) } } -void DataValidatorGroup::put(unsigned index, uint64_t timestamp, const float val[3], uint64_t error_count, - int priority) +void DataValidatorGroup::put(unsigned index, uint64_t timestamp, const float val[3], uint32_t error_count, + uint8_t priority) { DataValidator *next = _first; diff --git a/src/modules/sensors/data_validator/DataValidatorGroup.hpp b/src/modules/sensors/data_validator/DataValidatorGroup.hpp index 6dc7d766c9f..8a2d4b8a1bb 100644 --- a/src/modules/sensors/data_validator/DataValidatorGroup.hpp +++ b/src/modules/sensors/data_validator/DataValidatorGroup.hpp @@ -67,7 +67,7 @@ public: * @param error_count The current error count of the sensor * @param priority The priority of the sensor */ - void put(unsigned index, uint64_t timestamp, const float val[3], uint64_t error_count, int priority); + void put(unsigned index, uint64_t timestamp, const float val[3], uint32_t error_count, uint8_t priority); /** * Get the best data triplet of the group diff --git a/src/modules/sensors/data_validator/tests/test_data_validator.cpp b/src/modules/sensors/data_validator/tests/test_data_validator.cpp index fa16fc89519..56d1238b921 100644 --- a/src/modules/sensors/data_validator/tests/test_data_validator.cpp +++ b/src/modules/sensors/data_validator/tests/test_data_validator.cpp @@ -195,9 +195,9 @@ void test_error_tracking() uint64_t timestamp_incr = 5; const uint32_t timeout_usec = 2000;//from original private value float val = 3.14159f; - uint64_t error_count = 0; + uint32_t error_count = 0; int expected_error_density = 0; - int priority = 50; + uint8_t priority = 50; //from private value: this is min change needed to avoid stale detection const float sufficient_incr_value = (1.1f * 1E-6f); //default is private VALUE_EQUAL_COUNT_DEFAULT diff --git a/src/modules/sensors/data_validator/tests/test_data_validator_group.cpp b/src/modules/sensors/data_validator/tests/test_data_validator_group.cpp index 11f8950e110..2af5c2acd4e 100644 --- a/src/modules/sensors/data_validator/tests/test_data_validator_group.cpp +++ b/src/modules/sensors/data_validator/tests/test_data_validator_group.cpp @@ -94,7 +94,7 @@ DataValidatorGroup *setup_base_group(unsigned *sibling_count) void fill_one_with_valid_data(DataValidatorGroup *group, int val1_idx, uint32_t num_samples) { uint64_t timestamp = base_timestamp; - uint64_t error_count = 0; + uint32_t error_count = 0; float last_best_val = 0.0f; for (uint32_t i = 0; i < num_samples; i++) { @@ -125,7 +125,7 @@ void fill_one_with_valid_data(DataValidatorGroup *group, int val1_idx, uint32_t void fill_two_with_valid_data(DataValidatorGroup *group, int val1_idx, int val2_idx, uint32_t num_samples) { uint64_t timestamp = base_timestamp; - uint64_t error_count = 0; + uint32_t error_count = 0; float last_best_val = 0.0f; for (uint32_t i = 0; i < num_samples; i++) { @@ -250,7 +250,7 @@ void test_priority_switch() //printf("num_siblings: %d \n",num_siblings); int val1_idx = (int)num_siblings - 2; int val2_idx = (int)num_siblings - 1; - uint64_t error_count = 0; + uint32_t error_count = 0; fill_two_with_valid_data(group, val1_idx, val2_idx, 100); diff --git a/src/modules/sensors/data_validator/tests/tests_common.cpp b/src/modules/sensors/data_validator/tests/tests_common.cpp index 78848c1e7e3..899f7871f33 100644 --- a/src/modules/sensors/data_validator/tests/tests_common.cpp +++ b/src/modules/sensors/data_validator/tests/tests_common.cpp @@ -40,8 +40,8 @@ void insert_values_around_mean(DataValidator *validator, const float mean, uint3 { uint64_t timestamp = *timestamp_io; uint64_t timestamp_incr = 5; - const uint64_t error_count = 0; - const int priority = 50; + const uint32_t error_count = 0; + const uint8_t priority = 50; const float swing = 1E-2f; double sum_dev_squares = 0.0f; @@ -84,8 +84,8 @@ void fill_validator_with_samples(DataValidator *validator, const uint32_t timeout_usec = 2000;//derived from class-private value float val = *value_io; - const uint64_t error_count = 0; - const int priority = 50; //"medium" priority + const uint32_t error_count = 0; + const uint8_t priority = 50; //"medium" priority const int equal_value_count = 100; //default is private VALUE_EQUAL_COUNT_DEFAULT validator->set_equal_value_threshold(equal_value_count);