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

30 commits

Author SHA1 Message Date
Ivan Efimov
9db5b502b9 Added VTX device status to MSP 2021-01-03 20:55:25 -06:00
SteveCEvans
938a39ac8f Display available dBm power levels from SA2.1 VTX along with corresponding power expressed in mW 2019-11-02 01:25:55 +00:00
Bruce Luckcuck
7e04a9666c Increase Tramp retry count and fix lockup if VTX out-of-sync with band/channel settings
Some VTX don't respond to every request so it's necessary to retransmit. A previous PR fixed a bug that caused more retries than expected and made the actual retries only be 2 as configured. Unfortunately this exposed the problem with the non-responding VTX with cases of it not responding to both retries. The problem was accidentally masked by a previous bug with the retry counter causing many retries to actually occur.

This then exposed a secondary problem in `vtx_common` that lead to a "lockup" condition if the actual VTX channel didn't match our expectation of what the channel should be based on the settings. We were getting into this state because of the (now working) retry limit and cases where the VTX didn't respond and change channels as expected.

Increased the retry count to 20.

Fixed the logic that would prevent subsequent channel changes if the actual VTX channel didn't match the expected value based on the settings. Also fixed a problem where the channel change would not work if the VTX was on a frequency that was not defined in `vtxtable`.
2019-09-17 18:11:51 -04:00
Bruce Luckcuck
1138c4dd6a Add missing boundary checks in vtx_common for band, channel and powerlevel index
Previously there were cases where the input was not compared to the currently defined vtxtable limits and this could lead to a wedge as code referenced the uninitialize string arrays.
2019-09-10 18:38:54 -04:00
mikeller
aeca5665e6 Add support for IRC Tramp race lock flag, and extended VTX status.
Display '-' for settings when VTX is locked.
2019-07-01 01:30:18 +12:00
functionpointer
7cb34205b3 [VTX] vtxTable factory flag and full integration of vtxTable (#8380)
Moved vtxtable frequency mode implementation into `vtx_common.c`.
This makes the implementation available for all vtx types and allows
for some code deduplication (see point below)

Removed band and channel tracking from tramp and rtc6705.
The hardware underlying both only support frequency mode and
the tracking is now done in `vtx_common.c` using the new factory flag.

Deleted vtxStringXXX. to continue supporting builds without
`USE_VTX_TABLE`, new infrastructure was created in
`drivers/vtx_table.c`, which loads fixed tables into vtxTableXXX
when built witout `USE_VTX_TABLE`. Individual vtx implementations no
longer need to load any band/channel tables. They only need to load
their individual power tables when built without `USE_VTX_TABLE`.
Additionally this allows for the next point:

Fully integrated vtxTableXXX and removed the old and no longer needed
indirection of frequency and power tables in `vtxDevice_t`.

Removed VTX_SETTINGS_* constants from `vtx_common.h` and replaced them
with the vtxtable equivalent.

rtc6705 implementation now uses power values from vtxtable instead of
using indices directly. It also stops using index 0. This makes it
consistent with other vtx implementations and is more user configurable.
It also cleans up `telemetry\srxl.c` which had to have a special case for rtc6705.

Finally, frequency entries in the vtxtable can now be marked as empty
by setting their frequency to 0. Betaflight will never allow a blocked
channel to be selected. This is useful for vtxtable index mode
(FACTORY flag set) where manufacturer-defined bands can be truncated
to ensure compliance with local laws and regulations.
2019-06-24 12:28:46 +02:00
functionpointer
e976ea13a7 SmartAudio conversion to VTX table and V2.1 implementation 2019-05-22 12:35:43 +02:00
jflyper
9b06b570e1 Size of frequency table (stride) is now fixed constant 2019-02-06 22:59:23 +09:00
jflyper
53ab1ad23e Protect vtxCommonLookupXXX against null vtxDevice call 2019-01-18 01:21:04 +09:00
jflyper
80c1cfa6db Call vtxInit after device parameters are initialized 2019-01-18 01:20:35 +09:00
jflyper
d8f55f35ef Convert direct reference to string and freq table to vtxCommonXXX services 2019-01-14 11:31:45 +09:00
mikeller
b4db764b46 VTX improvements from iNav. 2018-08-20 23:26:57 +12:00
blckmn
a9f74cd6df Removed excess trailing spaces before new lines on licenses. 2018-04-25 20:58:00 +10:00
blckmn
46fe22b4bd Direct license replacement 2018-04-22 09:22:46 +10:00
Anders Hoglund
46ce32e719 VTX common, Revert power index change made in PR 4879r. 2018-02-25 20:27:08 +01:00
Martin Budden
e2683cd2dc Corrected VTX vtables to not use static device handle 2018-02-01 11:15:07 +00:00
mikeller
385623bd9d Converted defines for VTX_COMMON, VTX_CONTROL, VTX_RTC6705, VTX_RTC6705SOFTSPI, VTX_TRAMP, VTX_SMARTAUDIO to use USE_ prefix. 2018-01-09 17:34:34 +13:00
Moto Moto
b931284a58 Fix power control for RTC6705 VTXs 2018-01-07 16:14:16 -06:00
jflyper
498042db47 Protect VTC api against NULL vtxDevice 2017-11-11 12:36:06 +09:00
Martin Budden
3c12367c84 Tidy of VTX common 2017-11-09 21:05:36 +00:00
Unknown
d9caabefa1 Removed vtx_settings_config in favor of vtx_common. Removed implicit EEPROM writes for vtx_ changes.
Updated MSP_VTX_CONFIG

Updated MSP_SET_VTX_CONFIG

Updated MSP_VTX_CONFIG (again)

Implemented VTX update schedule

Removed unneeded initialization blocks from io/vtx implementations

Prevent VTX settings from being applied in CLI. Sync Band/Chan/Freq on init

Correct issues in SA CMS

Moved vtxCommonInit and vtxCommonProcess to io/vtx
2017-11-08 10:28:09 -05:00
ethomas999
8a27c9e194 Implemented 'vtx_' settings and SetFreqByMHzMsp support
Implemented 'vtx_' settings for SmartAudio and Tramp

Added 'vtx_freq' setting for SmartAudio and Tramp

SmartAudio-CMS fixes and improvements

Added SetFreqByMHzMsp support for SmartAudio and Tramp
2017-10-19 23:32:24 -04:00
jflyper
51aa8e8177 Fix typo for VTX_RTC6705_OPTIONAL and add vtxCommonDeviceRegistered 2017-09-19 23:15:25 +09:00
Martin Budden
3d4f0bb137 Whitespace tidy 2017-07-05 06:36:22 +01:00
Hydra
723831b579 SPRACINGF3NEO - Use RTC6705 clk hack.
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).
2017-04-21 11:49:31 +12:00
Raphael Coeffic
46b7579cac some fixes for vtx_common 2017-01-31 12:53:50 +01:00
jflyper
f565138101 Touch-ups 2017-01-16 22:59:33 +09:00
jflyper
b9430f82b7 Call vtxCommonProcess instead of device dependent periodic service function 2017-01-15 02:14:39 +09:00
jflyper
12e265c006 vtx58_Freq2Bandchan to use vtxDevice_t parameters 2017-01-15 01:54:26 +09:00
jflyper
cdd0cd4528 VTX abstraction (experimental) 2017-01-15 01:27:02 +09:00