mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Tomcat and M2000 radios support
This commit is contained in:
parent
14fe68eb54
commit
98d75bc721
@ -326,7 +326,7 @@ class Operation:
|
|||||||
last_channel = flight.num_radio_channels(radio_id)
|
last_channel = flight.num_radio_channels(radio_id)
|
||||||
channel_alloc = iter(range(first_channel, last_channel + 1))
|
channel_alloc = iter(range(first_channel, last_channel + 1))
|
||||||
|
|
||||||
flight.assign_channel(radio_id, next(channel_alloc),flight.departure.atc)
|
flight.assign_channel(radio_id, next(channel_alloc), flight.departure.atc)
|
||||||
|
|
||||||
# TODO: If there ever are multiple AWACS, limit to mission relevant.
|
# TODO: If there ever are multiple AWACS, limit to mission relevant.
|
||||||
for awacs in self.airsupportgen.air_support.awacs:
|
for awacs in self.airsupportgen.air_support.awacs:
|
||||||
|
|||||||
@ -49,8 +49,8 @@ UHF_FALLBACK_CHANNEL = MHz(251)
|
|||||||
class AircraftData:
|
class AircraftData:
|
||||||
"""Additional aircraft data not exposed by pydcs."""
|
"""Additional aircraft data not exposed by pydcs."""
|
||||||
|
|
||||||
#: The type of radio used for intra-flight communications.
|
#: The type of radios used by this plane
|
||||||
intra_flight_radio: Radio
|
radios: List[Radio]
|
||||||
|
|
||||||
#: Index of the radio used for intra-flight communications. Matches the
|
#: Index of the radio used for intra-flight communications. Matches the
|
||||||
#: index of the panel_radio field of the pydcs.dcs.planes object.
|
#: index of the panel_radio field of the pydcs.dcs.planes object.
|
||||||
@ -60,25 +60,33 @@ class AircraftData:
|
|||||||
#: index of the panel_radio field of the pydcs.dcs.planes object.
|
#: index of the panel_radio field of the pydcs.dcs.planes object.
|
||||||
intra_flight_radio_index: Optional[int]
|
intra_flight_radio_index: Optional[int]
|
||||||
|
|
||||||
|
@property
|
||||||
|
def intra_flight_radio(self):
|
||||||
|
return self.radios[self.intra_flight_radio_index-1]
|
||||||
|
|
||||||
|
@property
|
||||||
|
def inter_flight_radio(self):
|
||||||
|
return self.radios[self.inter_flight_radio_index-1]
|
||||||
|
|
||||||
|
|
||||||
# Indexed by the id field of the pydcs PlaneType.
|
# Indexed by the id field of the pydcs PlaneType.
|
||||||
AIRCRAFT_DATA: Dict[str, AircraftData] = {
|
AIRCRAFT_DATA: Dict[str, AircraftData] = {
|
||||||
"A-10C": AircraftData(
|
"A-10C": AircraftData(
|
||||||
get_radio("AN/ARC-186(V) AM"),
|
[get_radio("AN/ARC-186(V) AM")],
|
||||||
# The A-10's radio works differently than most aircraft. Doesn't seem to
|
# The A-10's radio works differently than most aircraft. Doesn't seem to
|
||||||
# be a way to set these from the mission editor, let alone pydcs.
|
# be a way to set these from the mission editor, let alone pydcs.
|
||||||
inter_flight_radio_index=None,
|
inter_flight_radio_index=None,
|
||||||
intra_flight_radio_index=None
|
intra_flight_radio_index=None
|
||||||
),
|
),
|
||||||
"F-16C_50": AircraftData(
|
"F-16C_50": AircraftData(
|
||||||
get_radio("AN/ARC-222"),
|
[get_radio("AN/ARC-164"), get_radio("AN/ARC-222")],
|
||||||
# COM2 is the AN/ARC-222, which is the VHF radio we want to use for
|
# COM2 is the AN/ARC-222, which is the VHF radio we want to use for
|
||||||
# intra-flight communication to leave COM1 open for UHF inter-flight.
|
# intra-flight communication to leave COM1 open for UHF inter-flight.
|
||||||
inter_flight_radio_index=1,
|
inter_flight_radio_index=1,
|
||||||
intra_flight_radio_index=2
|
intra_flight_radio_index=2
|
||||||
),
|
),
|
||||||
"FA-18C_hornet": AircraftData(
|
"FA-18C_hornet": AircraftData(
|
||||||
get_radio("AN/ARC-210"),
|
[get_radio("AN/ARC-210"), get_radio("AN/ARC-210")],
|
||||||
# DCS will clobber channel 1 of the first radio compatible with the
|
# DCS will clobber channel 1 of the first radio compatible with the
|
||||||
# flight's assigned frequency. Since the F/A-18's two radios are both
|
# flight's assigned frequency. Since the F/A-18's two radios are both
|
||||||
# AN/ARC-210s, radio 1 will be compatible regardless of which frequency
|
# AN/ARC-210s, radio 1 will be compatible regardless of which frequency
|
||||||
@ -86,6 +94,18 @@ AIRCRAFT_DATA: Dict[str, AircraftData] = {
|
|||||||
inter_flight_radio_index=2,
|
inter_flight_radio_index=2,
|
||||||
intra_flight_radio_index=1
|
intra_flight_radio_index=1
|
||||||
),
|
),
|
||||||
|
|
||||||
|
"M-2000C": AircraftData(
|
||||||
|
[get_radio("TRT ERA 7000 V/UHF"), get_radio("TRT ERA 7200 UHF")],
|
||||||
|
inter_flight_radio_index=1,
|
||||||
|
intra_flight_radio_index=2
|
||||||
|
),
|
||||||
|
|
||||||
|
"F-14B": AircraftData(
|
||||||
|
[get_radio("AN/ARC-159"), get_radio("AN/ARC-182")],
|
||||||
|
inter_flight_radio_index=1,
|
||||||
|
intra_flight_radio_index=2
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -104,7 +104,14 @@ RADIOS: List[Radio] = [
|
|||||||
|
|
||||||
# Note : The M2000C V/UHF radio has a gap between 149.970 and 225.000Mhz
|
# Note : The M2000C V/UHF radio has a gap between 149.970 and 225.000Mhz
|
||||||
Radio("TRT ERA 7000 V/UHF", MHz(118), MHz(400), step=MHz(1)),
|
Radio("TRT ERA 7000 V/UHF", MHz(118), MHz(400), step=MHz(1)),
|
||||||
Radio("TRT ERA 7200 UHF", MHz(225), MHz(400), step=MHz(1))
|
Radio("TRT ERA 7200 UHF", MHz(225), MHz(400), step=MHz(1)),
|
||||||
|
|
||||||
|
# Tomcat radios
|
||||||
|
# # https://www.heatblur.se/F-14Manual/general.html#an-arc-159-uhf-1-radio
|
||||||
|
Radio("AN/ARC-159", MHz(225), MHz(399, 975), step=MHz(1)),
|
||||||
|
# AN/ARC-182, can operate : 30 to 88, 108 to 156, 156 to 174, and 225 to 399.975 MHz
|
||||||
|
# https://www.heatblur.se/F-14Manual/general.html#an-arc-182-v-uhf-2-radio
|
||||||
|
Radio("AN/ARC-182", MHz(108), MHz(399, 975), step=MHz(1))
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user