16058 Commits

Author SHA1 Message Date
Beat Küng
5bd8574e47 examples/px4_daemon_app: remove this app
superseded by src/templates/module
2018-01-27 00:43:04 +01:00
Beat Küng
25483faf88 modules: add a new module that serves as template for background tasks 2018-01-27 00:43:04 +01:00
Julian Oes
757f0e7334 mavlink_mission: straightaway send item again
Instead of using a timeout to resend a mission item, we should directly
send the mission request again. This is needed because we removed the
automatic resending which lead to troubles.
2018-01-25 15:31:40 +01:00
Julian Oes
d5219c8bc0 mavlink_mission: answer with mission NACKs
if anything doesn't go according to protocol we should not just throw
warnings but actually tell the ground station with a mission nack.
2018-01-25 15:31:40 +01:00
Julian Oes
e43cc9a9c1 mavlink_mission: send request again if unsupported
When we receive a MAV_MISSION_UNSUPPORTED, we should try to send a
mission request again with or without int mode.
2018-01-25 15:31:40 +01:00
Julian Oes
ffc7f37f12 mavlink_mission: don't retransmit automatically
This is an attempt to fix mission upload and download with QGC on a
lossy link. The way it should work according to the protocol on
https://mavlink.io/en/protocol/mission.html is that in general
the ground station should be concerned about timeouts and
retransmission. This means the autopilot does not need to retransmit by
itself but just answer requests.

This seems like it would make the transfer less robust, however, it
actually resolves an edge case where QGC fails to make requests because
it gets spammed by the autopilot and keeps resetting the timeout.
2018-01-25 15:31:40 +01:00
Nicolas de Palezieux
bc3577bd60 mission_block: do relative alt correction for correct nav_cmd 2018-01-25 15:27:55 +01:00
Nicolas de Palezieux
0266ca9845 commander: fix indentation 2018-01-25 15:27:55 +01:00
DonLakeFlyer
342509b3ab New ROI commands implementation 2018-01-25 15:27:55 +01:00
Nicolas de Palezieux
ae52f74e78 landing target estimator: initialize landing target velocity with negative of vehicle velocity 2018-01-24 19:39:30 +01:00
Nicolas de Palezieux
b7dff95782 landing target estimator: check validity of the correct data before computing acceleration 2018-01-24 19:39:30 +01:00
Daniel Agar
c0615c9e70 logger add safety 2018-01-24 17:36:53 +01:00
Daniel Agar
2ae5e575a5 land detector initialize landed and publish periodically 2018-01-24 17:36:53 +01:00
Daniel Agar
fd3f59d8c4 commander publish periodic status messages at 1 Hz 2018-01-24 17:36:53 +01:00
Daniel Agar
edf178d4e8 commander safety update require successful orb_copy 2018-01-24 17:36:53 +01:00
Nicolas de Palezieux
0fd043af01 vmount: compute gimbal yaw setpoint relative to vehicle yaw 2018-01-22 15:56:42 +01:00
Lorenz Meier
d8164377a8 Navigator: Move mission param into mission params
This is important for the compile scope.
2018-01-22 15:56:42 +01:00
Nicolas de Palezieux
7ae3884944 heading towards ROI: do not require setting the MIS_YAWMODE param to enable multicopters yawing towards ROIs
ROI yaw control: configure yawing capability of mount in vmount parameters.
If configured that mount has no yaw control, vehicle will yaw towards ROI, irrespective of MIS_YAWMODE.
Vehicle will behave according to MIS_YAWMODE when there is no ROI.
2018-01-22 15:56:42 +01:00
Nicolas de Palezieux
add3692357 ROI: accept ROIs of type None in missions to enable 'deactivating' another ROI 2018-01-22 15:56:42 +01:00
Nicolas de Palezieux
bedaafcc20 NAV_CMD_DO_SET_ROI: handle relative altitude in mission ROI commands 2018-01-22 15:56:42 +01:00
Beat Küng
99c9e09624 vmount mavlink input: continue to poll for vehicle_command until reaching the timeout
or receiving a command that we need to handle. This makes sure that we
don't drop commands, when the output mode is set to mavlink (in that case
the input topic is rate-limited, and each input change results in a
vehicle_command publication, which results in queueing up orb items if we
get vehicle_commands from other sources too).
2018-01-21 15:41:30 +01:00
Beat Küng
5a189f3c4a vmount mavlink input: rate-limit vehicle_command topic 2018-01-21 15:41:30 +01:00
Beat Küng
48edaa7ef6 vmount: remove output rate-limiting
It causes missed input changes.
This reverts 73d23742ea5c297f262c0e03caec61ee482977b1.
2018-01-21 15:41:30 +01:00
Beat Küng
5e826eaa27 Revert "vmount: fix new input getting lost in throttling"
This reverts commit b7404ad6c15231bef2a03add05f6b65e0138d24c.
2018-01-21 15:41:30 +01:00
Jonas Vautherin
38c949731f mavlink_main: fix broadcast computation
The way the broadcast IP is currently fetched is by sending an ioctl()
request. The limitation of this is that the broadcast address may not
be set on the network interface (more specifically, it is usually not
set in docker containers). In those cases, it results in the broadcast
address becoming 0.0.0.0, which is not valid [1].

