1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-18 22:05:17 +03:00
Commit graph

12667 commits

Author SHA1 Message Date
Dominic Clifton
d15b56f14e Fixing mis-reporting of armed state - missed in b6a8e20. 2014-08-26 21:24:07 +01:00
Dominic Clifton
9b4ccdc73a Only set OK-to-arm flag when arm switches are disabled.
This prevents arming after connecting a battery when the throttle is in
low; when using a switch to arm and when the switch is left in the ON
position.

The previous solution was flawed because of the way rc input is handled.

This also removes an extra test of rcOptions by re-arranging the logic
that handles arming/disarming via a switch.
2014-08-24 22:59:59 +01:00
Dominic Clifton
f5d9589f0a Disable debug output. 2014-08-24 22:53:06 +01:00
Dominic Clifton
b6a8e20d8c Fix reporting of flight modes broken in 3f0754d
The conversion of the flags to bitmasks meant the mask was being bitshifted instead of 1 or 0.
2014-08-24 21:31:52 +01:00
Dominic Clifton
3f0754d295 Replace global flags with stateFlags, flightModeFlags and armingFlags.
Each flag was previously a whole byte, now all of the flags only take up
4 bytes as they are represented by bit masks.

This is cleaner because the different kind of flags are now separated.

Additionally this changes the behaviour of arming slightly.  When using
a switch to arm the aircraft will not arm unless the switch has been in
the off state once.  This prevents arming if you power the aircraft with
a low throttle and the switch in the on position.
2014-08-24 12:11:30 +01:00
Dominic Clifton
1ea014ae25 Support MSP telemetry on ports marked as TELEMETRY instead of MSP, this
follows the pattern that HoTT and FrSky use.

Previously MSP telemetry was actually output on the MSP port, NOT the
telemetry port.

Baudrate for MSP telemetry currently fixed at 19200.
2014-08-23 01:14:06 +01:00
Dominic Clifton
4604403098 Merge branch 'master' into msp-on-multiple-ports
Conflicts:
	src/main/config/config.c
	src/main/io/serial_msp.c
2014-08-22 22:30:33 +01:00
Dominic Clifton
26cbe71858 Fix for resetting config to defaults.
This was missed in f51efaa7c0
2014-08-22 22:26:35 +01:00
Dominic Clifton
f51efaa7c0 Instead of copying a profile from the master config into memory again,
just use it in-place.  This saves ~308bytes of memory.

Prior to this there were 4 profiles in ram all the time, the 3 main
profiles and a copy of one of them.

This commit was aided by a side effect of the work done to clean up the
output of the cli dump command since it is now easy to conditionally
apply the changes to the memory addressed used to read/write cli
variables.  See 8c3a869251.
Conflicts:

	src/main/io/serial_msp.c
2014-08-22 22:05:35 +01:00
Dominic Clifton
71e7feebd9 Move 'boxes' out of ram and into flash - saves quite a bit of ram. 2014-08-22 22:01:04 +01:00
Dominic Clifton
8ebdb245c2 Instead of copying a profile from the master config into memory again,
just use it in-place.  This saves ~308bytes of memory.

Prior to this there were 4 profiles in ram all the time, the 3 main
profiles and a copy of one of them.

This commit was aided by a side effect of the work done to clean up the
output of the cli dump command since it is now easy to conditionally
apply the changes to the memory addressed used to read/write cli
variables.  See 8c3a869251.
2014-08-22 21:53:23 +01:00
Dominic Clifton
11a00e2697 Move 'boxes' out of ram and into flash - saves quite a bit of ram. 2014-08-22 21:05:55 +01:00
Dominic Clifton
f7b6ed901e Merge branch 'master' into msp-on-multiple-ports 2014-08-22 19:19:42 +01:00
Dominic Clifton
13af9f8ff9 Delete unused code. 2014-08-20 14:52:37 +01:00
Dominic Clifton
8d5b2283ec Reduce code size and ram usage of PWM supervisor code. 2014-08-20 14:51:20 +01:00
Dominic Clifton
c0a349ed60 Fix PWM failsafe by monitoring for missing pwm rise/fall signal events. 2014-08-20 01:32:27 +01:00
Dominic Clifton
acc285be4a CJMCU - Update PPM/PWM mappings.
Bench tested for PPM & 4 Motor outputs only.
2014-08-18 21:03:51 +01:00
Dominic Clifton
349b20186d Comment cleanup 2014-08-18 19:09:12 +01:00
Dominic Clifton
0b353341f8 Limit MSP ports to 2 for normal usage scenarios. 2014-08-14 00:50:17 +01:00
Dominic Clifton
7453e98b3b Update serial and msp code to allow MSP on multiple ports.
Work in progress.  In testing using bluetooth on uart2 and uart1
connected to configurator it was observed that there is corrupted
responses being sent via uart2 - ez-gui shows some garbled data for the
box names.  updates appear sluggish in ez-gui but some correct data is
getting through.

