1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-19 14:25:20 +03:00
Commit graph

44 commits

Author SHA1 Message Date
dongie
29a9507c15 adding untested (and probably non-working) airplane mixer from mwc 2.3
flaperons not implemented (too hacky)
flaps should work
2013-11-02 16:22:30 +09:00
dongie
bd8b1a1c8f cleaned up cliMotor(), added MSP_SET_MOTORS and enabled CAP_DYNBALANCE so the motors can be controlled from GUI 2013-11-02 15:09:46 +09:00
dongie
e1087cf921 fix returned size in MSP_MISC, should correct CRC errors in other GUIs and correctly work with MSP_SET_MISC in MultiWiiConf 2013-11-02 12:40:56 +09: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
1dea2b3b3b integrated tommie's eeprom sanity check. much less chances of new firmware screwing up due to old config version.
fixed pwm init for airplane mode mistakenly deleting motors from the mix. flyingwing should really work now.
removed led debug from althold


git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@223 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-09-21 04:12:17 +00:00
timecop@gmail.com
4ed57b2696 fix for airplane pwm mode - variable wasn't initialized, resulting in non-working motors on some compilers.
synced angle/horizon mode stuff from mwc. no idea what it does.
perhaps the most important part of this update:
-errorAngle = constrain(2 * rcCommand[axis] - GPS_angle[axis], -500, +500) - angle[axis] + cfg.angleTrim[axis];
+errorAngle = constrain(2 * rcCommand[axis] + GPS_angle[axis], -500, +500) - angle[axis] + cfg.angleTrim[axis];
(which means GPS might actually work).

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@209 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-09-08 08:15:16 +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
9c2204c179 synced serial protocol to multiwii-dev 20120622
changed booleans to bitfield struct to match with 0622
no other functional changes, and not all enhancements (like boxlight) from 0622 are implemented yet
NOT flight tested, use at your own risk.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@172 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-06-30 13:20:53 +00:00
timecop
f73ccdd0a9 fixed mma driver ID;
fixed a boner #ifdef typo in imu.c
go back to gyro glitch stuff in sensors.c
do gyrocal during acc cal as well

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@164 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-06-14 04:12:23 +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
6da3320be8 oops.
mistake in serial.c which made it impossible to do 'R' anymore.
fixed.

git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@154 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
2012-05-06 14:42:00 +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
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
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
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
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
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
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
Renamed from serial.c (Browse further)