mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-28 05:03:34 +08:00
uavcan escs: Modified esc_status reporting to have _rotor_count published.
Signed-off-by: Claudio Micheli <claudio@auterion.com>
This commit is contained in:
committed by
Beat Küng
parent
187a025dfe
commit
1e04d718f6
@@ -254,6 +254,8 @@ public:
|
||||
*/
|
||||
virtual void set_airmode(Airmode airmode) {};
|
||||
|
||||
virtual unsigned get_multirotor_count() {return 0;}
|
||||
|
||||
protected:
|
||||
/** client-supplied callback used when fetching control values */
|
||||
ControlCallback _control_cb;
|
||||
@@ -450,6 +452,8 @@ public:
|
||||
|
||||
void set_airmode(Airmode airmode) override;
|
||||
|
||||
unsigned get_multirotor_count() override;
|
||||
|
||||
private:
|
||||
Mixer *_first; /**< linked list of mixers */
|
||||
|
||||
@@ -715,6 +719,8 @@ public:
|
||||
|
||||
void set_airmode(Airmode airmode) override;
|
||||
|
||||
unsigned get_multirotor_count() override {return _rotor_count;}
|
||||
|
||||
union saturation_status {
|
||||
struct {
|
||||
uint16_t valid : 1; // 0 - true when the saturation status is used
|
||||
|
||||
@@ -198,6 +198,25 @@ MixerGroup::set_airmode(Airmode airmode)
|
||||
}
|
||||
}
|
||||
|
||||
unsigned
|
||||
MixerGroup::get_multirotor_count()
|
||||
{
|
||||
Mixer *mixer = _first;
|
||||
unsigned rotor_count = 0;
|
||||
|
||||
while (mixer != nullptr) {
|
||||
|
||||
rotor_count = mixer->get_multirotor_count();
|
||||
|
||||
if (rotor_count > 0) {
|
||||
break;
|
||||
|
||||
} else { mixer = mixer -> _next;}
|
||||
}
|
||||
|
||||
return rotor_count;
|
||||
}
|
||||
|
||||
uint16_t
|
||||
MixerGroup::get_saturation_status()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user