update with new character specific functions

This commit is contained in:
Yeo Kheng Meng
2016-10-29 17:41:27 +08:00
parent 640cf2f7c3
commit e73ea6056d

View File

@@ -445,6 +445,25 @@ extension SerialPort {
let newlineChar = CChar(10) // Newline/Line feed character `\n` is 10
return try readUntilChar(newlineChar)
}
public func readChar() throws -> UnicodeScalar {
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 {
let character = UnicodeScalar(buffer[0])
return character
}
}
}
}
// MARK: Transmitting
@@ -480,4 +499,10 @@ extension SerialPort {
return try writeData(data)
}
public func writeChar(_ character: UnicodeScalar) throws -> Int{
let stringEquiv = String(character)
let bytesWritten = try writeString(stringEquiv)
return bytesWritten
}
}