Commit Graph

3340 Commits

Author SHA1 Message Date
Lucas De Marchi 1aea9457a9 aerofc: remove usb sensing 2016-11-28 09:21:12 +01:00
José Roberto de Souza 51f85858f2 aerofc: Power on sensors
MPU6500, MS5611 and HMC5883 only power on when GPIO_SENSORS_POWER is
set.
2016-11-28 09:21:12 +01:00
José Roberto de Souza 7ced5a1b6f aerofc: Remove unused GPIO configuration 2016-11-28 09:21:12 +01:00
José Roberto de Souza 0f9ad1c393 aerofc: Remove remaining code and macros of RGBLed 2016-11-28 09:21:12 +01:00
José Roberto de Souza 8788e2e81e aerofc: Remove ADC configuration
Battery voltage and current will be read in another way in future.
2016-11-28 09:21:12 +01:00
Lucas De Marchi 007731df46 aerofc: use center LED for activity
Like in bootloader, use the centered LED to show activity.
2016-11-28 09:21:12 +01:00
José Roberto de Souza e690af14d8 aerofc: fix I2C bus of MS5611 and HMC5883 2016-11-28 09:21:12 +01:00
José Roberto de Souza ef7c3b2174 aerofc: Fix SPI configuration
SPI bus 1 is the bus connected to MPU6500, so remove SPI bus 3 and 4.
Also remove everything else related to SPI that this board doesn't have.
2016-11-28 09:21:12 +01:00
Lucas De Marchi 0cd7984b7f Rename asc board to aerofc 2016-11-28 09:21:12 +01:00
David Sidrane c042f49fde System Changes for AUAV X2.1 2016-11-28 09:18:45 +01:00
David Sidrane fb3e2665f3 Inital Commit AUAV X2.1 2016-11-28 09:18:45 +01:00
Beat Küng 6680af0d96 navio_sysfs_pwm_out: use quad_x.main.mix as default mixer file
Most people will use a quad, not FW.
2016-11-24 14:43:45 +01:00
Beat Küng dc6ca7c372 VDev & CDev: dynamically allocate & resize _pollset array
In most cases, really only 1 element is needed. The dynamic allocation
handles cases where more are necessary. This is all done within a locked
state, so no races can occur.

Frees roughly 2.3KB RAM.
2016-11-14 10:27:57 +01:00
Carlo Wood 04aa2bb3a4 Add missing header files.
These headers files were missing from the header files that
I added them to; the fact that they were missing didn't
lead to compile errors because by coincidence the missing
headers are included in the source files before including
these headers. But, after the reordering of header inclusions
by Tools/fix_headers.sh, these cases will give rise to compiler
errors.
2016-11-13 19:36:27 +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 77a23a043f use include statement instead of symbolic link 2016-11-11 09:50:42 +01:00
Mark Whitehorn 92ae763535 change board_config to symbolic link 2016-11-11 09:50:42 +01:00
Mark Whitehorn 40f2c4a8e4 add new board config for fmu-v3 2016-11-11 09:50:42 +01:00
James Goppert 4d6d0b2850 Fix px4io bind failed message to say safet is off instead of armed. (#5834)
Minor message clarity fix.
2016-11-09 19:39:39 -05:00
Julian Oes 18d69698a0 vmount: publish mount_status
We need feedback in mavlink about the attitude of the gimbal. Therefore
the gimbal output angles are published in vmount.
2016-11-09 10:23:34 +01:00
Dennis Shtatnov bf9a1c5a18 Removing alternative io timer rate for CF2 2016-11-05 11:06:43 +01:00
David Sidrane 2d451991af PX4 System change to Remove #ifdefs from the IO timers
Update the comment, to explain how to achive a different perescale
   value.

   Added PX4_IO_TIMER_ALTERNATE_RATE one board agnostic ifdef
   PX4_IO_TIMER_ALTERNATE_RATE that is non board specific.

   N.B.  I would like to eliminate PX4_IO_TIMER_ALTERNATE_RATE
   as well, but I need crazyflie HW to validate that the startup
   script can just set the rate on the PWM to 3921 fast enough to
   not effect the motors.
2016-11-05 11:06:43 +01:00
David Sidrane b2b9a0be9f PX4 System change to allow way to override the PWM_.*_{MIN|MAX} values
Add PX4_PWM_ALTERNATE_RANGES in suport of a board agnostic way
 to override the PWM_.*_{MIN|MAX} values
2016-11-05 11:06:43 +01:00
David Sidrane ab43baa02d Clean up Crazyflie
1) Remove uneeded spi and reset code
   2) Use the Board commin for providing the BOARD_NAME
   3) Add PX4_PWM_ALTERNATE_RANGES in suport of a board agnostic
      way to override the PWM_.*_{MIN|MAX} values
   4) Remove #ifdefs from the IO timers*. Drive the config deltas
      from the crazyflie_timer_config.c and one board agnostic
      ifdef PX4_IO_TIMER_ALTERNATE_RATE that is non board specific

      *I would like to eliminate PX4_IO_TIMER_ALTERNATE_RATE
      as well, but I need HW to validate that the startup
      script can just set the rate on the PWM to 3921 fast
      enough to not effect the motors.
