Commit Graph

13526 Commits

Author SHA1 Message Date
Nate Weibley b4e7b041ca Fix potential null pointer deref if Mavlink start fails before task_main loop
LL_APPEND is called just before the loop spins up but various error conditions can cause the task to exit before then.
When that happens Mavlink::start_helper calls delete on the instance which tries to prune it from the global list.
If this is the first Mavlink instance to attempt starting the list head is null and we hardfault in the Mavlink dtor.

Only call LL_DELETE after checking the list head for a null pointer.
2015-05-13 11:33:11 -04:00
Andrea Nistico 16aa03e30a mpc parameter INAV_W_Z_VIS_P increased 2015-05-13 17:22:10 +02:00
Roman Bapst 90c3aec1fd make main LED show low and critical battery status 2015-05-13 16:24:44 +02:00
Lorenz Meier 66b87ac761 Fix state-level HIL. Reported by @s3erjaeh 2015-05-13 16:04:33 +02:00
Lorenz Meier 6f94951050 Fix sdlog2 stopping on param write. Found by Severin Leuenberger 2015-05-13 15:46:35 +02:00
Lorenz Meier 890c3af13c multiplatform: Update yaw P param name 2015-05-13 15:34:07 +02:00
Lorenz Meier efb60ab779 multiplatform pos controller: Rename params to prevent mixup with MPC params 2015-05-13 15:19:16 +02:00
Lorenz Meier e400ec586d multiplatform att controller: Rename params to prevent mixup with MC params 2015-05-13 15:18:50 +02:00
Lorenz Meier 164a254214 Merge pull request #2143 from PX4/mc_pos_D_reset
mc_pos_control: always update previous velocity
2015-05-13 13:58:15 +02:00
Roman Bapst cf27fc59c7 read hil sensor message instead of highres imu message 2015-05-13 10:31:52 +02:00
tumbili 9686f8004e send pwm outputs to simulator 2015-05-12 23:55:32 +02:00
tumbili 3a79679e2d get manual control setpoint from PIXHAWK 2015-05-12 23:15:58 +02:00
Mark Charlebois d0bf4ab449 Simulator: refactored mavlink additions
QuRT does not support UDP so moved the mavlink specific code
to a new file that is not built for the qurt target

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-11 19:25:11 -07:00
Mark Charlebois 2d32395bc0 Merge branch 'qurt' into linux 2015-05-11 16:07:53 -07:00
Mark Charlebois a99f916bdf POSIX: Changed px4_debug.h to px4_log.h
Also changed use of printf to PX4_WARN or PX4_INFO in posix and
qurt tests.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-11 16:04:39 -07:00
tumbili c074d6e913 implemented polling of socket file descriptor and uorb topic file descriptor 2015-05-11 23:55:11 +02:00
Lorenz Meier b3ed0cf36b Navigator: be more verbose about RTL 2015-05-11 09:37:42 +02:00
Lorenz Meier a124bc07aa Ensure SYS_AUTOSTART param is always selected 2015-05-10 23:58:25 +02:00
tumbili b6441d2966 implemented new mixer strategy 2015-05-10 00:42:53 +02:00
tumbili 9119687177 make socket non-blocking, moved socket includes to header file to avoid forward declarations 2015-05-09 10:35:25 +02:00
tumbili 39711ca908 implemented bidirectional udp communication with simulator 2015-05-08 21:51:21 +02:00
Lorenz Meier 29eeb724a1 commander: Enforce rotation during mag calibration step 2015-05-08 11:23:19 +02:00
Lorenz Meier 3be1fc7d42 commander gyro calibration: Do not require a specific position, automatically start a retry after motion on the first try 2015-05-08 11:01:19 +02:00
Mark Charlebois a0d548db9a Changed circuit_breaker to not use px4.h
The inclusion of px4.h requires C++ features not supported in the
Hexagon toolchain. The features are not required so the required
headers are used instead.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-07 11:35:01 -07:00
Mark Charlebois 41a2d30cfe Merge branch 'linux' of http://github.com/mcharleb/Firmware into linux 2015-05-07 10:08:56 -07:00
Mark Charlebois 2002d4e774 POSIX: disable UART in mavlink
Most of the current POSIX builds will not use the UART and it
is just a unnecessary dependency to satisfy when running in a
test environment.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-07 10:07:18 -07:00
Thomas Gubler cc62033190 improve mavlink set_attitude_target handling
port #1920 to mavlink_receiver
fixes #1921
2015-05-07 16:44:54 +02:00
Roman Bapst 1d544e028d mc_pos_control: always update previous velocity to avoid spikes due to differentiation 2015-05-07 15:04:59 +02:00
tumbili 5cf8efcc60 copy quaternion setpoint into attitude setpoint topic 2015-05-07 12:36:50 +02:00
Mark Charlebois 6db77dc8bb Experimental virtual file support
QuRT does not have a filesystem, so creating a virtual filesystem
that could be implemented as an in-memory file or a remote file
over fastRPC.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 22:12:45 -07:00
Mark Charlebois 35e6822d95 Added missing px4_ prefixes
NuttX build required missing px4_ prefix for systemreset and task_spawn_cmd

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 16:25:45 -07:00
Mark Charlebois 3a65187303 Fixed bad merge
Forgot to remove old file line when merging the changes from master.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 16:00:00 -07: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
Mark Charlebois 0c1c58c418 Fixed overzealous px4_ prefixing
Some files had px4_px4_ prefixed functions.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 15:32:04 -07:00
Mark Charlebois c5237f7f6f Removed extra abstracton layer in systemlib
The calls to task_spawn_cmd, kill_all, and systemreset  were wrappers
around the px4_{task_spawn_cmd|kill_all|systemreset} implementations.

