Commit Graph
268 Commits
Author SHA1 Message Date
David Sidrane d80a322961 fmu: Remove Legacy FMUv4 and use the abstaction SPEKTRUM_POWER
Removed the legacy FMUv4 define that was activating a nonexistent
   pull up and on some HW driving the PPM_IN aka RC_IN aka SPEKTRUM_RX
   to VDD.

   Use the abstaction SPEKTRUM_POWER to enable the interface not
   the define for the GPIO pin.
2017-03-30 16:19:26 -10:00
David Sidrane 90fe63bb53 Fixes dead aux channels introduce in oneshot
Returned the fmu mixer code to where it updated the HW once
   it has a mixer. But  only signals a up_pwm_update() for
   onshots on actual control update.

   Before this change the hw outpuse were not updated.
2017-03-28 22:57:00 +02:00
David Sidrane 7ef3b92109 Fixes lost RC on px4fmu-v4
A recent change in in the fmu stops the instance when a
   xxxx_reset command is used issued if the fmu was not
   already running.

   That change left publications published and then on the
   next creation created a new publications was created.

   This change calls orb_unadvertise to mark the publication
   as un published so that on the next instantiations of the
   fmu it resumes publishing on the same publication.
2017-03-28 08:18:43 +02:00
David Sidrane e04d43218a Revert "fmu add command line onshot mode"
This reverts commit 22738b1213fff704d288ec84976fa84ff9535aba.

   The command was added due to a lack of my understanding of how the pwm command can be used.

   The command is not needed as the all flag can be used or a proper
   mask WHIHOUT -g

   fmu task mode_pwm
   pwm rate -a -r 50 -d /dev/pwm_output0
   pwm arm
   pwm test -a -p 500

   fmu task mode_pwm
   pwm oneshot -a -d /dev/pwm_output0 is the same as pwm oneshot -m 0xff  -d /dev/pwm_output0
   pwm arm
   pwm test -a -p 500
2017-03-23 08:28:15 +01:00
David Sidrane f32f194ad8 fmu add command line onshot mode 2017-03-23 08:28:15 +01:00
David Sidrane 71c25611b5 fmu warnx->PX4_WARN 2017-03-23 08:28:15 +01:00
David Sidrane fc099879be fmu can be run as a task or as worker thread
The new optional option is
  fmu [task] ....

  fmu task mode_pwm - start fmu as a task
  fmu  mode_pwm     - start fmu as a worker
2017-03-23 08:28:15 +01:00
David Sidrane 07834e51b7 fmu:Ensure work_stop still called work_cancel 2017-03-23 08:28:15 +01:00
David Sidrane 9227547886 fmu added comments & updated copyright 2017-03-23 08:28:15 +01:00
Mark Whitehorn 8b6b4ccee9 add macro PX4FMU_TASK to board_config 2017-03-23 08:28:15 +01:00
Mark Whitehorn b5169b0c7b uncomment FMU servo readback test 2017-03-23 08:28:15 +01:00
Mark Whitehorn 2d5588ae02 simplify oneshot mode selection; use zero PWM rate as indicator
cleanup and remove unused (new) params
2017-03-23 08:28:15 +01:00
Mark Whitehorn aa9fbbedd5 add oneshot mode capability
change fmu to task

increase fmu_servo task priority to max and enable true oneshot

use lowest FMU priority which minimizes jitter

constrain oneshot updates to control group 0 events
2017-03-23 08:28:15 +01:00
zthorson b8e72789cd px4fmu-v4: Formatting fixes
Signed-off-by: zthorson <zachthorson@gmail.com>
2017-03-05 11:42:27 +08:00
zthorson a716b105f5 px4fmu-v4: Only close down fmu drivers on reset if they weren't running
Signed-off-by: zthorson <zachthorson@gmail.com>
2017-03-05 11:42:27 +08:00
zthorson 63857c6afc px4fmu-v4: Fix for HIL Unable to Set Control Surfaces. Fixes #5651
The sensor_rest command added to the startup script for px4fmu_v4 hardware
was leaving the /dev/pwm_output0 driver open.  This would prevent the
pwm_out_sim module from registering as a simulated driver.  The result
would cause the system to properly boot in HIL mode, but you would not
be able to set any control surfaces.

Since sensor_rest and peripheral_reset are only used on initialization, the
drivers can be shut down after they have performed their reset functions.

Signed-off-by: zthorson <zachthorson@gmail.com>
2017-03-05 11:42:27 +08:00
David Sidrane 7600aa51f7 Remove fmu id command as it is redundant to ver uid
This command was redudnat to "fmu uid|all" However it
 printed the leading zeros.
