Clean up lidar device setting to only use one environment variable

This commit is contained in:
Piv
2020-05-27 18:18:14 +09:30
parent 4d511ca91b
commit 81e3fcb9db

View File

@@ -3,10 +3,9 @@ from .. import lidar_loader as loader
import os import os
MOCK_DEVICE = "LIDAR_MOCK" MOCK_DEVICE = "LIDAR_MOCK"
RPLIDAR = "LIDAR_RPLIDAR"
def get_lidar(device=None, connection='/dev/ttyUSB0'): def get_lidar(device=None):
actual_device = None actual_device = None
try: try:
actual_device = device if device is not None else os.environ["CAR_LIDAR"] actual_device = device if device is not None else os.environ["CAR_LIDAR"]
@@ -15,16 +14,13 @@ def get_lidar(device=None, connection='/dev/ttyUSB0'):
'No lidar device specified and the CAR_LIDAR environment variable is not set.') 'No lidar device specified and the CAR_LIDAR environment variable is not set.')
if actual_device == MOCK_DEVICE: if actual_device == MOCK_DEVICE:
return MockLidar(loader.load_scans_bytes_file("car/src/car/tracking/out.pickle")) return MockLidar(loader.load_scans_bytes_file("car/src/car/tracking/out.pickle"))
elif actual_device == RPLIDAR: elif actual_device != '':
try: try:
# TODO: Cleanup connection setting, probably don't need to pass it into the method.
from rplidar import RPLidar from rplidar import RPLidar
if "LIDAR_DEVICE" in os.environ: return RPLidar(device)
return RPLidar(os.environ['LIDAR_DEVICE'])
return RPLidar(connection)
except ImportError: except ImportError:
print('Could not import RPLidar. Have you downloaded rplidar?') print('Could not import RPLidar. Have you downloaded rplidar?')
else: else:
print('No valid lidar device found. Please choose one of ' + print('No valid lidar device found. Please choose ' +
MOCK_DEVICE + ' or ' + RPLIDAR) MOCK_DEVICE + ' or a dn address for the lidar device.')
return None return None