def poll(self):
if self.pseudo:
self.o2 = 19.3
return
if self.sensor_is_connected:
try:
self.serial.write(('adc read {}\r'.format(self.analog_port)).encode())
response = self.serial.read(25)
voltage = float(response[10:-3]) * 5 / 1024
if voltage == 0:
return
self.o2 = voltage * 0.21 / 2.0 * 100 # percent
rospy.logdebug('o2 = {}'.format(self.o2))
except:
rospy.logwarn("O2 SENSOR> Failed to read value during poll")
self.o2 = None
self.sensor_is_connected = False
else:
self.connect()
评论列表
文章目录