This fix uses the network IP and the netmask to compute the directed
broadcast address. This should be more reliable, as both of those are
always set on the network interface.

[1]: https://tools.ietf.org/html/rfc1122, section 3.2.1.3 (a)
2018-01-21 14:58:04 +01:00
Beat Küng
45458fe9eb uORBManager: add comment about not having to set the priority 2018-01-19 14:11:01 +01:00
Beat Küng
2cb698f01f uORBDevices: set the priority when advertising a node that's already subscribed
This fixes the case where a topic instance is already subscribed, and
advertised later. The subscriber will create the DeviceNode with default
priority, and the advertiser will just use the existing DeviceNode,
without updating to the requested priority.
2018-01-19 14:11:01 +01:00
Simone Guscetti
c8a1050323 libled: allow infinite flashing mode 2018-01-19 11:55:39 +01:00
Daniel Agar
bda929bebb commander fix hil_state regression again 2018-01-18 17:38:48 +01:00
Julian Oes
b7404ad6c1 vmount: fix new input getting lost in throttling
This fixes the case where a new gimbal input gets lost in the output
throttling.

This is required because an input is potentially set only once and
then not computed again. In the failure case, control_data is set
to nullptr in subsequent calls and therefore not used for the output
calculation ever.
2018-01-18 11:09:17 +01:00
Julian Oes
b468551b6c vmount: remove mavlink dependency
Let's just hardcode 0 because we don't want to include the mavlink
headers just for this.
2018-01-18 11:09:17 +01:00
Julian Oes
3adb389b7c vmount: don't ignore commands to all component ids
This resolves the case where a gimbal command assembled by
QGroundControl is rejected because the component id is set to 0 (for
all) and the component id of the vehicle is e.g. 1.
2018-01-18 11:09:17 +01:00
TSC21
821eb5ac87 navigator: precland_params: PLD_MAX_SRCH: fix min value from float to int 2018-01-17 17:52:24 -05:00
TSC21
ae65289967 lpe: params: fix LPE_FUSION max value 2018-01-17 17:52:24 -05:00
Beat Küng
f672152d2d logger: change 'removing log directory' warning to info 2018-01-17 02:19:01 -05:00
Julien Lecoeur
b7d7d1209b px_generate_mixers.py: scale mixer so that sum(z_thrust_scale)==n_rotors 2018-01-17 00:01:00 -05:00
Julien Lecoeur
262d9c790b MultirotorMixer: Apply thrust gain independently from other axes
Align the way motor output is computed with the model used in the mixer generation script.
previous:
`out = (roll_gain*roll + pitch_gain*pitch + yaw_gain*yaw + thrust)*out_gain`
new:
`out = roll_gain*roll + pitch_gain*pitch + yaw_gain*yaw + thrust_gain*thrust`
which is the standard matrix*vector multiplication.

This commit has 0 effect on symmetric platforms (i.e. most) as thrust_gain==1 on these platforms.
On asymmetric platform --where some thrust_gain are lower than 1-- the previous formulation resulted in coupling between thrust and other axes.

fixes #8628
2018-01-17 00:01:00 -05:00
Daniel Agar
0e3574c44f hott automatically include hott_sensors and hott_telemetry 2018-01-16 23:46:45 -05:00
Daniel Agar
c20594cd0e move all barometers to the same folder 2018-01-16 23:46:45 -05:00
Daniel Agar
bad813e911 move all magnetometers to the same folder 2018-01-16 23:46:45 -05:00
Beat Küng
094fa92de0 posix main shell: do not update the prompt for unprintable chars (#8704) 2018-01-16 23:45:28 -05:00
Simon Laube
b184b61457 IO: fix px4io uploader to work reliably on F7 platform.
- Missing get_sync() in verify function
- Allow some time to reboot before closing the serial port
  (closing the serial port drives TX low)
2018-01-16 08:36:51 +01:00
Simon Laube
53249c53b5 IO: Move buffer allocation into the architecture dependent code files. 2018-01-16 08:36:51 +01:00
Daniel Agar
cc5e00feca px4io_serial_f7 fix style 2018-01-16 08:36:51 +01:00
Simon Laube
c6c9f4dc64 IO: Implement serial driver for STM32F7 MCUs. 2018-01-16 08:36:51 +01:00
Simon Laube
a26c3a0530 IO: Split STM32F4 specific code for serial interface. 2018-01-16 08:36:51 +01:00
David Sidrane
e5317ed9b6 px4fmu-v5: Define UART7 for PX4IO 2018-01-16 08:36:51 +01:00
Daniel Agar
67f89f51ff move all distance sensor drivers to the same folder 2018-01-15 14:34:02 -05:00
Daniel Agar
576b42fea3 move all differential pressure drivers to the same folder 2018-01-15 14:34:02 -05:00
ChristophTobler
6d3dda2802 update DriverFramework to get ltc2946 fix (#8693) 2018-01-15 14:33:22 -05:00