SXXXXXXX_PyBusMonitor1553/pybusmonitor1553/Grifo_E_1553lib/connection/start.py
2025-12-17 07:59:30 +01:00

135 lines
3.7 KiB
Python

import sys
import os
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'src')))
import threading
from pynput.keyboard import Key, Listener
from Grifo_E_1553lib.data_types.enums import TargetHistory, RdrModes
from Grifo_E_1553lib.connection.utils import *
from Grifo_E_1553lib.messages.messages import *
# import gui
def start():
print("LIB STARTED.")
# a1 = A1()
# a1.message.settings.set_history_level(TargetHistory.TARGET_HISTORY_LEVEL_04)
# a1.message.settings.str.rdr_symbology_intensity = 127
# a2 = A2()
# a2.message.rdr_mode_command.set_master_mode(RdrModes.RWS)
# a2.message.param1.set_gm_submode(0)
# a2.message.param2.set_spare_0_4(0)
# # a3 = A3()
# a4 = A4()
# a4.message.validity_and_slew.raw = 0
# a5 = A5()
# a5.message.timetag.raw = 0
# b1 = B1()
b6 = MessageNew("B6",MsgRdrSettingsAndParametersTellback,10,16,True)
b7 = MessageNew("B7",MsgRdrStatusTellback,25,17,True)
# print(MessageDB.getAllMessages())
# print(b7.label)
# exit()
# a1 = A1()
a1 = MessageNew("A1",MsgRdrSettingsAndParameters,10,1)
a1.message.settings.set_history_level(TargetHistory.TARGET_HISTORY_LEVEL_04)
a1.message.settings.str.rdr_symbology_intensity = 127
# a2 = A2()
a2 = MessageNew("A2",MsgRdrOperationCommand,25,2)
a2.message.rdr_mode_command.set_master_mode(RdrModes.RWS)
a2.message.param1.set_gm_submode(0)
a2.message.param2.set_spare_0_4(0)
# a3 = A3()
print(MessageDB.getMessage("A2"))
a3 = MessageNew("A3",MsgGraphicSetting,10,3)
print(a3.head.cw.raw)
print(a3.size)
# a4 = A4()
a4 = MessageNew("A4",MsgNavDataAndCursor,50,4)
a4.message.validity_and_slew.raw = 0
# a5 = A5()
a5 = MessageNew("A5",MsgInuHighSpeed,50,5)
a5.message.timetag.raw = 0
# print(isA(a2), isA(a4), isA(a5))
# b1 =Message(TwsStatusAndTargets0102,11, True)
# b1 =Message(TwsStatusAndTargets0102,11, True)
# print(vars(RdrModes))
# print(list(RdrModes)[1].name + " = " + str(list(RdrModes)[1].value))
# def send_frame_at_right_time(stop, canSend):
# print("Sending frames...")
# while not stop.is_set():
# for key in MajorFrame.get_majorFrame().keys():
# if current_milli_time() % key == 0 and canSend.is_set():
# A5().update_A5_time()
# udp_msg = prepare_udp_message(MajorFrame.get_majorFrame()[key])
# send_udp_msg(udp_msg)
def listen_for_command():
with Listener(on_press = keypressed) as listener:
listener.join()
canSend.set()
guii = True
t1 = threading.Thread(target = MajorFrame.send_frame_at_right_time_new, args=[STOP_ALL,canSend])
t2 = threading.Thread(target=recv_messages)
# t3 = threading.Thread(target=gui.main_menu) if guii else None
# t4 = threading.Thread(target=listen_for_command)
t1.start()
t2.start()
# t3.start() if guii else None
# t4.start()
# while not STOP_ALL.is_set():
# # udp_msg = prepare_udp_message([a5])
# # send_udp_msg(udp_msg)
# # print(f"Size of A5: {ctypes.sizeof(MsgInuHighSpeed)}")
# # print("PREPARE")
# print(isA(b1))
# udp_msg = prepare_udp_message([b1])
# print("Send")
# send_udp_msg(udp_msg)
# time.sleep(3)
# # print(RdrModes.__dict__.items())
# # def stampa_class_constants(cls):
# # for name, value in cls.__dict__.items():
# # if not name.startswith("__") and not callable(value):
# # print(f"{name} = {value}")
# # stampa_class_constants(RdrModes)
t1.join()
t2.join()
# t3.join()
# t4.join()
print("Program Terminated.")