Beispiel #1
0
    def __init__(self, frame=None):
        self.bitStuffing = bit_stuffing()
        self.hamming = Hamming()
        self.frame = frame
        self.fi_size = 8  #bit
        self.addr_size = 6  #byte
        self.fi_pos = 1
        self.da_pos = 2
        self.sa_pos = 8
        self.payload_pos = 14
        self.da_addr = None
        self.sa_addr = None

        if not frame:
            self.FI = bitarray(self.fi_size)
            self.FI.setall(False)
            self.b_DA = None
            self.b_SA = None
        else:
            self.extractFrameInfo()
Beispiel #2
0
    packet.append(bit)  # generuje pakiet

    counter += 1
    if (counter == wielkoscPakietu):  # pakiet po 8 bitow
        packets.append(packet)  # tworzy liste pakietow
        packet = []
        counter = 0

if (
        len(packet) > 0
):  # mozliwe tworzenie pakietow wiekszych niz 8 bitow. po prostu ostatni pakiet, bedzie malutki
    packets.append(packet)

# DODANIE BITU PARZYSTOSCI DO KAZDEGO Z PAKIETOW
tmr = TMR()
hamming = Hamming()
parity = ParityBit()
crc = ParityBit()
channel = Channel(float(str(EBSC.get())), float(str(EG1.get())),
                  float(str(EG2.get())), float(str(EG3.get())),
                  float(str(EG4.get())))

packetsWithParityBit = []
for pack in packets:
    if varPACK.get() == 1:
        pack = tmr.codeTMR(pack)  # DODANIE TMR
        pack = parity.addParityBit(pack)
    if varPACK.get() == 2:
        pack = hamming.codeHamming(pack)  # DODANIE Hamming
        pack = crc.addParityBit(pack)