Revert "serial.write should have a blocking wait if the serial port is busy"

This reverts commit 0537d1fcac.
This commit is contained in:
Fabio Manganiello 2018-09-05 02:04:10 +02:00
parent 0537d1fcac
commit 3b8c580611
1 changed files with 12 additions and 8 deletions

View File

@ -131,15 +131,19 @@ class SerialPlugin(GpioSensorPlugin):
if isinstance(data, str):
data = data.encode('utf-8')
with self.serial_lock:
try:
ser = self._get_serial()
except:
time.sleep(1)
ser = self._get_serial(reset=True)
try:
serial_available = self.serial_lock.acquire(timeout=2)
if serial_available:
try:
ser = self._get_serial()
except:
time.sleep(1)
ser = self._get_serial(reset=True)
self.logger.info('Writing {} to {}'.format(data, self.device))
ser.write(data)
self.logger.info('Writing {} to {}'.format(data, self.device))
ser.write(data)
finally:
self.serial_lock.release()
# vim:sw=4:ts=4:et: