Commit Graph

26044 Commits

Author SHA1 Message Date
Beat Küng d99b72ea41 attitude_estimator_q: set mag weight to 0 if SYS_HAS_MAG is not set 2018-05-20 11:54:17 +02:00
Beat Küng f2516bbf5f system_params: add SYS_HAS_MAG and SYS_HAS_BARO params
This allows to use PX4 on systems that do not have a mag or a baro,
such as the Omnibus F4 SD.
2018-05-20 11:54:17 +02:00
nathan f754d092f8 Initial omnibusf4sd target support
Flight tested: ekf2 w/ mag and compass by @nathantsoi: https://logs.px4.io/plot_app?log=79b81031-cf1e-41f0-890b-d6cd7d559766

NOTE: external I2C devices need a pullup. I have tested with a 3.3v 2.2k pullup.

Working:
 - mpu6000, bench tested and verified via nsh
 - fmu
 - all 6 ch output bench tested w/ pwm and oneshot via nsh
 - ppm input bench tested
 - dsm input bench tested
 - bmp280, bench tested and verified via nsh
 - hmc5883, bench tested and verified via nsh, but requires an external i2c pullup
 - gps on uart6
 - startuplog, nsh, mavlink on uart4, but params are not sent for some reason. RSSI pin is TX, MOTOR 5 is RX (normal mode, 57600 baud)
 - rgbled over i2c, bench tested and workingp
 - sbus via the shared sbus/ppm pin (which includes an inverter to the mcu SBUS in pin), remove the solder bridge or jumper to the ppm pin before use

Not yet implemented:
  - ADC
  - OSD: passthrough video is untested, use at your own risk until a basic driver is implemented.
