aggiunti i tellback mancanti
This commit is contained in:
parent
7d15cf143a
commit
95a3d6e562
3631
_cpp/th_b1553_icd.h
Normal file
3631
_cpp/th_b1553_icd.h
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"window_geometry": "1600x1099+298+121",
|
"window_geometry": "1600x1099+156+156",
|
||||||
"main_sash_position": [
|
"main_sash_position": [
|
||||||
1,
|
1,
|
||||||
793
|
793
|
||||||
|
|||||||
@ -7,6 +7,7 @@ em.ENUM_MAP.update({
|
|||||||
"rws_submode_tellback" : RwsSubmode,
|
"rws_submode_tellback" : RwsSubmode,
|
||||||
"spot_function_tellback" : SpotSelection,
|
"spot_function_tellback" : SpotSelection,
|
||||||
"acm_submode_tellback" : AcmSubmode,
|
"acm_submode_tellback" : AcmSubmode,
|
||||||
|
"gm_submode_tellback" : GmSubmode,
|
||||||
"expand_tellback" : Expand,
|
"expand_tellback" : Expand,
|
||||||
"range_scale_tellback" : RangeScale,
|
"range_scale_tellback" : RangeScale,
|
||||||
"number_of_bars_tellback" : BarsNum,
|
"number_of_bars_tellback" : BarsNum,
|
||||||
@ -16,14 +17,14 @@ em.ENUM_MAP.update({
|
|||||||
class _RdrFunAndParam1TellbackStr(ctypes.LittleEndianStructure):
|
class _RdrFunAndParam1TellbackStr(ctypes.LittleEndianStructure):
|
||||||
_pack_ = 1
|
_pack_ = 1
|
||||||
_fields_ = [
|
_fields_ = [
|
||||||
("azimuth_scan_width_tellback" , ctypes.c_uint16,4),
|
("azimuth_scan_width_tellback", ctypes.c_uint16, 4), # bit 0-3
|
||||||
("number_of_bars_tellback" , ctypes.c_uint16,2),
|
("number_of_bars_tellback", ctypes.c_uint16, 2), # bit 4-5
|
||||||
("range_scale_tellback" , ctypes.c_uint16,2),
|
("range_scale_tellback", ctypes.c_uint16, 2), # bit 6-7
|
||||||
("expand_tellback" , ctypes.c_uint16,2),
|
("expand_tellback", ctypes.c_uint16, 2), # bit 8-9
|
||||||
("reserved" , ctypes.c_uint16,1),
|
("gm_submode_tellback", ctypes.c_uint16, 1), # bit 10
|
||||||
("acm_submode_tellback" , ctypes.c_uint16,3),
|
("acm_submode_tellback", ctypes.c_uint16, 3), # bit 11-13
|
||||||
("spot_function_tellback" , ctypes.c_uint16,1),
|
("spot_function_tellback", ctypes.c_uint16, 1), # bit 14
|
||||||
("rws_submode_tellback" , ctypes.c_uint16,1)
|
("rws_submode_tellback", ctypes.c_uint16, 1) # bit 15
|
||||||
]
|
]
|
||||||
|
|
||||||
class RdrFunAndParam1Tellback(ctypes.Union):
|
class RdrFunAndParam1Tellback(ctypes.Union):
|
||||||
@ -88,20 +89,10 @@ class RdrFunAndParam1Tellback(ctypes.Union):
|
|||||||
self.raw &= ~(0x03 << (15-11))
|
self.raw &= ~(0x03 << (15-11))
|
||||||
self.raw |= (value << (15-11))
|
self.raw |= (value << (15-11))
|
||||||
|
|
||||||
# Bitfield accessors for scan_width
|
# Bitfield accessors for scan_width (bit 0-3)
|
||||||
def get_scan_width(self):
|
def get_scan_width(self):
|
||||||
return AzimuthScanWidth((self.raw >> (15-13)) & 0x03)
|
return AzimuthScanWidth(self.raw & 0x0F)
|
||||||
|
|
||||||
def set_scan_width(self, value):
|
def set_scan_width(self, value):
|
||||||
self.raw &= ~(0x03 << (15-13))
|
self.raw &= ~0x0F
|
||||||
self.raw |= (value << (15-13))
|
self.raw |= (value & 0x0F)
|
||||||
|
|
||||||
# Bitfield accessors for velocity_scale
|
|
||||||
|
|
||||||
# Bitfield accessors for spare
|
|
||||||
def get_spare(self):
|
|
||||||
return (self.raw >> 0) & 0x01
|
|
||||||
|
|
||||||
def set_spare(self, value):
|
|
||||||
self.raw &= ~(0x01 << 0)
|
|
||||||
self.raw |= (value << 0)
|
|
||||||
@ -12,11 +12,10 @@ em.ENUM_MAP.update({
|
|||||||
class _RdrFunAndParam2Str(ctypes.LittleEndianStructure):
|
class _RdrFunAndParam2Str(ctypes.LittleEndianStructure):
|
||||||
_pack_ = 1
|
_pack_ = 1
|
||||||
_fields_ = [
|
_fields_ = [
|
||||||
("spare", ctypes.c_uint16,8),
|
("spare_8_15", ctypes.c_uint16, 8), # bit 0-7
|
||||||
("sar_map_orientation", ctypes.c_uint16,2),
|
("sar_map_orientation", ctypes.c_uint16, 2), # bit 8-9
|
||||||
("zoom_command", ctypes.c_uint16,2),
|
("zoom_command", ctypes.c_uint16, 2), # bit 10-11
|
||||||
("spare_2", ctypes.c_uint16,4),
|
("spare_0_4", ctypes.c_uint16, 4), # bit 12-15
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@ -34,21 +33,21 @@ class RdrFunAndParam2(ctypes.Union):
|
|||||||
self.raw &= ~(0x0F << 12)
|
self.raw &= ~(0x0F << 12)
|
||||||
self.raw |= (value << 12)
|
self.raw |= (value << 12)
|
||||||
|
|
||||||
# Bitfield accessors for zoom
|
# Bitfield accessors for zoom (bit 10-11)
|
||||||
def get_zoom(self):
|
def get_zoom(self):
|
||||||
return Zoom((self.raw >> 9) & 0x03)
|
return Zoom((self.raw >> 10) & 0x03)
|
||||||
|
|
||||||
def set_zoom(self, value):
|
def set_zoom(self, value):
|
||||||
self.raw &= ~(0x03 << 9)
|
self.raw &= ~(0x03 << 10)
|
||||||
self.raw |= (value << 9)
|
self.raw |= (value << 10)
|
||||||
|
|
||||||
# Bitfield accessors for sar_map_orientation
|
# Bitfield accessors for sar_map_orientation (bit 8-9)
|
||||||
def get_sar_map_orientation(self):
|
def get_sar_map_orientation(self):
|
||||||
return SarMapOrientation((self.raw >> 7) & 0x03)
|
return SarMapOrientation((self.raw >> 8) & 0x03)
|
||||||
|
|
||||||
def set_sar_map_orientation(self, value):
|
def set_sar_map_orientation(self, value):
|
||||||
self.raw &= ~(0x03 << 7)
|
self.raw &= ~(0x03 << 8)
|
||||||
self.raw |= (value << 7)
|
self.raw |= (value << 8)
|
||||||
|
|
||||||
# Bitfield accessors for spare_8_15
|
# Bitfield accessors for spare_8_15
|
||||||
def get_spare_8_15(self):
|
def get_spare_8_15(self):
|
||||||
|
|||||||
@ -1,20 +1,58 @@
|
|||||||
import ctypes
|
import ctypes
|
||||||
|
from .enums import Zoom, SarMapOrientation
|
||||||
|
|
||||||
|
import Grifo_E_1553lib.data_types.enum_map as em
|
||||||
|
|
||||||
|
em.ENUM_MAP.update({
|
||||||
|
"zoom_tellback": Zoom,
|
||||||
|
"sar_map_orientation_tellback": SarMapOrientation,
|
||||||
|
})
|
||||||
|
|
||||||
class _RdrFunAndParam2TellbackStr(ctypes.LittleEndianStructure):
|
class _RdrFunAndParam2TellbackStr(ctypes.LittleEndianStructure):
|
||||||
_pack_ = 1
|
_pack_ = 1
|
||||||
_fields_ = [
|
_fields_ = [
|
||||||
("spare2", ctypes.c_uint16,6),
|
("spare6_15", ctypes.c_uint16, 6), # bit 0-5
|
||||||
("reserved9", ctypes.c_uint16,1),
|
("sar_spoi_feasibility", ctypes.c_uint16, 1), # bit 6
|
||||||
("reserved8", ctypes.c_uint16,1),
|
("sar_crs_feasibility", ctypes.c_uint16, 1), # bit 7
|
||||||
("reserved6", ctypes.c_uint16,2),
|
("sar_map_orientation_tellback", ctypes.c_uint16, 2), # bit 8-9
|
||||||
("reserved4", ctypes.c_uint16,2),
|
("zoom_tellback", ctypes.c_uint16, 2), # bit 10-11
|
||||||
("spare", ctypes.c_uint16,4),
|
("spare0_4", ctypes.c_uint16, 4), # bit 12-15
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class RdrFunAndParam2Tellback(ctypes.Union):
|
class RdrFunAndParam2Tellback(ctypes.Union):
|
||||||
_fields_ = [
|
_fields_ = [
|
||||||
("raw", ctypes.c_uint16),
|
("raw", ctypes.c_uint16),
|
||||||
("str", _RdrFunAndParam2TellbackStr)
|
("str", _RdrFunAndParam2TellbackStr)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# Bitfield accessors for zoom tellback (bit 10-11)
|
||||||
|
def get_zoom_tellback(self):
|
||||||
|
return Zoom((self.raw >> 10) & 0x03)
|
||||||
|
|
||||||
|
def set_zoom_tellback(self, value):
|
||||||
|
self.raw &= ~(0x03 << 10)
|
||||||
|
self.raw |= (value << 10)
|
||||||
|
|
||||||
|
# Bitfield accessors for sar_map_orientation tellback (bit 8-9)
|
||||||
|
def get_sar_map_orientation_tellback(self):
|
||||||
|
return SarMapOrientation((self.raw >> 8) & 0x03)
|
||||||
|
|
||||||
|
def set_sar_map_orientation_tellback(self, value):
|
||||||
|
self.raw &= ~(0x03 << 8)
|
||||||
|
self.raw |= (value << 8)
|
||||||
|
|
||||||
|
# Bitfield accessors for SAR feasibility tellbacks
|
||||||
|
def get_sar_crs_feasibility(self):
|
||||||
|
return bool((self.raw >> 7) & 0x01)
|
||||||
|
|
||||||
|
def set_sar_crs_feasibility(self, value):
|
||||||
|
self.raw &= ~(0x01 << 7)
|
||||||
|
self.raw |= (int(bool(value)) << 7)
|
||||||
|
|
||||||
|
def get_sar_spoi_feasibility(self):
|
||||||
|
return bool((self.raw >> 6) & 0x01)
|
||||||
|
|
||||||
|
def set_sar_spoi_feasibility(self, value):
|
||||||
|
self.raw &= ~(0x01 << 6)
|
||||||
|
self.raw |= (int(bool(value)) << 6)
|
||||||
@ -22,6 +22,8 @@ class _RdrModeCommandWordStr(ctypes.LittleEndianStructure):
|
|||||||
("spare_0_1", ctypes.c_uint16, 2),
|
("spare_0_1", ctypes.c_uint16, 2),
|
||||||
("sar_type", ctypes.c_uint16, 1),
|
("sar_type", ctypes.c_uint16, 1),
|
||||||
("silence", ctypes.c_uint16, 1),
|
("silence", ctypes.c_uint16, 1),
|
||||||
|
# reserved11: historically used for EMERGENCY command flag
|
||||||
|
# GUI mapping: legacy `emergency` -> this reserved11 bit
|
||||||
("reserved11", ctypes.c_uint16, 1),
|
("reserved11", ctypes.c_uint16, 1),
|
||||||
("stop_powerup", ctypes.c_uint16, 1),
|
("stop_powerup", ctypes.c_uint16, 1),
|
||||||
("freeze", ctypes.c_uint16, 1),
|
("freeze", ctypes.c_uint16, 1),
|
||||||
@ -77,9 +79,11 @@ class RdrModeCommandWord(ctypes.Union):
|
|||||||
self.raw = (self.raw & ~(0x01 << 5)) | ((int(value) & 0x01) << 5)
|
self.raw = (self.raw & ~(0x01 << 5)) | ((int(value) & 0x01) << 5)
|
||||||
|
|
||||||
def get_reserved11(self):
|
def get_reserved11(self):
|
||||||
|
"""Return the reserved11 bit (EMERGENCY flag in some configs)."""
|
||||||
return (self.raw >> 4) & 0x01
|
return (self.raw >> 4) & 0x01
|
||||||
|
|
||||||
def set_reserved11(self, value):
|
def set_reserved11(self, value):
|
||||||
|
"""Set the reserved11 bit (EMERGENCY flag in some configs)."""
|
||||||
self.raw = (self.raw & ~(0x01 << 4)) | ((int(value) & 0x01) << 4)
|
self.raw = (self.raw & ~(0x01 << 4)) | ((int(value) & 0x01) << 4)
|
||||||
def get_silence(self):
|
def get_silence(self):
|
||||||
return SilenceSelection((self.raw >> 3) & 0x01)
|
return SilenceSelection((self.raw >> 3) & 0x01)
|
||||||
|
|||||||
@ -88,9 +88,15 @@ class RdrStatusTellback(ctypes.Union):
|
|||||||
|
|
||||||
# Bitfield accessors for reserved11
|
# Bitfield accessors for reserved11
|
||||||
def get_reserved11(self):
|
def get_reserved11(self):
|
||||||
|
"""Return the reserved11 bit.
|
||||||
|
|
||||||
|
Note: this bit is used as the EMERGENCY tellback flag in some configurations
|
||||||
|
(legacy GUI expects `emergency_tellback` -> this reserved11 bit).
|
||||||
|
"""
|
||||||
return (self.raw >> (15-11)) & 0x01
|
return (self.raw >> (15-11)) & 0x01
|
||||||
|
|
||||||
def set_reserved11(self, value):
|
def set_reserved11(self, value):
|
||||||
|
"""Set the reserved11 bit (EMERGENCY tellback in some configs)."""
|
||||||
self.raw &= ~(0x01 << (15-11))
|
self.raw &= ~(0x01 << (15-11))
|
||||||
self.raw |= (value << (15-11))
|
self.raw |= (value << (15-11))
|
||||||
|
|
||||||
|
|||||||
@ -60,10 +60,11 @@ A2_FIELD_MAP = {
|
|||||||
'PWR_UP_STOP_FUNCT_SEL': 'rdr_mode_command.stop_powerup',
|
'PWR_UP_STOP_FUNCT_SEL': 'rdr_mode_command.stop_powerup',
|
||||||
'silence': 'rdr_mode_command.silence',
|
'silence': 'rdr_mode_command.silence',
|
||||||
'SAR_ACQUISITION': 'rdr_mode_command.sar_type',
|
'SAR_ACQUISITION': 'rdr_mode_command.sar_type',
|
||||||
# 'emergency': 'param2.emergency', # DISABLED - field doesn't exist in param2
|
# emergency command -> reserved11 in rdr_mode_command (bit present)
|
||||||
|
'emergency': 'rdr_mode_command.reserved11',
|
||||||
|
|
||||||
# RdrFunAndParam1 fields (param1.field_name)
|
# RdrFunAndParam1 fields (param1.field_name)
|
||||||
# Note: These use getter/setter methods, not direct attributes
|
# Note: These use getter/setter methods automatically via get_{field}()
|
||||||
'rws_submode_command': 'param1.rws_submode',
|
'rws_submode_command': 'param1.rws_submode',
|
||||||
'SPOT_FUNC_SEL': 'param1.spot',
|
'SPOT_FUNC_SEL': 'param1.spot',
|
||||||
'acm_submode_command': 'param1.acm_submode',
|
'acm_submode_command': 'param1.acm_submode',
|
||||||
@ -186,12 +187,12 @@ A3_FIELD_MAP = {
|
|||||||
# ============================================================================
|
# ============================================================================
|
||||||
A4_FIELD_MAP = {
|
A4_FIELD_MAP = {
|
||||||
# Validity and slew
|
# Validity and slew
|
||||||
# Note: SAR/Ghost/DTT fields may not exist in A4ValidityAndSlew - checking available getters
|
# Note: SAR/Ghost/DTT selectors exist inside the cursor acquisition union
|
||||||
# Available: ant_slew_valid, attitude_invalid, baro_intertial_altitude_invalid, cas_invalid, etc.
|
# (`acq_crs_x` -> `CrsMotionX.str`). Map legacy flat names to the nested
|
||||||
# These fields might be in a different message or not implemented yet
|
# path so GUI controls can access the correct bitfields.
|
||||||
# 'SAR_ENABLED': 'validity_and_slew.spare1', # DISABLED - field not found
|
'SAR_ENABLED': 'acq_crs_x.str.sar_enabled_selector',
|
||||||
# 'NORM_GHOST_SELECTION': 'validity_and_slew.spare2', # DISABLED - field not found
|
'NORM_GHOST_SELECTION': 'acq_crs_x.str.normal_ghost_selector',
|
||||||
# 'DTT_ENABLED': 'validity_and_slew.spare3', # DISABLED - field not found
|
'DTT_ENABLED': 'acq_crs_x.str.mtt_enabled_selector',
|
||||||
'CLEARANCE_PLANE_DIST': 'clearance_plane_distance',
|
'CLEARANCE_PLANE_DIST': 'clearance_plane_distance',
|
||||||
|
|
||||||
# Timetag
|
# Timetag
|
||||||
@ -329,6 +330,10 @@ B6_FIELD_MAP = {
|
|||||||
'CRS_LON_tellback': 'cursor_pos_longitude',
|
'CRS_LON_tellback': 'cursor_pos_longitude',
|
||||||
'crs_x_tellback': 'cursor_x_display_coord_qual.current_x_display_coord',
|
'crs_x_tellback': 'cursor_x_display_coord_qual.current_x_display_coord',
|
||||||
'crs_y_tellback': 'cursor_y_display_coord.current_y_display_coord',
|
'crs_y_tellback': 'cursor_y_display_coord.current_y_display_coord',
|
||||||
|
|
||||||
|
# SAR enabled tellback lives in the cursor X coord qualifier (B6 W16)
|
||||||
|
# map legacy tellback name to the nested bitfield
|
||||||
|
'normal_sar_enabled_tellback': 'cursor_x_display_coord_qual.cursor_normal_slave_selector_tellback',
|
||||||
|
|
||||||
# Param tellback
|
# Param tellback
|
||||||
'PARAM_ID_TB': 'param_id_tellback',
|
'PARAM_ID_TB': 'param_id_tellback',
|
||||||
@ -349,25 +354,34 @@ B7_FIELD_MAP = {
|
|||||||
'stby_tellback': 'rdr_mode_tellback.stby',
|
'stby_tellback': 'rdr_mode_tellback.stby',
|
||||||
'freeze_tellback': 'rdr_mode_tellback.freeze',
|
'freeze_tellback': 'rdr_mode_tellback.freeze',
|
||||||
'rf_status': 'rdr_mode_tellback.rf_radiation',
|
'rf_status': 'rdr_mode_tellback.rf_radiation',
|
||||||
# Note: emergency field does not exist in RdrFunAndParam2Tellback
|
# emergency tellback is stored in reserved11 of rdr_mode_tellback
|
||||||
|
'emergency_tellback': 'rdr_mode_tellback.reserved11',
|
||||||
|
|
||||||
# Status flags
|
# Status flags
|
||||||
'TRANSITION': 'rdr_mode_tellback.transition_status',
|
'TRANSITION': 'rdr_mode_tellback.transition_status',
|
||||||
'LAST_ACQ_FAIL': 'rdr_mode_tellback.last_acq_result',
|
'LAST_ACQ_FAIL': 'rdr_mode_tellback.last_acq_result',
|
||||||
'DEGRADED_PERF_STATUS': 'rdr_mode_tellback.spare', # Field not found, using spare
|
'DEGRADED_PERF_STATUS': 'rdr_mode_tellback.spare', # Field not found, using spare
|
||||||
|
|
||||||
# Function parameters tellback
|
# Function parameters tellback - use .str for direct bitfield access
|
||||||
'rws_submode_tellback': 'param1_tellback.rws_submode',
|
'rws_submode_tellback': 'param1_tellback.str.rws_submode_tellback',
|
||||||
'acm_submode_tellback': 'param1_tellback.acm_submode',
|
'spot_function_tellback': 'param1_tellback.str.spot_function_tellback',
|
||||||
'gm_submode_tellback': 'param1_tellback.gm_submode',
|
'acm_submode_tellback': 'param1_tellback.str.acm_submode_tellback',
|
||||||
'range_scale_tellback': 'param1_tellback.range_scale',
|
'gm_submode_tellback': 'param1_tellback.str.gm_submode_tellback',
|
||||||
'bars_tellback': 'param1_tellback.bars_num',
|
'expand_tellback': 'param1_tellback.str.expand_tellback',
|
||||||
'scan_width_tellback': 'param1_tellback.scan_width',
|
'range_scale_tellback': 'param1_tellback.str.range_scale_tellback',
|
||||||
# Note: velocity_scale field does not exist in RdrFunAndParam1Tellback
|
'bars_tellback': 'param1_tellback.str.number_of_bars_tellback',
|
||||||
'velocity_scale_tellback': 'param1_tellback.spare', # Field not found
|
'scan_width_tellback': 'param1_tellback.str.azimuth_scan_width_tellback',
|
||||||
|
# Note: velocity_scale and range_scale share the same bits in the tellback union
|
||||||
|
'velocity_scale_tellback': 'param1_tellback.str.range_scale_tellback',
|
||||||
|
|
||||||
# SAR
|
# SAR
|
||||||
'SAR_ACQUISITION_TB': 'rdr_mode_tellback.sar_type',
|
'SAR_ACQUISITION_TB': 'rdr_mode_tellback.sar_type',
|
||||||
|
# Param2 tellbacks (B7 W3) - use .str for direct bitfield access
|
||||||
|
'zoom_tellback': 'param2_tellback.str.zoom_tellback',
|
||||||
|
'sar_map_orientation_tellback': 'param2_tellback.str.sar_map_orientation_tellback',
|
||||||
|
# SAR feasibility flags (B7 W3 bits)
|
||||||
|
'sar_crs_feasibility': 'param2_tellback.str.sar_crs_feasibility',
|
||||||
|
'sar_spoi_feasibility': 'param2_tellback.str.sar_spoi_feasibility',
|
||||||
}
|
}
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
|||||||
@ -33,25 +33,41 @@ CHECKBOXES = [
|
|||||||
"label": "IBIT", "description": "toggle IBIT status", "param": "0"
|
"label": "IBIT", "description": "toggle IBIT status", "param": "0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "sar_enabled", "message": None, "field": "SAR_ENABLED", "tooltip": "A4 SAR_ENABLED",
|
"command": "sar_enabled", "message": msg_a4, "field": "SAR_ENABLED", "tooltip": "A4 SAR_ENABLED",
|
||||||
"message_tb": None, "field_tb": "", "label": "SAR enabled", "description": "toggle SAR enabled [DISABLED - field not in 1553]", "param": "0"
|
"message_tb": msg_b6, "field_tb": "normal_sar_enabled_tellback", "tooltip_tb": "B6 SAR_TB",
|
||||||
|
"label": "SAR enabled", "description": "toggle SAR enabled", "param": "0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "ghost_enabled", "message": None, "field": "NORM_GHOST_SELECTION", "tooltip": "A4 Ghost",
|
"command": "sar_crs_feas", "message": None, "field": "", "tooltip": "",
|
||||||
"message_tb": None, "field_tb": "", "label": "Ghost enabled", "description": "toggle ghost enabled [DISABLED - field not in 1553]", "param": "0"
|
"message_tb": msg_b7, "field_tb": "sar_crs_feasibility", "tooltip_tb": "B7 CRS_FEAS",
|
||||||
|
"label": "CRS Feas.", "description": "Cursor CRS feasibility tellback", "param": "0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "dtt_enabled", "message": None, "field": "DTT_ENABLED", "tooltip": "A4 DTT",
|
"command": "sar_spoi_feas", "message": None, "field": "", "tooltip": "",
|
||||||
"message_tb": None, "field_tb": "", "label": "DTT enabled", "description": "toggle DTT enabled [DISABLED - field not in 1553]", "param": "0"
|
"message_tb": msg_b7, "field_tb": "sar_spoi_feasibility", "tooltip_tb": "B7 SPOI_FEAS",
|
||||||
|
"label": "Spoi Feas.", "description": "Cursor SPOI feasibility tellback", "param": "0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "ghost_enabled", "message": msg_a4, "field": "NORM_GHOST_SELECTION", "tooltip": "A4 Ghost",
|
||||||
|
"message_tb": None, "field_tb": "", "label": "Ghost enabled", "description": "toggle ghost enabled", "param": "0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "dtt_enabled", "message": msg_a4, "field": "DTT_ENABLED", "tooltip": "A4 DTT",
|
||||||
|
"message_tb": None, "field_tb": "", "label": "DTT enabled", "description": "toggle DTT enabled", "param": "0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "ale_blanking", "message": msg_a1, "field": "ALE_BLANKING", "tooltip": "A1 ALE",
|
"command": "ale_blanking", "message": msg_a1, "field": "ALE_BLANKING", "tooltip": "A1 ALE",
|
||||||
"message_tb": None, "field_tb": "", "label": "ALE blanking", "description": "toggle ALE blanking", "param": "0"
|
"message_tb": None, "field_tb": "", "label": "ALE blanking", "description": "toggle ALE blanking", "param": "0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "emergency", "message": None, "field": "emergency", "tooltip": "A2 emergency",
|
"command": "spot", "message": msg_a2, "field": "SPOT_FUNC_SEL", "tooltip": "A2 SPOT",
|
||||||
"message_tb": None, "field_tb": "emergency_tellback", "tooltip_tb": "B7 emergency_tb",
|
"message_tb": msg_b7, "field_tb": "spot_function_tellback", "tooltip_tb": "B7 SPOT_TB",
|
||||||
"label": "EMERGENCY", "description": "toggle EMERGENCY status [DISABLED - field not in 1553]", "param": "0"
|
"label": "Spot", "description": "toggle Spot function", "param": "0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "emergency", "message": msg_a2, "field": "emergency", "tooltip": "A2 emergency",
|
||||||
|
"message_tb": msg_b7, "field_tb": "emergency_tellback", "tooltip_tb": "B7 emergency_tb",
|
||||||
|
"label": "EMERGENCY", "description": "toggle EMERGENCY status", "param": "0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "deg_perf", "message": None, "field": "", "message_tb": msg_b7,
|
"command": "deg_perf", "message": None, "field": "", "message_tb": msg_b7,
|
||||||
@ -135,18 +151,21 @@ COMBOBOXES = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "expand", "message": msg_a2, "field": "EXPAND", "tooltip": "A2 EXPAND",
|
"command": "expand", "message": msg_a2, "field": "EXPAND", "tooltip": "A2 EXPAND",
|
||||||
"message_tb": None, "field_tb": "", "label": "Expand", "description": "Select Expand",
|
"message_tb": msg_b7, "field_tb": "expand_tellback", "label": "Expand", "description": "Select Expand",
|
||||||
"values": ["NORMAL", "EXPAND", "EXP_NV2", "EXP_NV3"]
|
"values": ["EXP_NORMAL", "EXPAND", "EXP_SPARE2", "EXP_SPARE3"],
|
||||||
|
"values_tb": ["EXP_NORMAL", "EXPAND", "EXP_SPARE2", "EXP_SPARE3"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "zoom", "message": msg_a2, "field": "ZOOM_COMMAND", "tooltip": "A2 ZOOM",
|
"command": "zoom", "message": msg_a2, "field": "ZOOM_COMMAND", "tooltip": "A2 ZOOM",
|
||||||
"message_tb": None, "field_tb": "", "label": "Zoom", "description": "Select Zoom",
|
"message_tb": msg_b7, "field_tb": "zoom_tellback", "label": "Zoom", "description": "Select Zoom",
|
||||||
"values": ["ZOOM_NOT_ATIVE", "ZOOM_IN", "ZOOM_OUT", "ZOOM_SPARE"]
|
"values": ["ZOOM_NOT_ATIVE", "ZOOM_IN", "ZOOM_OUT", "ZOOM_SPARE"],
|
||||||
|
"values_tb": ["ZOOM_NOT_ATIVE", "ZOOM_IN", "ZOOM_OUT", "ZOOM_SPARE"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "sar_map_orientation", "message": msg_a2, "field": "SAR_MAP_ORIENTATION", "tooltip": "A2 SAR MAP",
|
"command": "sar_map_orientation", "message": msg_a2, "field": "SAR_MAP_ORIENTATION", "tooltip": "A2 SAR MAP",
|
||||||
"message_tb": None, "field_tb": "", "label": "Sar map orient.", "description": "Select Sar map orientation",
|
"message_tb": msg_b7, "field_tb": "sar_map_orientation_tellback", "label": "Sar map orient.", "description": "Select Sar map orientation",
|
||||||
"values": ["SAR_AC_NOSE_REFERENCE", "SAR_SLANT_CROSS_RANGE", "NOT_USED_1", "NOT_USED_2"]
|
"values": ["SAR_AC_NOSE_REFERENCE", "SAR_SLANT_CROSS_RANGE", "NOT_USED_1", "NOT_USED_2"],
|
||||||
|
"values_tb": ["SAR_AC_NOSE_REFERENCE", "SAR_SLANT_CROSS_RANGE", "NOT_USED_1", "NOT_USED_2"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "ground_tgt_reject", "message": msg_a1, "field": "GND_TGT_REJ_RAD_VEL", "tooltip": "A1 GND REJ",
|
"command": "ground_tgt_reject", "message": msg_a1, "field": "GND_TGT_REJ_RAD_VEL", "tooltip": "A1 GND REJ",
|
||||||
@ -163,11 +182,6 @@ COMBOBOXES = [
|
|||||||
"message_tb": None, "field_tb": "", "label": "Power-up stop", "description": "Select Power-up stop",
|
"message_tb": None, "field_tb": "", "label": "Power-up stop", "description": "Select Power-up stop",
|
||||||
"values": ["NORMAL", "STOP"]
|
"values": ["NORMAL", "STOP"]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"command": "spot", "message": msg_a2, "field": "SPOT_FUNC_SEL", "tooltip": "A2 SPOT",
|
|
||||||
"message_tb": None, "field_tb": "", "label": "Spot", "description": "Select Spot function",
|
|
||||||
"values": ["NORMAL", "STOP"]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"command": "alt_block", "message": msg_a1, "field": "alt_block", "tooltip": "A1 alt_block",
|
"command": "alt_block", "message": msg_a1, "field": "alt_block", "tooltip": "A1 alt_block",
|
||||||
"message_tb": msg_b6, "field_tb": "alt_block_tellback", "tooltip_tb": "B6 alt_block_tb",
|
"message_tb": msg_b6, "field_tb": "alt_block_tellback", "tooltip_tb": "B6 alt_block_tb",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user