def from_raw_to_ports(self,ports='in'): if ports == 'in' : # print "hago la conversion de raw a ports en read" # print self.raw_in_ports bin_data = Card.hex_to_bin(self.raw_in_ports) # los dos ultimos bits de los 2 bytes no sirven Card.logger_instance.debug("from_raw_to_ports in: bin_data %s %s %s %s hex_data %s" % (bin_data[0:4],bin_data[4:8],bin_data[8:12],bin_data[12:16],self.raw_in_ports)) bin_data = bin_data[0:7] + bin_data[8:15] for port_id in range(len(self.in_ports)): self.in_ports[port_id].set_value(int(bin_data[port_id])) else: bin_data = Card.hex_to_bin(self.raw_out_ports) for port_id in range(len(self.out_ports)): self.out_ports[port_id].set_value(int(bin_data[port_id]))