1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-23 08:15:30 +03:00
Commit graph

2139 commits

Author SHA1 Message Date
Dominic Clifton
783a4c4bfa Merge pull request #1066 from cleanflight/custom-servo-mixers
Custom servo mixers
2015-07-09 23:48:53 +01:00
Dominic Clifton
164fd4ec57 Merge pull request #1092 from digitalentity/fast-trig
Ported fast trigonometry functions over from @Crashpilot1000 Harakiri
2015-07-09 23:41:04 +01:00
Dominic Clifton
eb53855cd1 Fix CJMCU build - caused by a missed rename of mixerResetMotors to
mixerResetDisarmedMotors
2015-07-09 22:52:04 +01:00
Dominic Clifton
4a3970c9ab Fix range argument processing. 2015-07-09 22:13:21 +01:00
Dominic Clifton
62d638b2d9 Update smix reverse to use 'r' or 'n' for reverse or normal to a) match
the table, b) be more user friendly.
2015-07-09 21:15:11 +01:00
Dominic Clifton
57eb44928e Update mixer unit test for 7b91524ba2 2015-07-09 21:11:46 +01:00
Dominic Clifton
c9f5ca3faf Deleted code specific to fixed wing that set motors to mincommand when
disarmed.

Ensure that servo mixes that use calculated throttle output (motor 0)
adhere to the armed/disarmed state, this is achieved by ensuring that
motor outputs, including the effects of MOTOR_STOP are calculated BEFORE
using motor 0 as an input source for the servo mixer.
2015-07-09 20:23:37 +01:00
Scott Shawcroft
e67a1435cd Correct rate comment 2015-07-09 12:13:03 -07:00
Dominic Clifton
84773a8c91 Fix vectored thrust code, flying wing != vectored thrust.
vectored thrust is too generic a term.  examples:
1) fixed wing with ailerons and fixed motors on each wing, yaw the plane
by changing the speeds of the motors 
2) fixed wing with ailerons and single motor at rear, yaw the plane by
pivoting the motor left or right

Both of the above scenarios are possible using MIXER_CUSTOM_AIRPLANE.

In baseflight vectored thrust was added in:
e3585df3a3 (diff-2c11cf77e56a7a330caeccadfc1d8bcdR448)

then broken in:
ce0300a344 (diff-2c11cf77e56a7a330caeccadfc1d8bcdL449)

see:
https://github.com/multiwii/baseflight/blob/master/src/mixer.c#L153
https://github.com/multiwii/baseflight/blob/master/src/mixer.c#L328-L329
https://github.com/multiwii/baseflight/blob/master/src/mixer.c#L546-L555
2015-07-09 19:53:37 +01:00
Dominic Clifton
bc5f666069 Minor MSP cleanup and adding a FIXME. 2015-07-09 19:02:52 +01:00
Dominic Clifton
c88a33495f Fix incorrect default flying wing servo mixer.
Baseflight code made both surfaces respond in the SAME direction when
using pitch OR roll.

Behaviour should be: 
apply pitch causes the control surfaces move in the SAME direction.
apply roll causes the control surfaces should move in the OPPOSITE
direction.
2015-07-09 18:10:52 +01:00
digitalentity
a3b57386c2 Ported fast trigonometry functions over from @Crashpilot1000 Harakiri code
Fixed maths_unittest.cc to correctly handle float-point numbers
2015-07-09 22:38:17 +10:00
Dominic Clifton
edeaf37031 Add throttle servo for internal combustion powered airplanes to default
airplane servo mixes.

Also corrects names for BICOPTER; BIPLANE was mistakenly used.
2015-07-08 17:17:59 +01:00
Dominic Clifton
7b91524ba2 Replace gimbal_flags with FEATURE_CHANNEL_FORWARDING and gimbal_mode.
Gimbals are only one use of channel forwarding, PWM video switchers and
PWM buzzers are others.
2015-07-08 16:41:29 +01:00
Dominic Clifton
4ead898f6f Minor mixer cleanup. 2015-07-08 15:39:00 +01:00
Dominic Clifton
8b727ecbf9 Fix pwm servo initialisation when using custom airplane. 2015-07-08 15:38:39 +01:00
Dominic Clifton
1431dfad7c Allow servo rules to use stabilised controlled throttle (e.g. for I.C
planes).

