Commit Graph
88 Commits
Author SHA1 Message Date
Mirko Denecke 5ebc4d31da CubeOrange and CubeYellow IMU heating fix 2020-09-15 10:08:58 -04:00
Mirko Denecke 2581badabd Add ifdef to invert heater pin for px4 IO firmware. 2020-07-22 10:50:47 -04:00
Daniel Agar 8cdbc4c593 px4iofirmware: add PX4IO_PERF define to completely disable perf counters 2020-02-10 09:40:39 +01:00
Beat Küng d965b928f8 px4iofirmware: convert atomic macro into methods
Reduces flash size by 744 bytes.
CPU (loop time) is not affected.
2019-11-16 11:43:42 +01: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 a2ebbe9066 pwm_limit: rename to output_limit
As there is nothing pwm-specific about it.
2019-08-31 10:05:00 -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
Daniel Agar e468a9bbcc move systemlib/pwm_limit to standalone lib 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 ac113d71af IO main loop: Code style 2017-12-31 16:36:34 +01:00
Lorenz Meier afc8503260 PX4IO Firmware: Fix usage of new operator in IRQ
The mixer was creating a new class in interrupt context, which is not valid use in NuttX. This change copies the mixer into the buffer and runs the mixer management section of the code outside of interrupt context in the normal task.
2017-10-30 20:03:19 +01:00
Sugnan Prabhu 81809be7cd Add include guard in headers files (#8108)
Signed-off-by: Sugnan Prabhu S <sugnan.prabhu.s@intel.com>
2017-10-11 09:47:52 -04: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 3d2d6c4fdc IO: Add lazy atomic OR, AND and CLEAR functions for flags
IO needs atomic updates of a few critical status flags, but doing these always atomic (with interrupts disabled) might cause a too high interrupts disabled interval. In order to avoid this only operations that change the state of the target variable are done with interrupts disabled, while operations without an effect on the target variable are not executed.
2017-05-04 07:46:57 +02:00
Werner Stern dc6b688a6a fixed px4io firmware read-modify-write bug 2017-05-04 07:46:57 +02: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
David Sidrane b7d7b567c0 Changes to px4iofirmware for Upstrem Nuttx c++ init and logging changes 2016-12-21 08:34:21 +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 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
Roman 66ddea01d1 implemented slew-rate 2016-09-30 13:55:53 +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
Lorenz Meier 7398164fcc Updated PX4 use / API of low level GPIO and other hardware-centric system facilities 2016-05-28 14:56:17 +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
Lorenz Meier 2fa1673ee0 Make 800 bytes space on IO. From @tridge. 2016-03-24 10:40:29 +01:00
Lorenz Meier 494bccb618 IO: Remove define now part of board config 2015-12-24 09:47:29 +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 c9fefe236b Merged release into master 2015-06-13 11:06:01 +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
Roman Bapst 555e96a37a fixed publication of mixer limit flags 2015-04-10 20:26:38 +02:00
Lorenz Meier f8c8876642 Merge pull request #1819 from PX4/chan16
Support 16 channels on IO via S.BUS
2015-04-07 19:04:19 +02:00
Daniel Agar 8aae66b893 trivial code style cleanup round 2 2015-03-27 23:38:58 -04:00
Lorenz Meier c94755c847 PX4IO Firmware: Support 16 output channels 2015-03-15 17:39:42 +01:00
Lorenz Meier 8caada2188 Breathe animation, led solid on arming 2014-11-16 01:21:47 +01:00
Lorenz Meier 2cadd45f30 Configure led ring and enable heartbeat on it 2014-11-02 10:13:11 +01:00
Lorenz Meier c2687a7774 ST24 integration in IO firmware 2014-10-07 08:05:45 +02:00
px4dev d2a2297a14 Fixes #1130 2014-07-06 11:24:39 -07:00
Lorenz Meier d1909ca94b Merge pull request #878 from PX4/sbus_out
S.BUS output
2014-05-05 08:04:28 -07:00
Lorenz Meier 024de1fec4 Remove unwanted colon 2014-04-05 17:04:36 +02:00
Lorenz Meier 9a0b2b7610 Make throttle failsafe depend on the failsafe threshold parameter. Make the parameter optional (no harm if not found). 2014-04-05 11:02:22 +02:00