Commit Graph
30 Commits
Author SHA1 Message Date
David Sidrane 8cdde42e32 px4io-v2:Fixed GPIO_PPM_IN definition 2017-03-23 08:33:03 +01:00
David Sidrane feda3e8c5c Changes to px4io-v2 for upstream Nuttx 2016-12-21 08:34:21 +01:00
Carlo Wood 90f3e3b5d3 Do not include headers inside __BEGIN_DECLS ... __END_DECLS blocks.
We don't have C++ unsafe headers (anymore).

I added a test to fix_headers.sh that checks if certain "unsafe"
headers are ONLY included inside a __BEGIN_DECLS ... __END_DECLS
(because after all, they are unsafe), as well as checking that
no other header files are included inside such a block. The rationale
of the latter is that if a file is a C header and it declares
function prototypes (otherwise it doesn't matter) and is sometimes
included outside a __BEGIN_DECLS ... __END_DECLS block (from a C++
source file) then it has to be C++ safe and doesn't ever to be
included from inside such a block; while if a file is a C++ header
then obviously it should never be included from such a block.

fix_headers.sh subsequently found several safe headers to be
included from inside such a block, and those that were (apparently
in the past) unsafe were included only sometimes inside such a
block and often outside it. I had a look at those files and saw
that at least an attempt has been made to make them C++ safe,
but especially because they already are included OFTEN outside
a __BEGIN_DECLS ... __END_DECLS (from C++ source files) the
best decision seems to treat them as safe.

This is not risky: .c files that define such functions still
generate C-linkage for their functions. If a C++ unsafe C header
is included outside a __BEGIN_DECLS ... __END_DECLS block then
the only possible result would be an undefined reference to
a function with C++-linkage that will not exist. Aka, when
something links after this commit, then the commit was correct.
I did build all targets and they all linked.
2016-10-28 11:57:08 +02:00
Julian Oes 8ff237c69f Remove size optimization for individual modules
It makes more sense to set the optimization flags on a platform basis
instead of individually for each module. This allows for different
optimization options for SITL, NuttX, Snapdragon, etc.
2016-09-30 08:11:51 +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
Lorenz Meier 9c08872b61 IO: Initialize PWM pins to low state 2016-02-18 19:01:44 +01:00
David Sidrane 0bde2b6fa3 Fixed Channel mapping 2016-02-04 08:56:07 +01:00
David Sidrane 2949578832 Renamed pwm_timers to more appropriate io timers for use in pwm in/out and capture 2016-02-01 10:10:34 +01:00
David Sidrane 019e197714 Change pin init state to 1 to uses late pwm init with not pulses 2016-02-01 10:10:34 +01:00
Andrew Tridgell b8a60f2501 pwm: change default_value for all boards from 1000 to 0
the value '1000' is not really magic, and it was resulting in sending
a single 1ms pulse on all IO channels for a brief instant on
startup. With some servos this led to the control surfaces being at
extremes (and straining) on startup. It may also contribute to making
ESC calibration harder on multi-rotors

In the worst case it could cause a IC motor with reverse throttle to
go full throttle on startup

A logic analyser shows the problem very clearly. Changing the
default_value fields to 0 from 1000 fixes the issue and no pulses are
generated until an explicit value suitable for the airframe is
provided via one of the many methods PWM output values can be
generated

Conflicts:
	src/drivers/boards/px4fmu-v4/px4fmu_pwm_servo.c
	src/lib/ecl
2016-01-29 08:57:20 +01:00
Lorenz Meier 7ed3fbb1bc Formatted IOv2 board config 2015-12-24 09:47:29 +01:00
Lorenz Meier 72eda2d7c9 IOv2: Add DSM controls 2015-12-24 09:47:29 +01:00
Lorenz Meier a5835bfb4f IOv2: Generalize board config 2015-12-24 09:47:29 +01:00
Lorenz Meier 83ed9e1096 Update IOv2 config 2015-11-28 09:13:15 +01:00
Lorenz Meier fa5071b3c5 Remove module.mk files to prevent confusion of adopters upgrading 2015-10-06 11:23:20 +02:00
Lorenz Meier 41f08f658d IO v2: Move to the same file locations as for IOv1 2015-10-03 17:24:47 +02:00
James Goppert 1d6b31d196 Switch to cmake build system. 2015-09-07 20:37:45 -04: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
Daniel Agar 8aae66b893 trivial code style cleanup round 2 2015-03-27 23:38:58 -04:00
Daniel Agar c2abb0f82a fix code style if trivial one line difference 2015-03-19 23:49:36 +01:00
Lorenz Meier 3d2a5bae51 Board drivers: Optimize for size 2014-11-15 13:51:16 +01:00
Lorenz Meier 2cadd45f30 Configure led ring and enable heartbeat on it 2014-11-02 10:13:11 +01:00
Lorenz Meier 5bc61c3c57 S.BUS output disable cleanup 2014-01-22 08:30:48 +01:00
Lorenz Meier 71b11d54e0 Configuring PX4IOv2 led pins 2014-01-16 20:13:35 +01:00
Lorenz Meier c11e36ad3d Board config sweep / cleanup. No further functionality-relevant points found 2014-01-02 17:42:01 +01:00
Lorenz Meier 07fa4e3ec8 Removed bogus 50 MHz setting, only relevant for outputs 2014-01-02 17:26:57 +01:00
Lorenz Meier 445b9b2339 Final pin config for F1 PPM decoding, tested to be operational, pending in-application testing 2014-01-02 10:45:00 +01:00
Lorenz Meier 85651218e2 FMU-inspired PPM config 2014-01-02 10:22:00 +01:00
Jean Cyr 89d3e1db28 Implement Spektrum DSM pairing in V2
- Bind control for V2
- Relays and accessory power not supported on V2 hardware
2013-09-18 20:04:22 -04:00
px4dev 9d6ec6b365 Restructure things so that the PX4 configs move out of the NuttX tree, and most of the PX4-specific board configuration data moves out of the config and into the board driver.
Rename some directories that got left behind in the great board renaming.
2013-08-02 22:34:55 -07:00