Răsfoiți Sursa

read byte feature add

AleyRobotics Aleynikov Yuri 9 ani în urmă
părinte
comite
543e7d39e0
1 a modificat fișierele cu 17 adăugiri și 2 ștergeri
  1. 17 2
      Sources/SwiftSerial.swift

+ 17 - 2
Sources/SwiftSerial.swift

@@ -460,8 +460,23 @@ extension SerialPort {
                 let character = UnicodeScalar(buffer[0])
                 return character     
             }
-        }         
-
+        }
+    }
+    
+    public func readByte() throws -> UInt8 {
+        let buffer = UnsafeMutablePointer<UInt8>.allocate(capacity: 1)
+        
+        defer {
+            buffer.deallocate(capacity: 1)
+        }
+        
+        while true {
+            let bytesRead = try readBytes(into: buffer, size: 1)
+            
+            if bytesRead > 0 {
+                return buffer[0]
+            }
+        }
     }
 
 }