14 KiB
Riferimento messaggi MIL-STD-1553 (mappatura implementazione)
Questo documento fornisce per ogni messaggio 1553 usato nel progetto:
- Nome del messaggio (A/B)
- Struttura payload implementata (classe ctypes) e file sorgente
- Dove è registrato/creato (
messages.py) e i parametri (subaddress, request flag, freq) - Collegamenti ai tipi interni (
data_types) quando presenti
Nota: il file principale che registra i messaggi è pybusmonitor1553/Grifo_E_1553lib/messages/messages.py.
Elenco messaggi (mappatura rapida)
-
A1: payload
MsgRdrSettingsAndParameters— pybusmonitor1553/Grifo_E_1553lib/messages/msg_rdr_settings_and_parameters.py- Definito/registrato in: pybusmonitor1553/Grifo_E_1553lib/messages/messages.py
- Init:
super().__init__(MsgRdrSettingsAndParameters, 1)—freq=10,_time_ms=100ms
-
A2: payload
MsgRdrOperationCommand— pybusmonitor1553/Grifo_E_1553lib/messages/msg_rdr_operation_command.py- Registrato in: messages.py
- Init:
super().__init__(MsgRdrOperationCommand, 2)—freq=25,_time_ms=40ms
-
A3: payload
MsgGraphicSetting— pybusmonitor1553/Grifo_E_1553lib/messages/msg_graphic_setting.py- Registrato in: messages.py
- Init:
super().__init__(MsgGraphicSetting, 3)—freq=10
-
A4: payload
MsgNavDataAndCursor— pybusmonitor1553/Grifo_E_1553lib/messages/msg_nav_data_and_cursor.py- Registrato in: messages.py
- Init:
super().__init__(MsgNavDataAndCursor, 4)—freq=50
-
A5: payload
MsgInuHighSpeed— pybusmonitor1553/Grifo_E_1553lib/messages/msg_inu_high_speed.py- Registrato in: messages.py
- Init:
super().__init__(MsgInuHighSpeed, 5)—freq=50 - Metodo helper:
update_A5_time()alteraself.message.timetag.raw
-
A7: payload
Msg1DataLinkTarget— pybusmonitor1553/Grifo_E_1553lib/messages/msg1_data_link_target.py- Registrato in: messages.py
- Init:
super().__init__(Msg1DataLinkTarget, 7)—freq=20
-
A8: payload
Msg2DataLinkTarget— pybusmonitor1553/Grifo_E_1553lib/messages/msg2_data_link_target.py- Registrato in: messages.py
- Init:
super().__init__(Msg2DataLinkTarget, 8)—freq=20
-
B4: payload
TrackedTarget02_10— pybusmonitor1553/Grifo_E_1553lib/messages/tracked_target.py- Registrato in: messages.py
- Init:
super().__init__(TrackedTarget02_10, 14, True)—freq=50, request=True
-
B5: payload
TrackedTarget01— pybusmonitor1553/Grifo_E_1553lib/messages/tracked_target.py- Registrato in: messages.py
- Init:
super().__init__(TrackedTarget01, 15, True)—freq=50, request=True
-
B7: payload
MsgRdrStatusTellback— pybusmonitor1553/Grifo_E_1553lib/messages/msg_rdr_status_tellback.py- Registrato in: messages.py
- Init:
super().__init__(MsgRdrStatusTellback, 17, True)—freq=25, request=True
-
B11–B18: payload
TrackedTarget02_10— tracked_target.py- B11: subAddr=21 — messages.py
- B12: subAddr=22 — messages.py
- B13: subAddr=23 — messages.py
- B14: subAddr=24 — messages.py
- B15: subAddr=25 — messages.py
- B16: subAddr=26 — messages.py
- B17: subAddr=27 — messages.py
- B18: subAddr=28 — messages.py
- Tutte hanno
freq=50,request=Truee vengono registrate inMajorFrame.
Dettaglio esteso — esempio B7 (completo dei campi)
-
Classe payload:
MsgRdrStatusTellback— pybusmonitor1553/Grifo_E_1553lib/messages/msg_rdr_status_tellback.py- Implementazione:
ctypes.Structurecon campi:rdr_mode_tellback:RdrStatusTellback— pybusmonitor1553/Grifo_E_1553lib/data_types/rdr_status_tellback.pyparam1_tellback:RdrFunAndParam1Tellback— pybusmonitor1553/Grifo_E_1553lib/data_types/rdr_fun_and_param1_tellback.pyparam2_tellback:RdrFunAndParam2Tellback— pybusmonitor1553/Grifo_E_1553lib/data_types/rdr_fun_and_param2_tellback.py
- Implementazione:
-
Dove viene creato/registrato il messaggio
B7:pybusmonitor1553/Grifo_E_1553lib/messages/messages.py— classeB7.- All'interno di
Message.__init__(inmessages.py) il payload viene istanziato conself.message = Message_class()e la testata 1553 è costruita conUDP1553Message(..., cw(...)).
-
Metodi utili ereditati da
Message(usati da B7):get_packed_message()— genera buffer con header 1553 + payload + inverted cw + marker endrequest_message()— genera pacchetto di richiesta (senza payload)set_message(data)— scrivedatadentro la strutturactypesdel payload usandoctypes.memmove
Se vuoi, procedo a:
- Espandere i dettagli per tutti i messaggi (elencare i campi interni per ciascun
Msg*e collegarli ai rispettivi filedata_types). - Includere esempi di pack/unpack per ogni messaggio.
Ho creato il file doc/1553_message_reference.md. Prossimo passo: riempire i dettagli interni per tutti i payload (richiederà leggere i rispettivi file in messages/ e data_types/). Vuoi che proceda con l'espansione completa ora?
Riferimento messaggi MIL-STD-1553 (mappatura implementazione)
Questo documento fornisce per ogni messaggio 1553 usato nel progetto:
- Nome del messaggio (A/B)
- Struttura payload implementata (classe ctypes) e file sorgente
- Dove è registrato/creato (
messages.py) e i parametri (subaddress, request flag, freq) - Collegamenti ai tipi interni (
data_types) quando presenti
Nota: il file principale che registra i messaggi è pybusmonitor1553/Grifo_E_1553lib/messages/messages.py.
Elenco messaggi (mappatura rapida)
-
A1: payload
MsgRdrSettingsAndParameters— pybusmonitor1553/Grifo_E_1553lib/messages/msg_rdr_settings_and_parameters.py- Definito/registrato in: pybusmonitor1553/Grifo_E_1553lib/messages/messages.py
- Init:
super().__init__(MsgRdrSettingsAndParameters, 1)—freq=10,_time_ms=100ms
-
A2: payload
MsgRdrOperationCommand— pybusmonitor1553/Grifo_E_1553lib/messages/msg_rdr_operation_command.py- Registrato in: messages.py
- Init:
super().__init__(MsgRdrOperationCommand, 2)—freq=25,_time_ms=40ms
-
A3: payload
MsgGraphicSetting— pybusmonitor1553/Grifo_E_1553lib/messages/msg_graphic_setting.py- Registrato in: messages.py
- Init:
super().__init__(MsgGraphicSetting, 3)—freq=10
-
A4: payload
MsgNavDataAndCursor— pybusmonitor1553/Grifo_E_1553lib/messages/msg_nav_data_and_cursor.py- Registrato in: messages.py
- Init:
super().__init__(MsgNavDataAndCursor, 4)—freq=50
-
A5: payload
MsgInuHighSpeed— pybusmonitor1553/Grifo_E_1553lib/messages/msg_inu_high_speed.py- Registrato in: messages.py
- Init:
super().__init__(MsgInuHighSpeed, 5)—freq=50 - Metodo helper:
update_A5_time()alteraself.message.timetag.raw
-
A7: payload
Msg1DataLinkTarget— pybusmonitor1553/Grifo_E_1553lib/messages/msg1_data_link_target.py- Registrato in: messages.py
- Init:
super().__init__(Msg1DataLinkTarget, 7)—freq=20
-
A8: payload
Msg2DataLinkTarget— pybusmonitor1553/Grifo_E_1553lib/messages/msg2_data_link_target.py- Registrato in: messages.py
- Init:
super().__init__(Msg2DataLinkTarget, 8)—freq=20
-
B4: payload
TrackedTarget02_10— pybusmonitor1553/Grifo_E_1553lib/messages/tracked_target.py- Registrato in: messages.py
- Init:
super().__init__(TrackedTarget02_10, 14, True)—freq=50, request=True
-
B5: payload
TrackedTarget01— pybusmonitor1553/Grifo_E_1553lib/messages/tracked_target.py- Registrato in: messages.py
- Init:
super().__init__(TrackedTarget01, 15, True)—freq=50, request=True
-
B7: payload
MsgRdrStatusTellback— pybusmonitor1553/Grifo_E_1553lib/messages/msg_rdr_status_tellback.py- Registrato in: messages.py
- Init:
super().__init__(MsgRdrStatusTellback, 17, True)—freq=25, request=True
-
B11–B18: payload
TrackedTarget02_10— tracked_target.py- B11: subAddr=21 — messages.py
- B12: subAddr=22 — messages.py
- B13: subAddr=23 — messages.py
- B14: subAddr=24 — messages.py
- B15: subAddr=25 — messages.py
- B16: subAddr=26 — messages.py
- B17: subAddr=27 — messages.py
- B18: subAddr=28 — messages.py
- Tutte hanno
freq=50,request=Truee vengono registrate inMajorFrame.
Dettaglio esteso — esempio B7 (completo dei campi)
-
Classe payload:
MsgRdrStatusTellback— pybusmonitor1553/Grifo_E_1553lib/messages/msg_rdr_status_tellback.py- Implementazione:
ctypes.Structurecon campi:rdr_mode_tellback:RdrStatusTellback— pybusmonitor1553/Grifo_E_1553lib/data_types/rdr_status_tellback.pyparam1_tellback:RdrFunAndParam1Tellback— pybusmonitor1553/Grifo_E_1553lib/data_types/rdr_fun_and_param1_tellback.pyparam2_tellback:RdrFunAndParam2Tellback— pybusmonitor1553/Grifo_E_1553lib/data_types/rdr_fun_and_param2_tellback.py
- Implementazione:
-
Dove viene creato/registrato il messaggio
B7:pybusmonitor1553/Grifo_E_1553lib/messages/messages.py— classeB7.- All'interno di
Message.__init__(inmessages.py) il payload viene istanziato conself.message = Message_class()e la testata 1553 è costruita conUDP1553Message(..., cw(...)).
-
Metodi utili ereditati da
Message(usati da B7):get_packed_message()— genera buffer con header 1553 + payload + inverted cw + marker endrequest_message()— genera pacchetto di richiesta (senza payload)set_message(data)— scrivedatadentro la strutturactypesdel payload usandoctypes.memmove
Se vuoi, procedo a:
- Espandere i dettagli per tutti i messaggi (elencare i campi interni per ciascun
Msg*e collegarli ai rispettivi filedata_types). - Includere esempi di pack/unpack per ogni messaggio.
Ho creato il file doc/1553_message_reference.md. Prossimo passo: riempire i dettagli interni per tutti i payload (richiederà leggere i rispettivi file in messages/ e data_types/). Vuoi che proceda con l'espansione completa ora?