1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-19 06:15:16 +03:00
Commit graph

340 commits

Author SHA1 Message Date
4712
c2b1dd3259 Fix 1wire pass through for F3 + target config changes
Conflicts:
	src/main/io/serial_1wire.c
	src/main/target/RMDO/target.h
2015-11-05 00:19:51 +01:00
YANN OEFFNER
a2b795580b vOrtex 250 change
- vOrtex 250 configuration added (new target for 250 IRCFUSIONF3)
- fix for barometer on fusion gen 2
- added betaflight identifier (BTLF)
2015-10-29 16:27:28 +01:00
borisbstyle
2eee0f3e4f New version structure 2015-10-29 16:06:01 +01:00
borisbstyle
d685b4d6d8 Pid Controller Cleanup
Correction to dump
2015-10-23 01:10:21 +02:00
Konstantin Sharlaimov (DigitalEntity)
5df8ca926c Quaternion-based DCM IMU (original code my S.Madgwick)
Restore binaries from merge
2015-10-22 10:45:36 +02:00
borisbstyle
4b3ba927e9 Merge branch 'master' into betaflight
Conflicts:
	src/main/blackbox/blackbox_io.c
	src/main/drivers/serial_usb_vcp.c
	src/main/flight/imu.c
	src/main/mw.c
	src/main/target/CC3D/target.h
2015-10-12 23:53:43 +02:00
Dominic Clifton
a319394f6b Merge branch 'blackbox-serial-budget' of https://github.com/sherlockflight/cleanflight-dev into sherlockflight-blackbox-serial-budget
Conflicts:
	src/main/blackbox/blackbox.c
2015-10-12 20:14:20 +01:00
borisbstyle
12c9f65f43 Merge branch 'master' into betaflight
Conflicts:
	Makefile
	docs/Cli.md
	src/main/config/config.c
	src/main/drivers/accgyro_mpu3050.c
	src/main/drivers/accgyro_mpu6050.c
	src/main/drivers/accgyro_mpu6050.h
	src/main/drivers/accgyro_spi_mpu6000.c
	src/main/drivers/accgyro_spi_mpu6000.h
	src/main/drivers/accgyro_spi_mpu6500.c
	src/main/drivers/accgyro_spi_mpu6500.h
	src/main/drivers/barometer_bmp280.c
	src/main/drivers/sensor.h
	src/main/flight/pid.c
	src/main/mw.c
	src/main/rx/rx.c
	src/main/sensors/initialisation.c
	src/main/target/CC3D/target.h
2015-10-07 17:12:54 +02:00
Dominic Clifton
123a4ccfc5 Merge branch 'GTune' of https://github.com/MJ666/cleanflight into
MJ666-Harakiri_PID_update

Conflicts:
	Makefile
	src/main/blackbox/blackbox_fielddefs.h
	src/main/flight/pid.c
	src/main/io/serial_msp.c
	src/main/mw.c
	src/main/target/ALIENWIIF3/target.h
	src/main/target/CC3D/target.h
	src/main/target/NAZE/target.h
	src/main/target/NAZE32PRO/target.h
	src/main/target/SPARKY/target.h
2015-10-06 20:16:37 +01:00
Dominic Clifton
d36da111b2 Delete autotune. 2015-10-06 19:38:02 +01:00
Michael Jakob
43f5792a61 G-Tune port from Harakiri
Enabled for NAZE, ALIENWWIIF1 and ALIENWIIF3 targets
Implement G-Tune for all PID controllers
The G-Tune tuning results will be save if G-Tune mode will be disabled
during copter is disarmed.
Update PID controller and G-Tune documentation
2015-10-04 18:37:18 +02:00
borisbstyle
5a871928af Get targetLooptime from gyro_sync.h 2015-10-04 03:06:09 +02:00
Moto Moto
fe89535126 MSP LOOP_TIME commands for Configurator 0.66 2015-10-03 17:13:37 -05:00
Nicholas Sherlock
6e504ca52a Ability to see how many Tx bytes are free in serial port buffer 2015-10-01 16:48:56 +13:00
borisbstyle
babab7aa4e Merge remote-tracking branch 'Pierre-A/CLI_beeper_off' into betaflight 2015-09-29 12:21:18 +02:00
borisbstyle
c944083f73 Merge branch 'master' into betaflight
Conflicts:
	src/main/config/config.c
	src/main/flight/imu.c
2015-09-29 01:03:25 +02:00
Nicholas Sherlock
8e9669dc0c Fix RX_MSP writing to rcData was causing feedback loop with channel map
Fixes support for RX_MSP > 8 channels
2015-09-25 01:34:50 +12:00
borisbstyle
0501e5ff91 Code Cleanup
More code cleanup and BUMP EEPROM

Code Cleanup

