Esempio n. 1
0
 def req(self, dst, grp, rid):
     t = time.time()
     fid = nxr_conv.encode_id(ptp=True, dst=dst, src=0xf0, grp=grp)
     fdt = nxr_conv.encode_data(func=0x10, rid=rid, rdt=0, isfloat=False)
     self.sendlist.append({"fid": fid, "fdt": fdt})
     for _ in range(10):
         time.sleep(0.2)
         if rid in self.return_buf[grp][dst]:
             if self.return_buf[grp][dst][rid]["time"] > t:
                 print('got reply', self.return_buf[grp][dst][rid]["rdt"])
             return True, self.return_buf[grp][dst][rid]["rdt"]
     return False, None
Esempio n. 2
0
    def __init__(self, event, dev='/dev/ttyUSB0'):
        self.can_con = can_comm.CanComm(event, dev)

        self.sendlist = []
        self.return_buf = [[{}] * 256] * 8
        self.event = event

        self.lastsend = 0

        self.bc_id = nxr_conv.encode_id(ptp=False, dst=0xff, src=0xf0, grp=0x3)
        self.bc_dt = nxr_conv.encode_data(func=0x10,
                                          rid=0x43,
                                          rdt=0,
                                          isfloat=False)

        self.th = Thread(target=self.loop)
        self.th.start()

        #self.sendlist.append({"fid":self.bc_id, "fdt":self.bc_dt})

        return
Esempio n. 3
0
    def __init__(self, lib_file='./ControlCAN.dll', can_dev=[1]):
        self.can_con = can_comm.CanComm(lib_file=lib_file, can_dev=can_dev)
        self.can_ch = can_dev[0]

        self.sendlist = []
        self.return_buf = [[{}] * 256] * 8
        self.loop_ret = True

        self.lastsend = 0

        self.bc_id = nxr_conv.encode_id(ptp=False, dst=0xfe, src=0xf0, grp=0x3)
        self.bc_dt = nxr_conv.encode_data(func=0x10,
                                          rid=0x43,
                                          rdt=0,
                                          isfloat=False)

        self.th = Thread(target=self.loop)
        self.th.start()

        #self.sendlist.append({"fid":self.bc_id, "fdt":self.bc_dt})

        return
Esempio n. 4
0
from utils import can_comm, nxr_conv
import struct


device = can_comm.CanComm(lib_file='./utils/ControlCAN.dll', can_dev=[1])

bc_id = nxr_conv.encode_id(ptp=False, dst=0xfe, src=0xf0, grp=0x3)
bc_dt = nxr_conv.encode_data(func=0x10, rid=0x43, rdt=0, isfloat=False)
print(struct.pack(">I", bc_id))
for i in bc_dt: print(hex(i), end=' ')
print()
device.send(1, bc_id, bc_dt)