Commit Graph

154 Commits

Author SHA1 Message Date
tracernz a37c6ee9ee Merge https://github.com/cleanflight/cleanflight into virtualcurrent 2015-01-16 22:03:53 +13:00
tracernz 999f0ce002 Add virtual current sensor support
Virtual current sensor calculates an estimate of current based on
throttle position, current_meter_scale, and current_meter_offset.
Documentation to follow later.
2015-01-16 22:00:45 +13:00
Dominic Clifton b7462c0b3d Merge pull request #351 from nebbian/baseflight-pid-horizon-mode-tuneup_a
Baseflight pid (pid_controller=2) horizon mode tuneup
2015-01-16 00:50:12 +00:00
Joel Fuster 09862aed78 Merge with upstream 2015-01-10 14:31:34 -05:00
Ben Hitchcock 69d94c81e1 Second draft of the tuneup.
This uses ints for the sensitivity instead of mapping floats back and forth.
 Also the stick position is read directly, without the RC_Rate affecting this value.
2015-01-07 21:54:13 +08:00
Dominic Clifton fcbda7ec63 Merge pull request #227 from sherlockflight/master
Add blackbox flight data recorder feature
2015-01-06 21:56:49 +00:00
Ben Hitchcock 6b7c9facd3 First draft of better horizon mode 2015-01-06 21:53:23 +08:00
Pierre-A 92ca14a419 Correction of bug issue#312 2015-01-05 10:40:25 +01:00
Joel Fuster 06ce23951b Rename freq parameter; remove UT warnings 2015-01-04 22:15:09 -05:00
Joel Fuster 4bcedab3e9 Clean up lowpass patch 2015-01-02 17:16:55 -05:00
Joel Fuster 3eee9eb079 Lowpass testing 2015-01-01 19:24:35 -05:00
Joel Fuster cf40e3231a Add configuration of notch filter
More fine-grained filter freqs
2015-01-01 15:03:40 -05:00
Nicholas Sherlock 321fc717ab Merge remote-tracking branch 'upstream/master' 2014-12-27 20:00:45 +13:00
Dominic Clifton 84b197d5f8 Merge branch 'feature-autodisarm' of https://github.com/ledvinap/cleanflight into ledvinap-feature-autodisarm 2014-12-26 19:01:24 +00:00
Nicholas Sherlock dfd8e5b2b0 Merge branch 'master' of https://github.com/cleanflight/cleanflight 2014-12-26 11:56:00 +13:00
Dominic Clifton 36c0b6f106 Cleanup MPU9150 support. 2014-12-24 23:53:17 +00:00
Dominic Clifton ee19c1f071 Rename multiType to mixerMode. Rename MULTITYPE_* to MIXER_*.
'Type' is a noise word.

'Multi' is a mis-nomer - there is nothing 'multi' about a gimbal or
fixed wing.
2014-12-24 11:58:57 +00:00
Dominic Clifton b123b4ef03 Cleanup disabling of mixers for CJMCU, this might be usefulfor the
AlienWii32 target too.

Deleted old out of date comments.  Various other minor cleanups.
2014-12-24 11:33:14 +00:00
Petr Ledvina eea8f90595 auto-disarm implementation, slight rewrite of HFMan commit 931478054e70cd6a51916ea9430f041f61b7f7ba
Added automatic disarm after 5 seconds when feature MOTOR_STOP is enabled (has no effect on
FIXED_WING configurations.)  Users that don't have a buzzer to warn when
board is armed and use feature MOTOR_STOP can forget to disarm the
board. For example after landing they pick up copter and then
accidentally move throttle up when trying to remove flight battery.

Configurable via CLI using 'set auto_disarm_board=x' where x is 0-60
seconds.  If zero, does not auto_disarm.
2014-12-22 14:39:50 +01:00
Nicholas Sherlock 1b1a285b4a Syncing with Cleanflight upstream 2014-12-22 23:23:26 +13:00
Dominic Clifton 183c5f8e16 Add MPU9150 mag support and mag autodetection. Add AK8975 mag driver.
Note: not working on the sparky, MPU9150 needs passthough enabling but
when enabled the mag and gyro won't ack on the default addresses.  Needs
further investigation.
2014-12-21 23:40:48 +00:00
Dominic Clifton 13305dd2e4 Disable mixer configuration on CJMCU to save flash size. 2014-12-21 23:40:48 +00:00
Dominic Clifton d605ded161 Adding ATAIL support.
See https://github.com/multiwii/baseflight/pull/192
2014-12-21 14:58:46 +00:00
Dominic Clifton 367eb79bd0 Add battery warning beeper. Update MSP_MISC/MSP_SET_MISC.
Note the old beeper was essentially 'battery critical'.
2014-12-19 22:16:47 +00:00
Nicholas Sherlock c85a172370 Merge remote-tracking branch 'upstream/master' 2014-12-18 18:17:59 +13:00
Dominic Clifton 78d4f24ad2 Various cleanups for Spektrum binding support. 2014-12-18 00:50:30 +00:00
Michael Jakob c80090f39f Spektrum Satelitte bind code ported from Baseflight
includes support for a hardware bind plug (PB5 pin 41)
Activate via OPTIONS="HARDWARE_BIND_PLUG" during make
2014-12-17 23:15:27 +00:00
Nicholas Sherlock ce5d64f653 Firmware version 0.1.4
Add ability to reduce recorded data rate
Update struct names to conform to code style guidelines
2014-12-17 17:16:17 +13:00
Dominic Clifton 1d5c2fb13e GPS - fix ubox maximum packet size comparisons. Increase UBlox buffer
size to work with Glonass MSG-SVINFO packets.  Skip data from packets
that are too large to process without attempting to process a large
payout as packet data.  Ignore GPS presence check when enabling
passthrough mode so that it is possible to configure a GPS unit via the
FC without the GPS unit actually having communicated to the FC first.
2014-12-12 16:32:26 +00:00
Dominic Clifton 6ce288063e GPS - Add packet logging to the OLED display. Allow autobauding to be
enabled/disabled via cli (disabled by default now).  Fix missing rate
configuration for UBLOX SVINFO which would have resulted in missing
satallite counts.
2014-12-12 14:43:59 +00:00
Dominic Clifton fed6df275f Add MPU9150 driver.
This is a almost a complete clone of the 6050 - needs cleanup and
de-duplication.
2014-12-09 03:12:37 +00:00
Nicholas Sherlock 8c41772584 Add Blackbox 0.1.0 2014-12-08 22:06:57 +13:00
Ben Hitchcock 94c5573c39 Allowing oneshot125 functionality to work on a Naze board.
This code has been flight tested, but will have problems on a CC3D board, and also when the looptime is longer than 8200 uS.
2014-11-29 14:06:35 +08:00
Petr Ledvina 57c308538f Whitespace cleanup
Misplaced whitespace fixed, no functional changes
2014-11-24 21:39:25 +01:00
Dominic Clifton f5a0f9d3b2 Update RX & Battery OLED pages.
RX page shows up to 14 channels.
Battery page shows current and capacity information.
2014-11-13 01:29:07 +00:00
Frank Zhao 0000d3e65e added smartport telemetry
Conflicts:

	src/main/telemetry/telemetry.h
2014-11-12 00:11:13 +00:00
dongie f42d603b12 Fixing acc_hardware in cli to the new supported sensors range.
Conflicts:

	obj/baseflight.hex
	src/cli.c
2014-11-08 02:06:06 +00:00
Dominic Clifton 8ed45bce36 cli `exit` command now reboots without saving.
This also prevents excessive wear to the eeprom/flash and makes it the
difference between `save` obvious.

