Commit Graph

1086 Commits

Author SHA1 Message Date
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