diff --git a/Sources/SwiftRPLidar/SwiftRPLidar.swift b/Sources/SwiftRPLidar/SwiftRPLidar.swift index 0e8c5da..3141a1b 100644 --- a/Sources/SwiftRPLidar/SwiftRPLidar.swift +++ b/Sources/SwiftRPLidar/SwiftRPLidar.swift @@ -45,14 +45,14 @@ func processScan(raw: Data) throws -> LidarScan { if ((raw[1] & 0b1) != 1) { } - let angle = (raw[1] >> 1) + (raw[2] << 7) / 64 - let distance = raw[3] + (raw[4] << 8) / 4 - return LidarScan(newScan: newScan, quality: quality, angle: angle, distance: distance) + let angle = Float(raw[1] >> 1) + Float(raw[2] << 7) / 64 + let distance = Float(raw[3]) + Float(raw[4] << 8) / 4 + return LidarScan(newScan: newScan == 1, quality: quality, angle: angle, distance: distance) } struct LidarScan{ var newScan: Bool - var quality: Float + var quality: UInt8 var angle: Float var distance: Float }