Commit Graph
127 Commits
Author SHA1 Message Date
Daniel Agar 22e62a044a px4iofirmware: never directly touch mixer from isr 2021-08-25 21:32:05 +02:00
Beat Küng 3198610f85 src/platforms: move all headers to platforms/common/include/px4_platform_common
and remove the px4_ prefix, except for px4_config.h.

command to update includes:
for k in app.h atomic.h cli.h console_buffer.h defines.h getopt.h i2c.h init.h log.h micro_hal.h module.h module_params.h param.h param_macros.h posix.h sem.h sem.hpp shmem.h shutdown.h tasks.h time.h workqueue.h; do for i in $(grep -rl 'include <px4_'$k src platforms boards); do sed -i 's/#include <px4_'$k'/#include <px4_platform_common\/'$k/ $i; done; done
for in $(grep -rl 'include <px4_config.h' src platforms boards); do sed -i 's/#include <px4_config.h/#include <px4_platform_common\/px4_config.h'/ $i; done

Transitional headers for submodules are added (px4_{defines,log,time}.h)
2019-10-30 11:48:47 +01:00
Beat Küng 02833c6075 px4io: add support for test_motor
And fix some IO bugs:
- PX4IO_P_STATUS_FLAGS_RAW_PWM was never cleared. This meant that after a
  'pwm test' command, normal mixing was not possible anymore.
  Fixed by remembering when we are in test mode and not sending
  PX4IO_PAGE_CONTROLS during that time. PX4IO_P_STATUS_FLAGS_RAW_PWM is
  cleared when PX4IO_PAGE_CONTROLS are received.
- when entering test mode w/o specifying all channels, the other channels
  were not set at all, which means they could still be set to values from
  a previous test call.
  This is fixed by setting all channels to disarmed when entering/leaving
  test mode.
2019-10-24 09:27:29 +02:00
Julien Lecoeur ced201bdb5 IO: respect actuator_armed.prearmed flag 2019-09-02 10:47:40 -04:00
bresch 158463d0a0 Flight termination - Rename "flightterm" variables and defines to "flighttermination". 2019-06-05 16:53:08 +02:00
bresch 6fb1b4886c IO - Send flight termination circuit breaker state to IO through PX4IO_P_SETUP_ENABLE_FLIGHTTERM 2019-06-05 16:53:08 +02:00
Andreas Antener e0dc5ae7f4 px4iofirmware: only set mixer trims when they got updated 2018-08-05 23:24:57 +02:00
Andreas Antener 5500dfc550 px4iofirmware: moved the simple register updates down to the fall-through block, moved the sbus rate update up so it doesn't get called on each of the other updates which would set the wrong value 2018-08-05 23:24:57 +02:00
Daniel Agar d73d20bcce systemlib delete unused systemlib.h 2018-06-12 09:06:30 +02:00
bresch 6976232a20 Airmode - Add airmode parameter for multicopter mixer 2018-03-23 10:35:08 +01:00
Lorenz Meier 0013f641aa IO comms: Code style 2017-12-31 16:36:34 +01:00
Daniel Agar 2a6f915dfe px4io delete old v1 battery current and voltage 2017-11-24 22:22:14 +01:00
David Sidrane bcb89f54e2 px4iofirmware:Removed FMUv1 and px4io-v1
Removed FMUv1 and px4io-v1, defaulting to px4io-v2
   were appicable.
2017-09-10 13:37:23 -04:00
Lorenz Meier dc2a2a9552 IO: Better formatting 2017-05-04 22:57:47 +02:00
Lorenz Meier 1bb56e775e IO: Fix access to free memory
The free memory was accessed from interrupt context where it should not be accessed from. We build the statistic now at a fixed rate while not armed.
2017-05-04 22:32:52 +02:00
David Sidrane 5abdb8fbe9 Fixed spelling - onshot->oneshot 2017-03-23 08:28:15 +01:00
David Sidrane 6309642c37 px4iofirmware registers uses new Oneshot API
1) Use up_pwm_retrigger to triger onshot
   2) Updated comment to explain why a rate of zero makes sense
      to set oneshot mode.
   3) Updated copyright
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
Lorenz Meier d401252c9e IO firmware: Convert magic numbers to defines
This is necessary to allow more and better unit testing.
2017-01-03 20:32:33 -05:00
Andrew Tridgell d150b4b084 px4iofirmware: fixed a bug with override handling
this fixes a race condition between the DMA completion handler
updating registers in px4io and the mixer used for handling the
override state. The register set code could set r_page_servos[]
between the time when pwm_limit_calc() is called and the servos are
actually output.
2016-12-26 16:32:33 +01:00
Lorenz Meier 074e666b95 PX4IO: Robustify firmware for mixer load operation
This change makes the mixer load and reset operation closer to thread-safe. It was guarded one-way before and in only one location. This change ensures that its being locked out from both directions. The accesses to the locking variables still need work because they are non-atomic.
2016-12-26 13:41:36 +01:00
Roman d221313dfb implemented mapping between desired thrust and applied pwm in
multirotor mixer.