Fix loop trigger
2015-09-19 01:37:48 +02:00
Pierre-A
09e7a01b2c Selectively turning on/off the beeper through CLI 2015-09-15 15:41:30 +02:00
borisbstyle
febee3fb90 Merge branch 'master' into betaflight
Conflicts:
	src/main/drivers/system.c
	src/main/rx/rx.h
2015-09-07 10:08:34 +02:00
ProDrone
f0681de53d Updates and feature additions to failsafe system.
- Added failsafe flightmode and rc control box.

To make failsafe procedure a separate flight mode and make it possible
to trigger failsafe with an AUX switch.

- Failsafe mode is activated when failsafe is active.

RC link lost is simulated with the failsafe AUX switch.
When NOT armed: failsafe switch to failsafe mode is shown in GUI (mode
tab).

- Activate failsafe mode with AUX switch.

- Prevent arming when failsafe via AUX switch is active (safety issue).

- Make failsafe disarm if motors armed and throttle was LOW (2D & 3D)
for `failsafe_throttle_low_delay` time (__JustDisarmEvent__).

Applied code changes to effectively add pull request: Make failsafe
disarm if motors armed and throttle low #717.

- Use failsafeIsMonitoring() to actually start monitoring.

- Added `failsafe_kill_switch` to code.

When set to 1 (0 is default), the failsafe switch will instantly disarm
(__KillswitchEvent__) instead of executing the landings procedure.
Arming is NOT locked after
this, so the craft could be re-armed if needed.
This is intended for racing quads where damage and danger must be
minimized in case of a pilot error.

- Added `failsafe_throttle_low_delay`, adapted documentation.

Used to adjust the time throttle level must have been LOW
to _only disarm_ instead of _full failsafe procedure_
(__JustDisarmEvent__).

- Updated the failsafe documentation.

- Re-enable arming at end of failsafe procedure.

At the end of a handled failsafe event, that means: auto-landing,
__JustDisarmEvent__ or __KillswitchEvent__, the RX link is monitored for
valid data.
Monitoring is a part of the failsafe handling, which means the craft is
still in failsafe mode while this is done.
Arming is re-enabled (allowed) when there is a valid RX link for more
then XX seconds, where XX depends on the handled event like this:
1. XX = 30 seconds after auto landing.
2. XX = 3 seconds after __JustDisarmEvent__.
3. XX = 0 seconds after __KillswitchEvent__.

NOTE: When armed via an AUX switch, you will have to switch to the
disarmed position at the very end to be able to re-arm.
The failsafe mode will not end until you do.

- __KillswitchEvent__ has now priority over __JustDisarmEvent__

- Apply rxfail values instantly when failsafe switch is ON

- Added missing cases to display.c

Show M when failsafe is monitoring for RX recovery (AND disarming when
armed with a switch).

===

Reworked the code from counter-based to time-based.

- AUX failsafe switch now has identical behavior to RX loss.

- Added RX failure and RX recovery timing.

- __KillswitchEvent__ skips RX failure detection delay (direct disarm).

===

[UNIT TESTS]

Adapted failsafe related unittests from counter-based to time-based

- Added failsafeOnValidDataFailed() to some tests

- Removed duplicate test setup from rc_controls_unittest.cc

- Removed magic numbers from rx_ranges_unittest.cc and rx_rx_unittest.cc

- Reworked all test-cases for flight_failsafe_unittest.cc
2015-09-04 16:55:40 +02:00
nathan
80be01e530 bring betaflight up to par with serial1wire-blheli-multiesc 2015-09-02 21:43:42 -07:00
nathan
5be6a0762f serial1wire MSP and multi-esc configuration logic, compatible with BLHeliSuite 14.0.0.3.2 (beta)
mad props to @4712
2015-09-02 00:35:19 +02:00
borisbstyle
259630840a Luxfloat more precision in Configurator tuning 2015-09-02 00:30:45 +02:00
Nicholas Sherlock
c5a7914fe8 Fix upper bound clamping of FP PID settings upon MSP read 2015-08-20 16:10:18 +12:00
Dominic Clifton
a030d4dd9e Failsafe - Add rxfail auto mode. Allow rxfail to be used for all
channels, not just aux channel.
2015-08-20 01:37:29 +01:00
Dominic Clifton
ae0c29125d Merge pull request #1157 from cleanflight/blackbox-pause
Add pause/resume switch support to Blackbox
2015-08-03 21:26:36 +01:00
Dominic Clifton
490268d2fc Failsafe - Allow AUX channels to HOLD their last value or be SET to a
specific value when RX loss is detected.

