Commit Graph

7010 Commits

Author SHA1 Message Date
Dominic Clifton 993edc4e20 More HoTT code style cleanups. 2014-04-07 23:58:57 +01:00
Dominic Clifton 6a4614e116 Cleanup comment imported HoTT code, comment style, incorrect comments,
spacing.
2014-04-07 23:40:07 +01:00
Dominic Clifton 24d162dc3e Fixing code style on some HoTT code. 2014-04-07 23:20:35 +01:00
Dominic Clifton ce3b7859da Fixing a comma that should have been a semi-colon in the code. Fixing
some trailing spaces.
2014-04-07 23:18:50 +01:00
Dominic Clifton bf59943578 Fixing indentation and spacing of imported HoTT code. 2014-04-07 23:17:11 +01:00
Dominic Clifton c012e7480f Merge remote-tracking branch 'multiwii/master' into hott-telemetry 2014-04-07 23:08:03 +01:00
Dominic Clifton 00cdbe3438 Fixing typo in telemetry port configuration logic. 2014-04-07 22:44:14 +01:00
dongie 641c6eb890 Merge pull request #60 from schugabe/master
Added options for further TPA configuration
2014-04-08 06:34:52 +09:00
Dominic Clifton c26d6362b1 Rename some telemetry variables and methods to better indicate the
intent of the code and thus the readability and maintainability of it.
2014-04-07 22:31:20 +01:00
Dominic Clifton 9b86d0d833 Update common telemetry code so that it verifies that the telemetry
configuration is valid.

Internally this uses a flag so that the configuration is not continually
verified.
2014-04-07 22:23:11 +01:00
Johannes Kasberger 99ff409783 increment EEPROM_CONF_VERSION 2014-04-07 23:07:51 +02:00
Dominic Clifton 1c0e0618e5 Update HoTT physical connection details (only one diode needed). 2014-04-07 21:57:46 +01:00
Johannes Kasberger 74a54d81dd Added options to allow further TPA configuration
Replaced define BREAKPOINT with cfg option
Added tpa and tpa_breakpoint to cli
2014-04-07 22:52:32 +02:00
Dominic Clifton c73488b9a8 Fix an extra byte being sent between the HoTT data and the checksum. 2014-04-07 21:41:57 +01:00
Dominic Clifton ee5d7e9d1f Cleanup HoTT protocol structure, verified against latest code in here:
https://github.com/obayer/MultiWii-HoTT/blob/master/MultiWii_2_1/HoTTv4.ino
2014-04-07 21:39:49 +01:00
Dominic Clifton 6b1a6332b9 Ensure that telemetry state is always updated after initialising
telemetry so that providers can configure the telemetry port as
applicable.
2014-04-07 21:38:50 +01:00
dongie 4faa8d0043 Merge pull request #59 from hydra/softserial-track-errors
Softserial track errors and be more strict with incoming data.
2014-04-08 05:03:51 +09:00
Dominic Clifton 8138bc8cf3 Merge branch 'softserial-track-errors' into hott-telemetry
Conflicts:
	src/drv_softserial.c
2014-04-07 20:35:29 +01:00
Dominic Clifton 171ab22fb7 Merge remote-tracking branch 'multiwii/master' into hott-telemetry
Conflicts:
	src/drv_softserial.c
2014-04-07 20:22:07 +01:00
Dominic Clifton 4530f99e3b Ignore incoming software serial data that doesn't have a start and stop
bit.  Track software serial transmission and receive errors.
  