Signed-off-by: Roman <bapstroman@gmail.com>
2016-12-15 23:39:53 +01:00
Mark Whitehorn fc906a79b0 delete commented code 2016-12-10 12:56:39 +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
Bartosz Wawrzacz 619efa7b45 [PX4IO/PWM driver] Added trim values to the PWM output drivers 2016-12-10 12:56:39 +01:00
Daniel Agar 1a1b8f69ac PX4IO add page setup case for thermal 2016-12-05 10:23:46 +01:00
Lorenz Meier 9f14ace0fa IO: Allow control of the blue led state as function of a Pixhawk 2.1 heater 2016-12-05 10:23:46 +01:00
Roman 66ddea01d1 implemented slew-rate 2016-09-30 13:55:53 +02:00
Julian Oes 57b3bbf657 px4iofirmware: don't set FMU_OK flags immediately
The FMU_OK flags are later checked anyway based on
system_state.fmu_data_received_time.
2016-07-29 12:46:17 +02:00
Roman 08bbd6dbfa px4iofirmware: added scale parameters for roll, pitch and yaw
since pure manual control for fixed wings in handled on the io side
the scale parameters for roll, pitch and yaw had to be introduced there
as well.

Signed-off-by: Roman <bapstr@ethz.ch>
2016-07-13 09:29:12 +02:00
Andrew Tridgell fde635ef5a px4iofirmware: fixed display of sbus rate in px4io status 2016-04-18 11:43:24 +02:00
Andrew Tridgell f19761d278 px4iofirmware: support setting the SBUS output frame rate
this allows for helicopters and multicopters with SBUS output
2016-04-18 11:43:24 +02:00
Jonathan Challinger d5dfb17f0d px4iofirmware: return failure when FORCE_SAFETY_OFF fails 2016-04-17 21:38:16 +02:00
Lorenz Meier 48bbe8f6ba IO Firmware: Default override behavior to immediate override 2015-12-11 09:28:36 +01:00
Lorenz Meier 10a3954232 IO firmware: Depend on external RC lib 2015-11-28 09:13:15 +01:00
Lorenz Meier 083dbbb71b IO firmware: Do mixer load as block operation 2015-11-06 10:24:10 +01:00
Lorenz Meier 948ff80b80 IO firmware: Fix code style 2015-10-19 13:46:32 +02:00
Lorenz Meier c9fefe236b Merged release into master 2015-06-13 11:06:01 +02:00
Lorenz Meier 9bb91ea031 PX4 IO firmware: Do not reject trim 2015-06-09 23:06:20 +02:00
Lorenz Meier b46b122808 PX4IO firmware: Support trim parameters for RPY 2015-06-09 14:16:05 +02:00
Lorenz Meier 4565f57468 Merged release_v1.0.0 into master 2015-05-27 15:28:41 -07:00
Lorenz Meier 613b50b14f IO firmware: Support pwm reversal 2015-05-25 16:42:46 +02:00
Mark Charlebois db52227409 Merge remote-tracking branch 'upstream/master' into linux
Signed-off-by: Mark Charlebois <charlebm@gmail.com>

Conflicts:
	src/modules/commander/accelerometer_calibration.cpp
2015-05-06 15:51:39 -07:00
Andreas Antener cd4154d805 Revert "Merge pull request #1819 from PX4/chan16" because of #2113
This reverts commit f8c8876642, reversing
changes made to de3888bed7.
2015-05-05 14:41:53 +02:00
Mark Charlebois 9758112e31 Use px4_config.h instead of nuttx/config.h
Modified code to use OS independent header file for config settings.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:55:41 -07:00
Lorenz Meier 63d741e368 Merge pull request #1993 from philipoe/PR/IOActuatorUpdateRate
px4io firmware: Allow actuator update rates down to 45Hz, as this is exa...
2015-04-18 11:51:25 +02:00
philipoe 93eff2bb95 px4io firmware: Allow actuator update rates down to 25Hz. This allows to
set the same update rate on PX4IO as on many commercial RC systems (e.g.
Spektrum, which works at 45Hz servo update rate).
2015-04-14 15:08:44 +02:00
Roman Bapst 555e96a37a fixed publication of mixer limit flags 2015-04-10 20:26:38 +02:00