import SwiftRPLidar import SwiftSerial do { try main() } catch { print("Unexpected Error \(error)") } func main() throws { let serialPort = SerialPort(path: "/dev/cu.usbserial-0001") let lidar = try SwiftRPLidar(onPort: serialPort) var index = 0 try lidar.iterMeasurements { measurement in print("Quality: ",measurement.quality, ", Angle: ", measurement.angle, ", Distance: ", measurement.distance) index += 1 return index <= 10 } index = 0 _ = try lidar.startScanning() for measurement in lidar { print("Quality: ",measurement.quality, ", Angle: ", measurement.angle, ", Distance: ", measurement.distance) index += 1 if index > 10 { break } } } extension SerialPort: LidarSerial{ public func setBaudrate(baudrate: Int) { switch baudrate{ default: setSettings(receiveRate: .baud115200, transmitRate: .baud115200, minimumBytesToRead: 3, timeout: 1) } } }