Fixing Radios for Mirage-F1EE, Mi-8MT & Mi-24P

This commit is contained in:
Raffson 2023-02-11 15:26:53 +01:00
parent 71296f9180
commit 75bc521fa5
No known key found for this signature in database
GPG Key ID: B0402B2C9B764D99
6 changed files with 51 additions and 4 deletions

View File

@ -237,6 +237,16 @@ RADIOS: List[Radio] = [
# Note: Also capable of 100MHz-150MHz, but we can't model gaps.
Radio("R-800L1", (RadioRange(MHz(220), MHz(400), kHz(25), Modulation.AM),)),
Radio("R-828", (RadioRange(MHz(20), MHz(60), kHz(25), Modulation.FM),)),
# Mi-8 / Mi-24P
Radio(
"R-863",
(
RadioRange(MHz(100), MHz(150), kHz(25), Modulation.AM),
RadioRange(MHz(220), MHz(400), kHz(25), Modulation.AM),
RadioRange(MHz(100), MHz(150), kHz(25), Modulation.FM),
RadioRange(MHz(220), MHz(400), kHz(25), Modulation.FM),
),
),
# UH-1H
Radio("AN/ARC-51BX", (RadioRange(MHz(225), MHz(400), kHz(50), Modulation.AM),)),
Radio("AN/ARC-131", (RadioRange(MHz(30), MHz(76), kHz(50), Modulation.FM),)),

View File

@ -49,7 +49,7 @@ class QFrequencyWidget(QWidget):
return f"<b>FREQ: {freq}</b>"
def open_freq_dialog(self) -> None:
range = RadioRange(MHz(30), MHz(400), kHz(25))
range = RadioRange(MHz(100), MHz(400), kHz(25))
if isinstance(self.ct, Flight):
if self.ct.unit_type.intra_flight_radio is not None:
range = self.ct.unit_type.intra_flight_radio.ranges[0]
@ -60,7 +60,12 @@ class QFrequencyWidget(QWidget):
def assign_frequency(self) -> None:
hz = round(self.frequency_dialog.frequency_input.value() * 10**6)
self._try_remove()
self.ct.frequency = RadioFrequency(hertz=hz)
mod = RadioFrequency.modulation
if isinstance(self.ct, Flight):
if self.ct.unit_type.intra_flight_radio is not None:
range = self.ct.unit_type.intra_flight_radio.ranges[0]
mod = range.modulation
self.ct.frequency = RadioFrequency(hertz=hz, modulation=mod)
self.gm.allocated_freqs.append(self.ct.frequency)
self.freq.setText(self._get_label_text())
self.check_freq()

View File

@ -43,7 +43,11 @@ class QRadioFrequencyDialog(QDialog):
self.frequency_input.setSingleStep(range.step.mhz)
self.frequency_input.setDecimals(3)
self.frequency_input.setLocale(QLocale(QLocale.Language.English))
self.frequency_input.setValue(225.0)
if range.minimum.mhz <= 225.0 < range.maximum.mhz:
self.frequency_input.setValue(225.0)
else:
mid = range.minimum.mhz + (range.maximum.mhz - range.minimum.mhz) / 2
self.frequency_input.setValue(mid)
layout.addWidget(self.frequency_label)
layout.addWidget(self.frequency_input)
@ -58,3 +62,5 @@ class QRadioFrequencyDialog(QDialog):
self.frequency_input.setValue(container.link4.mhz)
elif container.frequency:
self.frequency_input.setValue(container.frequency.mhz)
print(self.container.frequency)

View File

@ -25,3 +25,12 @@ role: Attack/Transport
kneeboard_units: "metric"
variants:
Mi-24P Hind-F: {}
radios:
# Ideally this would use the R-828 for intra-flight to be used for flight comms,
# but DCS won't allow it as the group's frequency (100-400MHz AM only).
intra_flight: R-863
inter_flight: R-863
channels:
type: common
intra_flight_radio_index: 1
inter_flight_radio_index: 1

View File

@ -13,4 +13,13 @@ price: 5
role: Transport/Light Attack
variants:
Mi-8MTV2 Hip: {}
kneeboard_units: "metric"
kneeboard_units: "metric"
radios:
# Ideally this would use the R-828 for intra-flight to be used for flight comms,
# but DCS won't allow it as the group's frequency (100-400MHz AM only).
intra_flight: R-863
inter_flight: R-863
channels:
type: common
intra_flight_radio_index: 1
inter_flight_radio_index: 1

View File

@ -12,3 +12,11 @@ role: Multirole Fighter
max_range: 200
variants:
Mirage-F1EE: {}
radios:
intra_flight: UHF TRAP 137B
inter_flight: V/UHF TRAP 136
channels:
type: common
namer: mirage-f1ce
intra_flight_radio_index: 2
inter_flight_radio_index: 1