2017-02-04 22:27:04 +01:00
Lorenz Meier 2c24900b9d FMU: Initialize raw RC count 2017-01-30 08:27:49 +01:00
David Sidrane 5bdd5c7989 fmu uses common board api to interface with systemlib/board_serial 2017-01-25 07:43:11 +01:00
Lorenz Meier 99450c05f5 FMU driver: Fix code style 2017-01-21 12:47:39 +01:00
Andrew C. Smith 12a34c9fcf Minor changes made to FMU module and the DSM code to properly catch Spekrum DSM data. 2017-01-21 12:13:40 +01:00
David Sidrane 33486d5047 FMU gpio operations now conditional on BOARD_FMU_GPIO_TAB in board_config
return -EINVAL on any GPIO ioctl operation when there are
       no GPIO pins defined in the board config. I.E.
       BOARD_FMU_GPIO_TAB is not defined.

       BOARD_FMU_GPIO_TAB is now optional and if it is defined
       then the logical BOARD_HAS_FMU_GPIO is defined and
       will enable the px4fmu driver to perform the physical GPIO
       operations.
2017-01-21 11:45:36 +01:00
David Sidrane 23eb07ff3e Only perform GIOP operations on defined IO (#6381)
Check if the table entry fo the IO requested is defined
   so that 0 is never passed to px4_arch_gpioXXXX functions.
2017-01-18 09:53:16 -10:00
Lorenz Meier 9275436043 FMU: Add missing headers 2016-12-27 21:00:51 +01:00
Anton Matosov 3a17c07b1e Implement RC and DL failsafe action handling for multirotors
Move RC and DL failsafe actions handling from navigator to commander (credits to @AndreasAntener)
Separate manual kill switch handling via manual_lockdown to prevent override and release of software lockdown by RC switch

Other changes:
Add failsafe tune
Fix LED blinking for Pixracer
Return back support for rc inputs in simulator but now it is configurable via cmake
2016-12-27 00:38:13 +01:00
Lorenz Meier 97ce9edcac FMU: Tighter compile checks and correct use of unsubscribe 2016-12-19 20:39:03 +01:00
Mark Whitehorn e5f4f50a52 add param_find for THR_MDL_FAC 2016-12-16 18:12:17 +01:00
Mark Whitehorn 381a565ce3 add THR_MDL_FAC parameter handling to FMU 2016-12-15 23:39:53 +01:00
Mark Whitehorn 08d36fe2af move initial pwm trim update to pwm_ioctl load case 2016-12-15 00:13:59 +01:00
Lorenz Meier ac3aa3e85c FMU driver: Avoid trashing existing publicacations for RC, motor outputs, etc. 2016-12-13 16:14:15 +01:00
Paul Riseborough da6d4398e9 px4fmu: publish mixer saturation data to uORB 2016-12-13 16:14:15 +01:00
Mark Whitehorn f0b41a0e52 change main trims to normalized values 2016-12-10 12:56:39 +01:00
Mark Whitehorn dbc149c224 change trim units from absolute usec to normalized values 2016-12-10 12:56:39 +01:00
Mark Whitehorn d8528f46ce remove DEBUG_BUILD from fmu.cpp compile flags 2016-12-10 12:56:39 +01:00
Mark Whitehorn e80ef34b0d retest FMU control latency 2016-12-10 12:56:39 +01:00
Mark Whitehorn 009a413438 fix argument order in pwm_limit_calc call, clean up
note that FMU does not update AUX pwm outputs if no RC signal
2016-12-10 12:56:39 +01:00
Mark Whitehorn 5601ca19de astyle 2016-12-10 12:56:39 +01:00
Mark Whitehorn 0ccfcab010 fmu trims still not working 2016-12-10 12:56:39 +01:00
Mark Whitehorn 82bfaf3967 debugging fmu mode_pwm4 not recognized 2016-12-10 12:56:39 +01:00
Mark Whitehorn ea83b67bd8 add trim parameter handling 2016-12-10 12:56:39 +01:00
Mark Whitehorn 9ced4afca3 add AUX trim parameters 2016-12-10 12:56:39 +01:00
Bartosz Wawrzacz 619efa7b45 [PX4IO/PWM driver] Added trim values to the PWM output drivers 2016-12-10 12:56:39 +01:00
Lucas De Marchi 66628a4cf1 aerofc: forbid gpio changes
We export an "empty" table, but there's no protection when doing
ioctl().
2016-11-28 09:21:12 +01:00
James Goppert 893714dc6a aerofc: Fixes for init 2016-11-28 09:21:12 +01:00
Benoit3 83e9e1c382 The goal of this patch is to allow compatibility with GR12/GR16/GR24 graupner receiver by :
- allowing decoding of SUMD frame with failsafe bit set
- updating stack failsafe state with the sumd failsafe info

Refer to #5817 issue
2016-11-12 14:28:57 +01:00
Mark Whitehorn 4cc97aa705 fix another bug in fmu mode 2016-10-24 18:22:18 +02:00
Lorenz Meier 3bed398a1e FMU: scan longer 2016-10-23 19:58:52 +02:00
Siddharth Bharat Purohit b75ff417ea fmu: fix typo introduced in 78b0d1a which adds PWM1 mode 2016-10-22 08:37:13 +02:00
Julian Oes 78b0d1a01f tap: add landing gear capability
This configures the PWM output for the landing gear.
2016-10-20 23:17:05 +02:00
Lorenz Meier 7b2898eaee Fix merge collision 2016-10-19 18:29:34 +02:00