Nothing exposes the error counter values yet.
2014-04-07 20:16:28 +01:00
Dominic Clifton eed511f90a Avoid softserial loopback on port 2 on Olimexino boards. 2014-04-07 20:14:16 +01:00
Dominic Clifton aef3c6ad97 Update timer handling to support multiple events at the same time.
This can occur when servicing two software serial ports via a multiple
timer channels on the same channel.
2014-04-07 20:13:09 +01:00
dongie 13607964b9 Merge pull request #58 from hydra/softserial-fix-stop-bits
Fixing software serial stop bits.
2014-04-08 02:54:04 +09:00
Dominic Clifton e2deeeebd3 Fixing software serial stop bits. Was broken since timer frequency
calculation changes in c7de7d2ebc.
2014-04-07 18:12:42 +01:00
Dominic Clifton ac0f3e9186 Move port telemetry port configuration logic into common telemetry code.
Update software serial to support RX, TX or RX&TX modes.  Update serial
API to allow on-the-fly changing of serial port mode.  Update HoTT to
change serial port mode when transmitting.
2014-04-07 16:39:09 +01:00
Dominic Clifton 1051cbcf52 Removed needless memory copy operation. Removed checksum bytes from
HoTT packet structures, checksum is always sent by the response sending
code.  Reduce ram usage by 173+ bytes.  Corrected accreditations.
Updating documentation to match code.  Replaced comments that commented
out code with #ifdef blocks because commented out code is not found by
refactoring tools.
2014-04-07 14:12:45 +01:00
Dominic Clifton 55f14d2158 Adding author information and linking to original source for some of the
HoTT code - https://github.com/cGiesen/MultiHoTT-Module
2014-04-07 01:25:52 +01:00
Dominic Clifton 3007d3cbdc Improving code readability by aligning comments with code and removing
comments that duplicated code.  Comments are harder to refactor than
code and become stale.  Updating default and limit values for some
settings to use enum values.
2014-04-07 01:05:33 +01:00
Dominic Clifton f7c937a323 Improve HoTT code readability. Add protocol overview comments. 2014-04-07 00:16:26 +01:00
Dominic Clifton 3ca868a59f Enable HoTT as a telemetry provider.
Import cGiensen's HoTT telemetry implementation - untested.
2014-04-06 23:51:48 +01:00
Dominic Clifton 08ee21cd58 Removed unused variables.
Compiler warning were generated when compiling using GCC with
-Wunused-variable
2014-04-06 23:16:30 +01:00
Dominic Clifton 1cbe166c49 Move common telemetry code to telemetry_common.c/.h 2014-04-06 23:10:29 +01:00
Dominic Clifton d73094396d Allow user to use telemetry on softserial port 2. Should have been in
previous commit.
2014-04-06 22:33:18 +01:00
Dominic Clifton 6f0a419bf6 Cleanup telemetry code. Remove duplicate logic. Improve readability.
Add support for another provider.  Change default softserial baud rate
to match the speed used by FrSky telemetry.
2014-04-06 22:25:22 +01:00
Dominic Clifton 2fdadaa78f Rename telemetry.c to telemetry_frsky.c in preparation for adding
another telemetry provider
2014-04-06 21:36:56 +01:00
dongie c2c1613dac Merge pull request #56 from hydra/software-serial-fix-inversion
Fixing software serial inversion.
2014-04-07 02:13:10 +09:00
Dominic Clifton dbceb44fce Fixing software serial inversion. RX inversion was not implemented in
the new software serial receive implementation and TX was ignored
because the 'isInverted' flag was never set.
2014-04-06 17:23:29 +01:00
Dominic Clifton 9014a0a20f Merge remote-tracking branch 'multiwii/master'
Conflicts:
	src/main.c
	src/mw.h
2014-04-06 12:01:14 +01:00
dongie f336fc8d20 allow configurable bootloader reboot character to workaround retarded BT adapters that spam 'R' 2014-04-06 13:42:10 +09:00
dongie c0882fd863 building binary for softserial and GPS changes;
enum warning fix in sbus.c
2014-04-06 06:44:35 +09:00
dongie be93548598 Merge pull request #52 from disq/gps_nmea_no_autodetect
GPS: clean up NMEA autodetect-baud
2014-04-06 06:40:58 +09:00
Kemal Hadimli 2ca082f09c GPS: clean up NMEA autodetect baud. -1 no longer used, it will cycle through available baud rates if no data is received anyway 2014-04-06 00:38:37 +03:00
dongie 0f84e41f4f Merge pull request #50 from hydra/softserial-no-polling-and-two-ports
Add support for 2 softserial ports and avoid polling of software serial RX pins
2014-04-05 14:36:36 +09:00
Dominic Clifton c7de7d2ebc Add support for 2 softserial ports on PWM4+5/TIM3_CH1+2/PA6+PA7 and
PWM6+7/TIM3_CH3+4/PB0+PB1

Update software serial to monitor serial pins for signal changes instead
of periodically sampling pin signals.

When reading the data the timer used is syncronized to the falling edge
of the start bit which allows for better syncronisation at higher
speeds.  The code has been tested OK from 1200 baud to 19200.  38400
baud was tested and partially usable but has been disabled because there
are too many transmit and receive errors, especially when transmitting
and receiving at the same time.

Due to the way a single timer is used for transmitting and receiving, if
data comes in while transmitting the system may incorrectly transmit a
short or long bit.  However at 19200 and below this didn't cause a
problem in the limited testing I performed.
2014-04-03 22:42:15 +01:00
dongie bd809bca1b Merge pull request #49 from hydra/softserial-baud-rates
Softserial support for baud rates from 600 to 19200
2014-04-03 21:03:17 +09:00
Dominic Clifton c36d884899 Change softserial timer calculation code to support baud rates in the
range 600 to 19200 (tested)
2014-04-03 13:00:12 +01:00
Dominic Clifton 7ebd402007 Merge remote-tracking branch 'multiwii/master' 2014-03-27 21:45:08 +00:00
dongie 06554338d1 initializing static var in gps 2014-03-02 23:05:44 +09:00
dongie f83133fa74 Fixing missing reply in MSP_SET_MOTORS. Found by cTn 2014-02-20 19:56:40 +09:00
dongie d40e8c0ef4 shows how many people use gimbal outputs.
regular gimbal rates has been broken since forever, same rate was applied to pitch and roll, instead of separate. thanx nicodh
2014-02-20 16:21:44 +09:00