Data Sheet
print "Discarding current buffer because of bad checksum"
return False
def send_command(self, command):
with self.serial_lock:# This avoid concurrent writes/reads of
serial
self.port.write(command)
ack = self.port.read(1)
# This loop discards buffered frames until an ACK header is
reached
while ord(ack) != 20:
self.port.readline()
ack = self.port.read(1)
else:
ack += self.port.read(3)
# Check ACK crc8
crc8 = self.crc8(ack[:3])
if crc8 == ord(ack[3]):
# Check if ACK or NACK
if ord(ack[2]) == 0:
return True
else:
print "Command not acknowledged"
return False
else:
print "Error in ACK checksum"
return False
def start_sensor(self):
if self.send_command("\x00\x52\x02\x01\xDF"):
print "Sensor started successfully"
def stop_sensor(self):
if self.send_command("\x00\x52\x02\x00\xD8"):
print "Sensor stopped successfully"
def run(self):
self.port.flushInput()
self.start_sensor()
depth_array = []
while depth_array is not None:
depth_array = self.get_depth_array()
Copyright © Terabee 2018
Terabee, 90 Rue Henri Fabre
01630, St Genis-Pouilly, France (next to CERN)
21/22