Commit Graph

12618 Commits

Author SHA1 Message Date
Lucas De Marchi
b7e5f56bd7 AP_Gripper: add O_CLOEXEC in places missing it
By opening with O_CLOEXEC we make sure we don't leak the file descriptor
when we are exec'ing or calling out subprograms. Right now we currently
don't do it so there's no harm, but it's good practice in Linux to have
it.
2016-11-07 12:37:30 -03:00
Lucas De Marchi
4936fd8623 AP_Terrain: add O_CLOEXEC in places missing it
By opening with O_CLOEXEC we make sure we don't leak the file descriptor
when we are exec'ing or calling out subprograms. Right now we currently
don't do it so there's no harm, but it's good practice in Linux to have
it.
2016-11-07 12:37:30 -03:00
Lucas De Marchi
f6d475c1e6 AP_HAL_SITL: add O_CLOEXEC in places missing it
By opening with O_CLOEXEC we make sure we don't leak the file descriptor
when we are exec'ing or calling out subprograms. Right now we currently
don't do it so there's no harm, but it's good practice in Linux to have
it.
2016-11-07 12:37:30 -03:00
Lucas De Marchi
c9eff28c44 DataFlash: add O_CLOEXEC in places missing it
By opening with O_CLOEXEC we make sure we don't leak the file descriptor
when we are exec'ing or calling out subprograms. Right now we currently
don't do it so there's no harm, but it's good practice in Linux to have
it.
2016-11-07 12:37:30 -03:00
Lucas De Marchi
932d1ae244 AP_RangeFinder: add O_CLOEXEC in places missing it
By opening with O_CLOEXEC we make sure we don't leak the file descriptor
when we are exec'ing or calling out subprograms. Right now we currently
don't do it so there's no harm, but it's good practice in Linux to have
it.
2016-11-07 12:37:30 -03:00
Lucas De Marchi
7968736b1c AP_HAL: add O_CLOEXEC in places missing it
By opening with O_CLOEXEC we make sure we don't leak the file descriptor
when we are exec'ing or calling out subprograms. Right now we currently
don't do it so there's no harm, but it's good practice in Linux to have
it.
2016-11-07 12:37:30 -03:00
Lucas De Marchi
490841a814 AP_HAL_Linux: add O_CLOEXEC in places missing it
By opening with O_CLOEXEC we make sure we don't leak the file descriptor
when we are exec'ing or calling out subprograms. Right now we currently
don't do it so there's no harm, but it's good practice in Linux to have
it.
2016-11-07 12:37:30 -03:00
Lucas De Marchi
2e4c1818a3 AP_Common: add missing O_CLOEXEC definition
O_CLOEXEC is not available on Nuttx, nor it makes sense there. Define it
as 0, so we can use it in code.
2016-11-07 12:37:30 -03:00
Holger Steinhaus
5b66062f85 AP_GPS_PX4: unsubscribe on driver destruction. 2016-11-07 08:00:57 -03:00
Shingo Matsuura
ceaa9474ed AP_RangeFinder: change enum name, add "state" word 2016-11-06 05:22:30 -08:00
Shingo Matsuura
4329cdbf2c AP_RangeFinder: change comment about fall through LEDDARONE_MODBUS_INIT case 2016-11-06 05:22:30 -08:00
Shingo Matsuura
3b8d36314c AP_RangeFinder: add comment about no break at LEDDARONE_MODBUS_INIT case 2016-11-06 05:22:30 -08:00
Shingo Matsuura
0eeca3ee0b AP_RangeFinder: remove case indent 2016-11-06 05:22:30 -08:00
Shingo Matsuura
4ca1eefd50 AP_RangeFinder: change magic numbers to define 2016-11-06 05:22:30 -08:00
Shingo Matsuura
6254787186 AP_RangeFinder: remove break in LEDDARONE_MODOBUS_INIT case and and use () around (read_len == 0) for clarity 2016-11-06 05:22:30 -08:00
Shingo Matsuura
5e5a806979 AP_RangeFinder: modified regarding to advices from @magicrub - san. 2016-11-06 05:22:30 -08:00
Shingo Matsuura
4b127edd5e AP_RangeFinder: fixed LeddarOne busy wait 2016-11-06 05:22:30 -08:00
Florent Martel
530955c15f AP_Frsky_Telem: remove arming check for transmitting params
Otherwise, on Plane, if ARMING REQUIRED is set to 0 (automatically
armed), no parameters are transmitted.
2016-11-04 23:11:00 -07:00
Randy Mackay
039d12bd55 AP_Gripper: add parameter unit and remove print on grab or release 2016-11-05 10:36:06 +09:00
Peter Barker
d9cbcd9487 SITL: a simulator for the EPM grabber 2016-11-05 10:20:43 +09:00
Peter Barker
7200692137 RC_Channel: make EPM a subclass of AP_Gripper_Backend 2016-11-05 10:20:41 +09:00
Peter Barker
48cd35609c AP_Gripper: make EPM a subclass of AP_Gripper_Backend 2016-11-05 10:20:38 +09:00
Peter Barker
15b271ec13 AP_EPM: rename in preparation of becoming a AP_Gripper backend 2016-11-05 10:20:35 +09:00
Peter Barker
d2e798d549 RC_Channel: alias k_epm to k_kgripper 2016-11-05 10:20:31 +09:00
Peter Barker
d439bbe5bf SITL: SIM_Gripper_Servo, a simulated servo gripper 2016-11-05 10:20:29 +09:00
Peter Barker
a8435de65a AP_Gripper: a general gripper frontend 2016-11-05 10:20:27 +09:00
Florent Martel
5a96db5a44 AP_Frsky_Telem: replaced timer cond > with >= 2016-11-04 12:17:40 -07:00
Florent Martel
e43b2a73da AP_Frsky_Telem: increase sending params priority
If there's a lot of messages in the queue, params would not be
transmitted for a while, until the queue is empty, which can take a bit
of time during init.
2016-11-04 12:17:40 -07:00
Florent Martel
75905be376 AP_Frsky_Telem: simplified set_is_flying and moved to header file 2016-11-04 12:00:02 -07:00
Florent Martel
bc4ab70c1c AP_Frsky_Telem: added const to some declarations 2016-11-04 11:18:28 -07:00
floaledm
68b10979c3 AP_Frsky_Telem: added extra parentheses around pointed to values for readability
As suggested by tridge
2016-11-04 11:18:28 -07:00
Florent Martel
328e6d6886 AP_Frsky_Telem: removed sending redundant VSpd, Alt, and VFAS sensor values, which can now be handled by OpenTX 2016-11-04 11:10:09 -07:00
Ralf Ramsauer
530d3230df Linux: Scheduler: don't ignore return values
Several return values in the constructor of the scheduler were ignored
before, while they should be respected.

