Commit Graph

18758 Commits

Author SHA1 Message Date
Roman e0ca38e794 standard vtol: fix mc weight calculation
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman 23257bf6ee standard vtol: simplify blending weight calculation
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman b66bc712af tailsitter: avoid doing same calculation twice
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman 1d8f588d37 vtol_att_control: switch from division to multiplication for variable
calculation

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman 9e16543dbe tiltrotor: represent time since transition in seconds
- more intuitive
- avoids tons of divisions

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman ae2e6c7a18 tailsitter: represent time since transition in seconds
- more intuitive
- avoids tons of divisions

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman bf22f02567 tailsitter: removed usage of hrt_elapsed and small cleanup
- do not call hrt_elapsed_time since it's expensive
- remove P2 front transition phase (was not even used)

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman 196d0e40b4 standard vtol: use time in second since transition start instead of using
microseconds

- seconds is more intuitive
- avoids tons of divisions by 1e6f

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman 5a2a5127fa tailsitter: removed common vtol parameters
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman 07a84f2246 tiltrotor: removed common vtol parameters
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman 6900f97b72 vtol_att_control: use airspeed_disabled flag instead of airspeed mode
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Roman daa6c6ffc8 vtol_att_control: consolidated standard parameters & fix usage of hrt_elapsed time
- standard vtol was implementing many custom parameters although they
are generic and should be shared between the vtol types
- removed heavy usage of hrt_elapsed_time() which is a system call and
could be computationally expensive
2018-03-07 14:01:51 +01:00
Julian Oes 9c6b1a0f04 navigator: fix incorrect takeoff altitude
This fixes a problem where we do not properly go to the set takeoff
altitude but end up lower.

The problem was that the setpoint triplet is reset when the navigation
mode changes. So in this case, the triplet is reset when we switch from
takeoff to loiter which can happen before reaching the actual takeoff
altitude.

The fix is an ugly hack to prevent the reset in the case of takeoff to
loiter. A better solution would be to remove the general reset and have
all navigation modes do the proper resets themselves.

This hotfix should however be lower risk.
2018-03-07 08:48:44 +01:00
Daniel Agar 623e16e8be logger SITL add additional messages by default 2018-03-06 17:42:33 +01:00
Daniel Agar ba90952e07 px4fmu-v2 board_on_reset also reinit spi 2018-03-06 13:47:37 +01:00
AlexKlimaj 83d01a7c76 Updated batt_smbus. Expanded battery_status.msg. Fixed mavlink_messages.cpp temperature. (#8991)
* Updated and expanded batt_smbus to work with bq40z50-R2. Expanded battery_status.msg. Fixed mavlink_messages.cpp temperature, added commented out expanded battery_status.msg parameters for future mavlink expansion.

* Changed errx to PX4_ERR

* Added PX4_ERR returns
2018-03-06 10:42:20 +01:00
Daniel Agar 493c41c76e VtolLandDetector require vehicle_status timestamp 2018-03-05 15:46:24 -05:00
Daniel Agar 354584acfc MulticopterLandDetector initialize all class members 2018-03-05 15:46:24 -05:00
Daniel Agar 69470f6991 land_detector use THROTTLE index 2018-03-05 15:46:24 -05:00
Daniel Agar 458db2e508 vehicle_global_position remove redundant evh and evv
- vehicle_status_flags condition_global_velocity_valid is also unnecessary
2018-03-05 13:20:28 -05:00
Beat Küng 03b8cd78b3 gps: explicitly disable flow control
If the GPS driver was used on another port (e.g. TELEM2), it would get
stuck in a `write` call and not return anymore. Disabling flow control
fixes that.

CPU usage is unchanged.
2018-03-05 16:43:14 +01:00
Daniel Agar 1290db7cb7 differential pressure sensors delete test helpers
- these are redundant with listener differential_pressure
2018-03-05 08:32:59 +01:00
Daniel Agar b9081fb0ab vehicle_global_position delete unused pos_d_deriv 2018-03-05 01:41:18 -05:00
Coby 664001921e quad_plus geometry fix typo in rear motor name (#9008) 2018-03-04 18:24:10 -05:00
Daniel Agar 2f96dbb216 gnd_att_control param fix incorrect FW metadata 2018-03-04 18:23:12 -05:00
Daniel Agar 5ef27c5425 mavlink add minimal mode (#8947) 2018-03-04 17:50:28 -05:00
Daniel Agar 6caeb2da4f pwm_out_sim reduce stack 1310 -> 1000 2018-03-04 14:12:15 -05:00
Daniel Agar 38f5f60a1e pwm_out_sim cleanup
- move to ModuleBase
 - strip down to PWM 8 and 16 modes only
 - remove all dead code
 - implement missing pwm ioctls (current value, rates, etc)
 - default rate 50Hz -> 400Hz
2018-03-04 14:12:15 -05:00
ToppingXu e340f6fd7a FixedwingPositionControl: fix air_gnd_angle judgement condition.
air_gnd_angle is from acos(), and never return a value that bigger than
M_PI_F
2018-03-02 21:57:11 +01:00
Matthias Grob d39a8b5a48 Battery: Switch thrust based load compensation back to linear
To account for the parameter definition.
My tests if quadratic is actually better in practise were anyways not conclusive.
2018-03-02 21:07:09 +01:00
Matthias Grob 5bb9babc20 Mavlink: round battery percentage up instead of down 2018-03-02 16:18:52 +01:00
Daniel Agar 4c4f990b3b EKF2 remove FW_ARSP_MODE check 2018-03-02 08:58:08 +01:00
Sander Smeets 2ef9c4ec35 VTOL force land even when transitioning to FW (#8958) 2018-03-01 16:51:50 -05:00
Daniel Agar 3b0b5645e1 vtol_att update poll fd before poll call 2018-03-01 18:27:57 +01:00
Roman ea3586cfd9 tailsitter: stop fiddling with thrust during transition and just let
the mc pos controller handle it for now

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-01 12:16:27 -05:00
Roman 08534588cd fw_pos_control: get vtol parameter values if vehicle is vtol
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-01 12:16:27 -05:00
Roman ee2163ce69 vtol_att_control: prevent segfault when no command line args given
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-01 11:35:34 -05:00
Andreas Antener 198708ba2e rotation: updated board rotation meta data 2018-02-28 10:08:58 +01:00
Andreas Antener ab9ee3aa6c conversion: added -45 deg pitch rotation 2018-02-28 10:08:58 +01:00
Andreas Antener add20389f6 conversion: added rotation +45 degree in pitch 2018-02-28 10:08:58 +01:00
Paul Riseborough 11e3081efd ecl: Fixes bug preventing use of GPS reported speed accuracy (#8981) 2018-02-28 15:32:01 +11:00
Beat Küng 40675bd1f4 logger: fix potential semaphore counter overflow
When the timer callback is called at a higher rate than the logger can
execute the main loop (which is never the case under normal conditions),
the semaphore counter will increase unbounded, and eventually lead to
an assertion failure in NuttX.
The maximum semaphore counter is 0x7FFF, and when the logger runs at
default rate (3.5ms), the logger task must be blocked for 0x7FFF*3.5/1000
= 114 seconds continuously for an overflow to happen.

I see 2 cases where that could happen:
- the logger execution blocks somehow, or busy-loops in an inner loop
- a higher-prio task runs busy and hogs the CPU over a long period of time
2018-02-27 21:01:29 +01:00
Beat Küng 17cb5c4d58 hardfault_log: fix comment 2018-02-27 21:01:29 +01:00
Matthias Grob 611ab577d8 Battery: Fix estimate initialization
On the Intel Aero and probably also other specific platforms
the first measured voltage values despite connected battery are unuasable.
The solution here is to start filtering and determining warning
only after a measurement above 2.1V was received.
2018-02-24 16:27:44 +01:00
Matthias Grob 83ac74367c Battery: move member initialization values to class declaration 2018-02-24 16:27:44 +01:00
Julian Oes 3917eb2d00 mavlink: don't send wrong time
This prevents the autopilot from sending an invalid unix timestamp.
Usually, if no time is set yet by a GPS, the date is somehow set
to 2000-01-01, therefore we can ignore anything earlier than 2001.
2018-02-23 16:14:02 +01:00
Matthias Grob df7364d2e2 Battery: Correct unit for capacity parameter 2018-02-23 15:30:17 +01:00
Roman ea8db53d15 fmu: removed obsolete _trim_pwm member and implemented proper fetching
of mixer trim values

Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-23 15:28:22 +01:00
Roman 04a89f7e9b mixer lib: added methods to fetch the active trim values
Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-23 15:28:22 +01:00
Roman 29c60a1fd4 mixer_group: do not clamp offset to arbitrary value
- allow the user to apply an offset that covers the entire servo range

Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-23 15:28:22 +01:00