2018-05-20 11:54:17 +02:00
JohannesBrand eb6086cc39 ecl-ekf-tools: fix a bug related to time index calculation (#9489)
- fix start and end time indices calculation
2018-05-19 19:25:48 -04:00
Daniel Agar da5a9043a7 clang-tidy modernize-use-equals-delete 2018-05-18 22:48:55 +02:00
Daniel Agar 4e32cb17df clang-tidy modernize-use-equals-default 2018-05-18 22:48:55 +02:00
Beat Küng 9b5df10631 logger watchdog: avoid using printf from IRQ context
PX4_ERR calls printf, which calls lib_sem_initialize, which calls sem_wait
2018-05-18 22:23:32 +02:00
Beat Küng b8a94bf8d4 logger: move pthread_t cast to pid_t into watchdog_initialize
avoids compile error on OSX, trying to cast pthread_t to pid_t
2018-05-18 22:23:32 +02:00
Beat Küng f2703abce0 top: increase process priority to 255
Helps debugging busy-looping tasks.
2018-05-18 22:23:32 +02:00
Beat Küng bda237b368 logger: ensure that fsync is called at least every second
In case a log ends abruptly, we will know that we have everything up to the
last second.

A test showed that CPU load and the amount of logging drops are unaffected
by this.
2018-05-18 22:23:32 +02:00
Beat Küng dd30012b27 logger: add watchdog that boosts its priority when the writer is blocked for >1s
This is to guard against busy-looping tasks, so that we at least have a
log. In case the watchdog is triggered, it also logs CPU load of all
tasks.
2018-05-18 22:23:32 +02:00
Beat Küng 401eefd39b refactor logger: add struct timer_callback_data_s used in the timer callback 2018-05-18 22:23:32 +02:00
Beat Küng 9b72080ec1 refactor logger: add an enum for the reason of printing the cpu load 2018-05-18 22:23:32 +02:00
Daniel Agar 2f553b956d dataman file read fixed size buffer 2018-05-18 08:03:56 +02:00
Daniel Agar af168e42b9 Jenkins run tests under address sanitizer 2018-05-18 08:03:56 +02:00
Daniel Agar ac4053fbd6 Update submodule ecl to latest Fri May 18 01:26:47 UTC 2018 (#9484)
* cb63f16 2018-05-17 Daniel Agar - cmake cache ECL source directory path to work with catkin (#447)
 * fixes #9447
2018-05-18 00:15:15 -04:00
Daniel Agar d652e019c5 Jenkins run VTOL standard mission test under ASAN 2018-05-17 22:49:21 -04:00
Daniel Agar dc1e91137a cmake add bloaty helpers for nuttx and use in Jenkins 2018-05-17 18:27:00 -04:00
Daniel Agar f607ea5180 auav-x21 sync with px4fmu-v3 modules list 2018-05-17 14:44:07 -04:00
Beat Küng 11f4631b2a fix commander: initialize tune_durations (#9468)
Fixes #9451
2018-05-16 10:20:28 -04:00
Jake Dahl ad4b3a738a set the range to the correct value 2018-05-16 08:35:55 +02:00
Jake Dahl 306d1e7e24 a few corrections 2018-05-16 08:35:55 +02:00
Jake Dahl 6324a8851d Complete refactor of the lis3mdl driver. This has been bench tested, flight tested, and verified functional. 2018-05-16 08:35:55 +02:00
PX4 Jenkins 8a114c2f05 Update submodule ecl to latest Mon May 14 20:26:35 CDT 2018
- ecl in PX4/Firmware (bcebb33f8618c8d1827ae65b904e9d85f2610b52): https://github.com/PX4/ecl/commit/372f9f430bb0edb901b3265ecd0cddf8ee4d1ffb
    - ecl current upstream: https://github.com/PX4/ecl/commit/bae4b8a5e7786304e33deaf33bbbcbb256fdda1e
    - Changes: https://github.com/PX4/ecl/compare/372f9f430bb0edb901b3265ecd0cddf8ee4d1ffb...bae4b8a5e7786304e33deaf33bbbcbb256fdda1e

    bae4b8a 2018-05-11 Bart Slinger - remove superfluous elseif (#431)
16976d3 2018-05-11 Paul Riseborough - Merge branch 'pr-ekfOptFlowFixes'
75e6590 2018-05-10 Paul Riseborough - EKF: fix bug causing height offset when GPS use stops
e8e9e34 2018-05-10 Paul Riseborough - EKF: fix bug causing height offset when GPS use stops
6cadc92 2018-05-09 Paul Riseborough - EKF: Don't reject saturated flow data when it is the only aiding source
bf902e5 2018-05-09 Paul Riseborough - EKF: Prevent flow motion check false positives
bdf5b3e 2018-05-07 Paul Riseborough - EKF: Don't assume large position uncertainty when starting optical flow nav
e26711a 2018-05-05 Paul Riseborough - EKF: relax terrain update requirements for continuing optical flow use
868bc01 2018-05-05 Paul Riseborough - EKF: Relax minimum required range finder measurement rate
02963a8 2018-05-05 Paul Riseborough - EKF: relax optical flow on ground motion checks
24b005e 2018-05-03 Paul Riseborough - EKF: range finder aiding logic fixes
0c0a660 2018-05-03 Paul Riseborough - EKF: Decouple range finder use criteria checking and selection
6708bec 2018-04-29 Paul Riseborough - EKF: Don't auto select range finder for height when on ground.
0a63052 2018-04-26 Paul Riseborough - EKF: Fix false triggering of optical flow bad motion checks
f9d4934 2018-04-19 Paul Riseborough - EKF: update comments
82de314 2018-04-18 Paul Riseborough - EKF: Don't use optical flow if GPS is good and the vehicle is not using range finder for height
389786e 2018-03-12 Paul Riseborough - EKF: Stop using EV for yaw when GPS fusion starts
4ab7823 2018-02-26 Paul Riseborough - EKF: Add persistence criteria to  GPS fail check
67d71ca 2018-02-26 Paul Riseborough - EKF: allow GPS fallback if quality bad and alternative aiding available
bd59e38 2018-02-26 Paul Riseborough - EKF: always run GPS checks
b227aca 2018-05-05 Daniel Agar - geo_lookup fix table bounds
e494a4e 2018-05-05 Daniel Agar - Jenkins set git username and email with environment variables
3639087 2018-05-05 Daniel Agar - cmake and Jenkins add basic address santiizer test buld
1fba622 2018-05-05 Daniel Agar - travis-ci basic build script
cde2ee9 2018-05-05 Daniel Agar - cmake ignore missing-field-initializers
2100127 2018-05-05 Daniel Agar - geo: zeroing static unnecessary
0f12db5 2018-05-03 Daniel Agar - travis-ci enable coverity_scan
aceab8c 2018-05-05 Daniel Agar - Jenkins upload coverage to codecov.io
5780cd3 2018-05-05 Daniel Agar - Jenkins create PX4/Firmware test branch and push (#436)
cf957b5 2018-05-04 Daniel Agar - code coverage cmake and Jenkins support
4e0cd45 2018-05-03 Daniel Agar - doxygen cmake and Jenkins support
2018-05-15 19:18:36 +02:00
Mohammed Kabir bbcf5b1b65 logger : log ping topic 2018-05-15 18:57:34 +02:00
Mohammed Kabir 92457bcafd mavlink : implement full ping protocol and link latency reporting 2018-05-15 18:57:34 +02:00
Mohammed Kabir 8d6e209888 msg : add ping message 2018-05-15 18:57:34 +02:00
Julien Lecoeur e380adb9b6 Fix format with Artistic Style 3.1 2018-05-15 10:38:49 -04:00
Julien Lecoeur b299d6222a Astyle: allow version 3.1 2018-05-15 10:38:49 -04:00
Beat Küng 873e036e85 px_romfs_pruner: reduce multiple consecutive spaces into a single space for mixers (#9457)
Reduces FLASH usage by about 3kb.

Plus add a missing cmake dependency.
2018-05-14 14:05:29 -04:00
Daniel Agar e33da0a821 fw_att_control set default yaw rate max and update parameter descriptions 2018-05-14 00:56:46 +02:00
David Riseborough a32333994f The single line UART setup was replaced with a locked down configuration.
As per issue #9428, this code change locks down the termios configuration
for the UART to non-canonical, binary tx/rx, 8 bits, 1 stop bit, no parity.
2018-05-11 17:11:40 +02:00
TSC21 7220fb1b21 update sitl_gazebo submodule 2018-05-11 14:25:28 +02:00
Beat Küng 12436c1d64 fix attitude_estimator_q: swap quaternion multiplication & fix from_dcm init
Quaterion::from_dcm does not set *this, but just returns the resulting
Quaterion.
2018-05-11 09:34:26 +02:00
Daniel Agar 421b01e677 attitude_estimator_q move to matrix lib 2018-05-11 09:34:26 +02:00
Beat Küng 9e24875131 attitude_estimator_q: fuse accel data only if close to 1g if GPS velocity not used
This reduces attitude drift on vehicles w/o GPS. The default behavior is
unchanged, to use it, disable ATT_ACC_COMP.
2018-05-11 09:34:26 +02:00
Beat Küng f77b8d9aa8 attitude_estimator_q: remove double initialization 2018-05-11 09:34:26 +02:00
Beat Küng 54fac26327 attitude_estimator_q: allow it to be used on boards w/o a mag
By setting ATT_W_MAG to 0
2018-05-11 09:34:26 +02:00
Matthias Grob 58dd7be12a Cygwin: enable arm nuttx upload within cygwin
In the Cygwin environment the native Windows serial COM# ports get mapped
to /dev/ttyS# for POSIX compatibility. While # is one number lower inside
the environment than the COM port number because it's 0 indexed instead
of 1.

I added the necessary handling to all the dependent parts I found which
allows uploading to /dev/ttyS# when the cygwin platform is detected.
Now the usual "make px4fmu-v4 upload" and
"./Tools/upload.sh build/px4fmu-v4_default/px4fmu-v4_default.px4" work.
2018-05-09 11:31:42 +02:00
Beat Küng c6b0d5c76a navigator: don't complain 'Using minimum takeoff altitude' in case of numerical inaccuracies
Happend in SITL.
2018-05-09 07:59:46 +02:00
Beat Küng 473fa15026 BlockParam: : ensure result of strncpy is null-terminated 2018-05-09 07:59:46 +02:00
Beat Küng 258b1ea473 navigator: ensure result of strncpy is null-terminated 2018-05-09 07:59:46 +02:00
Beat Küng 8c638ac88c sdlog2: check result of snprintf and ensure result of strncpy is null-terminated 2018-05-09 07:59:46 +02:00
Beat Küng f2092dd690 mixer_test: use snprintf instead of strncpy to fix compiler warning
compiler warning:
../../src/systemcmds/tests/test_mixer.cpp: In member function ‘bool MixerTest::loadAllTest()’:
../../src/systemcmds/tests/test_mixer.cpp:202:18: error: ‘char* strncpy(char*, const char*, size_t)’ output truncated before terminating nul copying 1 byte from a string of the same length [-Werror=stringop-truncation]
     (void)strncpy(&buf[strlen(MIXER_ONBOARD_PATH)], "/", 1);
2018-05-09 07:59:46 +02:00
Beat Küng 289e618b6c mavlink: fix compiler warnings with GCC 8.0.1
-Wno-extra-semi is not valid for C code
2018-05-09 07:59:46 +02:00
Beat Küng 8bd61a9330 uORBDevices: avoid memset, use braced initializer instead 2018-05-09 07:59:46 +02:00
Beat Küng 19a12ba75d logger: avoid memset, use braced initializer instead 2018-05-09 07:59:46 +02:00
Beat Küng 3dd791c92c vfile: rename fops to fix shadowing warning
for GCC 8.0.1
2018-05-09 07:59:46 +02:00
Beat Küng 13ab5ed0d0 px4_main_t: fix method declaration throughout the code base
px4_main_t is defined as:
typedef int (*px4_main_t)(int argc, char *argv[]);
which matches with the definition in NuttX, given to task_create
2018-05-09 07:59:46 +02:00
Beat Küng 9772380779 posix main: avoid declaring px4_main_t, include the correct header instead 2018-05-09 07:59:46 +02:00