I found that bug while strac'ing ardupilot as it failed at some later
point.

Signed-off-by: Ralf Ramsauer <ralf.ramsauer@othr.de>
2016-11-03 17:27:37 -03:00
Lucas De Marchi
3ff965a0c0 DataFlash: remove infinite loop from loop() method
Remove the while() loop inside loop() method so the new signal handlers
correctly notify the mainloop to exit.

This makes SIGTERM/SIGINT work again.
2016-11-02 16:28:20 -02:00
Lucas De Marchi
2b5f9fdd6b AP_HAL_Linux: teardown scheduler threads 2016-11-02 16:28:20 -02:00
Lucas De Marchi
89420e4b2d AP_HAL_Linux: add signal handler for normal termination
This allows to terminate the flight stack nicely, ensuring it returns 0
so init system can check by return code if it terminated nicely or if it
was due to a crash.
2016-11-02 16:28:20 -02:00
Lucas De Marchi
fa540429f9 AP_HAL_Linux: allow to teardown bus threads
Add code to teardown all bus threads. This can be called while exiting
to wait for threads to finalize.
2016-11-02 16:28:20 -02:00
Lucas De Marchi
312a27dd20 AP_HAL: RCInput: rename deinit() to teardown() 2016-11-02 16:28:20 -02:00
Lucas De Marchi
89599f7bea AP_HAL_Linux: add unit tests for Thread implementations 2016-11-02 16:28:20 -02:00
Lucas De Marchi
992abd170d AP_HAL_Linux: allow to join threads 2016-11-02 16:28:20 -02:00
Lucas De Marchi
3b2de6de46 AP_HAL_Linux: allow PeriodicThread to stop
This takes the simplest approach of just waiting for the next time we
will process events.
2016-11-02 16:28:20 -02:00
Lucas De Marchi
20650e14b7 AP_HAL_Linux: allow PollerThread to stop 2016-11-02 16:28:20 -02:00
Lucas De Marchi
da65a5c349 AP_HAL_Linux: allow to wakeup pollable
This allows to wakeup the thread that is sleeping on Poller::poll()
[ which in our case is an epoll_wait() call ]. This is usually achieved
by using a special signal and using the pwait() variant of the sleeping
function (or using signalfd). However integrating the signal in the
Thread class is more complex than simply use the eventfd syscall which
can serve our needs.
2016-11-02 16:28:20 -02:00
Lucas De Marchi
efe819e21e AP_HAL_Linux: Poller: allow to fail constructor 2016-11-02 16:28:20 -02:00
Lucas De Marchi
e5003c3116 AP_HAL_Linux: Poller: add some documentation 2016-11-02 16:28:20 -02:00
Lucas De Marchi
da821e69eb AP_HAL_Linux: Thread: allow to use Thread from stack
Up until now we rely on Thread objects and variants thereof to be allocated
on heap or embedded in another object that's zero'ed on initialization.
However sometimes it's convenient to be able to use them on stack as
will be the case when writting unit tests.

Initialize all relevant fields to allow them to be used on stack. While
at it, prefer C++11 initialization on Poller since it's only setting the
default (invalid) value.
2016-11-02 16:28:20 -02:00
murata
c808ee2f49 Global: To nullptr from NULL.
RC_Channel: To nullptr from NULL.

AC_Fence: To nullptr from NULL.

AC_Avoidance: To nullptr from NULL.

AC_PrecLand: To nullptr from NULL.

DataFlash: To nullptr from NULL.

SITL: To nullptr from NULL.

GCS_MAVLink: To nullptr from NULL.

DataFlash: To nullptr from NULL.

AP_Compass: To nullptr from NULL.

Global: To nullptr from NULL.

Global: To nullptr from NULL.
2016-11-02 16:04:47 -02:00
floaledm
5386edb791 AP_Frsky_Telem: fix setting of land_complete flag
When is_flying is true, land_complete should be set to 0, and
conversely.
2016-11-02 10:26:50 +11:00
floaledm
1aab5eec38 AP_Frsky_Telem: send ap_status only once initialized
Same as what is found in GCS_MAVLink.cpp for copter
2016-11-02 08:31:35 +11:00
murata
e15c234a4f AP_ADSB: Set in the sprintf method. 2016-11-01 08:36:52 -07:00