Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
640cf2f7c3 | ||
|
|
21adc2c8f4 | ||
|
|
4ff61e6c2c | ||
|
|
1cfb2028e4 |
@@ -25,6 +25,7 @@ do {
|
|||||||
print("Serial port \(portName) opened successfully.")
|
print("Serial port \(portName) opened successfully.")
|
||||||
defer {
|
defer {
|
||||||
serialPort.closePort()
|
serialPort.closePort()
|
||||||
|
print("Port Closed")
|
||||||
}
|
}
|
||||||
|
|
||||||
serialPort.setSettings(receiveRate: .baud9600,
|
serialPort.setSettings(receiveRate: .baud9600,
|
||||||
@@ -73,10 +74,10 @@ do {
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print("End of example");
|
||||||
|
|
||||||
|
|
||||||
print("We successfully received back \(numberOfMultiNewLineTest) lines")
|
|
||||||
|
|
||||||
} catch PortError.failedToOpen {
|
} catch PortError.failedToOpen {
|
||||||
print("Serial port \(portName) failed to open. You might need root permissions.")
|
print("Serial port \(portName) failed to open. You might need root permissions.")
|
||||||
} catch {
|
} catch {
|
||||||
|
|||||||
16
README.md
16
README.md
@@ -63,12 +63,16 @@ export PATH=$HOME/swift-3.0/usr/bin:$PATH
|
|||||||
To get started quickly, you can take a look at my example project [here](Examples/SwiftSerialExample). In order to run the example properly, you need to connect one of your (USB/UART) serial ports in a loopback manner. Basically, you short the TX and RX pins of the serial port.
|
To get started quickly, you can take a look at my example project [here](Examples/SwiftSerialExample). In order to run the example properly, you need to connect one of your (USB/UART) serial ports in a loopback manner. Basically, you short the TX and RX pins of the serial port.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/yeokm1/SwiftLinuxSerial.git
|
git clone https://github.com/yeokm1/SwiftSerial.git
|
||||||
cd SwiftLinuxSerial/Examples/SwiftSerialExample/
|
cd SwiftSerial/Examples/SwiftSerialExample/
|
||||||
swift build
|
swift build
|
||||||
#You need root to access the serial port. Replace /dev/ttyUSB0 with the name of your serial port under test
|
|
||||||
|
#For Linux: You need root to access the serial port. Replace /dev/ttyUSB0 with the name of your serial port under test
|
||||||
sudo ./.build/debug/SwiftSerialExample /dev/ttyUSB0
|
sudo ./.build/debug/SwiftSerialExample /dev/ttyUSB0
|
||||||
|
|
||||||
|
#For Mac: Root is not required
|
||||||
|
./.build/debug/SwiftSerialExample /dev/tty.usbserial
|
||||||
|
|
||||||
#If all goes well you should see a series of messages informing you that data transmitted has been received properly.
|
#If all goes well you should see a series of messages informing you that data transmitted has been received properly.
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -98,7 +102,7 @@ Then run `swift build` to download the dependencies and compile your project. Yo
|
|||||||
```swift
|
```swift
|
||||||
let serialPort: SerialPort = SerialPort(path: portName)
|
let serialPort: SerialPort = SerialPort(path: portName)
|
||||||
```
|
```
|
||||||
Supply the portname that you wish to open like `/dev/ttyUSB0` or `/dev/usbserial`.
|
Supply the portname that you wish to open like `/dev/ttyUSB0` or `/dev/tty.usbserial`.
|
||||||
|
|
||||||
### Opening the Serial Port
|
### Opening the Serial Port
|
||||||
|
|
||||||
@@ -113,9 +117,9 @@ Opening the port without any parameters will set the port to receive and transmi
|
|||||||
```swift
|
```swift
|
||||||
serialPort.setSettings(receiveRate: .baud9600, transmitRate: .baud9600, minimumBytesToRead: 1)
|
serialPort.setSettings(receiveRate: .baud9600, transmitRate: .baud9600, minimumBytesToRead: 1)
|
||||||
```
|
```
|
||||||
The port settings call can be as simple as the above. For the baud rate, just supply both transmit and receive even if you are only intend to use one function. For example, transmitRate will be ignored if you specified `andTransmit : false` when opening the port.
|
The port settings call can be as simple as the above. For the baud rate, just supply both transmit and receive even if you are only intending to use one transfer direction. For example, transmitRate will be ignored if you specified `andTransmit : false` when opening the port.
|
||||||
|
|
||||||
`minimumBytesToRead` determines how many characters Linux must wait to receive before it will return from a [read()](https://linux.die.net/man/2/read) function. If in doubt, just put 1.
|
`minimumBytesToRead` determines how many characters the system must wait to receive before it will return from a [read()](https://linux.die.net/man/2/read) function. If in doubt, just put 1.
|
||||||
|
|
||||||
This function has been defined with default settings as shown in the function definition.
|
This function has been defined with default settings as shown in the function definition.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user