Fixes #146
2014-11-08 01:58:35 +00:00
Dominic Clifton 59698c5a37 Merge branch 'naze-updates-pb' of github.com:Pierre-A/Cleanflight into Pierre-A-naze-updates-pb 2014-11-06 19:44:39 +00:00
Dominic Clifton feb4be43d4 Merge pull request #150 from Pierre-A/naze-updates-pa
RSSI_ADC configurable scale in CLI
2014-11-06 20:43:16 +01:00
Dominic Clifton 503e7a0817 Decouple altitudehold.c from config.c. Update flight_imu_unittest and
altitude_hold_unittest.
2014-11-03 20:03:21 +01:00
Pierre-A d545ab545f Remove profanity from comments (issue #43) 2014-11-02 14:53:57 +01:00
Pierre-A 3592429ed5 RSSI_ADC configurable scale in CLI 2014-10-30 21:29:56 +01:00
Dominic Clifton 00ca237886 Rename default_rateProfile_index to defaultRateProfileIndex. 2014-10-29 23:56:28 +00:00
Dominic Clifton ef7f5321da Add Profile OLED display page that shows the current profile and rate
profile.
2014-10-29 23:55:12 +00:00
Dominic Clifton 28f9fa629c Add rate profiles and inflight switching between them. See Profiles and
Inflight Adjustment documentation for details.
2014-10-29 23:36:34 +00:00
Dominic Clifton a406cb6f96 reorder aux/adjrange commands, commands must be alphabetically sorted
due to the command-lookup code.
2014-10-24 21:30:12 +01:00
Dominic Clifton 066c814a8a Update `adjrange` command to take an 'adjustment index/slot'. Apply
adjustment ranges to adjustment slots when channel is within range.

example:

```
adjrange 0 0 0 900 1700 0 2
adjrange 1 0 0 1700 2100 1 2
```

explained:

* configure adjrange 0 to use adjustment slot 1 (0) so that when aux1
(0) in the range 900-1700 then do nothing when aux 3 (2) is in any
position.
* configure adjrange 1 to use adjustment slot 1 (0) so that when aux1
(0) in the range 1700-2100 then do use adjustment 1 (rc rate) when aux 3
(2) is in the appropriate position.

Without the entire range of aux1 being defined there is nothing that
would stop aux 3 adjusting the rc rate once aux 1 wasn't in the higher
range. 

There are 4 adjustment slots and 12 adjustment ranges.

Adjustment slots and adjustment ranges can use the same aux channel.

e.g.

`adjrange 2 1 0 900 2100 1 3`

* configure adjrange 2 to use adjustment slot 2 (1) so that when aux4
(3) in the range 900-2100 then use adjustment 1 (rc rate) when aux 4 (3)
is in the appropriate position.
2014-10-24 20:49:00 +01:00
Dominic Clifton bd39445be8 Add cli command to configure adjustment ranges.
e.g. `adjrange 0 0 1700 2100 1 2`

set adjustment range 0, which applies to aux channel 0 (aux1) when range
is between 1700 and 2100 then apply function 1 (rc rate) to aux channel
2 (aux3)
2014-10-24 19:51:40 +01:00
Dominic Clifton 18abad5dd7 Extract range definition so it can be reused. 2014-10-24 18:57:06 +01:00
Pierre-A 20c4dae7c2 SoftSerial port for CC3D 2014-10-19 11:20:55 +02:00
Dominic Clifton 1b47d3cbae Clean up pull request #108 from @Airmamaf. 2014-10-18 15:52:04 +01:00
Dominic Clifton 1c501272ab Merge branch 'airmamaf' of github.com:airmamaf/cleanflight into airmamaf-airmamaf 2014-10-18 15:06:42 +01:00
Dominic Clifton 596d798732 Add MSP_API_VERSION command. Added MSP development guidelines. Define
board identifiers for all cleanflight targets.
2014-10-17 22:34:15 +01:00
Dominic Clifton 6f3aa6fb86 Add extra MSP commands to allow settings to be made via a GUI in
addition to setting via the CLI.

Note: MSP_CONFIG from baseflight
bc68d89983d762d35cc1cf5e3fa0c2cf03287b70 will not be supported because
more specific commands exist in cleanflight.

MSP_MISC and MSP_CONFIG are good examples of single responsibility
violations.
2014-10-17 01:33:47 +01:00
Dominic Clifton da51b5c479 Add MPU6500 SPI driver. Move sensor initialisation defines into target
specific headers.
2014-10-14 00:22:54 +01:00
Dominic Clifton 738c807e1d Fix setting of upper limit for mode ranges in cli. 2014-10-12 19:49:31 +01:00
Dominic Clifton b0eab0cc9e Update the cli AUX command to take range parameters - see docs/Modes.md 2014-10-12 19:32:55 +01:00
Dominic Clifton c0fd0c1f33 Replace profile.activate and rcOptions with
profile.modeActivationCondition and rcModeActivationMask.

Implementation of using and setting modeActivationConditions is missing.
2014-10-12 10:40:38 +01:00
Airmamaf 9b84516344 FrSky telemetry update 2014-10-08 16:28:26 +02:00
Dominic Clifton 107a3425cf Updating unit test to verify expected values with the new maximum
vbatscale value. See #104.
2014-10-07 21:12:04 +01:00
airmamaf 720486a4de Update serial_cli.c
When using a voltage sensor instead of direct connection for voltage monitoring, vbat_scale max limit is too low. It should be raised to a value greater than 200 (250 or more)
2014-10-03 09:15:48 +02:00
Dominic Clifton 35280abfed Allow disabling of I2C for targets that do not use it. 2014-09-26 01:32:57 +01:00
Dominic Clifton 6f05a5181b Insert missing space into version message. 2014-09-26 01:03:20 +01:00
Dominic Clifton c898ca4634 OLED Display - Add two pages: RX info and Welcome.
The RX info page shows channel letters and bar graphs for the first 8
channels.
The Welcome page shows the target and cleanflight git revision.
2014-09-21 05:09:01 +01:00
Dominic Clifton da485119f7 Update the cli `dump` command and profile commands so that it shows the
profile being dumped such that it can be copied pasted as commands.
2014-09-20 12:40:19 +01:00
Dominic Clifton 0cde910b75 Fix unused led strip method compiler warnings for CJMCU target. 2014-09-20 12:20:24 +01:00
Dominic Clifton 72eac8048a Allow colors to be configurable via the cli.
color x h,s,v

x = 0-15
h = 0-359
s = 0-255
v = 0-255
2014-09-19 00:08:40 +01:00
Dominic Clifton 545980c14a Move colors from ram to master config. Initialise colors only when
config is reset to defaults.
2014-09-18 22:53:12 +01:00
Dominic Clifton d9d5227af9 Ignore CLI commands that are prefixed with # (comments) 2014-09-18 00:47:43 +01:00
dongie e51cb447c4 Include version output in cli 'dump'.
Conflicts:
	src/cli.c
2014-09-18 00:47:43 +01:00
Dominic Clifton 0d37bcdf5b Add DISPLAY feature to enable/disable the OLED display. Add ARMED page
which is displayed upon arming.  Resume page cycling when disarmed.
2014-09-16 01:33:15 +01:00
Dominic Clifton 94623289fd Fix building of targets that don't define LED_STRIP. 2014-09-15 03:27:37 +01:00
Dominic Clifton 6ce5736990 Update LED strip code to allow configurable LED strips.
See documentation for details.
2014-09-15 03:15:11 +01:00
Andreas Tacke 275089eca1 Make disarming via AUX switch independent of throttle value configurable
Conflicts:
	src/cli.c
	src/config.c
	src/mw.c
	src/mw.h
2014-09-08 11:02:02 +01:00
Dominic Clifton 2ae62d1977 Add git commit number to cli version command output. 2014-09-04 00:27:28 +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 dc0f461c73 Update serial port handling for boards with only 2 ports. 2014-08-07 23:32:14 +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 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 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 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
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 9a9ff9b1ad Cleanup various compiler warnings that were appearing since the
additional compiler flags were added.
2014-08-01 20:02:10 +01:00
Dominic Clifton 9f1a0fcb4c Cleanup line endings. 2014-07-31 23:53:34 +01:00
Dominic Clifton 3d65e4ff96 Changes missed from last commit. 2014-07-31 13:47:46 +01:00
treymarc 9cf90fa230 smallAngle configurable, user can arm/disarm with swith in any
orientation
Conflicts:

	src/cli.c
	src/config.c
	src/imu.c
	src/mw.c
	src/mw.h
2014-07-31 00:25:24 +01:00
Dominic Clifton 3b629d58a0 GPS can now be conditionally compiled in. 2014-07-30 23:35:33 +01:00
Dominic Clifton 0ac2b51c60 Make ppm/pwm input filtering configurable. 2014-07-30 22:02:34 +01:00
Dominic Clifton 5f16cfb72a CC3D - Support MPU6000 Gyro/Acc and SPI 1/2. 2014-07-17 22:12:21 +01:00
Dominic Clifton ed3e0769cf Renamed alt_hold_throttle_neutral to alt_hold_deadband for consistency. 2014-06-21 22:40:30 +01:00
Dominic Clifton 1730e3dfd3 Relocated led strip user code into separate file.
Added documentation.

Added LED_STRIP feature, can only be enabled under certain circumstances
depending on target due to pin/timer mappings - see documentation.
2014-06-09 19:11:31 +01:00
Dominic Clifton fd9d58110b Disable unused LED ring code.
Although it was compiled in for the NAZE target the ledringDetect()
method is never called.  Removing the feature for now too.
2014-06-07 16:53:25 +01:00
Dominic Clifton 3643c08475 Decoupling imu from config - acc deadband. 2014-06-06 21:37:41 +01:00
Dominic Clifton f8bdc79a9f Fix CLI bug where incorrect variables would be set when similarly named
variables are used.

Previously the following was broken:

set option = 1
set option_extra = 2

Instead of setting 'option_extra' to two 'option' was set to 2 if
'option' appeared before 'option_extra' in the list of settings.
2014-06-05 09:27:41 +01:00
Dominic Clifton e867af8c4b Correct project name in GPL notices. 2014-06-05 00:47:47 +01:00
Dominic Clifton 0bbcd6570f Updated source files to include the GPL v3 notices. Include a copy of
the GPL v3.
2014-06-04 16:48:23 +01:00
Dominic Clifton fabd376f41 Allow GPS SBAS mode to be configurable.
It was noticed that GPS startup time increased when the change was made
from using EGNOS by default to using AUTO by default.

The default is still AUTO but faster GPS startup times may be achieved
by telling the GPS receiver what region you are in.

This also removes more unfinished MTK gps provider support.
2014-06-03 13:38:41 +01:00
Dominic Clifton 350b6a5864 Updating CLI commands for consistency. 2014-06-01 19:29:11 +01:00