mirror of
https://github.com/betaflight/betaflight-configurator.git
synced 2025-07-17 05:15:21 +03:00
commit
bb67dbbd72
12 changed files with 1441 additions and 42 deletions
|
@ -1300,9 +1300,78 @@ MspHelper.prototype.process_data = function(dataHandler) {
|
|||
TRANSPONDER.data.push(data.readU8());
|
||||
}
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_SET_TRANSPONDER_CONFIG:
|
||||
console.log("Transponder config saved");
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_VTX_CONFIG:
|
||||
|
||||
VTX_CONFIG.vtx_type = data.readU8();
|
||||
VTX_CONFIG.vtx_band = data.readU8();
|
||||
VTX_CONFIG.vtx_channel = data.readU8();
|
||||
VTX_CONFIG.vtx_power = data.readU8();
|
||||
VTX_CONFIG.vtx_pit_mode = data.readU8() != 0;
|
||||
VTX_CONFIG.vtx_frequency = data.readU16();
|
||||
VTX_CONFIG.vtx_device_ready = data.readU8() != 0;
|
||||
VTX_CONFIG.vtx_low_power_disarm = data.readU8();
|
||||
|
||||
if (semver.gte(CONFIG.apiVersion, "1.42.0")) {
|
||||
VTX_CONFIG.vtx_pit_mode_frequency = data.readU16();
|
||||
VTX_CONFIG.vtx_table_available = data.readU8() != 0;
|
||||
VTX_CONFIG.vtx_table_bands = data.readU8();
|
||||
VTX_CONFIG.vtx_table_channels = data.readU8();
|
||||
VTX_CONFIG.vtx_table_powerlevels = data.readU8();
|
||||
VTX_CONFIG.vtx_table_clear = false;
|
||||
}
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_SET_VTX_CONFIG:
|
||||
console.log("VTX config sent");
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_VTXTABLE_BAND:
|
||||
|
||||
VTXTABLE_BAND.vtxtable_band_number = data.readU8();
|
||||
|
||||
let bandNameLength = data.readU8();
|
||||
VTXTABLE_BAND.vtxtable_band_name = '';
|
||||
for (let i = 0; i < bandNameLength; i++) {
|
||||
VTXTABLE_BAND.vtxtable_band_name += String.fromCharCode(data.readU8());
|
||||
}
|
||||
|
||||
VTXTABLE_BAND.vtxtable_band_letter = String.fromCharCode(data.readU8());
|
||||
VTXTABLE_BAND.vtxtable_band_is_factory_band = data.readU8() != 0;
|
||||
|
||||
let bandFrequenciesLength = data.readU8();
|
||||
VTXTABLE_BAND.vtxtable_band_frequencies = [];
|
||||
for (let i = 0; i < bandFrequenciesLength; i++) {
|
||||
VTXTABLE_BAND.vtxtable_band_frequencies.push(data.readU16());
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_SET_VTXTABLE_BAND:
|
||||
console.log("VTX band sent");
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_VTXTABLE_POWERLEVEL:
|
||||
|
||||
VTXTABLE_POWERLEVEL.vtxtable_powerlevel_number = data.readU8();
|
||||
VTXTABLE_POWERLEVEL.vtxtable_powerlevel_value = data.readU16();
|
||||
|
||||
let powerLabelLength = data.readU8();
|
||||
VTXTABLE_POWERLEVEL.vtxtable_powerlevel_label = '';
|
||||
for (let i = 0; i < powerLabelLength; i++) {
|
||||
VTXTABLE_POWERLEVEL.vtxtable_powerlevel_label += String.fromCharCode(data.readU8());
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_SET_VTXTABLE_POWERLEVEL:
|
||||
console.log("VTX powerlevel sent");
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_SET_MODE_RANGE:
|
||||
console.log('Mode range saved');
|
||||
break;
|
||||
|
@ -1358,10 +1427,6 @@ MspHelper.prototype.process_data = function(dataHandler) {
|
|||
case MSPCodes.MSP_OSD_CHAR_WRITE:
|
||||
console.log('OSD char uploaded');
|
||||
break;
|
||||
case MSPCodes.MSP_VTX_CONFIG:
|
||||
break;
|
||||
case MSPCodes.MSP_SET_VTX_CONFIG:
|
||||
break;
|
||||
case MSPCodes.MSP_SET_NAME:
|
||||
console.log('Name set');
|
||||
break;
|
||||
|
@ -1919,6 +1984,58 @@ MspHelper.prototype.crunch = function(code) {
|
|||
}
|
||||
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_SET_VTX_CONFIG:
|
||||
|
||||
buffer.push16(VTX_CONFIG.vtx_frequency)
|
||||
.push8(VTX_CONFIG.vtx_power)
|
||||
.push8(VTX_CONFIG.vtx_pit_mode ? 1 : 0)
|
||||
.push8(VTX_CONFIG.vtx_low_power_disarm);
|
||||
|
||||
if (semver.gte(CONFIG.apiVersion, "1.42.0")) {
|
||||
buffer.push16(VTX_CONFIG.vtx_pit_mode_frequency)
|
||||
.push8(VTX_CONFIG.vtx_band)
|
||||
.push8(VTX_CONFIG.vtx_channel)
|
||||
.push16(VTX_CONFIG.vtx_frequency)
|
||||
.push8(VTX_CONFIG.vtx_table_bands)
|
||||
.push8(VTX_CONFIG.vtx_table_channels)
|
||||
.push8(VTX_CONFIG.vtx_table_powerlevels)
|
||||
.push8(VTX_CONFIG.vtx_table_clear ? 1 : 0);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_SET_VTXTABLE_POWERLEVEL:
|
||||
|
||||
buffer.push8(VTXTABLE_POWERLEVEL.vtxtable_powerlevel_number)
|
||||
.push16(VTXTABLE_POWERLEVEL.vtxtable_powerlevel_value);
|
||||
|
||||
buffer.push8(VTXTABLE_POWERLEVEL.vtxtable_powerlevel_label.length);
|
||||
for (let i = 0; i < VTXTABLE_POWERLEVEL.vtxtable_powerlevel_label.length; i++) {
|
||||
buffer.push8(VTXTABLE_POWERLEVEL.vtxtable_powerlevel_label.charCodeAt(i));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case MSPCodes.MSP_SET_VTXTABLE_BAND:
|
||||
|
||||
buffer.push8(VTXTABLE_BAND.vtxtable_band_number);
|
||||
|
||||
buffer.push8(VTXTABLE_BAND.vtxtable_band_name.length);
|
||||
for (let i = 0; i < VTXTABLE_BAND.vtxtable_band_name.length; i++) {
|
||||
buffer.push8(VTXTABLE_BAND.vtxtable_band_name.charCodeAt(i));
|
||||
}
|
||||
|
||||
buffer.push8(VTXTABLE_BAND.vtxtable_band_letter.charCodeAt(0))
|
||||
.push8(VTXTABLE_BAND.vtxtable_band_is_factory_band ? 1 : 0);
|
||||
|
||||
buffer.push8(VTXTABLE_BAND.vtxtable_band_frequencies.length);
|
||||
for (let i = 0; i < VTXTABLE_BAND.vtxtable_band_frequencies.length; i++) {
|
||||
buffer.push16(VTXTABLE_BAND.vtxtable_band_frequencies[i]);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue