Alessandro Simovic
6ce839ea1e
libtunes: added tone strength as state and output to libtunes
...
Since the tune library also contains logic how tunes can be overriden,
a user of the tunes library cannot know the strength of the current tune
without replicating some logic. Easy solution is to add strength to the
output of Tunes::get_next_tune().
2018-03-26 14:54:23 +02:00
Alessandro Simovic
acdc81ea0a
libtunes: cleanup / docs
2018-03-26 14:54:23 +02:00
Alessandro Simovic
d455c1e7e1
libtunes: Repeating tunes can be interrupted without override
...
Otherwise the only way of interrupting a repeated tune would be with the override flag, which should only be used rarely.
Now repeating tunes have lowest priority, followed by one-shot tunes, followed by anything with an override flag.
2018-03-26 14:54:23 +02:00
Alessandro Simovic
34836a2b21
libtunes: allow custom tune (id 0) to be used to stop playback.
...
Override flag must still be set to true!
2018-03-26 14:54:23 +02:00
Alessandro Simovic
2cf93df918
libtunes: _repeat was uninitialized. Defaulting to false now.
...
Bugfix: This fixes a bug where libtunes might indicate that there are more tones to play even after the last note of a tune.
2018-03-26 14:54:23 +02:00
Alessandro Simovic
f47443f283
libtunes: (bugfix) sending a custom msg tune overrides everything
...
Custom msg tune can override any tune playing, regardless of the tune_override flag.
2018-03-26 14:54:23 +02:00
bresch
81a80e0d56
Airmode - Minor rewording
2018-03-23 10:35:08 +01:00
bresch
7ef3ae8828
Multicopter mixer - Recompute safe roll_pitch_scale if not in air-mode
...
If not in air-mode the mixer is not able to apply positive boosting
and roll_pitch_scale is recomputed to apply symmetric - reduced - thrust.
This has the consequence to cut completely the outputs when the thrust is
set to zero.
2018-03-23 10:35:08 +01:00
Beat Küng
f21ab05f48
mixer_multirotor: fix comment thrust_gain -> thrust_scale
...
Added in 262d9c790b .
2018-03-23 10:35:08 +01:00
bresch
6976232a20
Airmode - Add airmode parameter for multicopter mixer
2018-03-23 10:35:08 +01:00
bresch
851c3657d1
Multicopter mixer - Use already computed value instead of recomputing it
2018-03-23 10:35:08 +01:00
bresch
803eb9ac32
Multicopter mixer - Simplify and correct mistakes of roll-pitch motor saturation handling
2018-03-23 10:35:08 +01:00
bresch
450e7c6774
Multicopter mixer - Remove arbitraty boost gain during saturation
2018-03-23 10:35:08 +01:00
bresch
096e2ec629
Multicopter mixer - Always unsaturate high-saturated motors when possible
2018-03-23 10:35:08 +01:00
bresch
df194b1de4
Multicopter mixer - Rewrite unnecessarily complicated conditions
2018-03-23 10:35:08 +01:00
bresch
5da2842dbc
Multicopter mixer - Always unsaturate low-saturated motors when possible
2018-03-23 10:35:08 +01:00
Daniel Agar
1b174eeca2
drivers replace math::Vector<3> with matrix::Vector3f
2018-03-21 13:48:45 -04:00
Roman
32a848d312
updated ecl for airdata module
2018-03-21 18:46:58 +01:00
Daniel Agar
b6b7fddb9f
TECS and L1 switch to matrix math library ( #9101 )
2018-03-19 18:09:54 -04:00
Daniel Agar
e63f9d9bf6
mathlib Limits move radians/degrees to header ( #9102 )
2018-03-19 12:45:42 -04:00
Martina
be275b880b
tunes: add fallthrough macro
2018-03-19 14:15:52 +01:00
Simone Guscetti
879c698cab
libtunes: Change TuneID::ERROR in ERROR_TUNE
...
This prevents the expanction of the ERROR macro inside the TuneID enum
2018-03-19 14:15:52 +01:00
Simone Guscetti
4c6daf0748
libtunes: Update tunes and mkblctrl to use the tune_definition
2018-03-19 14:15:52 +01:00
Simone Guscetti
26b721ac8b
libtunes: Add new tune_definition file
2018-03-19 14:15:52 +01:00
Matthias Grob
d2ead02fb5
mc_att_control: catch numerical corner cases
...
- Delete left over identity matrix.
- Corner case with a zero element when using the signum function:
We always need a sign also for zero.
- Corner case with arbitrary yaw but and 180 degree roll or pitch:
Reduced attitude control calculation always rotates around roll
because there's no right choice when neglecting yaw. In that small
corner case it's better to just use full attitude contol and hence
rotate around the most efficient roll/pitch combination.
2018-03-15 17:16:14 +01:00
Matthias Grob
ba5f2254cd
mc_att_control: add reduced quaternion attitude control
...
to prioritize yaw compared to roll and pitch by combining
the shortest rotation to achieve a total thrust vector with
the full attitude respecting the desired yaw
not by scaling down the control output with the gains
2018-03-15 17:16:14 +01:00
Matthias Grob
9ff9692270
mc_att_control: switch to quaternion attitude control (no yaw reduction yet)
2018-03-15 17:16:14 +01:00
Daniel Agar
1abf90c6d4
EKF2 only publish wind_estimate if wind velocity is being estimated
...
- refactor body wind velocity calculation
2018-03-15 07:18:58 +01:00
Beat Küng
fca99cf775
param: refactor BlockParam classes
...
- make the selected parameter a template argument. This
enables type-checking at compile-time.
- move things to src/platforms.
This provides consistent includes with ModuleBase
- add ModuleParams base class (replaces Block & SuperBlock)
- drop the Block* prefix from the class names
2018-03-13 17:35:15 +01:00
Thomas Stastny
74730273c1
fw_att_control move angular rate limits to body angular rates ( #9023 )
...
* ecl: attitude_fw update
- move angular rate limits to body angular rates
- handle rattitude/acro vs attitude mode rate limits
2018-03-08 22:55:45 -05:00
Coby
664001921e
quad_plus geometry fix typo in rear motor name ( #9008 )
2018-03-04 18:24:10 -05: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
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
Paul Riseborough
abb067c788
ecl: Use EKF version with external vision nav axis rotation bug fixes ( #8935 )
2018-02-22 22:02:50 +11:00
Daniel Agar
f5c1124812
move tailsitter_recovery lib to mc_att_control
2018-02-04 18:15:57 +01:00
Daniel Agar
b3b1161d53
mathlib filters include automatically
2018-02-04 18:15:57 +01:00
Daniel Agar
6f248bc7e9
move runway_takeoff lib to fw_pos_control_l1
2018-02-04 18:15:57 +01:00
Daniel Agar
6a4ef78111
move launchdetection lib to fw_pos_control_l1
2018-02-04 18:15:57 +01:00
Matthias Grob
11d480240a
mathlib Functions: removed inline, fixed style
2018-02-02 00:38:01 -05:00
Matthias Grob
8e68f5ed79
mathlib Functions: improve documentation and limit checking
2018-02-02 00:38:01 -05:00
Daniel Agar
2ff81393bc
move posix, nuttx, qurt components into platforms
2018-01-31 17:17:07 +01:00
Paul Riseborough
8a1b6d548f
ecl: Update to version that fixes height reset bug
2018-01-31 10:46:52 +01:00
ChristophTobler
d2e45d14fa
update ecl to include ev hgt fix
2018-01-30 12:32:30 +01:00
Paul Riseborough
6ef43e5b75
ecl: Use latest master
2018-01-29 22:30:34 +01:00
Simone Guscetti
47e5382e7e
libtunes: insert explicit fallthrough
2018-01-29 09:45:59 -05:00
Simone Guscetti
9cb95b64ca
libtunes: change variable name
...
This make the variable purpose more clear.
2018-01-29 09:45:59 -05:00
Martina
2ec5ea48a3
tunes: for custom tunes set silence from tune control message and set
...
silence to 0 when the end of the string is reached
2018-01-29 09:45:59 -05:00