Projects STRLCPY CatSniffer Commits 10e6c009
🤬
  • ■ ■ ■ ■ ■ ■
    firmware/pycatsniffer/devpycatsniffer.py
    skipped 262 lines
    263 263   SET_CHAN = 0xd2 # 0x0d (idx 0) + data)0x00 (idx 1)
    264 264   
    265 265   HEARTBEAT_FRAME = 0x01
    266  - COMMAND_FRAME = 0x00
     266 + START_FRAME = 0x5340
    267 267  
    268 268   BYTE_STREAM = 0
    269 269   
    skipped 104 lines
    374 374   print ("SUBSRECV>> %s" % binascii.hexlify(substream))
    375 375   
    376 376   if len(substream) >= 3:
    377  - (cmd, cmdLen) = struct.unpack_from("<BH", substream)
    378  - payload = substream[3:]
    379  - if len(payload) == cmdLen:
    380  - # buffer contains the correct number of bytes
    381  - if CC1352.COMMAND_FRAME == cmd:
    382  - logger.info(f'Read a frame of size {cmdLen}')
    383  - stats['Captured'] += 1
    384  - (timestamp, pktLen) = struct.unpack_from("<IB", payload)
    385  - frame = payload[5:]
     377 + (sFrame, pInfo, pLength) = struct.unpack_from("<HBH", substream)
     378 + payload = substream[5:-2]
     379 + #print ("sframe>>", hex(sFrame))
     380 + #print ("pInfo>>", hex(pInfo))
     381 + #print ("pLength>>", hex(pLength))
     382 + 
     383 + if len(payload) == pLength:
     384 + # buffer contains the correct number of bytes
     385 + if sFrame == CC1352.START_FRAME:
     386 + (timestamp,) = struct.unpack_from("<Q", payload)
     387 + timestamp = timestamp & 0x0000FFFFFFFFFFFF
    386 388   
    387  - if len(frame) == pktLen:
    388  - self.callback(timestamp, frame.tobytes())
    389  - else:
    390  - logger.warning(
    391  - f'Received a frame with incorrect length, pktLen:{pktLen}, len(frame):{len(frame)}'
    392  - )
     389 + frame = payload[6:]
     390 + self.callback(timestamp, frame)
    393 391   else:
    394 392   logger.warning(
    395 393   'Received a command response with unknown code - CMD:{:02x} byte:{}'
    skipped 110 lines
    506 504   
    507 505   return "\n".join(ret)
    508 506   
    509  -# if __name__ == "__main__":
    510  - 
    511  -# def callback(packet):
    512  -# print("-"*30)
    513  -# print(packet)
    514  -# print("-"*30)
    515  -
    516  -# sniffer = CC1352('/dev/ttyACM0', callback)
    517  -# #sniffer = CC1352(callback)
    518  -
    519  -# #print(sniffer)
    520  -# #sniffer.startc()
    521  -# #sniffer.pingc()
    522  -# #time.sleep(2)
    523  -# #sniffer.stopc()
    524  -
    525  -# sniffer.pingc()
    526  -# sniffer.stopc()
    527  -# sniffer.cfgphyc()
    528  -# sniffer.cfgfreqc()
    529  -# sniffer.initiatorc()
    530  -# sniffer.startc()
    531  -# print ("start")
    532  -# time.sleep(1)
    533  -# sniffer.stop()
    534  -# sniffer.close()
    535  - 
    536 507  def arg_parser():
    537 508   debug_choices = ('DEBUG', 'INFO', 'WARNING', 'ERROR')
    538 509   
    skipped 177 lines
    716 687   while 1:
    717 688   if args.headless is True:
    718 689   if not snifferDev.isRunning():
    719  - snifferDev.start()
     690 + 
     691 + snifferDev.pingc()
     692 + snifferDev.stopc()
     693 + snifferDev.cfgphyc()
     694 + snifferDev.cfgfreqc()
     695 + snifferDev.initiatorc()
     696 + snifferDev.startc()
     697 + print ("start")
     698 + 
     699 + # snifferDev.start()
    720 700   # block until terminated (Ctrl+C or killed)
    721 701   snifferDev.thread.join()
    722 702   else:
    skipped 20 lines
    743 723   if snifferDev.isRunning():
    744 724   snifferDev.stop()
    745 725   else:
    746  - snifferDev.start()
     726 + snifferDev.startc()
    747 727   elif int(cmd) in range(11, 27):
    748 728   snifferDev.set_channel(int(cmd))
    749 729   else:
    skipped 14 lines
    764 744   snifferDev.stop()
    765 745   dump_stats()
    766 746   sys.exit(0)
     747 + 
     748 +# if __name__ == "__main__":
     749 + 
     750 +# def callback(packet):
     751 +# print("-"*30)
     752 +# print(packet)
     753 +# print("-"*30)
     754 +
     755 +# sniffer = CC1352('/dev/ttyACM0', callback)
     756 +# #sniffer = CC1352(callback)
     757 +
     758 +# #print(sniffer)
     759 +# #sniffer.startc()
     760 +# #sniffer.pingc()
     761 +# #time.sleep(2)
     762 +# #sniffer.stopc()
     763 +
     764 +# sniffer.pingc()
     765 +# sniffer.stopc()
     766 +# sniffer.cfgphyc()
     767 +# sniffer.cfgfreqc()
     768 +# sniffer.initiatorc()
     769 +# sniffer.startc()
     770 +# print ("start")
     771 +# time.sleep(1)
     772 +# sniffer.stop()
     773 +# sniffer.close()
Please wait...
Page is in error, reload to recover