Commit Graph

712 Commits

Author SHA1 Message Date
Dominic Clifton 51d28e19aa Update serial port code so that it's possible to open more than one port
per function.

Note: a future commit will enable MSP to work on additional ports in
order to support simultaneous combinations of Serial/Bluetooth
configuration, OSD, RX_MSP on otherwise unused ports.
2014-05-22 12:41:07 +01:00
Dominic Clifton 4f88ff1054 Cleanup accreditation and FIXMEs for uart drivers. 2014-05-22 10:02:35 +01:00
Dominic Clifton 1e357f7966 Moving telemetry documentation to it's own file. 2014-05-21 21:41:29 +01:00
Dominic Clifton 451b132764 Updating configuration examples to include HoTT via softserial. 2014-05-21 21:29:36 +01:00
Dominic Clifton b8c620a2c7 Latest binaries. Working HoTT telemetry via softserial. 2014-05-21 21:04:49 +01:00
Dominic Clifton b24472eca2 Fix softserial inverted head/tail usage.
This fixes softSerialTotalBytesWaiting() which means that HoTT now works
on SoftSerial.
2014-05-21 21:02:55 +01:00
Dominic Clifton 63a97b2ab5 Latest binaries with improved HoTT support. 2014-05-21 20:08:17 +01:00
Dominic Clifton eb0beb70a9 Fix softserial loopback support compilation errors. 2014-05-21 20:06:53 +01:00
Dominic Clifton 49d411dcc7 Update HoTT telemetry processing.
This should be flyable now, the previous implementation would block
while calculating data and transmitting.

This implementation calculates packets on a 50hz schedule and transmits
data as close to the transmission spec as it can.  It's still possible
for other long-running code to interfere with the data transmission.  A
solution would perhaps be to use a timer/irq for the transmission
instead.

There is some cleanup to do still but this needs to be in the hands of
testers for early feedback.
2014-05-21 19:33:28 +01:00
Dominic Clifton f374b01ca7 Update softserial bytes waiting calculation to use the same logic that
the uart code uses.
2014-05-21 19:27:51 +01:00
Dominic Clifton 582cf5ad00 Update UART driver so it reports the amount of bytes waiting.
Previously it reported '1' if there is one or more.
2014-05-21 19:26:39 +01:00
Dominic Clifton bcc9b8ca71 Latest binaries with HoTT timing adjustment. 2014-05-21 14:47:24 +01:00
Dominic Clifton 8a05f861f7 Removing old comment now that the implementation exists. 2014-05-21 07:04:18 +01:00
Dominic Clifton 32e0846fc0 Merge remote-tracking branch 'multiwii/master' 2014-05-21 06:38:30 +01:00
Dominic Clifton ca6681f455 Merge commit 'multiwii/master~2' 2014-05-21 06:36:42 +01:00
Dominic Clifton 56c2539e01 Delete unnecessary code to reduce code size and improve maintainability by moving errorAngle initialisation to the conditional block where it is used. 2014-05-21 05:51:06 +01:00
dongie b32cc09e12 move code around to fix some gcc error that doesn't occur with real compilers 2014-05-21 09:04:07 +09:00
Dominic Clifton 420ba7d2c9 Fix HoTT telemetry to use a 3ms delay between each transmitted byte.
This has fixed HoTT telemety data on my GR-24, previously it was a bit
intermittent.

This commit also marks a test-point, HoTT works on UART2.

Reference:
https://code.google.com/p/hott-for-ardupilot/source/browse/APM/Hott.pde#510
2014-05-20 17:33:39 +01:00
dongie f9760bd70e Cleanup EEPROM writing 2014-05-20 21:46:20 +09:00
Dominic Clifton 0b424807df Merge pull request #13 from treymarc/patch-1
STM32F30x - ARCH_FLAGS was never set to cortex-m4
2014-05-20 09:55:29 +01:00
Trey Marc c245dc1868 Update Makefile
ARCH_FLAGS was never set to cortex-m4 , cf line 63
2014-05-20 03:53:51 +02:00
dongie bd745f10c1 reverting to old build until i2c issues resolved 2014-05-20 09:45:07 +09:00
dongie b7fce19ac0 Enable software and disable hardware I2C driver.
Software one has been tested and works, hardware causes issues with new PWM code.
2014-05-19 13:27:47 +09:00
dongie 3131bd63f1 added fail check in hardware i2c driver. this doesn't solve the fact that it sucks. needs to be rewritten w/o IRQ 2014-05-19 13:23:02 +09:00
Dominic Clifton 2ee359686b Merge remote-tracking branch 'multiwii/master'
Conflicts:
	stm32_flash_f103.ld
2014-05-16 00:45:21 +01:00
Dominic Clifton a2522cab51 Update flash writing code so it can handle using more than one flash
page for the config. Use correct page size on STM32F303.  Generate
compile time warning if config does not fit in reserved area flash.
2014-05-16 00:03:41 +01:00
Dominic Clifton e010f6fbf1 Update failsafe_max_usec to use the correct range. 2014-05-15 17:48:24 +01:00
Dominic Clifton c4ad7402ca STM32F303 - Clear USART overrun flag if it gets set to prevent CPU usage
hog when using the debugger - no other real-world impact was observed.
2014-05-15 16:58:56 +01:00
Dominic Clifton ed321e3c8d Improvement: Updated SUMD to support 16 channels. 2014-05-15 14:29:49 +01:00
Dominic Clifton 032202ef8f BUGFIX - Cleanup failsafe system so it works correctly with Serial RX
systems and Parallel PWM/PPM systems.

Added setting for failsafe_max_usec.  Renamed failsafe_detect_threshold
to failsafe_min_usec.

Failsafe now detects when a PPM/PWM RX isn't sending ANY data out on
CH1-4.  See documentation notes regarding Graupner receivers in
Failsafe.md.

Documented failsafe system.
2014-05-15 14:28:57 +01:00
dongie 825941c064 correcting flash size in linker script, explaining what the last 2k are used for, and correcting F103 part number 2014-05-15 20:11:16 +09:00
Dominic Clifton d97722be8e Formatting bitmask creation code for MSP status response. 2014-05-15 02:39:24 +01:00
Dominic Clifton ff05ce29a9 Adding notes regarding rcOptions. 2014-05-15 02:38:29 +01:00
Dominic Clifton 1d2676b33b Adding notes regarding the auxState variable. 2014-05-15 02:14:31 +01:00
Dominic Clifton 58604fcfbc Latest binaries. 2014-05-14 19:24:30 +01:00
Dominic Clifton 21207ca940 Improvement: Add support for upto 18 channels. Allow RSSI to be read
from any channel, not just AUX1-4.

See documentation changes in this commit.
2014-05-14 19:23:27 +01:00
Dominic Clifton 126f94b2c1 fix include file order on flight imu unit test 2014-05-13 16:22:55 +01:00
Dominic Clifton 89d2c3152f Code formatting and style fixes. 2014-05-13 16:02:18 +01:00
Dominic Clifton 4d572800ee Documentation formatting. 2014-05-13 15:08:33 +01:00
Dominic Clifton c4dc65f832 Latest binaries for STM32F103 platforms. 2014-05-12 14:15:13 +01:00
Dominic Clifton 4c4c7b311f STM32F103 - Fix ADC initialisation, somehow the changes got lost when
implementing the STM32F303 ADC code.  Now this is inline with the
STM32F303 initialisation.

This also deletes some redundant code due to better initialisation
sequence.
2014-05-12 14:13:23 +01:00
Dominic Clifton 22a5e4ceae Updating documentation. 2014-05-12 13:48:57 +01:00
Dominic Clifton e7092ee120 Updating readme to point at documentation sources. 2014-05-12 13:32:13 +01:00
Dominic Clifton 8d0f37a624 Latest binaries. 2014-05-12 13:24:31 +01:00
Dominic Clifton 5d460766e9 RXMSP is no longer a serial rx provider since it uses MSP and not it's
own dedicated serial port.
Added a feature to enable/disable RX_MSP.
Renamed feature SERIALRX to RX_SERIAL.
Renamed feature PARALLEL_PWM to RX_PARALLEL_PWM
Renamed PPM to RX_PPM.

Update serial configuration checking to better support Serial RX and
telemetry by verifiying serial port features and supported baud rates.

It's now possible to use a low-speed serial rx provider via softserial -
only problem is all the current serial rx providers are 100000/115200
baud.  The code changes however open the door for using serial rx and
any capable serial port such as uart3-5 on the STM32F30x

It's also now possible to use GPS at low speeds on software serial
ports.
2014-05-12 13:23:20 +01:00
Dominic Clifton a947ef8fbb BUGFIX - Linker script for F10x was not reserving the last 2kb which
meant that 1kb of code could be overwritten when saving the config.  

Fixed EEPROM write address for F30x so that code is also not overwritten
when saving the config.
2014-05-12 01:36:59 +01:00
Dominic Clifton c77c93c8b7 Update battery voltage calculation to use a hex value for the 12bit ADC
value.
2014-05-12 00:20:15 +01:00
Dominic Clifton 9f39cad2f9 Disable L3GD20 debug output. 2014-05-12 00:17:41 +01:00
Dominic Clifton 4be9d953ac CHEBUZZF3 - Implement ADC driver for 3 ADC channels. Use STM32F3 linker
script so it uses the right values for RAM and FLASH size.
2014-05-12 00:17:14 +01:00
Dominic Clifton b3ee895f97 Merge branch 'multiwii-master'
Conflicts:
	src/board.h
	src/buzzer.c
	src/config.c
	src/drivers/serial_common.h
	src/drivers/system_common.c
	src/drv_gpio.h
	src/drv_pwm.c
	src/drv_timer.c
	src/drv_uart.c
	src/flight_imu.c
	src/mw.c
	src/rx_sbus.c
	src/sensors.c
	src/serial_cli.c
2014-05-12 00:16:03 +01:00