Removed the wrappers and changed all calls to the px4_ equivalents.

NuttX specific code was moved into px4_tasks.h

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 14:43:11 -07:00
Mark Charlebois 3654aec3a5 POSIX: ported px4_daemon_app
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 14:34:23 -07:00
Mark Charlebois eed2479dfc Added px4_ prefix to task_spawn_cmd
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 14:20:08 -07:00
Roman Bapst 525e605b92 vtol: publish actuator controls in manual mode 2015-05-06 22:53:56 +02:00
Mark Charlebois 7ebee7ca6f uORB: Unit test fix
The latency_test used to pass an object pointer as argv which
won't work in the posix port because it expects argv to be a
null terminated array of character pointers (which it makes a
copy of).

The test was refactored to use a singleton pattern and avoid
having to pass the object pointer to the thread.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 13:19:52 -07:00
Mark Charlebois 872e1ebda0 GCC fixes for warnings
GCC was more picky about prototypes for inlines being required.

The generate_listener.py script used incorrect printf formats and
was casting %f params to float, but printf casts all %f params to
double per the spec.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 11:45:23 -07:00
Lorenz Meier 0d1d92484b MAVLink app: Parameter docs and new test parameter 2015-05-06 19:39:17 +02:00
Lorenz Meier 150c5d2d8c Commander: parameter style change 2015-05-06 19:38:53 +02:00
Andreas Antener 95803a774a update param docs, change default back to old ekf for inav based estimation 2015-05-06 11:37:02 +02:00
Lorenz Meier 9892f12d2e Attitude filter for multirotors: Let users choose between filters 2015-05-06 09:16:34 +02:00
Mark Charlebois 6d2efd0e8f uORB: Unit test called close vs px4_close
The unit test should have called px4_close(), not close().

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-05 13:07:54 -07:00
Mark Charlebois 0cea93a55c POSIX and QuRT: fixed calls needing px4_ prefix
There were some missed calls to open and ioctl that need to be
px4_open and px4_ioctl.

QuRT also does not provide usleep() so px4_time.h has to be included
in files calling usleep.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-05 12:13:39 -07:00
Mark Charlebois f2af8b08ed uORB: fix segfault in unit test
The unit test was not passing a null pointer terminated argv.
The posix port depends on argv being null terminated to
determine how may args were passed since PX4 API doesn't
pass argc when spawning a new task.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-05 12:09:19 -07:00
Lorenz Meier 6c859245e2 Merge pull request #2013 from PX4/attitude_estimator_q
attitude_estimator_q added
2015-05-05 20:29:51 +02:00
Lorenz Meier 8f606cd491 Merge pull request #2131 from PX4/sensor_cal_fix
fix accel calibration
2015-05-05 20:17:41 +02:00
Mark Charlebois e33a164ddb uORB: Major refactoring
uORB was refactored in order to support the MuORB changes required
for QURT. Those changes wil be added in a subsequent commit.

The files are split out by posix and nuttx so the changes are visible.
When this has been tested, the files can be re-merged and re-tested.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-05 10:52:15 -07:00