From bad8e57b1fdc80e4a2e47889967eaa4bdd03ba7a Mon Sep 17 00:00:00 2001 From: Piv <18462828+Piv200@users.noreply.github.com> Date: Sun, 3 May 2020 15:38:29 +0930 Subject: [PATCH] Add support for local RPLidar on macOS --- .vscode/launch.json | 5 +++-- car/src/car/tracking/devices/factory.py | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 8973bfd..ffe4adf 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -10,8 +10,9 @@ "request": "launch", "module": "car", "env": { - "CAR_LIDAR": "LIDAR_MOCK", - "CAR_VEHICLE": "CAR_MOCK" + "CAR_LIDAR": "LIDAR_RPLIDAR", + "CAR_VEHICLE": "CAR_MOCK", + "LIDAR_DEVICE": "/dev/tty.usbserial-0001" } }, { diff --git a/car/src/car/tracking/devices/factory.py b/car/src/car/tracking/devices/factory.py index 2430ab3..fd17874 100644 --- a/car/src/car/tracking/devices/factory.py +++ b/car/src/car/tracking/devices/factory.py @@ -17,7 +17,10 @@ def get_lidar(device=None, connection='/dev/ttyUSB0'): return MockLidar(loader.load_scans_bytes_file("car/src/car/tracking/out.pickle")) elif actual_device == RPLIDAR: try: + # TODO: Cleanup connection setting, probably don't need to pass it into the method. from rplidar import RPLidar + if "LIDAR_DEVICE" in os.environ: + return RPLidar(os.environ['LIDAR_DEVICE']) return RPLidar(connection) except ImportError: print('Could not import RPLidar. Have you downloaded rplidar?')