diff --git a/Sources/SwiftRPLidar/LidarSerial.swift b/Sources/SwiftRPLidar/LidarSerial.swift new file mode 100644 index 0000000..e1b1c38 --- /dev/null +++ b/Sources/SwiftRPLidar/LidarSerial.swift @@ -0,0 +1,8 @@ +protocol LidarSerial { + var dtr: Bool {get set}; + var inWaiting: Int {get}; + func closePort() -> Void; + func openPort() -> Void; + readData(ofLength: Int) throws -> Void; + writeData(_ data: Data) throws -> Void; +} diff --git a/Sources/SwiftRPLidar/SwiftRPLidar.swift b/Sources/SwiftRPLidar/SwiftRPLidar.swift index 302c7ed..4b858a0 100644 --- a/Sources/SwiftRPLidar/SwiftRPLidar.swift +++ b/Sources/SwiftRPLidar/SwiftRPLidar.swift @@ -1,5 +1,5 @@ import Foundation -import SwiftSerial +import LidarSerial struct Constants{ static let SYNC: UInt8 = 0xA5 @@ -64,11 +64,11 @@ typealias ScanHandler = (_ scans: [LidarScan]) -> Bool class RPLidar{ private var motor: Bool = false - private var serialPort: SerialPort? = nil + private var serialPort: LidarSerial? = nil private var motorRunning = false - init(onPort serialPort: SerialPort) throws { + init(onPort serialPort: LidarSerial) throws { self.serialPort = serialPort try connect() try startMotor()