mirror of
https://gitee.com/xiaohuolufeihua/bizhang_-obav.git
synced 2026-05-22 01:12:31 +00:00
sensors: size sensor error_count consistently (uint32_t)
This commit is contained in:
@@ -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(); }
|
||||
|
||||
@@ -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; }
|
||||
|
||||
@@ -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++;
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user