Enabled with:

set serial_port_2_scenario = 8
save
2014-08-14 00:38:42 +01:00
Dominic Clifton
d0338eac19 Cleanup sonar support for Naze/Flip32/Olimexino. Add Sonar
documentation.
2014-08-13 22:01:39 +01:00
Ben Hitchcock
74ef19bc34 Bugfix when using sonar as well as rx-parallel-pwm
This allows sonar to be used at the same time as parallel PWM for the receiver.  If the RX_PARALLEL_PWM feature is enabled, then the sonar system uses motor ports 5 and 6, otherwise it uses receiver pins 7 and 8.
2014-08-13 19:25:43 +01:00
Dominic Clifton
95852d0bdf CC3D - Change the default alignment of the board to match the default
open pilot alignment.

This makes it easier for new users to adopt cleanflight without having
to look up the alignment cli settings or rotate their boards in their
existing aircraft.

See discussion here:

http://forums.openpilot.org/topic/43569-baseflightcleanflight-ported-to-cc3d/?p=360886
2014-08-13 17:53:05 +01:00
Dominic Clifton
6ff9483425 Avoid using initialialised pointer in sonar interrupt handler. 2014-08-13 16:24:20 +01:00
Dominic Clifton
98e51fb2dc Replace qsort with simple bubble sorting function to reduce code size. 2014-08-08 00:33:58 +01:00
Dominic Clifton
dc0f461c73 Update serial port handling for boards with only 2 ports. 2014-08-07 23:32:14 +01:00
Dominic Clifton
b01724681a CC3D - Support USART3 instead of USART2.
This has highlighted that the existing codebase is quite targeted
towards systems that use USART1 and 2.  Annoyingly the inverter is on
USART1 and the sbus code requires callbacks so still won't work yet.
2014-08-07 19:17:46 +01:00
Dominic Clifton
9906294cd8 Split navigation functionality from io/gps.c into flight/navigation.c.
gps.c now only has code that deals with gps hardware, state and
messaging.
navigation.c  now only has code dealing with flight
navigation/waypoints/home/hold/etc
2014-08-07 14:23:05 +01:00
Dominic Clifton
ac61a5ae5b Fixing current meter, vbatCycleTime was not being reset and the ADC
index was wrong.

See 5cc9750d12
2014-08-06 22:12:41 +01:00
Dominic Clifton
5b51780780 Adding FrSky main battery voltage code back in ('FAS' in telemetry
screen on OpenTX) - it was disabled in baseflight commits
a753661c23c428ede8c2b72e95d3e31f6c8b894e and removed  in
4ae03bb00e5616796989255d4101c4ed51162d50
2014-08-03 00:22:36 +01:00
Dominic Clifton
8c3a869251 Update CLI so that you can dump all, master or profile settings.
Cleanup '...' strings to reduce binary size.  Change version
information.

With this change it's much more obvious what is and what is not included
in a profile.

Examples:

dump
dump profile
dump master
2014-08-02 12:39:18 +01:00
Dominic Clifton
81cf29be70 Avoid error message appearing incorrectly after showing cli commands. 2014-08-02 12:39:17 +01:00
Dominic Clifton
7e5eeb53b2 Merge pull request #29 from nebbian/feature-change-profile-beep-bugfix
Bugfix for wrong number of beeps when changing profiles
2014-08-02 10:03:26 +01:00
Dominic Clifton
01643b8621 Re-use existing code to show all matching cli commands for 'get' instead of exact match.
e.g.  'get deadband' will show all varialbles with the word 'deadband' in it.  exact match only required when setting variables.
2014-08-02 10:00:37 +01:00
Ben Hitchcock
df833a6178 Bugfix for wrong number of beeps when changing profiles
When changing profiles with the sticks, CleanFlight was beeping 0 times for profile
1, once for profile 2, and twice for profile 3.  This wasn't intuitive, and was
different to how Baseflight beeps when changing profiles.
This change makes baseflight give the same number of beeps as the profile number
that you change into.
2014-08-02 14:11:36 +08:00
Ben Hitchcock
35a4aa60f9 Adding 'get' command to the CLI, to view a single variable.
This enables the user to type "get variablename" in the CLI, which then shows the value of that variable (or a message saying "Variable 'variablename' not found").
This is easier for the user when they just want to see a single variable, instead of typing 'dump' and then having to parse a big long list of data.  It is also more intuitive than typing 'set variablename', as this feels unsafe.
2014-08-02 13:59:46 +08:00
Dominic Clifton
582503c0e6 Delete unused pwm rssi code - rssi adc is used instead since the rate
used (8khz) by some frsky receivers is too fast to be detected using the
pwm rssi code without bogging down the cpu in interrupt handlers.
2014-08-02 01:38:09 +01:00
Dominic Clifton
58e0900d5e CC3D - fixing two unused variable compiler warnings. 2014-08-02 00:46:01 +01:00
Dominic Clifton
d762da7dac Fix build relating to inverter/pwm rssi compiler errors. 2014-08-02 00:43:39 +01:00
Dominic Clifton
25ede3e6e0 Fix PWM in RSSI - accidentally excluded when adding CJMCU support. 2014-08-02 00:43:06 +01:00
Dominic Clifton
4d9a672d9c CC3D / NAZE - Adding support for hardware controlled inverter for use by
SBUS RX.
2014-08-02 00:43:06 +01:00
Dominic Clifton
f08760634e Cleanup GPS compilation warnings from
ca746d2ff47c8eb589386045b91bbccdd76246d1
2014-08-02 00:43:06 +01:00
norem
74c3e28a12 Update gps.c
correctly verifies checksum before modifying read NMEA gps data
2014-08-01 22:54:01 +01:00
luggi
7917e44293 slow change althold now controls velocity directly
The throttle stick input now directly sets the vertical velocity
setpoint of the copter. (alt_hold_fast_change = 0)

Conflicts:

	src/imu.c
	src/mw.c
	src/mw.h
2014-08-01 22:52:08 +01:00
Dominic Clifton
ff82839f89 Fixing alt hold constraints to be 8192 instead of 8196.
The previous code before 5b1de9cce966c033ae7b01d9318161e0e40e08a8 was
using (x / 8) and then constraining using +/- 1024.  Removing the / 8 in
commit 5b1de9cce966c033ae7b01d9318161e0e40e08a8 should have meant the
new constraint values were (1024 * 8) = 8192.
2014-08-01 22:43:01 +01:00
luggi
75f94aa11b althold constants updated
baro velocity now limited to 15m/s
d-term is now smaller

Conflicts:

	src/imu.c
2014-08-01 22:39:23 +01:00
luggi
1bf806f54c make the accZ lpf used for althold configurable
set the variable accz_lpf_cutoff to the desired cutoff frequency
this can help to make althold smoother on copters with lots of
vibrations

Conflicts:

	src/cli.c
	src/config.c
	src/imu.c
	src/mw.h
2014-08-01 22:31:22 +01:00
Dominic Clifton
c53268b7be Remove out of date Keil files. 2014-08-01 22:16:23 +01:00
Dominic Clifton
ff71a32eed Update STM32F303 startup script to handle recent changes to make file.
See 941b42a269
2014-08-01 21:44:27 +01:00
Dominic Clifton
193c4db508 making timer lists const. 2014-08-01 21:17:34 +01:00