Two issues:
1 - failure to work on softserial ports.
The TX pin was not allocated due to the initial port mode.
HoTT telemetry is different in that it changes the serial port mode
between sending and receiving.
This change opens the port in RX/TX mode so that both RX and TX pins are
initally allocated.
Test scenario:
* HoTT on SoftSerial 1
* Diode connecting between RX and TX pins.
2 - bidirectional hardware ports were not supported.
Renamed `sport_halfduplex` to `tlm_halfduplex`. The setting is now used
by sport and hott telemetry.
CF/BF - Save 1280 bytes of flash and delete over 300 lines of code by
removing giant switch statement and static variables in the CLI.
fix
CF/BF - Remove some conditional code because there is a copy of every PG
so it will always be found*.
* unless a developer makes an error in the value table by specifying an
invalid PG.
CF/BF - Remove final usages of getCurrentAndDefaultConfigs to save more
flash space.
CF/BF - Change CLI command 'dump showdefaults' to simply 'dump defaults'.
* This will save a few bytes of flash space due to string re-use of the
'defaults' string.
CF/BF - Save a few more bytes by re-using the 'defaults' string again.
CF/BF - Fix CLI not being size optimized.
* The file had moved but the makefile was not updated to reflect that.
CF/BF - Add 'fc_init.c' and 'settings.c' to the size optimizations list.
CF/BF - Add some config source files to the size-optimized list.
CF/BF - De-duplicate CR/LF code by using appropriate methods. Promote
additional string re-use.
* This saves quite a lot of space when the file is size optimized, but grows it otherwise.
CF/BF - Further flash savings by removing more CR/LF on the
cliDump/cliDefaultPrintf format strings.
* It turns out that all the format strings ended in CR+LF so they could
all be removed.
CF/BF - Fix LF+CR being used instead of CR+LF for further flash savings.
CF/BF - Fix typo in max7456DmaInProgress. Always define an
implementation even when there is no TX-DMA.
CF/BF - Ensure that max7456 communication does not disrupt RTC6705
communication when using the same SPI port for both.
CF/BF - Port RTC6705 to use the VTX API.
* Support VTX channel/band/power on OSD for ALL vtx APIs - previously it only supported RTC6705.
* Remove all FEATURE_VTX usage.
* Remove all `#define VTX` usage.
Note that due to the async nature of tramp/smartaudio it's not possible
to know the current band/channel after requesting a change (as the
request hasn't been processed) so it makes no sense to try and save the
config - and on the tramp/smartaudio vtx the vtx maintains it's state.
So on an RTX6705 equipped FC the user should now MANUALLY save the
config using the save config stick position.
CF/BF - Move CMS for RTC6705 into vtx_rtc6705.c for consistency with
other VTX CMS menus.
CF/BF - Update RTC6705 via SOFT SPI to use VTX API.
* Achieved by simply aligning the API at the driver level and removing
all legacy conditional compilation checks.
CF/BF - Use new IO for RTC6705 CLK Hack
CF/BF - Port VTX button from CF v1.x.
Features:
* Channel Cycle
* Band Cycle
* Power Cycle
* Save Settings
* Works with any VTX using VTX API.
CF/BF - Allow support for Internal and External VTX - External takes
precedence when configured.
CF/BF - Fix display of VTX power in CMS.
* Issue occured when CMS was transitioned from integer to list of
strings.
CF/BF - Disable SMARTAUDIO and TRAMP on the SPRacingF3NEO due to flash
size.
CF/BF - Cleanup const usage of bass-by-value parameters. Cleanup
naming.
CF/BF - Cleanup naming. Removing noise-words. Improving consistency.
CF/BF - Improve readability by further naming cleanups.
CF/BF - Remove some magic numbers in the RTC6705 VTX code.
CF/BF - Use braces on some procedural macros.
CF/BF - Improve code readability by renaming rtc6705SetChannel to
rtc6705SetBandAndChannel.
CF/BF - Remove editor mishap.
CF/BF - Make the rtc6705Dev variable static.
CF/BF - remove duplicate state variablertc6705Dev_t - vtxDevice_t had
all we needed. Use brackets on some procedural style macros. Make all
the vtx vtable static const.
CF/BF - making some declarations const.
CF/BF - Fix vtx_power maximum value (out by one).
system for VTX CS pin. Fix missing VTX CS GPIO pin initialisation.
Ensure VTX CS is set correctly when enabling the VTX module.
Configure VTX module boot delay - 50ms in old code was too slow on some
cold boots.
VTX SPI divisor is now set each time an SPI transfer occurs so that the
VTX module can co-exist on the same SPI bus as other devices - NEO uses
MAX7456 and RTC6705 VTX on the same SPI bus.
In CF 1.x the structure was packed, resulting in a size of 14 bytes.
The servoParam_t is not currently packed, likely due to recent PG group
implementation, so the test for data length in the MSP command fails.