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
Martina
d5b2ba276b
tunes: change tune update interval to 100000 us
2018-01-29 09:45:59 -05:00
Martina
d10372c6b5
tunes: change config_tone definition and add pointer to the beginning
...
of the tune to repeat it
2018-01-29 09:45:59 -05:00
Martina
1988141c6d
tunes: add pointer to the beginning of a tune to allow tune replay
2018-01-29 09:45:59 -05:00
Simone Guscetti
26d2e69ecf
libtunes: Add maximum update interval
2018-01-29 09:45:59 -05:00
Simone Guscetti
f63be6b055
libtunes: If default tune does not exist
...
return -EINVAL
2018-01-29 09:45:59 -05:00
Simone Guscetti
915f728145
libtunes: Separate the default tunes from tunes.cpp
2018-01-29 09:45:59 -05:00
Simone Guscetti
591f9a8a38
libtunes: Handle notification tunes as high priority
2018-01-29 09:45:59 -05:00
Simone Guscetti
3f123acd7e
libtunes: handle tune override
2018-01-29 09:45:59 -05:00
Simone Guscetti
6c8b16391e
libtunes: complete API doc, minor changes
2018-01-29 09:45:59 -05:00
Simone Guscetti
b84a97c6d5
libtunes: Changed to a set_control/string and a get_next_tune functions
...
Now it is possible to set a string and a control.
The get_next_tune function use the same return values as the erliaer
implemented parse_cmd and parse_string functions.
2018-01-29 09:45:59 -05:00
Simone Guscetti
5214642bc3
tunes lib: Minor changes
2018-01-29 09:45:59 -05:00
Simone Guscetti
e9ea7ab698
lib tunes: clean up
2018-01-29 09:45:59 -05:00
Simone Guscetti
79ae413982
lib tunes: Add string input method
2018-01-29 09:45:59 -05:00
Simone Guscetti
8ce57bedb7
libtunes: create a new library for tunes
...
cmake configs: Modify to include new library
2018-01-29 09:45:59 -05:00
Simone Guscetti
c8a1050323
libled: allow infinite flashing mode
2018-01-19 11:55:39 +01: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
ChristophTobler
6d3dda2802
update DriverFramework to get ltc2946 fix ( #8693 )
2018-01-15 14:33:22 -05:00
ChristophTobler
872cba12d4
update ecl submodule
2018-01-15 11:11:56 +01:00
ChristophTobler
9ac70ff639
update DriverFramework submodule to include LTC2946 driver
2018-01-14 12:56:49 +01:00
Daniel Agar
2756c76613
mixer lib delete old multi_tables.py and cleanup cmake ( #8658 )
2018-01-11 15:56:15 -05:00
Daniel Agar
2cccbee0d5
runway_takeoff use BlockParamBool for RWTO_TKOFF
2018-01-09 09:11:39 +01:00