2016-11-05 11:06:43 +01:00
Lorenz Meier 76082da674 Add IST8310 driver 2016-11-03 15:38:28 +01:00
Lucas De Marchi c5100b6273 tap_esc: fix output order for quadrotor 2016-11-03 15:38:09 +01:00
mantelt 8b237d7cf3 navio_sysfs_pwm_out: Adressing comments of @bkueng
(https://github.com/PX4/Firmware/pull/5704#pullrequestreview-6977559)
2016-11-03 12:37:41 +01:00
mantelt 10491884ca navio_sysfs_pwm_out: command line argument for mixerfile 2016-11-03 09:38:38 +01:00
mantelt 32403ddb90 navio_sysfs_pwm_out: removing default mixer 2016-11-03 08:59:58 +01:00
mantelt 4b8fc2365e navio_sysfs_pwm_out: Use mixer file
use all actuator groups for mixing.
2016-11-02 17:45:30 +01:00
mantelt 4c0c526898 Loading mixer from (hardcoded) file
use actuator_controls_3 for the time being
2016-11-02 17:45:30 +01:00
Henry Zhang 278124bfb8 MindPX: Code clean up. 2016-10-29 10:56:32 +02:00
Henry Zhang b280e28623 MindPX: Remove hardcode for sensors rotation. 2016-10-29 10:56:32 +02:00
Henry Zhang f17dc2f2a6 MindPX: Code style and clean up. 2016-10-29 10:56:32 +02:00
Henry Zhang d6ed416d29 MindPX: Update spi bus and sensors io config. 2016-10-29 10:56:32 +02:00
Henry Zhang cabcc39816 MindPX: Expand to maximum 8 PWM outputs. 2016-10-29 10:56:32 +02:00
Henry Zhang 53b4996379 MindPX: Use TIM14 CH1 for tone alarm output. 2016-10-29 10:56:32 +02:00
Henry Zhang b76c8cd80c MindPX: Use i2c rgbled. 2016-10-29 10:56:32 +02:00
Henry Zhang 016aa47dfc MindPX: Enable FrkSky telemetry on usart8/ttys6. 2016-10-29 10:56:32 +02:00
Henry Zhang 2b23835d56 MindPX: Support RSSI. 2016-10-29 10:56:32 +02:00
Henry Zhang d8ac044414 MindPX: Support serial RC input. 2016-10-29 10:56:32 +02: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
Carlo Wood baf89f4398 Clean up of px4_defines.h (remove math.h)
This patch reorders px4_defines.h to make it more readable (I think)
but more importantly, cleans up the #include <math.h>/<cmath>
and [std::]isfinite stuff.

My main goal was to completely get rid of including math.h/cmath,
because that doesn't really belong in a header that is supposed to
define macro's and is included in almost every source file (if not
all).

I'm not sure what it did before ;) (pun intended), but now it does
the following:

PX4_ISFINITE is only used in C++ code (that was already the case,
but hereby is official; for C code just use 'isfinite()') and is
defined to be std::isfinite, except on __PX4_QURT because that uses
the HEXAGON toolset which (erroneously) defines isfinite as macro.

I would have liked to remove PX4_ISFINITE completely from the code
and just use std::isfinite whereever that is needed, but that would
have required changing the libecl submodule, and at the moment I'm
getting tired of changing submodules... so maybe something for the
future.

Also, all includes of <math.h> or <cmath> have been removed except
for __PX4_NUTTX. Like the HEXAGON toolset NuttX currently defines
isfinite as macro for C++. So, we could have solved this in the
same was as __P4_QURT; but since we can fix NuttX ourselves I chose
to add a kludge to px4_defines.h instead that fixes this problem,
until the time that NuttX can be fixed (again postponing changing
a submodule). The kludge still demands including <cmath>, thus.

After removal of the math header file, it needed to be included
in source files that actually need it, of course.

Finally, I had a look at the math macro's (like M_PI, M_PI_F,
M_DEG_TO_RAD etc). These are sometimes (erroneously) defined in
certain math.h header files (like both, hexagon and nuttx).
This is incorrect: neither the C nor the C++ standard defines
math constants (neither as macro nor otherwise). The "problem"
here was that px4_defines.h defined some of the M_*_F float
constants in terms of the M_* double constant, which are
sometimes not defined either thus. So, I cleaned this up by
defining the M_*_F math constants as float literals in px4_defines.h,
except when they are defined in math.h for that platform.
This means that math.h has to be always included when using those
constants, but well; not much difference there as those files
usually also need/use the macro NAN (which *is* a standard macro
defined by math.h).

Finally finally, DEFAULT_PARAM_FILE was removed as it isn't
used anymore.

All in all I think the resulting px4_defines.h is nice, giving me
much less the feeling of a nearly unmaintainable and over time
slowly growing collection of kludges and hacks.
2016-10-28 08:41:30 +02:00
Beat Küng a2c493efc7 fix vmount: initialize manual control for mavlink inputs 2016-10-26 08:40:23 +02: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
Beat Küng 9448e0d673 vdev: remove wrong comment 2016-10-23 15:25:20 +02:00
Beat Küng 03c12c4c78 Device: use uint16_t for _open_count instead of int (save space) 2016-10-23 15:25:20 +02:00
Beat Küng a5e6f3213f Device: remove _irq_attached flag, test with _irq == 0 instead 2016-10-23 15:25:20 +02:00
David Sidrane a2ad92b2d7 Bugfix: Hard Fault hmc5883 with not params
Fault results from if (!strcmp(verb, "start")) {``` with null verb
2016-10-22 11:54:38 +02:00