Commit Graph
137 Commits
Author SHA1 Message Date
Daniel Agar 26364d44c9 px4_work_queue: command line status output and shutdown empty queues
* adds a work_queue systemcmd that will bring a tree view of all active work queues and work items
 * WorkQueues now track attached WorkItems and will shutdown when the last WorkItem is detached
2019-10-02 12:23:17 -04:00
Daniel Agar c8e59c4e39 parameter_update use uORB::Subscription consistently 2019-09-29 10:49:03 -04:00
Daniel Agar fd67bd0680 uORB: SubscriptionCallback cleanup naming 2019-09-28 13:43:56 -04:00
Silvan Fuhrer 92b824e218 VTOL attitude controller: run update_vtol_state only if mc or fw att sp changed, such that pusher support in hover works again
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-09-10 13:52:33 +02:00
Daniel Agar 6938955b8d vtol_att_control: limit state updates to input availability and always publish both FW/MC actuator controls 2019-09-02 14:13:33 -04:00
Daniel Agar 41dee3875e VTOL: only run on actuator publications corresponding to VTOL mode 2019-08-20 13:50:34 -04:00
Daniel Agar b5a01532ae vtol_att_control move to WQ with uORB callback scheduling (#12229)
* add perf counters for cycle time and interval
2019-08-09 12:44:11 -04:00
Daniel Agar e69398c09f introduce uORB::PublicationQueued and transition most orb_advertise_queue usage 2019-08-04 10:08:09 -04:00
RomanBapst afd95b14cf vtol_att_control: use VT_MOT_ID instead of VT_MOT_COUNT
- VT_MOT_COUNT assumed that motors were always the first outputs. This
does not have to be true always. VT_MOT_ID allows to specify precisely how
many motors we have for hovering and to which channel they are connected.

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2019-06-27 20:14:10 +02:00
Daniel Agar 6d9bf18ca6 Revert "VTOL: add parameter to prevent flight if roll direction was not checked"
This reverts commit 5f06c6a1aa.
2019-06-25 09:26:20 +02:00
Matthias Grob 048cca7bc4 vtol_att_control: apply multicopter takeoff hotfix also for vtol (#12250)
Please see reference:
https://github.com/PX4/Firmware/issues/12171
2019-06-12 13:59:29 -04:00
Daniel Agar c0e735c88a vtol_att_control move to new uORB::Subscription 2019-06-05 20:33:20 -04:00
Julian Oes 2ac8841f35 vtol/fw/mc: fix VTOL enum shadowing
This changes the enums used for various VTOL states to enum classes
which makes them type-safe and should avoid shadowing.

This change was motivated by a Clang warning about shadowing of the
enum const TRANSITION_TO_FW which was declared twice, once in
vtol_type.h and once in standard.h.

This change only removes the shadowing but presumably these enums could
be cleaned up and consolidated further.
2019-05-29 23:51:10 -04:00
Roman Bapst 816aa0ffb6 VTOL transitions: use FW attitude loop (#11911)
* VTOL trans: changed that now in transition for both MC and FW the corresponding (correct) attitude controller is running
* attitude setpoint for stabilized mode is generated by tailsitter.cpp
* reset yaw setpoint during transition to avoid big yaw errors after
transition back to hover
* VT_TYPE parameter: added "reboot required" metadata
2019-05-08 10:33:13 -04:00
CarlOlsson 9a2617ad33 vtol_att_control: remove unused subscription variable
Signed-off-by: CarlOlsson <carlolsson.co@gmail.com>
2019-03-28 09:03:53 +01:00
Julien Lecoeur 5f06c6a1aa VTOL: add parameter to prevent flight if roll direction was not checked
Mark V19_VT_ROLLDIR @category system

Throttle down mavlink critical msg

Send 0 actuator_output for safety

VTOL: unset v1.9 roll direction safety check param for builtin airframes
2019-03-15 00:48:23 -04:00
Julian Oes 5b9dea5604 Replacing usleep with px4_usleep
This is a step towards isolating time from the system.
2018-12-22 10:32:18 +01:00
Roman Bapst 90bfdb6f0a VTOL rate control architecture improvements (#10819)
* attitude and rate setpoint message: use 3D array for thrust demand
* FixedWingAttitudeControl: rework airspeed scaling
  * move airspeed and scaling calculation into separate method
  * if vtol in hover and airspeed disabled use minimum airspeed instead of trim airspeed
2018-11-21 20:32:40 -05:00
Roman 96f3feb088 weathervane: get rid of passive strategy
Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Daniel Agar b1d3bb0403 stop ignoring Wmissing-field-initializers and fix (#9912) 2018-07-22 12:45:52 -04:00
Beat Küng 13ab5ed0d0 px4_main_t: fix method declaration throughout the code base
px4_main_t is defined as:
typedef int (*px4_main_t)(int argc, char *argv[]);
which matches with the definition in NuttX, given to task_create
2018-05-09 07:59:46 +02:00
Roman 41a9ac0acb vtol_att_control: initialise VT_FW_MOT_OFFID correcly for standard vtol
Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-12 09:19:47 +02:00
Roman 744f806214 vtol_att_control: merge methods to disable a selection of motors
- moved methods used to modify channel maximum pwm value to VtolType
class so that the can be shared by the differnt vtol types

Signed-off-by: Roman <bapstroman@gmail.com>
2018-04-12 09:19:47 +02:00
Daniel Agar 00f98c64db VTOL preserve PWM min and max when enabling/disabling actuators 2018-04-12 09:19:47 +02:00
Beat Küng 90513e719e ASSERT: remove some inappropriate asserts
Since assertions lead to crashes, we need better failure handling. In all
the cases in this patch, the assert is not required.

All the ones with the task id should be replaced with the module base
class.

Ah yes, and this reduces flash space, since the ASSERT macro will expand to
a printf that contains the source file name.
2018-04-11 07:47:06 +02:00
Roman 2257cfc0fa vtol_att_control: set flag in_transition_to_fw properly
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-30 00:46:23 -04:00
Daniel Agar 2ce8b6a984 delete VT_FW_PITCH_TRIM parameter (#9014) 2018-03-07 09:08:59 -05:00
Roman 03338935e0 vtol_att_control: make sure blending airspeed is smaller than transition airspeed
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman 6900f97b72 vtol_att_control: use airspeed_disabled flag instead of airspeed mode
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman daa6c6ffc8 vtol_att_control: consolidated standard parameters & fix usage of hrt_elapsed time
- standard vtol was implementing many custom parameters although they
are generic and should be shared between the vtol types
- removed heavy usage of hrt_elapsed_time() which is a system call and
could be computationally expensive
2018-03-07 14:01:51 +01:00
Daniel Agar 3b0b5645e1 vtol_att update poll fd before poll call 2018-03-01 18:27:57 +01:00
Roman ee2163ce69 vtol_att_control: prevent segfault when no command line args given
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-01 11:35:34 -05:00
Daniel Agar 137a2444a8 VTOL standard respect VT_ELEV_MC_LOCK 2018-01-11 16:18:47 -05:00
Daniel Agar 66f614435f vtol_att avoid unnecessary work and delete unused 2018-01-02 01:35:57 +01:00
Daniel Agar d3a220f807 vtol_att only set fw_permanent_stab on param change 2018-01-02 01:35:57 +01:00
Daniel Agar fedc9abb02 vtol_att_control increase stack by 30 Bytes (1200 -> 1230) 2017-11-29 16:01:40 -05:00
Julian Oes 585b03898f vtol_att_control: ack transition commands
Previously transition commands were not acked at all which meant that a
mavlink consumer such as a ground station would not get feedback if the
command arrived.

This solution is not optimal because it does not take into account if
the transition actually happened but at least it is feedback that the
command has arrived at the destination.
2017-11-13 09:56:11 -05:00
sanderux fc16a31f89 Adaptive quadchute 2017-10-30 20:57:47 +01:00
Daniel Agar 4416c4ddb3 navigator move parameters out of MissionBlock
- MissionBlock is an interface with > 10 implementations
2017-10-26 22:43:53 +02:00
sanderux 33e67fd527 Disable PA during landing 2017-08-16 08:19:06 +02:00
sanderux e6c942033b Disable pusher assist when descending 2017-08-16 08:19:06 +02:00
Daniel Agar 1867573b02 VTOL don't poll parameter_update 2017-07-29 09:15:52 +02:00
Lorenz Meier f54a6c2999 VTOL Controller: Always read ready topics
When poll returns a ready FD we have to read it, no matter which flight mode the system is in.
2017-07-02 21:52:18 +02:00
Lorenz Meier 5724bef14d VTOL att controller: Code style fix 2017-07-02 20:59:25 +02:00
Daniel Agar 64ed96d81a clang-tidy readability-simplify-boolean-expr 2017-06-02 19:35:18 -04:00
Sander Smeets 9ef87f1311 VTOL QuadChute Maximum roll and pitch angles (#6665) 2017-03-02 10:34:04 -05:00
Daniel Agar 96e51f7c59 clang-tidy remove redundant 2017-02-01 22:15:50 -05:00
Daniel Agar a0271fe020 astyle src/modules/vtol_att_control 2017-01-29 01:18:32 +01:00
Andreas Antener c416fc3fa0 Tiltrotor:
- added open-loop transition time for airspeed-less flying
- added ramping down the back motors during forwards transition
2017-01-03 20:32:33 -05:00
Bart Slinger a7eed46062 Update vtol_att_control_main.cpp
Fixes https://github.com/PX4/Firmware/issues/6246
2017-01-04 00:02:53 +01:00