def prepare_frame_gbn(frame, sn): sn = sn % (window_size + 1) sn = bin(sn) sn = sn[2:].zfill(3) frame = str(sn) + frame # CRC application crcframe = err.crc([frame], err.generator_poly, frame_size) return crcframe[0]
def write_crc(list_of_frames, generator, error_list_frames, error_bit_list): list_of_frames2=err.crc(list_of_frames=list_of_frames, generator=err.generator_poly, no_of_bits=err.no_of_bits)[:] # Printing the frames print('Codeword frames sent:') print(list_of_frames2) # Inserting error for i in range(len(error_list_frames)): list_of_frames2=ins_error(list_of_frames2, error_list_frames[i], error_bit_list[i]) with open('crc_op.txt', 'w') as f: for item in list_of_frames2: f.write("%s" % item)
def generateAck_gbn(ackno): # Generate crc appended code crcframe = err.crc([ackno], err.generator_poly, frame_size) return crcframe[0]
def generateAck(rn): # Generate crc appended code ack = bin(rn)[2:] crcframe = err.crc([ack], err.generator_poly, frame_size) return crcframe[0]
def prepare_frame(frame, sn): frame = str(sn) + frame # CRC application crcframe = err.crc([frame], err.generator_poly, frame_size) return crcframe[0]