Commit Graph

247 Commits

Author SHA1 Message Date
timecop@gmail.com 5107130ac0 remove stm32_gpio.c from project and fix EXTI-using drivers w/local version of gpioExtiLineConfig.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@465 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-11-01 03:02:33 +00:00
timecop@gmail.com 609df47cd4 tri gyro data reading fix - closes issue #18
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@464 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-11-01 00:47:05 +00:00
timecop@gmail.com 639f534c31 mag headfree fix after sensor unfucking thx Luggi09
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@463 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-30 13:39:05 +00:00
timecop@gmail.com 35f0a8e4b0 old altitude calculation used again, added lpf for accZ by Luggi09
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@462 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-30 11:57:54 +00:00
timecop@gmail.com e19aa61753 OK, tarduino dudes aren't gonna fix their shit. So, let's live with it.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@460 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-28 00:58:32 +00:00
timecop@gmail.com 241de2455e until multiwii retards fix their shit this is the only solution
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@459 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-27 15:30:20 +00:00
timecop@gmail.com 5bbf2bc88d rewrote box serialization to not use a buffer, also maybe fixed mismatched boxes in GUI (thx Luggi09)
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@452 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-27 11:40:45 +00:00
timecop@gmail.com d63c1f0604 Properly set ADXL345 driver default orientation (thx enots)
Fixed compile error in i2c_soft driver which still used old GPIO init syntax.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@451 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-24 11:34:32 +00:00
timecop@gmail.com 7ce9aab3d8 fixing servo output for flying_wing w/new servo reorganization
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@450 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-24 00:37:20 +00:00
timecop@gmail.com 35927540b1 cleaning up some misc fuckups from msp handler
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@449 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-23 09:52:04 +00:00
timecop@gmail.com 779dfe8a92 separate all telemetry code and add option to use softserial for telemetry.
to use, set softserial_baudrate=9600, softserial_inverted=1 and  telemetry_softserial=1
then enable feature TELEMETRY.
by disq


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@448 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-23 09:47:38 +00:00
timecop@gmail.com 47a4d30358 fixed cli status command (thx alexk)
moved mpuscale into core struct since it's not a changeable setting

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@447 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-21 00:22:33 +00:00
timecop@gmail.com 8d7f82dc75 added ability to specify arbitrary roll/pitch/yaw translation for board mounting by alu.
this allows to mount FC vertically/upside down/etc easily.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@445 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-19 09:56:29 +00:00
timecop@gmail.com 6b93f06e49 corrected mag task switcher for good this time
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@444 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-19 09:53:52 +00:00
timecop@gmail.com 134a37d811 corrected a bug that would cause motors to spin up after saving parameters in 3D mode, thx englishman.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@443 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-18 15:38:39 +00:00
timecop@gmail.com c1d82bcf46 fixed bug in task state machine introduced by re-adding gps thread. thanks to alu for catching it.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@441 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-14 22:42:32 +00:00
timecop@gmail.com ca7d7e32f6 removed some double promotions that sneaked in, as well as replaced fabs() with float-only fabsf() version. trashed doubles from _atof(). Considering trashing that whole function for KEIL builds.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@439 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-13 16:19:46 +00:00
timecop@gmail.com 30ded7ff04 Beginning of the great GPS unfucking.
* Proper initialization sequence framework for various supported GPS types. NMEA will now auto-detect its baud rate based on received frames.
* As a result of the above, gps_baudrate has been changed to enum, to only allow fixed rates. (GPS baudrate, -1: autodetect (NMEA only), 0: 115200, 1: 57600, 2: 38400, 3: 19200, 4: 9600)
* UBX binary initialization at any specified baudrate with auto-reconnect on signal loss.
* GPS thread to handle initialization, signal loss and configuration. No longer does GPS need to be powered before FC, and on GPS reconnect, it will be re-initialized if needed.
MTK NMEA/binary initialization is omitted for now, as I can't find my MTK GPS
GPS deltaTime can be calculated to display update rate.


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@438 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-13 15:25:45 +00:00
timecop@gmail.com 04560808e7 implemented MSP_MISC get/set to support 'SETTINGS' tab of mwcgui
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@437 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-13 08:58:47 +00:00
timecop@gmail.com 07055c8872 fixing initializion for anglesrad[]
add drv_softserial to common drivers in Makefile

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@436 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-12 08:07:08 +00:00
timecop@gmail.com c682f1f21e Softserial can now be enabled/disabled via the SOFTSERIAL feature switch in the command line. Softserial baud rate can be set via softserial_baudrate setting. Added input & output inversion support, use softserial_inverted setting by Dominic Clifton
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@435 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-12 07:46:55 +00:00
timecop@gmail.com 9ebd82c5ef merged in mwii2.3 generic servo handler. completely untested.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@434 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-12 07:03:01 +00:00
timecop@gmail.com 37b73a057b core.numRCChannels now set by RC drivers to show max inputs available.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@433 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-12 06:58:28 +00:00
timecop@gmail.com 6bbc8fdb22 fix accZ/shake detection when copter upside down. oops.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@432 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-12 06:57:31 +00:00
timecop@gmail.com a9b094dca6 fixing buzzer related compilation errors on OLIMEXINO target [by Dominic Clifton]
moved alignSensors from drv_system to utils
updating uvproj to keil5

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@431 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-12 02:04:08 +00:00
timecop@gmail.com 3bb1063001 fixed buzzer on rev5 boards;
added experimental gyro-based headfree boxes

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@429 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-04 14:36:34 +00:00
timecop@gmail.com 800ce6bdf7 fixed a fuckup with yaw_rate that was caused by more 8bit leftover garbage
fixed althold vel/constrain typo thx Marcin
flight-tested this build on my shitcopter, CAREFUL flight testing may commence.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@428 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-04 01:51:31 +00:00
timecop@gmail.com 891bce4e19 reset heading to zero when calibrating gyro w/stick combo on hardware without mag
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@427 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-02 02:29:52 +00:00
timecop@gmail.com 3744f36895 calculate heading using gyro-only on boards without mag - idea by Cesco
added constants for gyro/acc/baro cal and fixed calibration to add /2
warning cleanup in drv_serial.c

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@426 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-02 02:18:14 +00:00
timecop@gmail.com 5332b78200 simplify serialrx by Cesco
fix bug in softserial with digitalIn usage (todo rewrite this properly)

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@425 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-02 00:10:40 +00:00
timecop@gmail.com fa810e907a some whitespace and formatting cleanups on the last commit.
also changed GPIO_GetInputDataBit to use proper digitalIn() api

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@424 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-01 00:25:56 +00:00
timecop@gmail.com 28d5927836 Totally rework software serial to provide tx at the same time as rx using only one timer.
First cut at polymorphic serial port implementation.  Split serialPort_t into uartPort_t and serialPort_t.  Calls to uartWrite() can now be replaced with calls to serialWrite().

Replacing calls to serialWriteByte(softSerial_t*, char) with calls to serialWrite(serialPort_t*, char).  This completes the proof of concept for polymorphic serial port implementations (uartPort and softSerialPort).

Renaming isSerialAvailable to uartTotalBytesWaiting.  Renaming serialAvailable to softSerialTotalBytesWaiting.  Adding serialTotalBytesWaiting to serial API and updating calls to the former methods to use the serial API.

Renaming serialRead to softSerialRead.  Adding serialRead to serial API and updating calls to uartRead and softSerialRead to use the serial API.  Renamed uartPrint to serialPrint which now works on any serialPort implementation.

Replacing calls to isUartTransmitEmpty with isSoftSerialTransmitBufferEmpty.  Replacing remaing calls to uartWrite with serialWrite.  Adding isSoftSerialTransmitBufferEmpty to the serial API.  Adding serialSet/GetBaudRate to the serial API.  Since softSerial does not implement serialSetBaudRate some GPS serial initialisation code has been updated.

At this point it is probably possible to switch around all the ports and use a software serial implementation if desired.

By Dominic Clifton / https://github.com/hydra/baseflight/

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@423 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-10-01 00:07:44 +00:00
timecop@gmail.com 7c595e4110 started merging in generic servo handler
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@422 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-30 23:42:44 +00:00
timecop@gmail.com 2272e1a5a6 reorganization of uart-based receiver drivers
FEATURE_SPEKTRUM has been removed and replaced with FEATURE_SERIALRX.
cli  option serialrx_type now configures what type of receiver it is
0 = spektrum1024, 1 = spektrum2048, 2 = sbus
sbus will need hardware inverter to use.
also cleaned up receiver drivers to assign readrawRC callback instead of assigning in code in main()
none of this has been tested.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@418 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-29 14:40:20 +00:00
timecop@gmail.com 04ab548d2e actually adding BMA280 driver files, oops.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@417 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-29 14:00:14 +00:00
timecop@gmail.com 01eaf85510 added ability to assign one of aux1..4 channels as RSSI by the-kenny
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@416 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-29 13:58:25 +00:00
timecop@gmail.com 91d64fc6c1 removed retarded small_angles shit and replaced with proper calculation.
no more small angles while shaking the board.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@415 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-29 13:10:58 +00:00
timecop@gmail.com 6763d8810b added test BMA280 driver
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@414 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-29 12:53:02 +00:00
timecop@gmail.com c8f0fc78b3 removed references to avr optimizations we stopped using long time ago
fixed heading calculation jump

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@413 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-22 04:03:18 +00:00
timecop@gmail.com 64e8f247bf oops. gyro only does NOT need getEstimatedAttitude. bad!
ms5611 driver improvements (was failing below 20c)
merged some althold cleanups

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@411 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-21 11:18:15 +00:00
timecop@gmail.com 1ff4bcec5a Nice catch on gyro-only fly fail
-robertb

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@410 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-21 07:57:28 +00:00
timecop@gmail.com 8a5157db46 disconnected magcal from core and put it all into hmc5883 driver. no need to keep track of it if driver does init by itself as well.
moved annexcode into mw.c instead of imu.c
hopefully didn't break anything.
NOT FLIGHT TESTED.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@405 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-19 15:07:48 +00:00
timecop@gmail.com ac3cee7788 oops, this should be a bitfield
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@404 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-19 11:26:30 +00:00
timecop@gmail.com 14893afb32 cleanup of sensor readings and sensor driver API reorganization part 1
documented L3G4200D driver why 0x28 read was suddenly turning into 0xA8
removed old wiimotion averaging cruft from computeIMU
NOT FLIGHT TESTED

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@403 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-19 11:20:53 +00:00
timecop@gmail.com 6d3467c759 higer precision float radian angles are now used for acc and mag rotation
no need to cripple the readings here

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@402 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-15 12:29:29 +00:00
timecop@gmail.com 26db228f79 merge in althold changes from github
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@401 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-15 02:02:09 +00:00
timecop@gmail.com 71772f137b part 3 of the great sensor axis unfucking. careful flight testing may commence.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@400 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-15 01:56:23 +00:00
timecop@gmail.com 05ced4c784 fixing mag heading. DO NOT FLY!
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@399 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-14 15:42:16 +00:00
timecop@gmail.com 44a671136b the great sensor orientation unfucking work in progress part 2.
fixed MMA8452 orientation, as well as mag calculations.
gyro/mag is still reversed on Z, DO NOT FLY.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@398 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-14 15:35:44 +00:00
timecop@gmail.com 1cc306493b beginnings of the great sensor orientation unfucking. WORK IN PROGRESS DO NOT FLY.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@397 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-14 12:27:26 +00:00
timecop@gmail.com edb0ef01b7 fixed mag gain during testmode (thanks pm1) and added some explicit float definitions to mag test code.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@396 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-12 10:50:13 +00:00
dominicc1974@gmail.com 4c191270bf Changing all line endings to WINDOWS line endings (CR+LF) and removing all End-Of-Line whitespace and using spaces instead of tabs. Please ensure you configure your editors and tools to follow suit. If using git please enable autocrlf in your .git/config file.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@393 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-06 23:14:48 +00:00
timecop@gmail.com 929bbc8c3f added (untested) flag to disable tricopter servo updates when unarmed.
tri_unarmed_servo to 1 (default) always updates tri servo whether armed or not.
tri_unarmed_servo to 0 will only send servo signal to tail servo when armed.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@392 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-09-06 00:03:32 +00:00
timecop@gmail.com 509e349e69 Whitespace/compiler warnings cleanups by Dominic Clifton;
Slight tweak of new althold defaults
NOT-flight-tested .hex committing so people can commence with althold testing.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@391 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-08-31 01:40:13 +00:00
timecop@gmail.com 77a241bd5f Software serial implementation. Compile with SOFTSERIAL_19200_LOOPBACK to test. Without the define the implementation will have no effect. Next step is to add a 'feature' to enable softserial and settings for the baud rate. Note, only READ is currently supported, write will come later. The highlevel api calls are used in main.c. Uart implementation needs cleanup to make serial port code generic, see uart files for details.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@390 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-08-28 01:26:10 +00:00
timecop@gmail.com fa7eecac18 reload GPS pids on each eeprom read
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@389 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-08-27 07:22:48 +00:00
timecop@gmail.com f9b48925fa marking some static timer lists const.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@388 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-08-25 15:12:12 +00:00
timecop@gmail.com 003c2a91c5 Separate timer code from PWM/PPM code. The method of looking up a callback is now generic which means other (forthcoming) code can configure callback handlers.
Killed some leftovers of GPIO_Pin* stuff I forgot about.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@387 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-08-25 12:45:36 +00:00
timecop@gmail.com f663a57613 improved altitude hold thanks to Luggi09
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@386 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-08-24 14:57:26 +00:00
timecop@gmail.com 01376de3e5 marking some more stuff const that shouldn't be changing. thx Hydra for the catch.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@384 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-08-24 10:20:55 +00:00
timecop@gmail.com 1441d46323 Fixed issue #15, new uart building under gcc toolchain, thanks!
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@383 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-08-22 13:37:45 +00:00
timecop@gmail.com cbb580f753 rewritten drv_uart to suck slightly less
tested w/o GPS

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@382 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-08-22 07:48:07 +00:00
timecop@gmail.com 1ff0036dec oops! had pin definition wrong for Pin_0 and Pin_1, was using drv_gpio in another project and noticed it wasn't working very well :)
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@381 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-08-20 11:44:49 +00:00
timecop@gmail.com fbef1aa284 changed pwmGPIOConfig() signature to better show that last parameter is pin mode.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@380 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-08-20 00:34:21 +00:00
timecop@gmail.com 0664b3005d fixed Makefile to build w/new drivers (thanks Hydra)
int32 updates in sonar driver
added 12mhz buzzer check
Removed debug output from GPS module
int32'ified althold
output HSE MHz+SysClkMHz on debug[3]

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@379 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-08-19 23:29:20 +00:00
timecop@gmail.com 3b8c1841f8 new SPI2 driver w/testcase
5883 and 6050 driver updates

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@363 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-07-02 02:52:33 +00:00
timecop@gmail.com 57cbd784a9 a couple optimizations for dynamic HSE frequency - moved SetSysClock() to run after reset vector + bss init, and changed rcc which used hardcoded HSE_VALUE.
turn off leds/beeper before initializing pins to prevent flash at startup
uninitialized errorAngle fix in new PID


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@362 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-07-02 00:58:50 +00:00
timecop@gmail.com 3afeb3d1c8 initial take at configurable FEATURE_3D
completely untested and may attempt to kill you when enabled. no binary.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@360 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-06-30 07:11:49 +00:00
timecop@gmail.com e4ea700fe0 reverted cli line editing stuff - was more trouble than its worth, and caused issues with hercules
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@358 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-06-29 15:48:43 +00:00
timecop@gmail.com d442c9dfb6 initial pass at gpio cleanup. removed almost all dependency on stdperiphlib (remaining exti).
slightly modified initial pin configuration, but this needs rework soon anyway.
couple spacing/line ending/formatting fixes in sonar driver file while fixing gpio there.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@357 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-06-29 14:09:54 +00:00
timecop@gmail.com eec35a20fd fixed gcc build, thanks Luggi09 for the catch.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@356 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-06-26 23:19:28 +00:00
timecop@gmail.com 4bd505972d renaming of serial bool returning vars into isFoo(), also fixed bool returned as uint16_t type
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@354 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-06-25 07:09:47 +00:00
timecop@gmail.com 539f2cb6db acctrim was broken because changes were never getting saved.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@353 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-06-22 09:11:41 +00:00
timecop@gmail.com 82130ca60f amazing patch from jef78m for cli set
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@350 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-06-20 01:15:42 +00:00
timecop@gmail.com c6b43776e4 removed data copying in i2c write - this wasn't needed, we'll see if rabbit2 "developers" will "fix" this bug too.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@349 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-06-19 06:45:39 +00:00
timecop@gmail.com ab75f221bb new printf() is too fucking fast, causing DMA buffer overrun in UART transmit. fixed that. Doesn't affect GCC targets.
got rid of more 16bit ints in new pid controller.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@348 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-06-19 03:10:45 +00:00
timecop@gmail.com 76617bc7e4 removed dependency on built-in printf() when using keil - they provided a much better internal one than GNU
got rid of int16 garbage in mwc pid controller - we aren't running on tarduino


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@345 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-06-18 08:11:56 +00:00
timecop@gmail.com 4e94fd07e5 + added alternative PID controller from http://www.multiwii.com/forum/viewtopic.php?f=8&t=3671
+ this is a per-profile setting, and PIDs CHANGE from default multiwii ones. check the above forum post for PID examples. set pid_controller = 0 for default multiwii, or 1 for new one.
= went back to clearing clibuffer after each command


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@341 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-06-16 08:49:36 +00:00
timecop@gmail.com 415600b447 went back to non-casted version of mag buffer conversion to int16 to allow (proper) compilers to insert REV16
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@337 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-06-12 03:07:26 +00:00
timecop@gmail.com 58d362d33e corrected magnetometer alignment bug found by CrashPilot1000 - during mag calibration, axes must be swapped per sensor alignment, which didn't happen.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@336 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-06-12 02:45:56 +00:00
timecop@gmail.com 5de9dc47e0 fix boxorder output (retarded workaround for stupidity in multiwiigui)
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@335 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-06-02 06:28:35 +00:00
timecop@gmail.com ef9de70161 [PATCH] GPS: Signal Strength for u-Blox only
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@334 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-05-29 09:11:38 +00:00
timecop@gmail.com 01572cbb96 fix for micros() when not running at default 72MHz. Was affecting intrc-only operation at 64MHz. Updated uvproj to latest keil mdk
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@329 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-05-29 00:05:33 +00:00
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 f2a931d248 OLIMEXINO - Initial support for the OLIMEXINO board.
PWM and ADC configuration is the same as the naze32 for now.  Requires an accelerometer is connected via I2C2.
I2C signals SDA2 and SCL2 are on the UEXT header (Pins 6 and 5 respectively)
USART signals TX and RX are on the CON3/CON4 headers (TX = D7, RX = D8)
Onboard LEDs (LED1/LED2) working.
Buzzer support removed for now as it conflicted with PWM map and LEDs.
mma845x support disabled as it conflicted with an LED.
Relocated some NAZE specific comments.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@302 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-04-07 13:18:37 +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 98d0581ac2 part 2 of ?? of mw2.2 merge (still not flight-tested, so no binaries)
defaulted to looptime of 3500 (yea, yea)
rewrote baro stuff to match mwc2.2 - both supported sensors now return temperature and pressure, which is used in altitude calculation code
rewrote hmc5883 driver to include calibration inside the driver file instead of calling parts of calibration from userspace. it will now blink LED1 while calibrating
some parts remaining to do.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@298 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-03-23 15:58:18 +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 fc185b8e15 rewrote mpu6050 revision sensing code to match that of eMPL from Invensense.
Also changed scalefactor for acc to 256/512 to match multiwii code. untested/etc, proceed with caution.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@276 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-02-21 08:59:27 +00:00
timecop@gmail.com 4c0fe94072 further accuracy improvement for mag calculation.
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@263 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-02-07 04:59:29 +00:00
timecop@gmail.com d1d6a5d5ef very nice proper magnetometer vector rotation from crashpilot1000
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@261 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-02-06 04:08:10 +00:00
timecop@gmail.com 785443789c third time's the charm (fixed + confirmed tiltmix gimbal)
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@251 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-01-16 11:11:13 +00:00
timecop@gmail.com fc4693af3a let's try this again (simple gimbal sign fix)
git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@250 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-01-12 12:49:26 +00:00
timecop@gmail.com a1ac53c841 changed cpu to CBT6 in release build;
maybe fixed simplegimbal mixer;


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@249 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2013-01-12 08:26:24 +00:00