def send(data, seq, flag, send_socket, target): hexseq = hex(seq)[2:] if len(hexseq) == 1: hexseq = '0' + hexseq print("Send Hex", hexseq, "Send FLAG", flag) message = flag + hexseq + data crc = cg.generate(message) if len(crc) < 4: crc = '0' + crc print("Send crc", crc) frame = bg.fill(message + crc) print("Send Frame:", frame) send_socket.sendto(frame.encode(), target)
def sendcheck(seq, receive_socket, target, state=False): print("Feedback Start") hexseq = hex(seq)[2:] if len(hexseq) == 1: hexseq = '0' + hexseq print("Hex:", hexseq) if state is False: hexseq = '00' + hexseq else: hexseq = '01' + hexseq print("State:", hexseq[:2]) crc = cg.generate(hexseq) if len(crc) < 4: crc = '0' + crc print("Receive crc:", crc) frame = bg.fill(hexseq + crc) print("Feedback Frame:", frame) print("Feedback stop:") receive_socket.sendto(frame.encode(), target)
def send(message, seq): # This data should be a Hex String List _FLAG = False hexseq = hex(seq)[2:] if len(hexseq) == 1: hexseq = '0' + hexseq print("Send Hex", hexseq) message = hexseq + message crc = cg.generate(message) if len(crc) < 4: crc = '0' + crc print("Crc", crc) frame = bg.fill(message + crc) print("Send Frame:", frame) send_socket.sendto(frame.encode(), ('127.0.0.2', 8888)) try: _FLAG = wait(hexseq) except Exception as e: print("Send Timeout!", e) _FLAG = False if _FLAG is False: send(message, seq) else: return True
def make(seq_num, data=b''): seq_bytes = seq_num.to_bytes(4, byteorder='little', signed=True) crc = cg.generate(hex(data)[2:]) crc = crc.encode() return seq_bytes + data + crc
def verify(message): if cg.generate(message) == '0': return True else: return False
import CRC.generate as cg import CRC.verify as cf binmessage = 0b010011011101010 hexmessage = hex(binmessage)[2:] print(cg.generate((hexmessage))) sendmessage = hexmessage + cg.generate(hexmessage) print('Send Message:', sendmessage) print('Verify:', cf.verify(sendmessage)) print('Error Message') errormessage = list(sendmessage) errormessage[0] = 'b' errormessage[3] = 'c' errormessage = ''.join(errormessage) print('errormessage:', errormessage) print('Test Verify:', cf.verify(errormessage))