Exemplo n.º 1
0
 def recv(self):
     data = ''
     flag = utils.bitify(self.flag)
     escape_byte = utils.bitify(self.escape_byte)
     # detect start flag
     while True:
         yield self.port.bit_arrive.event
         data += self.port.get(1)
         if data.endswith(flag):
             data = ''
             break
     # receive data until end flag
     while True:
         # receive 8 bits
         for _ in range(8):
             yield self.port.bit_arrive.event
             data += self.port.get(1)
         # check if is escaping
         if data.endswith(escape_byte):
             # delete the escaper byte
             data = data[:-8]
             # get the escapee byte
             for _ in range(8):
                 yield self.port.bit_arrive.event
                 data += self.port.get(1)
             continue
         # end flag detected
         if data.endswith(flag):
             data = data[:-8]
             break
     mint.ret(utils.unbitify(data))
Exemplo n.º 2
0
 def recv(self):
     data = ''
     flag = utils.bitify(self.flag)
     escape_byte = utils.bitify(self.escape_byte)
     # detect start flag
     while True:
         yield self.port.bit_arrive.event
         data += self.port.get(1)
         if data.endswith(flag):
             data = ''
             break
     # receive data until end flag
     while True:
         # receive 8 bits
         for _ in range(8):
             yield self.port.bit_arrive.event
             data += self.port.get(1)
         # check if is escaping
         if data.endswith(escape_byte):
             # delete the escaper byte
             data = data[:-8]
             # get the escapee byte
             for _ in range(8):
                 yield self.port.bit_arrive.event
                 data += self.port.get(1)
             continue
         # end flag detected
         if data.endswith(flag):
             data = data[:-8]
             break
     mint.ret(utils.unbitify(data))
Exemplo n.º 3
0
 def put(self, data, is_bits=False):
     if not is_bits:
         data = utils.bitify(data)
     self.obuffer += data
Exemplo n.º 4
0
 def put(self, data, is_bits=False):
     if not is_bits:
         data = utils.bitify(data)
     self.obuffer += data