Commit Graph

18758 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 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
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