tao_z
2022-06-22 698b17133dd304fe293f495aa3b96c4274ccdd50
test.py
@@ -1,9 +1,8 @@
# # def send_msg():
# #     meg = Message()
# #     msg = VCI_CAN_OBJ()
from ast import arg
import encodings
import threading
from tkinter.tix import Tree
from USBCAN import *
@@ -12,6 +11,9 @@
from mainwindows import *
from multiprocessing import Process, Queue, Value, Pipe
import datetime
from ShifterDefine import *
import cantools
from pprint import pprint
# def rece_msg(bus):
#     msg = bus.Receive(0.1)
#     if msg[0] is not None:
@@ -58,7 +60,6 @@
#     print(conn.recv())
#     conn.close()
# if __name__ == "__main__":
#     parent_conn, child_conn = Pipe()  # 产生两个返回对象,一个是管道这一头,一个是另一头
#     p = Process(target=f, args=(child_conn,))
@@ -78,12 +79,10 @@
#     )
#     bus.send(msg)
# # bus = open_device()
# # while True:
# #     send_msg(bus)
# #     # rece_msg(bus)
# device_type = DEVICETYPE['USBCAN-II']
# device_index = 0
@@ -102,7 +101,6 @@
#     data=bytearray([0x02, 0x3e, 0, 0, 0, 0, 0, 0])
# )
# q_rx = Queue()
# q_tx = Queue()
# connect = Value('i', 1)
@@ -112,7 +110,6 @@
# # def start():
# # def rece_msg():
# #     # num = bus.GetReceiveNum(device_type, device_index, can_channel)
# #     print(num)
@@ -120,7 +117,6 @@
# #         # while not q_rx.empty():
# #         print(q_rx.get())
# #         #     time.sleep(0.1)
# # bus.CloseDevice()
# # start()
@@ -148,7 +144,6 @@
#     data.append(' '.join(['{:0<2x}'.format(a) for a in list(item.data)]))
#     return data
# def rece_msg():
#     # msg, num = bus.Receive(len=10)
#     num = q_rx.qsize()
@@ -157,12 +152,10 @@
#             # print(msg[0].arbitration_id)
#             print(formatedata(i, q_rx.get(), True))
# def tx_task(bus: USBCAN):
#     while True:
#         bus.send(msg=msg)
#         time.sleep(0.1)
# def rx_task(bus: USBCAN):
#     while True:
@@ -173,7 +166,6 @@
#                 if msg[i].arbitration_id == 0x77a:
#                     # print(formatedata(i, msg[i], True))
#                     print(msg[i].data)
# if __name__ == '__main__':
#     bus.InitAndStart()
@@ -202,7 +194,6 @@
#         item.setFont(QFont("微软雅黑", 12, QFont.Black))  # 设置字体
#         table.setItem(0, column, item)
# if __name__ == '__main__':
#     app = QApplication(sys.argv)
@@ -225,3 +216,32 @@
#     # w.show()
#     sys.exit(app.exec_())
dbc = cantools.database.load_file("DBC/SX7H.dbc")
# print(dbc.messages)
sa_message = dbc.get_message_by_name('SA1')
# print(sa_message)
# pprint(sa_message.signals)
frame = [0x00, 0x0A, 0x00, 0xF0, 0, 0, 0, 0]
input_signal = dbc.decode_message(0x420, frame)
part_str = str(input_signal['SA1_Status_ParkButtonReq'])
pprint(part_str)
if input_signal['SA1_Status_ParkButtonReq'] == 'No request':
    print('yes')
data = sa_message.encode({
    'SA1_Status_PRNDL': 0,
    'SA1_Status_GearShftPosReq': 0,  #'Shifter position Zero',
    'SA1_Status_ParkButtonReq': 2,
    "SA1_ShifterManualSignal": 0,
    "SA1_ShifterModeSignal": 1,
    "SA1_Status_ShftSensSng_Fault": 0,
    "SA1_IND_ShifterMisUsd": 0,
    "SA1_Live_counter": 1,
    "SA1_Status_UnlockButtonReq": 1,
    "SA1_Status_EcoShifterModeReq": 0,
    "SA1_Status_RqGearPosInV": 0xf,
    "SA1_Status_ShiftPosValidFlag": 0,
})
# print(data)
# print(SA1_Status_ParkButtonReq_dic['No request'])