Tested with SBus, PWM & PPM.
2015-08-03 18:16:28 +01:00
ProDrone
08b376f2a5 RPY to mid-stick and T to lowest (or mid for 3D).
On bad (out-of-range) pulses; ROLL, PITCH, YAW will go to `mid_rc` and
THROTTLE will go to `rx_min_usec` (to `mid_rc` for 3D mode). So these
channels will no longer be set by the user directly.
Fallback values for the aux switches (0 .. max) can be set with this
version. Since these switches may trigger all kind of things, the user
needs control over them in case of a RX failsafe event.

A single flight control channel failure (first 4) when using parallel
PWM is interpreted as a failure for all flight control channels (first
4), since the craft may be uncontrollable when one channel is down. (+4
squashed commit)

Squashed commit:

[dbfea9e] Apply fallback values also when serial_rx init failed and/or
RX
disconnected and/or no signal received.

[b5a2ecd] Added get/set MSP commands for RXFAIL config

Bumped API minor version up.

[c0e31ce] minor change for coding standard

[322705f] Added programmable RX channel defaults on rx lost Update #2
2015-07-31 14:35:14 +02:00
Nicholas Sherlock
53860e461c Add resume event to allow clean log decoding, add documentation 2015-07-23 19:18:08 +12:00
Alexander Fedorov
01632998a3 Blackbox: Enable logging when mode switch is active 2015-07-22 13:36:22 +12:00
Dominic Clifton
6dca303130 Cleanup servo configuration storage (align some values more
efficiently).  Update MSP_SERVO_CONFIGURATIONS,
MSP_SET_SERVO_CONFIGURATION value order.  Add some error checking to
size of MSP_SET_SERVO_CONFIGURATION.
2015-07-12 23:32:07 +01:00
Dominic Clifton
bc5f666069 Minor MSP cleanup and adding a FIXME. 2015-07-09 19:02:52 +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
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
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
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
Dominic Clifton
a9b5ad71b2 Fixing MSP_RAW_IMU. See 26e950b433. Closes #1061.
Must have been a late one.
2015-06-27 21:15:51 +01:00
Dominic Clifton
26e950b433 Remove duplicate code from MSP_RAW_IMU. Saves a ~24 bytes of flash
space and results in easier to read code due to less nesting.
2015-06-24 23:17:59 +01:00
Dominic Clifton
7db626747d Allow all models to use servo tilt.
See #1006
2015-06-10 15:31:47 +01:00
Dominic Clifton
9a8a31676b Reduce maximum servos from 10 to 8.
1) the 2 extra servos were not used for anything, yet.
2) the MSP packet to set ALL the servo configurations in one go is
larger than the MSP input buffer size.

Likely the MSP_SET_SERVO_CONF should be updated with command that takes
an index of a servo to configure, as per mode ranges/colors/leds/etc.

Fixes #1002
2015-06-10 13:31:04 +01:00
Michael Hope
5c6760fd82 various: tidy up various things found when building with a C++ compiler.
Remove duplicate consts.
Pull in the include files where functions and variables are declared.
Mark file local but duplicated variables as static.
Mark some variable declarations as extern.
Remove duplicated variable definition.

Signed-off-by: Michael Hope <mlhx@google.com>
2015-06-04 22:32:31 +02:00
Dominic Clifton
0c1a6c5c2f Merge branch 'lock_active_features' of https://github.com/ProDrone/cleanflight into ProDrone-lock_active_features
Conflicts:
	src/test/unit/rc_controls_unittest.cc
2015-05-29 20:05:25 +01:00
Dominic Clifton
41d737e29a Merge pull request #869 from SteveAmor/remove_tricopter_yaw_gyro_smoothing
Remove tricopter yaw gyro smoothing from imuUpdate
2015-05-29 15:39:02 +01:00
Dominic Clifton
55180070d6 Merge pull request #964 from nzmichaelh/more-const
various: optimise RAM and flash usage
2015-05-29 11:13:41 +01:00
Michael Hope
c9349ce83b msp: rework the different size encoders.
Tidy the encoders up.  Reduce the code size stacking the encoders for
different sizes.

Signed-off-by: Michael Hope <mlhx@google.com>
2015-05-29 05:42:22 +02:00
Michael Hope
31f933ac21 various: mark more constant data so it goes into flash instead of RAM.
Signed-off-by: Michael Hope <mlhx@google.com>
2015-05-29 05:42:08 +02:00
Dominic Clifton
a7d347689d Merge pull request #953 from enly1/Telemetry_Switch_Fix
Telemetry_Switch TELEMETRY_BOX conditional logic incorrect
2015-05-28 23:36:20 +01:00
enly1 [Simon Love]
7df9f7d0d5 Telemetry_Switch TELEMETRY_BOX conditional logic incorrect - corrected so TELEMETRY_BOX now available in GUI with telemetry_switch=1 2015-05-26 20:43:05 +01:00