sensors: size sensor error_count consistently (uint32_t)

This commit is contained in:
Daniel Agar
2020-08-17 10:16:31 -04:00
parent e6fd5a43bc
commit 44c877c603
9 changed files with 22 additions and 22 deletions

View File

@@ -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(); }

View File

@@ -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; }

View File

@@ -43,13 +43,13 @@
#include <px4_platform_common/log.h>
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++;

View File

@@ -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 */

View File

@@ -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;

View File

@@ -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

View File

@@ -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

View File

@@ -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);

View File

@@ -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);