26 lines
1.3 KiB
Python
26 lines
1.3 KiB
Python
import ctypes
|
|
from ..datatypes.radar_common import RdrOperationalSettings, Frequency
|
|
# Importare altri datatypes necessari (Beacon, ACIdentifier...)
|
|
|
|
class MsgA1Payload(ctypes.Structure):
|
|
"""
|
|
Payload structure for Message A1: Radar Operational Settings.
|
|
OLD implementation size: 22 bytes
|
|
Fields: settings(2) + frequency(2) + beacon(2) + rf_channels(2) +
|
|
ac_identifier(2) + date(2) + time(2) + param_id(2) + param_value(4)
|
|
"""
|
|
_pack_ = 1
|
|
_fields_ = [
|
|
("settings", RdrOperationalSettings), # 2 bytes
|
|
("frequency", ctypes.c_uint32), # 4 bytes (OLD uses 4 bytes for Frequency!)
|
|
("beacon", ctypes.c_uint16), # 2 bytes
|
|
("rf_channels_grouping", ctypes.c_uint16), # 2 bytes
|
|
("ac_identifier", ctypes.c_uint16), # 2 bytes
|
|
("date_of_mission", ctypes.c_uint16), # 2 bytes
|
|
("time_of_mission", ctypes.c_uint16), # 2 bytes
|
|
("param_id", ctypes.c_uint16), # 2 bytes
|
|
("param_value", ctypes.c_uint32), # 4 bytes
|
|
] # Total: 22 bytes
|
|
|
|
# Nota: Non definiamo la classe "A1" qui che eredita da BaseMessage.
|
|
# Quella la instanzieremo nel Core o in un file di configurazione missione. |