1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-13 11:29:58 +03:00
Commit graph

51 commits

Author SHA1 Message Date
timecop@gmail.com
2e64a5d4e1 premature buffer overrun fix for completion
add ctrl+u to erase line

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@318 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-05-10 03:00:02 +00:00
timecop@gmail.com
b6fc652b20 beginnings of cli editing support by cehteh; (still buggy)
added and began work on integrating failsafe_detect_threshold
got rid of acc_lpf_for_velocity since that seemed no longer used.


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@317 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-05-09 12:26:11 +00:00
timecop@gmail.com
c26603dd72 some more minor updates from 2.2
added variable for gyro_cmpfm factor (mag) to configurables
changed gyro_cmpf factor to 600 (higher gyro influence)
got rid of GYRO_INTERLEAVE stuff (didn't work, obsolete)
got rid of applyDeadband hacks, invsqrt hacks, and other shit. ifdef'd original baseflight attitude/heading calcs w/new 2.2 routines
fixed cockup in altitude calculation w/applyDeadband
remaining: GPS

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@304 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-05-02 14:07:52 +00:00
timecop@gmail.com
880b7418fd fixed bug with telemetry/powermeter labels in CLI - wasn't synced with enum properly.
baro altitude telemetry fix.


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@301 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-04-07 09:24:31 +00:00
timecop@gmail.com
491b3627f6 begin initial merge of 2.2 features
mw2.2-merged stuff:
* implemented profiles 0-2 (called 'setting' in mwiigui)
* merged in MSP changes including profile switch
* cleaned up rc / aux switch stuff in mw.c based on 2.2 rewrite
* main loop switch for baro/sonar shit adjusted
todo: basically the rest of 2.2 changes (i think some minor imu/gps/baro updates)
baseflight-specific stuff:
* made boxitems transmission dynamic, based on enabled features. no more GPS / camstab trash if it's not enabled
* cleaned up gyro drivers to return scale factor to imu code
* set gyro_lpf now controls every supported gyro - not all take same values, see driver files for allowed ranges, in case of invalid lpf, defaults to something reasonable (around 30-40hz)

maybe couple other things I forgot. this is all 100% experimental, untested, and not even flown. thats why there's  no hex.
merge is still ongoing.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@294 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-03-14 14:03:30 +00:00
timecop@gmail.com
bba9bc291f added some more configurable frobs to cli. commit before 2.2 merge.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@288 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-03-11 06:18:20 +00:00
timecop@gmail.com
600f50ecac added MSP_UID patch from cGiessen
added sending cell voltages (faked) via frsky telemetry by fiendie
two additional cli commands (aux and dump) from jef79m - aux allows setting switches from command line, dump creates a copy-pasteable config which can be sent to a new board.


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@283 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-03-04 00:17:50 +00:00
timecop@gmail.com
c88614046b reversed o/n meaning from previous commit to actually mean what I said :)
n = new rev (fullscale acc)
o = old rev (halfscale acc)


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@279 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-02-22 15:57:29 +00:00
timecop@gmail.com
bc627783f8 removed mpu6050_scale cli since it's now autodetected.
the value is now printed in the status command, after MPU6050 as MPU6050.n = new revision, MPU6050.o = old revision.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@278 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-02-22 11:04:32 +00:00
timecop@gmail.com
23acf529d7 implemented using one of RC inputs as ADC channel for power meter.
added MSP_ACC_TRIM stuff for android GUI.


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@231 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-10-19 02:43:27 +00:00
timecop@gmail.com
e59f639951 made gyrodiff for motion detection configurable, 0 = disabled
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@230 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-10-14 00:34:23 +00:00
timecop@gmail.com
0976133f1f added acc_trim stuff into cli
spacing/indentation fixes
flyingwing is somewhat supported, reflect that in comment
added anti-moron gyro calibration routine... if model is getting moved while its arming... don't calculate gyro avearage because its gonna be wrong... example of fail see here: http://www.rcgroups.com/forums/showthread.php?t=1749966

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@229 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-10-13 12:08:56 +00:00
timecop@gmail.com
9fc43d5357 fixed MPU6050 sig stuff, d'oh
added sensor axis orientation stuff to cli... not the most optimal way but surely one that uses least code, lol!

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@228 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-10-08 13:50:48 +00:00
timecop@gmail.com
193902079c moved some readonly strings to flash, thanks zyp
cleaned up frsky telemetry a bit with verbose telemetry ID names, changed loop timing a bit, added output for heading and voltage (when vbat is enabled). telemetry stuff is untested, so someone try it out.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@226 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-10-07 14:58:12 +00:00
timecop@gmail.com
005308b430 Applied patch from trunet for running at 64MHz off HSI for broken Chinese kcopter clones
status in cli now prints cpu MHz, 72 when running off crystal, 64 when running off intrc.
corrected WHO_AM_I check for mpu6050 when it's used on alternate address (AD0 high).
corrected PWM driver to consider CPU clock for timer prescalers - now things properly work below 72MHz
added a neat hack for pitch angle calculation so that it's not affected when roll reaches 90deg
added proper math for vector rotation instead of small-angle approximation

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@225 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-10-06 14:40:24 +00:00
timecop@gmail.com
9d5bfdb60b forgot to add lpf_for_velocity into tunables for new althold
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@222 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-09-20 01:47:22 +00:00
timecop@gmail.com
817eb09b8a fixed bug in soft_i2c driver (doesnt affect anyone except testing)
added VAR_FLOAT to cli - now allows setting/printing float vars
fixed newlines in pwm driver
exported new althold tunables to cli (some are floats) - still not enabled by default until I know it works

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@219 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-09-18 13:29:35 +00:00
timecop@gmail.com
70884d69d5 bring back flying wing w/all configuration options
config version bumped, settings cleared.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@213 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-09-09 11:35:35 +00:00
timecop@gmail.com
3cd8e4e3f6 added printf() support via SpareTimeLabs printf lib. this cleaned up some mess inside cli.c
example of usage: http://bcas.tv/paste/results/xToE9w26.html
hover-tested quadx loaded as custom mix, works.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@207 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-09-06 06:35:02 +00:00
timecop@gmail.com
fef43457c0 buffer overrun in cli parser, increased command buffer. oops. thanks nicodh.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@205 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-09-05 06:58:57 +00:00
timecop@gmail.com
80d7ba604b merged multiwii GPS code from 1097. still no support for UBX, or GPS auto-config, soon.
added interrupt pins from mag/mma/mpu for rev4 hardware. nothing done with them yet - candidates for EXTI use
added tx buffer to UART2 (gps) in preparation for auto-config


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@203 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-09-04 09:13:59 +00:00
timecop
e6cb4a0b1c cleaned up bmp085 driver
added ms5611 driver
refactored pressure sensor subsystem to allow multiple sensors
couple changes in PWM driver to make motor/servo arrangement for airplane mode more intuitive
moved MAX_MOTORS/MAX_SERVOS etc into drv_pwm.h
staring to merge back in airplane/flyingwing mixes
fix for tri servo display - mwc moved it to servo[5] again, gui was broken, function not.
will probably implement custom mixer soon (motors only, no servos)


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@198 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-08-20 10:25:10 +00:00
timecop
e894dba995 fixed bug in mpu6050 accel code
added mpu6050 acc scale factor fixup for es/non es chips (exposed as cli option as well)


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@191 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-08-07 08:00:16 +00:00
timecop
75adda0597 allow 0 for looptime to go back to not-rate-limited loop.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@183 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-07-21 07:06:19 +00:00
timecop
c98113b82c synced with mwc 2.1. it's suprising how many "new" things in 2.1 didn't actually matter on a real platform.
removed camtrig stuff since it wasnt possible. somewhat replaced with aux forwarding (see below)
2.1 buzzer code changed, untested.
removed flying wing mixer. nobody used that. 
added alt_hold_throttle_neutral, nav_slew_rate and looptime configuration to cli. default looptime set to 3000. changed default gyro_cmpf to 400 to sync with 2.1.
increased bmp085 oversampling
added gimbal_flags (bit 4 set) flag which, in PPM mode, forwards AUX1..4 to the lower 4 PWM outputs instead of using them as motors. set gimbal_flags=8 to test it out. output is fixed to 50Hz.
merged 2.1 gps changes (not many)
casting in gyro smoothing (nobody uses that anyway)
calibrate accel in gimbal mode, set smallangle in gyro-only mode
vtail4 mixer fix
flight tested on quadx w/ppm.


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@182 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-07-20 14:53:15 +00:00
timecop
829331c020 added pidalt stuff into cli
added a modifier for set (type "set *") to see min/max values for each parameter. this is for gui stuff
bumped config VERSION
fixed 0xffff - now stuff in drv_pwm, after it was mentioned to me for the  3rd time :p
replaced some uint8_t -> uint32_t for loop counters - saving 4 to 8 bytes of flash each time. thanks goes to thee 35+ years of C experience kicad guy.
turned bitfiends into a regular struct - instant 100byte flash size reduction

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@174 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-07-02 15:47:12 +00:00
timecop
c998f5ca67 added support for outputting FrSky telemetry by silpstream @ rcgroups
feature TELEMETRY to enable it. when armed, telemetry is sent out the TX pin. It must be connected to 'Rx' pin of FrSky telemetry receiver via a level shifter. When disarmed, port goes back to 115200 bps for GUI.
fixed a typo in imu.c introduced by  GYRO_INTERLEAVE junk.
todo: just switch serial speed instead of reinitializing everything.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@173 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-07-01 15:32:45 +00:00
timecop
4366c7f0d4 adding sonar support from sbaron, disabled by default.
docs: http://www.rcgroups.com/forums/showpost.php?p=21903320&postcount=3827

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@166 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-06-15 13:53:49 +00:00
timecop
19ca85963b trashed uvop keil file since that was system-specific stuff.
applied mwc-dev GPS code with bits of tarducopter code by sbaron. Thanks again. Moved some of the GPS config stuff into cli - gps_lpf, min/max nav speed, nav_controls_heading. Remember I don't test any GPS functionality at all, so if this makes your quad fly towards North Korea at over 9000cm/sec, this is NOT my problem.
spacing fixes in a couple files.
trashed old serial code that was under #if 0


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@161 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-06-06 15:09:44 +00:00
timecop
49653ec65e rearranged accelerometer autodetect code and allow user override by "set acc_hardware" in CLI (0=autodetect,1=adxl345,2=mpu6050,3=mma845x)
added arm/disarm on left/righ roll while throttle down to  configuration options and disabled it by default. "set retarded_arm" in CLI
put gyro_cmpf_factor into settings. default is 310, can be increased to decrease acc influence. debug use only.
dropped acc_lpf_factor back to 4. those who want it at 100, make it so.
cleaned up MPU6050 driver with humanreadable register names
got rid of MMGYRO crap - no use


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@159 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-05-31 17:28:05 +00:00
timecop
59ccf93dd3 added driver for MMA8452QT accelerometer
added mag_declination set option to cli - oops
status in cli now prints which ACC hardware is used. work in proress to show difference between hardware with MPU6050 and MPU3050


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@157 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-05-18 16:01:10 +00:00
timecop
18db641282 readded support for failsafe (thanks rimshotcopter for bugging me about it for a month)
new config ooptions for failsafe, so current settings are cleared
fixed mistake where yaw servo stuff for tri was still hardcoded even though it had configurable values in cli
reduced level default D to 20 from 100 (dunno what effect this has, shrug)
untested, enable feature FAILSAFE at your own risk.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@155 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-05-09 05:29:30 +00:00
timecop
0d7460960e merged changes from multiwii_dev 20120504. this means new serial protocol, new buzzer code
fixed spacing in ledring.c
defaulted acc_lpf to 100
correction in vtail4 mix (from multiwii_dev)
trashed more unused LOG_VALUES crap
no binary build since this is untested / non-flight-tested.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@152 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-05-05 12:47:52 +00:00
timecop
26b2031e24 fixed cli version from pre-3 stuff
increased gyro complementary filter factor to 500 to reduce acc influence (should hopefully fix random walk stuff?)
fixed a bug in servotilt stuff (maybe?)

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@150 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-05-01 00:07:22 +00:00
timecop
f3a4e9f731 fix for pwm preload (not possible with this firmware, reported by marcin)
added gimbal flags to mixer. allows making gimbal tilt only or pantilt or disabling all pan/tilt by aux3/4

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@149 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-04-10 07:19:57 +00:00
timecop
9e5504acd8 added a fix for roundf() and friends for keil
added float-based acc lpf, acc_lpf_factor values now changed, its 1/factor now, values 60+ and larger filter heavier.
playing with release MPU6050 hardware, looks like acc1G is fucked, as predicted
bug in serial output (forgot to output armed bit to GUI, estalt is /10)

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@144 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-04-06 02:23:25 +00:00
timecop
703234b608 renamed 'tilt_*_prop' stuff into gimbal_[axis]_gain and added more dynamically-configurable gimbal/camstab stuff into cli.
whitespace fixes in mw.h and trashed the old XA-XB based mixer setting leftovers.
settings are cleared again due to updated config struct.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@138 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-31 03:52:16 +00:00
timecop
58eb2b966f added configurable motor and servo period settings (50-498Hz). both set by cli, default is 50 for servo, 400 for motors.
removed feature digital_servo since its now set by cli instead.
added proper tx end check into uart, to remove delay inside printing out set values and tx buffer overrun during help()
instead of passing a bunch of params to pwm driver, made a config struct
fixed a bug in gps baudrate
fixed typo in stmloader.c
whitespace / indentation cleanups in various drivers

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@137 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-30 09:49:00 +00:00
timecop
c98b6b30af main uart baud rate commit before tearing stuff up
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@134 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-29 06:00:22 +00:00
timecop
da5ac020e1 added gps baudrage config setting
renamed gcc startup file to .S (breaks some lunix dudes apparently)
ppm sum handler waws hardcoded to TIM2 instead of using passed parameter. fixed. (thanks sbaron)
invalid data from pwm/ppm read are returned as midrc, not 1500. (robert_b)


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@133 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-27 12:55:44 +00:00
timecop
791d67b4ee added separate yaw deadband from issue #6 after fixing some stuff. config version bumped again.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@132 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-26 16:53:40 +00:00
timecop
96829b7306 synced code with multiwii 2.0 release
split uart2 initialization inside drv_uart. added receive data callback to use either with GPS or spektrum satellite
added spektrum satellite support, also freeing up 4 motor outputs for hexa/octo/camstab
configurable acc lpf and gyro lpf via cli
configurable (build-time) temperature lpf on baro. seems mostly useless.
fixed a nice boner bug in mag code which ended up multiplying magADC twice with magCal data.
fixed mpu3050 driver to allow configurable lpf, also broke other stuff in the process. considering moving this sort of stuff to "init" struct for sensor.
pwm driver rewritten to fully disable pwm/ppm inputs (such as using spektrum satellite case)
cleaned up double math in gps.c to use sinf/cosf etc
removed TRUSTED_ACCZ since its useless anyway
whitespace cleanup

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@130 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-26 15:28:36 +00:00
timecop
fd9d986169 added printing detected sensors in 'status' in cli
took out leftovers of old dynamic mixer binary protocol - now cli sets it.
added some mpu6050 DMP stuff - all disabled by default, only for testing stuff. ignore it.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@128 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-24 15:43:09 +00:00
timecop
007e033364 committed (untested) GPS support by sbaron;
fix for channel map cli stuff by simonk.
reindented some code, so changes are large.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@127 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-24 09:27:40 +00:00
timecop
0534444b2d temporarily removed throttle calibration. broken until further notice.
implemented channel order selection (map in cli). example "map AETR1234" -> ail, ele, throttle, rudder, aux1234. thanks simon for all the halp on this one. truly a mindfuck.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@126 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-24 07:10:17 +00:00
timecop
c526d2f3b9 renamed orient to align for sensor orientation
implemented battery cell count auto detect (DJI, you can steal this source from me for your next product). automatically finds 2S..6S battery, and sets warning voltage accordingly
added new battery config -related stuff in cli, min/max cell voltage for non-lipo users. Defaults for lipo are 4.3V/cell (max) and 3.3V/cell (min).
added pid setting stuff into cli from nicodh
added 'status' command to cli to print out system info.
added build date/time to 'version' in cli, to track down stupid users.
config version bumped, settings are cleared again.
refactored battery voltage stuff a bit, and got rid of 3 levels of warnings. don't see any benefit at all.


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@121 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-20 14:54:26 +00:00
timecop
8bcbf5e41e added mincheck, maxcheck, vbatscale to settings configurable via cli
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@120 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-18 06:06:45 +00:00
timecop
c1cb4287b7 removed dependency on sprintf which caused gcc to puke (shock and horror).
uses code from here:
66552ef8b0

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@119 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-17 15:08:05 +00:00
timecop
2fc24b338e implemented various things for cli
added 'reset to defaults' to cli
got rid of 'servo' feature since that's not really a feature a user can set
added couple more configurable tricopter things to config struct.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@118 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-17 14:09:14 +00:00
timecop
2861482bb6 cli improvements by simonk
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@117 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-17 08:27:06 +00:00