<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def findPkt(pkt):
 	""" 	Search through a string of binary for a valid xl320 package. 	in: buffer to search through 	out: a list of valid data packet 	"""

	# print('findpkt', pkt)
	# print('-----------------------')
	ret = []
	while len(pkt)-10 >= 0:
		if pkt[0:4] != [0xFF, 0xFF, 0xFD, 0x00]:
			pkt.pop(0)  # get rid of the first index
			# print(' - pop:', pkt)
			continue
		# print(' > good packet')
		length = (pkt[6] << 8) + pkt[5]
		# print(' > length', length)
		crc_pos = 5 + length
		pkt_crc = pkt[crc_pos:crc_pos + 2]
		crc = le(crc16(pkt[:crc_pos]))
		# if len(pkt) < (crc_pos + 1):
		# 	print('<<< need more data for findPkt >>>')

		# print(' > calc crc', crc)
		# print(' > pkt crc', pkt_crc)
		if pkt_crc == crc:
			pkt_end = crc_pos+2
			ret.append(pkt[:pkt_end])
			# print(' > found:', pkt[:pkt_end])
			# print(' > pkt size', pkt_end)
			del pkt[:pkt_end]
			# print(' > remaining:', pkt)
		else:
			pkt_end = crc_pos+2
			# print(' - crap:', pkt[:pkt_end])
			del pkt[:pkt_end]
	# print('findpkt ret:', ret)
	return ret