Compare commits

..

1 Commits

Author SHA1 Message Date
PX4 BuildBot bebeb9c53d Update submodule rosidl to latest Mon Mar 25 12:39:32 UTC 2024
- rosidl in PX4/Firmware (374f256584): https://github/commit/7790c70717e09c003711f6f65015666c223fc283
    - rosidl current upstream: https://github/commit/f47565cf5f0edfc535e5278503a6a0bce772f1e5
    - Changes: https://github/compare/7790c70717e09c003711f6f65015666c223fc283...f47565cf5f0edfc535e5278503a6a0bce772f1e5

    f47565c 2023-08-21 Mike Purvis - Add rosidl_find_package_idl helper function (#754)
1fab290 2023-08-21 Chris Lalancette - 4.3.1
bf4cce3 2023-08-21 Chris Lalancette - Changelog.
b854136 2023-08-10 Chris Lalancette - Set the C++ version to 17. (#761)
89c6713 2023-07-25 Emerson Knapp - Fix same named types overriding typesources (#759)
c72b454 2023-07-20 Chen Lihui - update comment (#757)
17944a6 2023-07-11 Chris Lalancette - 4.3.0
261cb04 2023-07-11 Chris Lalancette - Changelog.
187210e 2023-06-21 Stefan Fabian - Fixed visibility control file added to wrong header list variable. (#755)
69efae0 2023-06-12 Shane Loretz - Remove unused splitting of .srv files in CMake (#753)
fcf7b5f 2023-06-07 Chris Lalancette - 4.2.0
1225630 2023-06-07 Chris Lalancette - Changelog.
1228f54 2023-06-07 Emerson Knapp - Fix deprecation warnings for message constants (#750)
e3b71ec 2023-05-15 Stefan Fabian - Generate typesupport declarations for actions, messages and services (#703)
a5cc3ec 2023-05-11 Chris Lalancette - 4.1.1
9302d87 2023-05-11 Chris Lalancette - Changelog.
5df46c3 2023-05-10 Alexis Paques - Fix IWYU for clangd in C and C++ (#742)
3853866 2023-05-01 Chris Lalancette - Mark _ in benchmark tests as unused. (#741)
e1af9be 2023-04-28 Yadunund - 4.1.0
a57baea 2023-04-11 Chris Lalancette - 4.0.0
8e82d7a 2023-04-11 Chris Lalancette - Changelog.
7583b95 2023-04-11 methylDragon - Dynamic Subscription (BONUS: Allocators): rosidl (#737)
6da8660 2023-04-08 methylDragon - Runtime Interface Reflection: rosidl (#728)
7cbb116 2023-04-06 Emerson Knapp - Type Description Codegen and Typesupport  (rep2011) (#727)
8b27b67 2023-03-29 Emerson Knapp - Copied type_description_interfaces structs (rep2011) (#732)
eac4201 2023-03-24 Emerson Knapp - Expose type hash on typesupports (rep2011) (#729)
10d0883 2023-03-24 Chris Lalancette - Fix a few more clang analysis problems. (#731)
ce20c11 2023-03-22 Alexander Hans - Return reference from BoundedVector::emplace_back (#730)
b93c518 2023-03-15 Emerson Knapp - Type hash in interface codegen (rep2011) (#722)
383ca18 2023-03-14 Yadu - Fix warnings (#726)
2024-03-25 12:39:32 +00:00
21 changed files with 9 additions and 36 deletions

View File

@ -1,14 +1,6 @@
root = true root = true
[*] [*.{c,cpp,cc,h,hpp}]
insert_final_newline = false
[{*.{c,cpp,cc,h,hpp},CMakeLists.txt,Kconfig}]
indent_style = tab indent_style = tab
tab_width = 8 tab_width = 8
# Not in the official standard, but supported by many editors
max_line_length = 120 max_line_length = 120
[*.yaml]
indent_style = space
indent_size = 2

View File

@ -364,13 +364,6 @@ PX4IO::~PX4IO()
bool PX4IO::updateOutputs(bool stop_motors, uint16_t outputs[MAX_ACTUATORS], bool PX4IO::updateOutputs(bool stop_motors, uint16_t outputs[MAX_ACTUATORS],
unsigned num_outputs, unsigned num_control_groups_updated) unsigned num_outputs, unsigned num_control_groups_updated)
{ {
for (size_t i = 0; i < num_outputs; i++) {
if (!_mixing_output.isFunctionSet(i)) {
// do not run any signal on disabled channels
outputs[i] = 0;
}
}
if (!_test_fmu_fail) { if (!_test_fmu_fail) {
/* output to the servos */ /* output to the servos */
io_reg_set(PX4IO_PAGE_DIRECT_PWM, 0, outputs, num_outputs); io_reg_set(PX4IO_PAGE_DIRECT_PWM, 0, outputs, num_outputs);

@ -1 +1 @@
Subproject commit 7790c70717e09c003711f6f65015666c223fc283 Subproject commit f47565cf5f0edfc535e5278503a6a0bce772f1e5

View File

@ -455,8 +455,7 @@ bool MixingOutput::update()
} }
} }
// Send output if any function mapped or one last disabling sample if (!all_disabled) {
if (!all_disabled || !_was_all_disabled) {
if (!_armed.armed && !_armed.manual_lockdown) { if (!_armed.armed && !_armed.manual_lockdown) {
_actuator_test.overrideValues(outputs, _max_num_outputs); _actuator_test.overrideValues(outputs, _max_num_outputs);
} }
@ -464,8 +463,6 @@ bool MixingOutput::update()
limitAndUpdateOutputs(outputs, has_updates); limitAndUpdateOutputs(outputs, has_updates);
} }
_was_all_disabled = all_disabled;
return true; return true;
} }

View File

@ -288,7 +288,6 @@ private:
hrt_abstime _lowrate_schedule_interval{300_ms}; hrt_abstime _lowrate_schedule_interval{300_ms};
ActuatorTest _actuator_test{_function_assignment}; ActuatorTest _actuator_test{_function_assignment};
uint32_t _reversible_mask{0}; ///< per-output bits. If set, the output is configured to be reversible (motors only) uint32_t _reversible_mask{0}; ///< per-output bits. If set, the output is configured to be reversible (motors only)
bool _was_all_disabled{false};
uORB::SubscriptionCallbackWorkItem *_subscription_callback{nullptr}; ///< current scheduling callback uORB::SubscriptionCallbackWorkItem *_subscription_callback{nullptr}; ///< current scheduling callback

View File

@ -191,15 +191,11 @@ TEST_F(MixerModuleTest, basic)
mixing_output.setAllMaxValues(MAX_VALUE); mixing_output.setAllMaxValues(MAX_VALUE);
EXPECT_EQ(test_module.num_updates, 0); EXPECT_EQ(test_module.num_updates, 0);
// all functions disabled: expect to get one single update to process disabling the output signal // all functions disabled: not expected to get an update
mixing_output.update(); mixing_output.update();
mixing_output.updateSubscriptions(false); mixing_output.updateSubscriptions(false);
mixing_output.update(); mixing_output.update();
EXPECT_EQ(test_module.num_updates, 1); EXPECT_EQ(test_module.num_updates, 0);
mixing_output.update();
mixing_output.updateSubscriptions(false);
mixing_output.update();
EXPECT_EQ(test_module.num_updates, 1);
test_module.reset(); test_module.reset();
// configure motor, ensure all still disarmed // configure motor, ensure all still disarmed

View File

@ -180,19 +180,15 @@ mixer_tick()
* Run the mixers. * Run the mixers.
*/ */
if (source == MIX_FAILSAFE) { if (source == MIX_FAILSAFE) {
// Set failsafe value if the PWM output isn't disabled /* copy failsafe values to the servo outputs */
for (unsigned i = 0; i < PX4IO_SERVO_COUNT; i++) { for (unsigned i = 0; i < PX4IO_SERVO_COUNT; i++) {
if (r_page_servos[i] != 0) { r_page_servos[i] = r_page_servo_failsafe[i];
r_page_servos[i] = r_page_servo_failsafe[i];
}
} }
} else if (source == MIX_DISARMED) { } else if (source == MIX_DISARMED) {
// Set disarmed value if the PWM output isn't disabled /* copy disarmed values to the servo outputs */
for (unsigned i = 0; i < PX4IO_SERVO_COUNT; i++) { for (unsigned i = 0; i < PX4IO_SERVO_COUNT; i++) {
if (r_page_servos[i] != 0) { r_page_servos[i] = r_page_servo_disarmed[i];
r_page_servos[i] = r_page_servo_disarmed[i];
}
} }
} }