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
Dominic Clifton
ed3a3e683c
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.
2013-10-12 02:30:47 +01:00
Dominic Clifton
dd0a962682
fixing buzzer related compilation errors on OLIMEXINO target.
2013-10-11 22:17:49 +01:00
Dominic Clifton
d8e9282f04
Merge remote-tracking branch 'multiwii/upstream'
...
Conflicts:
src/drv_system.c
src/main.c
2013-10-11 21:39:40 +01: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
Dominic Clifton
767babed1d
Merge remote-tracking branch 'multiwii/upstream'
...
Conflicts:
src/board.h
src/drv_softserial.c
src/drv_uart.c
src/drv_uart.h
src/main.c
2013-10-01 22:31:38 +01:00
Dominic Clifton
750fea4b80
Merge branch 'softserial'
...
Conflicts:
src/board.h
src/drv_pwm.c
src/drv_softserial.c
src/drv_softserial.h
src/drv_system.c
src/drv_timer.c
src/drv_uart.c
src/drv_uart.h
src/main.c
src/sensors.c
2013-10-01 22:16:25 +01:00
timecop@gmail.com
8003d06049
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
Conflicts:
src/drv_serial.c
src/drv_serial.h
src/main.c
2013-10-01 22:05:10 +01: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
Dominic Clifton
b92c3fa192
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.
2013-10-01 00:24:23 +01:00
Dominic Clifton
2ff881aa69
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.
2013-09-30 23:30:12 +01:00
Dominic Clifton
a6f6a5e28b
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.
2013-09-30 23:05:53 +01:00
Dominic Clifton
97f54561f0
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).
2013-09-30 20:29:10 +01:00
Dominic Clifton
6425877b2c
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().
2013-09-30 20:13:24 +01:00
Dominic Clifton
c950dbea09
Totally rework software serial to provide tx at the same
...
time as rx using only one timer.
2013-09-30 00:39:30 +01: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
Dominic Clifton
5d13bc66ea
Merge remote-tracking branch 'multiwii/upstream'
2013-09-01 00:54:00 +01: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
Dominic Clifton
1fdc6f118f
Merge branch 'softserial'
2013-08-28 19:11:25 +01:00
Dominic Clifton
14d0f90278
Merge remote-tracking branch 'multiwii/upstream'
...
Conflicts:
src/board.h
2013-08-28 19:11:18 +01:00
Dominic Clifton
e29c0ccea6
Merge remote-tracking branch 'multiwii/upstream' into softserial
...
Conflicts:
src/drv_softserial.c
2013-08-28 19:01:22 +01: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
Dominic Clifton
4d00f51ddc
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.
2013-08-27 19:31:34 +01:00