feat: add 3.3GHz SX33 VTX frequency group support with IRC TRUMP protocol#1
feat: add 3.3GHz SX33 VTX frequency group support with IRC TRUMP protocol#1devin-ai-integration[bot] wants to merge 1 commit into
Conversation
…ocol - Add FREQUENCYGROUP_3G3 enum to vtx_common.h - Add 3.3GHz frequency table (5 bands, 8 channels) to vtx_string.c/h - Add vtx3G3_Bandchan2Freq() conversion function - Add 3.3GHz power tables (25/2000/5000 mW) to vtx_tramp.c/h - Update impl_SetBandAndChannel() for 3.3GHz frequency group - Update vtxProtoUpdatePowerMetadata() for 3.3GHz - Add MSP2_INAV_VTX_TABLE_CUSTOM (0x2F00) and MSP2_INAV_SET_VTX_TABLE_CUSTOM (0x2F01) - Add MSP handler for custom VTX table read/write in fc_msp.c - Add LOGIC_CONDITION_SET_VTX_CUSTOM_SLOT (57) for in-flight channel switching Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Branch Targeting SuggestionYou've targeted the
If This is an automated suggestion to help route contributions to the appropriate branch. |
Summary
Adds a new 3.3 GHz frequency group (
FREQUENCYGROUP_3G3) for the SX33 video transmitter using IRC TRUMP protocol. This includes:vtx_string.c/h)vtx_tramp.c/hMSP2_INAV_VTX_TABLE_CUSTOM(0x2F00) to read the table,MSP2_INAV_SET_VTX_TABLE_CUSTOM(0x2F01) to set band/channel/power and switch to the 3.3 GHz frequency groupLOGIC_CONDITION_SET_VTX_CUSTOM_SLOT(57) for in-flight channel switching via programmable logic, encoding slot as(band-1)*8 + channelwith power index in operandBA companion configurator PR adds the UI (Load Grid button,
vtx_table_sx33.json, MSP handling).Review & Testing Checklist for Human
fc_msp.cwrites5,8,3,25,2000,5000as literals instead of referencingVTX_STRING_3G3_*defines. If the table dimensions change, these will silently diverge.impl_GetOsdInfoaccessesvtx3G3BandNames[vtxState.request.band]without bounds checking. Ifband> 5, this is an out-of-bounds read. (Same pre-existing risk exists for 1.3/5.8 GHz paths, but worth noting.)SET_VTX_TABLE_CUSTOMunconditionally setsfrequencyGroup = FREQUENCYGROUP_3G3— there is no way to revert to 5.8 GHz via this command path. Confirm this is intentional.Notes
LOGIC_CONDITION_SET_VTX_CUSTOM_SLOThardcodes the max power check (operandB <= 3) instead of usingVTX_TRAMP_3G3_MAX_POWER_COUNT.vtx3G3_Freq2Bandchan()reverse-lookup function is provided (unlike 5.8 GHz which hasvtx58_Freq2Bandchan). This may be needed later if frequency-based channel identification is required.Link to Devin session: https://app.devin.ai/sessions/93535a1b2e7847b9b23a2e1396a0bcb2
Requested by: @mailform2022