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

16 commits

Author SHA1 Message Date
Dominic Clifton
d19a5e7046 Cleanup project structure. Update unit test Makefile to place object
files in obj/test
2014-05-31 22:43:06 +01:00
Dominic Clifton
bbfebc5de9 Updating HoTT GPS Altitude code to match spec.
Unit test added.
2014-05-28 21:32:13 +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
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
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
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
1777d8feda First cut of configurable serial port functionality.
Currently port usage is hard-coded to the default port layout, cli
commands are coming in a future commit.

This decouples all code from the global 'serialPorts' structure which
has been removed.  Any code that needs to use a serial port can use
findOpenSerialPort() and openSerialPort() and maintain it's own
reference to the port.

Ports can switch between functions.  e.g. by default
cli/msp/telemetry/gps
passthrough all use USART1.  Each port maintains it's current function.
see begin/endSerialPortFunction.

There are only certain combinations of serial port functions that are
supported, these are listed in serialPortFunctionScenario_e.

This commit also adds a few 'static' keywords to variables that should
have been.

There a a few other minor fixes and tweaks to various bits of code that
this uncovered too.
2014-05-09 23:39:10 +01:00
Dominic Clifton
3bd4cd2ed2 Use slightly flatter directory structure since some developers did not
like too many folders.
Extracted code from some files into separate files to fit with the new
layout.
2014-04-08 22:07:37 +01:00
Dominic Clifton
9fa99cf9f5 Re-organize files by topic
Keil project not updated, I have no way to verify it.

Note, mw.c, drv_pwm.c and drv_system.c contain code for too many topics.
Later commits will relocate the code as appropriate.

Not even looked at utils yet.  'Utils' is a bad naming practice and is a
synonym for 'too lazy to find the right file/name'.
2014-04-08 16:11:17 +01:00
dongie
c1cdf8b844 fixing fucked up struct definitions;
updated uvision project;
updated hex file;
2014-04-08 08:25:25 +09:00
Dominic Clifton
993edc4e20 More HoTT code style cleanups. 2014-04-07 23:58:57 +01:00
Dominic Clifton
bf59943578 Fixing indentation and spacing of imported HoTT code. 2014-04-07 23:17:11 +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
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
3ca868a59f Enable HoTT as a telemetry provider.
Import cGiensen's HoTT telemetry implementation - untested.
2014-04-06 23:51:48 +01:00