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.