Commit Graph

11465 Commits

Author SHA1 Message Date
Julian Oes f56e951f00 land_detector: don't estimate freefall on 0 data 2016-06-07 12:34:54 +02:00
Julian Oes b2719cf439 land_detector: publish when there is proper data
Instead of publishing before even having done update(), let's wait for a
result and then advertise.
2016-06-07 12:34:54 +02:00
Julian Oes ba7d35d9d0 commander: fix convoluted auto disarm 2016-06-07 12:34:54 +02:00
Julian Oes 294c05d607 DriverFramework: update to latest master 2016-06-07 12:33:28 +02:00
Beat Küng d9267a4db5 pwm_out_sim.cpp: fix initialization of _control_subs
Note: {-1} initializes only the first element, and sets the others to 0.
2016-06-07 10:49:07 +02:00
Beat Küng 1be3c0fe48 mavlink_main.cpp: fix race conditions in 'mavlink stop-all'
This had multiple issues:
- linked list was modified while other instances were still running and
  accessing it (the used linked list is NOT thread-safe).
- Mavlink instance was deleted, but it was still in the linked list, and
  thus could still be dereferenced by other threads
- the instance was deleted, but it was still accessed by the 'stop-all'
  calling thread

What we do now is:
- wait for all threads to exit
- then remove the instances from the linked list and delete them
2016-06-07 10:05:59 +02:00
Beat Küng 1f55e23827 fix resource leak in mavlink_main.cpp: close the socket 2016-06-07 10:05:59 +02:00
Beat Küng d8fbd8a6f6 fix MavlinkOrbSubscription: use orb_unsubscribe instead of close() 2016-06-07 10:05:59 +02:00
Beat Küng 0eb22823a6 fix resource leak in MavlinkParametersManager: call orb_unsubscribe 2016-06-07 10:05:59 +02:00
Beat Küng d0ffb1acb8 fix resource leak in MavlinkReceiver: call orb_unsubscribe 2016-06-07 10:05:58 +02:00
Beat Küng dc3bd31e59 pwm_out_sim: fix orb handle == 0 is valid & use orb_unsubscribe instead of px4_close 2016-06-07 10:05:58 +02:00
James Goppert 9fedda43c6 Revert "Changed baro init count for LPE."
This reverts commit cefc00af39.
2016-06-06 20:02:45 -05:00
James Goppert cefc00af39 Changed baro init count for LPE. 2016-06-06 19:53:29 -05:00
James Goppert 97e6a57501 Add more GPS checks for LPE (#4750)
* Added more GPS checks for LPE.

* Add logic to force GPS alt init.
2016-06-06 19:40:41 -05:00
Beat Küng c64b0d4573 logger: don't use system time for log file name if system time obviously wrong 2016-06-06 23:27:16 +02:00
Beat Küng f5310ca51e orb: avoid unnecessary string duplication of objname 2016-06-06 23:27:16 +02:00
Beat Küng 5125fc3a81 uORBDevices::SubscriberData: remove unused member poll_priv 2016-06-06 23:27:16 +02:00
Beat Küng 605f731ac4 logger: reduce maximum logged string length to 128 (use less memory) 2016-06-06 23:27:16 +02:00
Beat Küng 76d6ffd445 logger: use the defined interval for all multi-instances (& fix code style) 2016-06-06 23:27:16 +02:00
Beat Küng e709048fb8 orb: add orb_get_interval to API 2016-06-06 23:27:16 +02:00
Beat Küng 0fb0f17ccb logger: reduce memory usage, by limiting the nr of added topics to 64 (was 128) 2016-06-06 23:27:16 +02:00
Beat Küng 78d357cb0c logger: free up ~200B stack size
we now use the already existing buffer for logging messages, which is
allocated on the heap.
In fact, stack usage was too high before this, now it's ok again.
2016-06-06 23:27:16 +02:00
Beat Küng febe75bb12 logger: don't use uint8_t buffer[msg_size]; (it's C99 not C++)
Also, it's not clear where the allocation was. It looks like it was on
the heap, but the compiler could decide to put it on the stack. This is
very bad for us because we use fixed size stacks with tights bounds. So if
a user specifies a large topic to log, it could have crashed.

Now the allocation is on the heap and the user can specify any size of
topic to log (as long as there is enough memory).
2016-06-06 23:27:16 +02:00
Beat Küng 8ef493c82d logger: use local time if orb_copy(vehicle_gps_position) fails for -t option
orb_copy can fail if there is no advertiser yet
2016-06-06 23:27:16 +02:00
Beat Küng b51ec04938 logger: fix alignment issue in data message header 2016-06-06 23:27:16 +02:00
James Goppert 5ec7de3a5a Make LPE est always log. (#4749)
This is a trivial change so I'm going to merge to help address edge cases in users logs.
2016-06-06 14:12:18 -05:00
Lorenz Meier 66db577c7d Tone down mavlink message 2016-06-05 14:37:47 +02:00
Lorenz Meier ff4f27b05e MAVLink app: Add option to configure broadcast, default to off 2016-06-05 12:39:33 +02:00
CAI Dongcai f8ff667dde pwm steps bugs fixed (#4719)
fix the divide 0 bug in using "pwm steps" in NSH, and add it's
description
2016-06-05 12:08:31 +02:00
BharathR f06e6f0ce1 Fixed actuator controls struct in Snapdragon legacy uart_esc driver wrapper (#4724) 2016-06-03 10:22:09 +02:00
Beat Küng fc2d2c6ce0 gps: update drivers submodule 2016-06-02 09:26:03 +02:00
Beat Küng b226f7d13d gps: call fsync after injecting gps data
This is to minimize delay
2016-06-02 09:26:03 +02:00
Beat Küng 25cff52019 RTCM: use MAVLINK_MSG_ID_GPS_RTCM_DATA mavlink message (supports fragmentation) 2016-06-02 09:26:03 +02:00
Beat Küng 0e3d660ccd logger refactor: add ulog_ prefix to struct names and header length 2016-06-02 07:32:49 +02:00
Beat Küng 078e79f294 mavlink_log.c: fix coding style 2016-06-02 07:32:49 +02:00
Beat Küng 034772056a logger: prepare for replay: add replayed file to the log, use _replayed as file name suffix 2016-06-02 07:32:49 +02:00
Beat Küng 069dd01cb0 logger: subscribe to mavlink_log messages and write them to the log 2016-06-02 07:32:49 +02:00
Beat Küng 659ac8faf2 refactor logger: use static fields & move them to source file
avoids multiple declarations of...
2016-06-02 07:32:49 +02:00
Beat Küng 43d734ef43 orb: consistently use unsigned int for queue_size 2016-06-02 07:24:44 +02:00
Beat Küng 392c32d316 uORBTest_UnitTest.cpp: fix style 2016-06-02 07:24:44 +02:00
Beat Küng 79b3766544 orb: add unit tests for queuing, including tests with poll & notify interface
Both succeed under Posix & NuttX (Pixracer)
2016-06-02 07:24:44 +02:00
Beat Küng 5b1273e334 orb: add optional queuing of messages
This adds two uORB API calls:
- orb_advertise_queue
- orb_advertise_multi_queue

Both add a queue_size parameter to define a maximum number of buffered
item. The existing orb calls use all a queue size of one and thus their
behavior is unchanged. If a writer publishes too fast, the oldest elements
from the queue are silently dropped.
The returned timestamp is always the one from the latest message in the
queue.

Queue size can be set via ioctl during advertisement phase. After that it
cannot be changed anymore.
2016-06-02 07:24:44 +02:00
Kabir Mohammed 69976caca9 param : fix shell handler instructions (#4716) 2016-06-02 06:37:19 +02:00
Mark Charlebois 30a3311fe6 Fixed qurt_eagle_travis build
Added missing stub function and added SDK 2 and 3 support.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-06-01 23:50:28 +02:00
Mark Charlebois 02e3f28d87 Added back support for SDK 2.0 as well as 3.0
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-06-01 23:50:28 +02:00
Mark Charlebois 6ac0eabb5a Changes required to support Hexagon SDK 3.0
The inc and lib directories were renamed to incs and libs.

This requires an updated cmake_hexagon and come changes to qurt paths in
PX4.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-06-01 23:50:28 +02:00
David Sidrane a7946aa771 Fixed Spelling (#4713) 2016-06-01 06:35:42 -10:00
Julian Oes 64109daff8 land_detector: fix timestamp type (#4710)
The overflow of the uint32_t lead to the land_detector start getting
aborted.
2016-06-01 17:15:27 +02:00
Lorenz Meier f79adacc9b FMUv4: Save 3KB of RAM 2016-06-01 17:12:52 +02:00
Lorenz Meier ae5527fac7 FMUv2: Save 3KB of RAM 2016-06-01 17:12:34 +02:00