Commit Graph

25020 Commits

Author SHA1 Message Date
PX4 Jenkins
ca6d8fefd8 Update sitl_gazebo submodule Fri Jan 26 14:19:36 CST 2018 2018-01-26 15:41:49 -05: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
PX4 Jenkins
9a32ca2307 Update sitl_gazebo submodule Wed Jan 24 00:19:13 UTC 2018 2018-01-24 08:27:49 +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
PX4 Jenkins
9d18fc8787 Update mavlink v2.0 submodule Mon Jan 22 01:43:26 CST 2018 2018-01-22 09:53:33 -05: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 73d23742ea.
2018-01-21 15:41:30 +01:00
Beat Küng
5e826eaa27 Revert "vmount: fix new input getting lost in throttling"
This reverts commit b7404ad6c1.
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
Matthias Grob
463217a5f9 Cygwin: repair NuttX build (#8737)
* Cygwin: repaired NuttX build after 1f63d85869
all the NuttX specific WINTOOL define handling was skiped in cmake Make.defs generation
The Nuttx build is makfile based and needs its cygwin treatment

Additionally the ${PX4_SOURCE_DIR}/src/include which was added through cmake needs path conversion

The two root causes for the special handling are:
- ARM GCC for Windows doesn't support cygwin paths passed as an argument
  so they need to be either relative or converted via cypath tool
- Symbolic links are totally different under Windows and because NuttX uses them extensively
  it has special handling scripts that need to be fed with the correct defines

* Cygwin: NuttX include paths all converted in Make.defs.in

differentiate between WINTOOL define (MSYS & cygwin) and cygwin using uname command:
- MSYS needs symbolic link handling for ARM GCC but no path conversion
- Cygwin needs both
2018-01-20 23:26:12 -05: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
Anthony Lamping
85ba160757 CI: improve mavros SITL tests logging (#8714)
* add more logging to help with #8556
* log subscribed topics on mission start and test exit (pass or fail)
* use mavlink enums everywhere to avoid maintaining dictionary mappings and to have readable values
* log when the FCU advances to next mission item without satisfying the position reached offset/radius
* some renaming for readability
* log more state value changes (connected and MAV_STATUS)
2018-01-17 17:54:32 -05: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
PX4 Jenkins
850678b0a6 Update mavlink v2.0 submodule Wed Jan 17 07:43:11 UTC 2018 2018-01-17 05:45:00 -05:00
Beat Küng
e11008f30e px_uploader: minor text message update 2018-01-17 10:14:04 +01:00
ritul jasuja
fed06955bc Update debug message as per connection link 2018-01-17 10:10:33 +01:00
Beat Küng
f672152d2d logger: change 'removing log directory' warning to info 2018-01-17 02:19:01 -05:00
Beat Küng
a329fd4c76 SITL configs: set SDLOG_DIRS_MAX to 7
Avoids ending up with huge log directories.

plus some param alphabetic reordering
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
Julien Lecoeur
0e65753568 Iris: set mixer to quad_wide
The geometry was previously quad_deadcat in which front motors are closer to CG and thus more loaded in hover.
quad_wide is the same geometry as quad_deadcat except the CG is centered so all motors are loaded equally.
Flight logs on IRIS with deadcat mixer showed that
- all motors are equally loaded during hover (actuator_outputs 0 to 3 have similar values)
- a negative pitch offset is building up soon after takeoff (visible in actuator_controls)
2018-01-16 16:09:15 +01: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