- Oct 29, 2016
-
-
Carlo Wood authored
See discussion at https://github.com/PX4/Firmware/issues/5756
-
Henry Zhang authored
-
Henry Zhang authored
-
Henry Zhang authored
-
Henry Zhang authored
-
Henry Zhang authored
-
Henry Zhang authored
-
Henry Zhang authored
-
Henry Zhang authored
-
Henry Zhang authored
-
Henry Zhang authored
-
Henry Zhang authored
-
Henry Zhang authored
-
Henry Zhang authored
-
Julian Oes authored
pwm_input was not working correctly (only after a pwm_input reset) on Pixracer because fmu was started on all PWM output channels. This moves the check if PWM input is needed up before the fmu start.
-
Lorenz Meier authored
-
Lorenz Meier authored
-
- Oct 28, 2016
-
-
Julian Oes authored
Instead of sending actuator controls from -1..1 for SITL, we should send 0..1 like we already do for HIL. This will enable negative thrust in the future, e.g. for pusher props that spin backwards, or for vehicles with variable pitch propellers.
-
Julian Oes authored
This is currently broken anyway but the new name makes more sense.
-
Carlo Wood authored
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.
-
Carlo Wood authored
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.
-
Carlo Wood authored
The "targets" posix_rpi_common, qurt_sdflight_default and posix_sdflight_default are not real targets; they are just files in cmake/configs that are included by other targets.
-
Erik Jähne authored
-
- Oct 26, 2016
-
-
Carlo Wood authored
These are some changes that I needed to compile most of the unsupported targets. After this all (make list_config_targets) compile for me except: posix_eagle_muorb, posix_sdflight_default and qurt_eagle_legacy_driver_default.
-
Andreas Antener authored
-
Beat Küng authored
-
- Oct 25, 2016
-
-
Paul Riseborough authored
-
David Sidrane authored
This is the equivalent to Greg's upstream solution for ctype.h & cctype with the necessary shadow waning fix. It also deletes the Hack in pa4_defines.h
-
- Oct 24, 2016
-
-
Mark Whitehorn authored
-
Beat Küng authored
-
Beat Küng authored
Failed with GCC 6.0.1, don't know why it worked before...
-
Beat Küng authored
Avoid including <functional> which can cause problems on NuttX
-
Beat Küng authored
Avoid including <string> which can cause problems on NuttX
-
Beat Küng authored
Avoid including <memory> which can cause problems on NuttX
-
- Oct 23, 2016
-
-
Lorenz Meier authored
-
Lorenz Meier authored
-
Lorenz Meier authored
-
Lorenz Meier authored
-
Lorenz Meier authored
This ensures that the dual-use of the pitch_min / time_inside field is handled properly between takeoff and non-takeoff items. Flight tested in SITL.
-
Lorenz Meier authored
-