Compare commits

..

1 Commits

Author SHA1 Message Date
PX4 BuildBot 1797e4b13f Update submodule libuavcan to latest Mon Mar 25 12:39:27 UTC 2024
- libuavcan in PX4/Firmware (6d93255069): 9a0fd624c4
    - libuavcan current upstream: dce2d4e7d8
    - Changes: 9a0fd624c4...dce2d4e7d8

    dce2d4e7 2023-11-09 Andrew Tridgell - mark libuavcan as deprecated
b798c663 2023-01-07 David Jablonski - make tests compile again
ca8d6afd 2023-04-07 Jacob Dahl - dsdl: update to latest
f845e02d 2022-12-02 Andrew Tridgell - pydronecan: update submodule
0c7016ee 2022-12-02 Andrew Tridgell - dsdl: update submodule
c1f7310d 2022-06-28 Alessandro Simovic - update pyuavcan to latest
5eec0220 2022-02-19 bugobliterator - always fill can frames with 0 at initialisation
5fb0eacb 2022-02-17 bugobliterator - make a common method to set dispatcher options
9607fcf1 2022-02-16 bugobliterator - add option to force std can
1122e5dc 2021-05-17 Siddharth Purohit - add build config to reduce mem usage for non CANFD build
e4db8bcf 2021-05-16 Siddharth Purohit - calculate max_buffer_size taking padding into account in CANFD msgs
292163cd 2021-05-16 Siddharth Purohit - include padding bytes introduced while trx CANFD multiframe into CRC
85eb144b 2021-05-03 Siddharth Purohit - Add basic support CANFD transmission and reception
2024-03-25 12:39:28 +00:00
21 changed files with 9 additions and 36 deletions

View File

@ -1,14 +1,6 @@
root = true
[*]
insert_final_newline = false
[{*.{c,cpp,cc,h,hpp},CMakeLists.txt,Kconfig}]
[*.{c,cpp,cc,h,hpp}]
indent_style = tab
tab_width = 8
# Not in the official standard, but supported by many editors
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],
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) {
/* output to the servos */
io_reg_set(PX4IO_PAGE_DIRECT_PWM, 0, outputs, num_outputs);

@ -1 +1 @@
Subproject commit 9a0fd624c448cad5633720676233f74846387a9f
Subproject commit dce2d4e7d8f41348e571481cd2e4788ac8af900d

View File

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

View File

@ -288,7 +288,6 @@ private:
hrt_abstime _lowrate_schedule_interval{300_ms};
ActuatorTest _actuator_test{_function_assignment};
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

View File

@ -191,15 +191,11 @@ TEST_F(MixerModuleTest, basic)
mixing_output.setAllMaxValues(MAX_VALUE);
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.updateSubscriptions(false);
mixing_output.update();
EXPECT_EQ(test_module.num_updates, 1);
mixing_output.update();
mixing_output.updateSubscriptions(false);
mixing_output.update();
EXPECT_EQ(test_module.num_updates, 1);
EXPECT_EQ(test_module.num_updates, 0);
test_module.reset();
// configure motor, ensure all still disarmed

View File

@ -180,21 +180,17 @@ mixer_tick()
* Run the mixers.
*/
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++) {
if (r_page_servos[i] != 0) {
r_page_servos[i] = r_page_servo_failsafe[i];
}
}
} 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++) {
if (r_page_servos[i] != 0) {
r_page_servos[i] = r_page_servo_disarmed[i];
}
}
}
/* set arming */
bool needs_to_arm = (should_arm || should_arm_nothrottle || should_always_enable_pwm);