Note: The code ported from baseflight appears broken.
2015-07-08 15:25:12 +01:00
Dominic Clifton
774a36a2d5 Avoid print smix table header multiple times. 2015-07-08 14:48:23 +01:00
Chris Campbell
2205bdc095 Corrections for alienwii-specific custom mixer values 2015-07-08 22:45:00 +09:00
Dominic Clifton
99e0e55e17 Rename and re-order servo rule input sources 2015-07-08 13:59:52 +01:00
Dominic Clifton
7e12711763 Fix missing fixed wing throttle control. 2015-07-08 13:59:51 +01:00
Dominic Clifton
763c75873e Use 0 based index for motor and servo mix in CLI. Update
MSP_SERVO_MIX_RULES, MSP_SET_SERVO_MIX_RULE, MSP_SERVO_CONFIGURATIONS,
MSP_SET_SERVO_CONFIGURATION.  Delete MSP_CHANNEL_FORWARDING,
MSP_SET_CHANNEL_FORWARDING.
2015-07-08 12:54:09 +01:00
Dominic Clifton
bb0f909e83 Merge branch 'master' into custom-servo-mixers 2015-07-08 12:11:49 +01:00
codepox
a76d956358 Fixed a bug: in 3D mode to stop the motors, send neutral3d value to the ESCs instead of mincommand.
This was causing the motors to go full negative for a short time everytime I left the CLI mode tab in the Configurator GUI.
2015-07-07 18:53:11 -04:00
Chris Campbell
1a0fdead4e Corrected default mixer values for octo flat X 2015-07-07 15:43:38 +09:00
Nicholas Sherlock
8a06849657 Improve flashfs codegen by fixing pagesize at a constant 256 bytes 2015-07-05 14:10:12 +12:00
Steveis
f0aec2e31d Unit tests for BMP085 2015-06-30 17:33:44 +01:00
Michael Jakob
033e47ebc9 16Mbyte SPI flash memory support
Add Winbond W25Q128
Add Micron N25Q128
Fix datatype for flash gemometry
Blackbox documentation update
2015-06-30 10:09:20 +02:00
Nicholas Sherlock
4f860dd6f1 Reduce standard deviation of flash logging execution time by 80% 2015-06-30 17:43:49 +12:00
Nicholas Sherlock
bf18f212d9 Merge pull request #907 from sherlockflight/blackbox-status-frame
Blackbox - Add logging for flight state, flight mode, and failsafe state
2015-06-30 16:04:28 +12:00
Dominic Clifton
e48e50512e Merge pull request #1028 from borisbstyle/dterm_filter
Selective Software Filtering (Gyro, Dterm, Pterm)

Thanks for the code boris and thanks to everyone else for their testing and feedback
2015-06-29 16:00:49 +01:00
Michael Hope
d08579dd14 common: add the missing extra headers to printf.h
Signed-off-by: Michael Hope <mlhx@google.com>
2015-06-29 04:16:49 +01:00
Dominic Clifton
45cd2671a5 Use tabs instead of spaces for servo mix table header. 2015-06-29 03:51:55 +01:00
Dominic Clifton
08afcaf536 Ensure dump uses correct command names.
Use shorter command names (mmix and smix) instead of longer ones
(motormix) and (mmix).

Decrease verbosity of dump command by only outputting commands to
reverse servos for servos that are reversed.
2015-06-29 03:51:05 +01:00
Petr Ledvina
68dd60b0e7 Use loop for CLI command search instead of bsearch library function, improve matching
Command end is now tested, `savefail` wont be recognized as command now (but `save+fail` is)
2015-06-29 03:31:16 +01:00
Dominic Clifton
b5e18a90a2 Cleanup CLI
* optimize for code size.
* consolidate error message handling.
* replace similar error messages with identical ones.
* shorten all strings where possible.
* made less verbose.

This was required for the CC3D OPBL build.
2015-06-29 03:30:17 +01:00
Dominic Clifton
9389239207 Removing custom mixer sanity check, it gives bad result to good mixers.
See #864.
2015-06-29 00:05:13 +01:00
Dominic Clifton
66d0a0260d Custom servo mixer fixes to build ALIENWII targets. 2015-06-28 23:52:23 +01:00
Lupin
b69ccda21e correct startup_xxx.S contents for HD devices (was for MD before)
new contents as per
/lib/main/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/gcc_ride7/startup_stm32f10x_hd.s
2015-06-29 00:16:09 +02:00
Dominic Clifton
7a1d071efb Add support for custom tricopter mixer.
See #606.
2015-06-28 23:11:47 +01:00
Dominic Clifton
ea6a6ccb3d First cut of custom servo mixers.
Main rule logic and MSP commands ported from baseflight.

Gimbal mixer updated to use rules.  This allows us to remove more
conditional logic.  Operation of gimbal servos is now different.
2015-06-28 23:06:56 +01:00
Michael Hope
b88864d52d Merge branch 'master' into incremental-test 2015-06-28 17:20:08 +02:00
Michael Hope
6b35964c34 tests: automatically collect the list of tests.
Use a wildcard instead of an explicit list.

Signed-off-by: Michael Hope <mlhx@google.com>
2015-06-28 17:17:33 +02:00
Michael Hope
cf8d0cf572 tests: change the explicit rules for implicit.
Now that the other rules are refactored, use a generic rule for all
tests instead of having a copy-and-paste section for each.

Signed-off-by: Michael Hope <mlhx@google.com>
2015-06-28 17:14:09 +02:00
Michael Hope
b8a9df2aa4 tests: automatically build dependencies.
Signed-off-by: Michael Hope <mlhx@google.com>
2015-06-28 17:00:32 +02:00
Michael Hope
31f13e3d9c tests: simplify the build config by building as a library.
Build Cleanflight into a library instead of explicitly calling out the
object file and any dependencies.

Signed-off-by: Michael Hope <mlhx@google.com>
2015-06-28 16:53:41 +02:00
Michael Hope
266d0d6726 tests: make the tests build incrementally.
Re-work the Makefile rules so the binary targets include $OBJECT_DIR.
This lets the tests build incrementally, which makes the iterating
when building new tests much faster.

Signed-off-by: Michael Hope <mlhx@google.com>
2015-06-28 16:27:46 +02:00
Dominic Clifton
c142e3dfe9 Rename minLimit/maxLimit to angleAtMin and angleAtMax. Remove unneeded
MSP_SET_SERVO_LIMIT.  Bump MSP API version.  Add basic sanity checks to
MSP_SET_SERVO_CONF, reset all servos and adhere to the msp packet's data
size.
2015-06-28 12:22:14 +01:00
Mauro Mombelli
da6ee6ffb7 first extract from Tilting for Servo pull request 2015-06-28 12:06:33 +01:00
Mauro Mombelli
9277a8b7bf fixed a parameter error in unit test 2015-06-28 12:06:32 +01:00