mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-22 16:43:34 +08:00
ekf2: add command line option to manually select instance
This commit is contained in:
@@ -73,17 +73,23 @@ public:
|
||||
|
||||
void PrintStatus();
|
||||
|
||||
void RequestInstance(uint8_t instance) { _request_instance.store(instance); }
|
||||
|
||||
private:
|
||||
static constexpr uint8_t INVALID_INSTANCE{UINT8_MAX};
|
||||
static constexpr uint64_t FILTER_UPDATE_PERIOD{10_ms};
|
||||
|
||||
void Run() override;
|
||||
|
||||
void PrintInstanceChange(const uint8_t old_instance, uint8_t new_instance);
|
||||
|
||||
void PublishEstimatorSelectorStatus();
|
||||
void PublishVehicleAttitude();
|
||||
void PublishVehicleLocalPosition();
|
||||
void PublishVehicleGlobalPosition();
|
||||
void PublishVehicleOdometry();
|
||||
void PublishWindEstimate();
|
||||
|
||||
bool SelectInstance(uint8_t instance);
|
||||
|
||||
// Update the error scores for all available instances
|
||||
@@ -126,6 +132,8 @@ private:
|
||||
bool filter_fault{false};
|
||||
bool timeout{false};
|
||||
|
||||
uint8_t healthy_count{0};
|
||||
|
||||
const uint8_t instance;
|
||||
};
|
||||
|
||||
@@ -168,6 +176,7 @@ private:
|
||||
|
||||
uint8_t _available_instances{0};
|
||||
uint8_t _selected_instance{INVALID_INSTANCE};
|
||||
px4::atomic<uint8_t> _request_instance{INVALID_INSTANCE};
|
||||
|
||||
uint32_t _instance_changed_count{0};
|
||||
hrt_abstime _last_instance_change{0};
|
||||
|
||||
Reference in New Issue
Block a user