File tree Expand file tree Collapse file tree 4 files changed +6
-1
lines changed
include/px4_ros2/components Expand file tree Collapse file tree 4 files changed +6
-1
lines changed Original file line number Diff line number Diff line change @@ -93,11 +93,13 @@ class ModeBase : public Context
93
93
// NOLINTNEXTLINE allow implicit conversion
94
94
Settings (
95
95
std::string mode_name, bool want_activate_even_while_disarmed = false ,
96
- ModeID request_replace_internal_mode = kModeIDInvalid )
96
+ ModeID request_replace_internal_mode = kModeIDInvalid , bool request_user_selectable = true )
97
97
: name(std::move(mode_name)), activate_even_while_disarmed(want_activate_even_while_disarmed),
98
+ user_selectable (request_user_selectable),
98
99
replace_internal_mode(request_replace_internal_mode) {}
99
100
std::string name; // /< Name of the mode with length < 25 characters
100
101
bool activate_even_while_disarmed{true }; // /< If true, the mode is also activated while disarmed if selected
102
+ bool user_selectable{true }; // /< If true, the mode is selectable by the user
101
103
ModeID replace_internal_mode{kModeIDInvalid }; // /< Can be used to replace an fmu-internal mode
102
104
};
103
105
Original file line number Diff line number Diff line change @@ -100,6 +100,7 @@ RegistrationSettings ModeBase::getRegistrationSettings() const
100
100
settings.enable_replace_internal_mode = true ;
101
101
settings.replace_internal_mode = _settings.replace_internal_mode ;
102
102
}
103
+ settings.user_selectable = _settings.user_selectable ;
103
104
104
105
return settings;
105
106
}
Original file line number Diff line number Diff line change @@ -65,6 +65,7 @@ bool Registration::doRegister(const RegistrationSettings & settings)
65
65
request.enable_replace_internal_mode = settings.enable_replace_internal_mode ;
66
66
request.replace_internal_mode = settings.replace_internal_mode ;
67
67
request.activate_mode_immediately = settings.activate_mode_immediately ;
68
+ request.not_user_selectable = !settings.user_selectable ;
68
69
request.px4_ros2_api_version = kLatestPX4ROS2ApiVersion ;
69
70
70
71
std::random_device rd;
Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ struct RegistrationSettings
25
25
bool enable_replace_internal_mode{false };
26
26
px4_ros2::ModeBase::ModeID replace_internal_mode{};
27
27
bool activate_mode_immediately{false };
28
+ bool user_selectable{true };
28
29
};
29
30
30
31
class Registration
You can’t perform that action at this time.
0 commit comments