def testA_CanPktBasic1(self): log.debug('testCanPktBasic1') pkt = None pktList = [] for i in range(0,256): pkt = CanPkt(i, [0xff, 0x01, 0x3c]) pktList.append(pkt) pktstr = pkt.toString() log.debug('pkt ' + str(i) + ' str: ' + pktstr) assert pkt.nodeId == i
def testC_CanPktBasic3(self): log.debug('testCanPktBasic3') pktstr = CanPkt(0x1f8f0100,[0x5f,0x3a,0x40,0x01]).toString() log.debug(pktstr) pkt = CanPkt.stringToCanPkt(self, pktstr) log.debug(pkt.nodeId) assert pkt.nodeId == 0x1f8f0100 log.debug(pkt.data[1]) assert pkt.data[3] == 0x01
def testB_CanPktBasic2(self): log.debug('testCanPktBasic2') pkt = CanPkt(0xffaaaa, [0x1b, 0xff]) str = pkt.toString() log.debug('pkt str: ' + str) assert str == 'PKT 00FFAAAA 1 0 1b ff' log.debug(pkt.nodeId) assert pkt.nodeId == 0xffaaaa log.debug(pkt.extended) assert pkt.extended == True log.debug(pkt.remote) assert pkt.remote == False log.debug(pkt.data) log.debug(pkt.data[0]) assert pkt.data[0] == 0x1b log.debug(pkt.data[1]) assert pkt.data[1] == 0xff return True
def testC_PktHandler1_1(self): log.debug('testPktHandler1_1') pktstr = 'PKT 1f8f0100 1 0 43 01' pkt = CanPkt.stringToCanPkt(self, pktstr) log.debug(pkt.nodeId) assert pkt.nodeId == 0x1f8f0100 log.debug(pkt.extended) assert pkt.extended == True log.debug(pkt.remote) assert pkt.remote == False log.debug(pkt.data) log.debug(pkt.data[0]) assert pkt.data[0] == 0x43 log.debug(pkt.data[1]) assert pkt.data[1] == 0x01
def input(self, strdata): """Make data buffer into CanPkt and do early discard check """ """Call all filters in chain """ if len(strdata) < 2: return if strdata[0:3] != 'PKT': return # print strdata pkt = CanPkt.stringToCanPkt(self, strdata) # print 'incoming: ' + pkt.toString() for filter in self.daemonCfg.filterChain: fObj = self.daemonCfg.filterCfg.filterModules[filter] sp = SpacePort(fObj.__ASSOCIATED_SPACES__) fObj.filter('', pkt, sp) # FIXME: use if name for sl in self.serverListeners: if not sl.full(): sl.write(pkt.toString()) else: log.debug('WARNING: Overflow in server buffer: ' + sl + ', packet dropped')