Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Actuator effective hotfixes #529

Merged
merged 4 commits into from
Dec 13, 2013
Merged

Actuator effective hotfixes #529

merged 4 commits into from
Dec 13, 2013

Conversation

DrTon
Copy link
Contributor

@DrTon DrTon commented Nov 15, 2013

This is hotfix for actuator_controls_effective related problems. Now it simply doesn't work on FMU+IO.

  • PX4IO (firmware) now fills PX4IO_PAGE_ACTUATORS in normal operation mode, failsafe mode fixed (FLOAT_TO_REG)
  • PX4IO driver on FMU side now use actuator_contols to fill actuator_controls_effective, because PX4IO_PAGE_ACTUATORS contains actuator outputs by definition, not controls

TODO:

  • actuator_controls_effective should be calculated by backward mixing actual servo outputs to indicate mixer saturation, but it's not simple and I suspect will not be implemented in near future
  • should actuator_controls_effective values be zeroed when disarmed?
  • need to review PX4FMU's PWM output driver

for (unsigned i = 0; i < _max_actuators; i++)
controls_effective.control_effective[i] = REG_TO_FLOAT(act[i]);
controls_effective.control_effective[i] = controls.control[i];
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here you are copying the controls back directly, evading communication with IO completely.

@LorenzMeier
Copy link
Member

Is my understanding of this patch correct that it disables the controls_effective read back from IO, but also attempts to improve the calculation of controls_effective on IO at the same time.

@DrTon
Copy link
Contributor Author

DrTon commented Nov 15, 2013

Not exactly.

it disables the controls_effective read back from IO

Yes, because IO has no this data

attempts to improve the calculation of controls_effective on IO

No, it fills PX4IO_PAGE_ACTUATORS, this has no relation to actuator controls, it's actuator output (servo values), look definition. And it can't be used to backward mixing on IO side, because we should know how mixer does it.

So only solution that I see is to add new page to IO and backward mix in mixer itself - not simple :)

@DrTon
Copy link
Contributor Author

DrTon commented Nov 16, 2013

"actuator_controls_effective" topic removed, because it was not implemented properly anywhere and was just source of bugs.

@LorenzMeier
Copy link
Member

Have you tested this in flight with FMU and updated IO yet?

@DrTon
Copy link
Contributor Author

DrTon commented Nov 16, 2013

Not yet. Only on standalone FMUv1 on bench. Of course, should be flown before merging.

@DrTon
Copy link
Contributor Author

DrTon commented Nov 19, 2013

Tested by NosDE on standalone FMUv1 with I2C ESCs.

@DrTon DrTon mentioned this pull request Nov 28, 2013
@DrTon
Copy link
Contributor Author

DrTon commented Dec 13, 2013

Tested in flight on FMUv2.

@LorenzMeier LorenzMeier merged commit 63d81ba into master Dec 13, 2013
@LorenzMeier LorenzMeier deleted the actuator_eff_fix branch January 17, 2014 21:18
PX4BuildBot added a commit that referenced this pull request Mar 12, 2020
NuttX:
 - https://github.com/PX4-NuttX/nuttx/tree/master
 - PX4/NuttX@0a2d005

Changes from PX4/NuttX (PX4/NuttX@db7fb6b) in current PX4/master (69b38c9)
PX4/NuttX@db7fb6b...0a2d005

