def findPkt(pkt):
<EOL>ret = []<EOL>while len(pkt)-<NUM_LIT:10> >= <NUM_LIT:0>:<EOL><INDENT>if pkt[<NUM_LIT:0>:<NUM_LIT:4>] != [<NUM_LIT>, <NUM_LIT>, <NUM_LIT>, <NUM_LIT>]:<EOL><INDENT>pkt.pop(<NUM_LIT:0>)  <EOL>continue<EOL><DEDENT>length = (pkt[<NUM_LIT:6>] << <NUM_LIT:8>) + pkt[<NUM_LIT:5>]<EOL>crc_pos = <NUM_LIT:5> + length<EOL>pkt_crc = pkt[crc_pos:crc_pos + <NUM_LIT:2>]<EOL>crc = le(crc16(pkt[:crc_pos]))<EOL>if pkt_crc == crc:<EOL><INDENT>pkt_end = crc_pos+<NUM_LIT:2><EOL>ret.append(pkt[:pkt_end])<EOL>del pkt[:pkt_end]<EOL><DEDENT>else:<EOL><INDENT>pkt_end = crc_pos+<NUM_LIT:2><EOL>del pkt[:pkt_end]<EOL><DEDENT><DEDENT>return ret<EOL>
Search through a string of binary for a valid xl320 package.

in: buffer to search through
out: a list of valid data packet