def sendS2PathCommand( self, packet ): """ Envia comando de trazado (path) al S2. @type packet: bytearray @param packet: comando de trazado a enviar """ self.conn.write( packet ) t = time.time() while( time.time() - t < 3.5 ): try: b = self.conn.read( self.PACKET_LENGTH ) if( packet != b ): Utils.debug( "Packet Mismatch (path):" ) Utils.debug( packet ) Utils.debug( b ) raise self.conn.TimeoutException return except self.conn.TimeoutException as e: pass # necesitamos sincronizar las respuestas, lo hacemos con GetAll() packet = self.makeS2Packet( 65 ) while( True ): self.conn.write( packet ) try: self.conn.read( 11 ) # estos bytes quedaron sin ser recibidos self.conn.read( self.PACKET_LENGTH ) break except self.conn.TimeoutException as e: pass # solicitamos el estado de los sensores self.sendS2Command( packet, 0 )
def sendS2PathCommand(self, packet): """ Envia comando de trazado (path) al S2. @type packet: bytearray @param packet: comando de trazado a enviar """ self.serial.write(packet) t = time.time() while (time.time() - t < 3.5): try: b = self.serial.read(self.PACKET_LENGTH) if (packet != b): Utils.debug("Packet Mismatch (path):") Utils.debug(packet) Utils.debug(b) raise serial.SerialTimeoutException return except serial.SerialTimeoutException as e: pass # necesitamos sincronizar las respuestas, lo hacemos con GetAll() packet = self.makeS2Packet(65) while (True): self.serial.write(packet) try: self.serial.read(11) # estos bytes quedaron sin ser recibidos self.serial.read(self.PACKET_LENGTH) break except serial.SerialTimeoutException as e: pass # solicitamos el estado de los sensores self.sendS2Command(packet, 0)
def sendS2Command( self, packet, pause ): """ Envia un comando al S2. @type packet: bytearray @param packet: comando a enviar @type pause: integer @param pause: tiempo en ms a esperar por la respuesta luego de enviar el comando @rtype: bool @return: Verdadero si el ACK enviado por el S2 corresponde al esperado """ self.conn.write( packet ) if( pause > 0 ): Utils.pause( pause ) if( packet[0] != 0x50 ): b = self.conn.read( self.PACKET_LENGTH ) if( packet != b ): Utils.debug( "Packet Mismatch:" ) Utils.debug( packet ) Utils.debug( b ) return False return True
def sendS2Command(self, packet, pause): """ Envia un comando al S2. @type packet: bytearray @param packet: comando a enviar @type pause: integer @param pause: tiempo en ms a esperar por la respuesta luego de enviar el comando @rtype: bool @return: Verdadero si el ACK enviado por el S2 corresponde al esperado """ self.serial.write(packet) if (pause > 0): Utils.pause(pause) if (packet[0] != 0x50): b = self.serial.read(self.PACKET_LENGTH) if (packet != b): Utils.debug("Packet Mismatch:") Utils.debug(packet) Utils.debug(b) return False return True