0a2d005 (HEAD, origin/master) NXP S32K1XX peripheral clock fixes (#555)
265a543 Stm32F7: add external ram config (#529)
9aec407 xtensa_hostfs.c: Change the license to Apache 2.0
7a06ff0 xtensa: hostfs using simcall
c18d7dc xtensa: Implement simcall
7774cdd Appease many of nxstyle errors for esp32 related files
213c81a Fix a typo in kconfig text
7f6bf93 boards/xtensa/esp32/esp32-core/include/board.h: nxstyle fixes
45b8e3c sched/wqueue:  Update to Apache 2.0 headers.
f824989 sched/timer:  Update most files to Apache 2.0

Apps:
 - https://github.com/PX4/NuttX-apps/tree/master
 - PX4/NuttX-apps@176fd27

Changes from PX4/NuttX-apps (PX4/NuttX-apps@91b6ad6) in current PX4/master (69b38c9)
PX4/NuttX-apps@91b6ad6...176fd27

176fd27c (HEAD -> master, origin/master) examples: elf: Fix parallel build errors at link time
b1fd3ec8 examples: elf: Fix parallel build errors
0cb3712c examples/sotest/lib: Fix dependency
3398aad7 examples/tcpblaster: Fix the nightly build warning
436b0aa0 Add DISCLAIMER, LICENSE and NOTICE files. The content of COPYING is duplicated in LICENSE, so it got deleted.
d96bc5a4 netinit: Unregister notification at the end in netinit_monitor
7f203759 Initial checkin nuttx-apps github action CI workflow
dd905920 testing: ostest: Fix a warning in cond.c for non-SMP configurations.
127fe118 telnet: Fix compile error by commit 39bf19d
102d7670 testing: ostest: Add workaround for SMP in cond.c
PX4BuildBot added a commit that referenced this pull request Mar 12, 2020
NuttX:
 - https://github.com/PX4-NuttX/nuttx/tree/master
 - PX4/NuttX@30b9003

Changes from PX4/NuttX (PX4/NuttX@db7fb6b) in current PX4/master (2b03aa3)
PX4/NuttX@db7fb6b...30b9003

30b9003 (HEAD, origin/master) Update workflow to let build jobs do not depend on check nxstyle job
0a2d005 NXP S32K1XX peripheral clock fixes (#555)
265a543 Stm32F7: add external ram config (#529)
9aec407 xtensa_hostfs.c: Change the license to Apache 2.0
7a06ff0 xtensa: hostfs using simcall
c18d7dc xtensa: Implement simcall
7774cdd Appease many of nxstyle errors for esp32 related files
213c81a Fix a typo in kconfig text
7f6bf93 boards/xtensa/esp32/esp32-core/include/board.h: nxstyle fixes
45b8e3c sched/wqueue:  Update to Apache 2.0 headers.

Apps:
 - https://github.com/PX4/NuttX-apps/tree/master
 - PX4/NuttX-apps@176fd27

Changes from PX4/NuttX-apps (PX4/NuttX-apps@91b6ad6) in current PX4/master (2b03aa3)
PX4/NuttX-apps@91b6ad6...176fd27

176fd27c (HEAD -> master, origin/master) examples: elf: Fix parallel build errors at link time
b1fd3ec8 examples: elf: Fix parallel build errors
0cb3712c examples/sotest/lib: Fix dependency
3398aad7 examples/tcpblaster: Fix the nightly build warning
436b0aa0 Add DISCLAIMER, LICENSE and NOTICE files. The content of COPYING is duplicated in LICENSE, so it got deleted.
d96bc5a4 netinit: Unregister notification at the end in netinit_monitor
7f203759 Initial checkin nuttx-apps github action CI workflow
dd905920 testing: ostest: Fix a warning in cond.c for non-SMP configurations.
127fe118 telnet: Fix compile error by commit 39bf19d
102d7670 testing: ostest: Add workaround for SMP in cond.c
PX4BuildBot added a commit that referenced this pull request Mar 13, 2020
NuttX:
 - https://github.com/PX4-NuttX/nuttx/tree/master
 - PX4/NuttX@737dcdb

Changes from PX4/NuttX (PX4/NuttX@db7fb6b) in current PX4/master (0eca583)
PX4/NuttX@db7fb6b...737dcdb

737dcdb (HEAD, origin/master) Update up_usestack.c
963ee6f NXP RDDRONE-UAVCAN boards (S32K1XX) - Clean up clock config (#557)
850c7fa NXP S32K1XX EVB boards - clock config cleanup (#556)
30b9003 Update workflow to let build jobs do not depend on check nxstyle job
0a2d005 NXP S32K1XX peripheral clock fixes (#555)
265a543 Stm32F7: add external ram config (#529)
9aec407 xtensa_hostfs.c: Change the license to Apache 2.0
7a06ff0 xtensa: hostfs using simcall
c18d7dc xtensa: Implement simcall
7774cdd Appease many of nxstyle errors for esp32 related files

Apps:
 - https://github.com/PX4/NuttX-apps/tree/master
 - PX4/NuttX-apps@be3b314

Changes from PX4/NuttX-apps (PX4/NuttX-apps@91b6ad6) in current PX4/master (0eca583)
PX4/NuttX-apps@91b6ad6...be3b314

be3b3142 (HEAD -> master, origin/master) Update workflow to let build jobs do not depend on check nxstyle job
176fd27c examples: elf: Fix parallel build errors at link time
b1fd3ec8 examples: elf: Fix parallel build errors
0cb3712c examples/sotest/lib: Fix dependency
3398aad7 examples/tcpblaster: Fix the nightly build warning
436b0aa0 Add DISCLAIMER, LICENSE and NOTICE files. The content of COPYING is duplicated in LICENSE, so it got deleted.
d96bc5a4 netinit: Unregister notification at the end in netinit_monitor
7f203759 Initial checkin nuttx-apps github action CI workflow
dd905920 testing: ostest: Fix a warning in cond.c for non-SMP configurations.
127fe118 telnet: Fix compile error by commit 39bf19d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants