Commit Graph

829 Commits

Author SHA1 Message Date
Dominic Clifton 279bba0e13 Latest binaries with RSSI PWM and reduced HoTT message preparation
update rate.
2014-05-24 00:09:08 +01:00
Dominic Clifton 7c48eb9487 Change the HoTT telemetry update to 5hz. 2014-05-24 00:07:50 +01:00
Dominic Clifton 1925df26ca Add RSSI PWM on CH2 input.
Also support FrSky 1khz RSSI.  See documentation also added in this
commit.

This commit also cleans up the PWM mapping code.  'mask' didn't need to
be a mask and it wasn't possible to add another 'type' since there were
only 4 possible values when it was a mask and they were already defined.  
Combined with switching to using 16 bits instead of 8 for the mapping
configurations, it's now possible to have 256 types instead of 4 at the
expense of a few bytes of flash.

Moved the RSSI calculation into rx_common.c, previously it was in the
main loop.
2014-05-24 00:01:59 +01:00
Dominic Clifton 1b80c76e30 Latest binaries 2014-05-23 15:42:26 +01:00
Dominic Clifton 3bf92a2523 Updating Olimexino board documentation to cover new HoTT telemetry port. 2014-05-23 13:08:18 +01:00
Dominic Clifton 9d9a9ae075 Add whitespace to ChebuzzF3 notes. 2014-05-23 11:54:22 +01:00
Dominic Clifton f232b831d2 Replace cli command gps_initial_baudrate_index with gps_baudrate.
The index is not really a user concern and leads to confusion.  gps
baudrate is not set like any other baud date and the determination of an
appropriate index is hidden from the user.

If the user specifies a baudrate that is not supported the default index
is used which is current the index for 115200.

This also allows GPS to work on softserial ports at up to 19200.
2014-05-23 11:54:00 +01:00
Dominic Clifton 8103449129 Adding Olimexino notes and details of the Olimexino Shield V1 (by
Dominic Clifton)
2014-05-23 11:42:01 +01:00
Dominic Clifton 38a1c0def4 Update binaries to include warning led and failsafe fixes and cleanups. 2014-05-22 22:49:10 +01:00
Dominic Clifton d6c1ce323d BUGFIX - Warning LED / arm prevention code fixes.
The old code was using f.ACC_CALIBRATED to mean 'flash the warning led'
and 'prevent arming'
There was another flag called f.OK_TO_ARM which really meant 'prevent
arming after failsafe unless using a switch to arm' - this meant the
comment in the code was incorrect since it did not mention the switch.
There was code which every ~71 minutes would set f.ACC_CALIBRATED to
FALSE and would toggle the LED, even when flying.
There was code that was run during every cycle that did not need to be
run when armed.
There was code that was run during every cycle which did not need to be
run when waiting for calibration to finish.
The warning light was toggled regardless of actual accelerometer
calibration state.

This commit fixes all that and prevents the user from arming after a
failsafe landing until the system is reset, regardless of wether a
switch is used to arm or not.

This commit also flashes the warning led during barometer calibration
and will not let you arm until it has completed.

Add a 5 second delay on startup to failsafe to prevent failsafe from
activating in the case of TX/RX gear with long bind procedures before
they send out valid data.

Failsafe now only prevents re-arming if a landing was forced.

In the case when you power on your RX without your TX on the beeper
sounds and failsafe warning ligts are activated.  When the FC then
detects a signal the lights go off and you can then arm.
2014-05-22 22:46:54 +01:00
Dominic Clifton d1be2ed5e2 Add special failsafe handling for PPM whilst still keeping failsafe code
out of the PWM RX driver.
2014-05-22 21:22:31 +01:00
Dominic Clifton 910d63a722 Latest binaries, includes HoTT updates and some serial port changes. 2014-05-22 17:29:35 +01:00
Dominic Clifton b37bace5c1 HoTT update.
There's a number of changes in this commit, all related.

Improved efficiency of preparing HoTT messages.

All HoTT message data is no-longer reset each time, going forward old
data is re-used unless it is updated.  This should help with GPS
co-ordinates too since they were erased from subsequent responses when
ideally the last-known co-ordinates should be transmitted each time.

The previous update was sending one too many bytes due to the
aligned/padded uint16_t values in the HoTT data structures.  There were
two solutions, use #pragma to pack the structure or avoid larger types
in the structures, the latter made sense and results in more portable
code since it's a wire format.

Updated HoTT structures to use latest message structure from Ardupilot.
Currently the variables are in underscore_format, that will likely
change in future.

Cleaned up and deleted old ported code that was #ifdef'd out.  Some test
code still remains for now.  This will be deleted in due course.

Introduced bitmask for EAM alarm flags.

Corrected documentation.
2014-05-22 17:25:51 +01:00
Dominic Clifton 02a8e993f5 Use first MSP port opened for now, instead of the last one.
This works with the default configuration and when also enabling MSP on
soft serial 1/2 while leaving the uart1 scenario at it's default.
2014-05-22 14:13:02 +01:00
Dominic Clifton a2531722f3 Adding Development documentation. 2014-05-22 12:42:39 +01:00
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 dcffbdba4b Initial commit of support for Naze32Pro (rev 1). 2014-05-15 15:34:18 +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