Commit graph

2704 commits

Author SHA1 Message Date
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
910df63a7f fixed motor output when using spektrum.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@151 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-05-04 01:59:37 +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
8f80611324 fix for Makefile building of FY90Q components.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@148 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-04-10 00:24:11 +00:00
timecop
4087cc0ca7 corrected gyro scale factor for MPU3000/6000
fixed fy90q battery adc (which didn't actually exist)
spektrum channel order is configurable by 'map' command (maybe).

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@147 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-04-09 15:01:51 +00:00
timecop
d9920756d9 Initial support for FY90Q hardware
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@146 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-04-08 14:46:50 +00:00
timecop
cb334ecf47 fixed acczero offsets to 0 on initial eeprom cleanup
added fifo mode to adxl345 driver, currently disabled. work in progress.
fixed output for PWM 5-8 when used with PPM + camstab + abovequad configs.
fixed baro, now alt-hold actually works. silly copypaste typo.
trashed all remaining parts of power meter and lcd configuration stuff. useless.


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@145 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-04-07 15:29:00 +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
861b274039 fixed up mpu6050 DMP stuff.
increased i2c send buffer to 16bytes (was needed for DMP)
decreased interrupt priority of both uarts - with GPS running at 115200, this would cause I2C errors (i2c interrupt must be highest priority).
GPS was tested with $25 FMP04 GPS module ghettoed up outside my window, locking 5 satellites in a few minutes.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@140 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-04-02 16:08:24 +00:00
timecop
14f87034c7 Makefile fix by g1pete.
now not trying to build stmloader by arm-eabi-gcc.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@139 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-31 06:07:50 +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
97cdebfb13 added windows batch file to make uploading firmware easier. it calls command line version of STMFlashLoader.
added stmloader modified w/sending 'R' at start.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@135 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-29 15:02:20 +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
e0537e5aa0 nice boner in PWM output
now fixed.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@131 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-26 16:11:28 +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
670390e7a6 ugh. only check 1st channel.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@125 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-23 10:29:58 +00:00
timecop
f39ed713cb cancel throttle calibration if any RC signal is detected
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@124 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-23 10:28:15 +00:00
timecop
be56a148f6 send 1000us for low throttle during cal, not minthrottle.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@123 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-23 04:47:33 +00:00
timecop
8318331f27 fixed mag calibration stuff as reported by multiwii dudes
added (untested) support for additional PWM output channels incase of PPM input - 4 more, so total of 10 outputs in this mode.
added (mostly untested) support for throttle calibration - short out PPM input connector with a bind plug and power up.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@122 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-23 03:59:15 +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:
http://groups.google.com/group/comp.lang.c/msg/66552ef8b04fe1ab?pli=1

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
timecop
3748f2b72d patch for core_cm3 and new gcc fail
commented values in vbat calculation

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@116 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-17 07:13:45 +00:00
timecop
7592316c04 added inflight acc cal as a feature (NOT TESTED NOT GUARANTEED TO WORK ETC)
changed gyro/acc to allow different drivers without recompile, this allowed adding mpu6050 support w/autodetect
moved sensor orientation code into driver - each driver provides its own
added support for mpu6050 - desolder mpu3050 and adxl345, replace with mpu6050 for instant ???
merged multiwii 2.0pre3 code changes (none that mattered except mag calibration and typo in baro stuff)
changes to sensor autodetect for new dynamic drivers
more of ledring stuff done (still doesn't work, so dont try)


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@115 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-17 07:08:36 +00:00
timecop
0f6a75af4a committing before tearing stuff up
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@114 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-17 00:12:18 +00:00
timecop
07be618756 latest bulit hex is now in SVN to save time creating uploads.
these are NOT guaranteed to work, use with caution.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@112 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-13 15:34:05 +00:00
timecop
204d25d491 added i2cWriteBuffer() for ledring stuff
fixed ledring stuff
fixed mag orientation (thanks GrootWitBaas)

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@111 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-13 15:32:38 +00:00
timecop
6e88b8ae30 started adding ledring stuff (yawn). found out i2c was broken, stopped.
default rc input is now pwm (non-nerds won)
added deadband to config


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@110 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-13 10:49:23 +00:00
timecop
fa29022f21 git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@109 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61 2012-03-09 15:53:15 +00:00
timecop
634f344a12 fixing bicopter mixer... AGAIN.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@107 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-08 01:10:41 +00:00
timecop
e92d9e8261 Makefile fixes by IceWind - make building on lunix / mac succeed, and I've tested it works on a real OS as well.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@106 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-06 23:27:12 +00:00
timecop
5091f3e9ff moved source files around in preparation to adding makefile build way
added makefile (thx gke)
added linker script (thx gke)
moved startups into src directory as well
no code changes.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@105 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-06 04:41:23 +00:00
timecop
aae8ef4c3d warnings fixes by gke
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@104 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-06 01:16:27 +00:00
timecop
ef0f756c7b added pwm/ppm switch cli command
took out bug from gyro smoothing stuff.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@103 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-05 15:40:25 +00:00
timecop
9b48d45bca trashed old eeprom config struct and retarded eeprom code. replaced with config_t stuff to allow more dynamic changes
implemented cli (press # in serial to enter it). no commands except exit/version yet.
added uartPrint
fixed bug in task switching with missing breaks - was failing baro and perhaps mag readings
dynamic yaw direction, camtilt feature, camtrig feature.

ported some of 2.0-pre1 features:
* gyro smoothing
* baro/althold cleanup


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@102 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-05 02:01:26 +00:00
timecop
14e12ce0bf added startup assembler for gcc-based build
(broken) proper tilt compensation (not currently enabled).

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@100 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-03-01 13:22:27 +00:00
timecop
0545d79457 changed mag orientation again... output seems a bit more sane now.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@99 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-02-29 16:29:25 +00:00
timecop
57b289466d added featureClearAll to fix pwm/ppm switching due to erased eeprom being FF's
switched nop to __NOP from cm3 headers
got rid of __GNUC__ DMB stuff as well, since its all properly defined in cm3 headers
added mpu lowpass filter config and defaulted to 42hz. seems to fly smoother.
features are in eeprom, removed default setting from main.c

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@98 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-02-28 12:30:21 +00:00
timecop
da757d9250 fixes stupid config mistake that messed up servo values stored in eeprom.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@94 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-02-25 18:33:06 +00:00
timecop
13173a30dc added dynamic mixer stuff
moved around features/sensors setting stuff into config instead of drv_system
saving features to eeprom now to avoid stupid
added gcc crap for __nop and __dmb
added digital servo feature to pwm driver, used for tri or whatever
added just plain reboot option in addition to reboot to bootloader


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@93 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-02-24 03:42:07 +00:00
timecop
e1afcdca09 merged multiwii_dev-20120219
untested, but compiles and works in gui.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@91 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-02-21 09:15:51 +00:00