aboutsummaryrefslogtreecommitdiff
path: root/flow/src/main/scala/com/github/jodersky/flow/Serial.scala
diff options
context:
space:
mode:
Diffstat (limited to 'flow/src/main/scala/com/github/jodersky/flow/Serial.scala')
-rw-r--r--flow/src/main/scala/com/github/jodersky/flow/Serial.scala14
1 files changed, 6 insertions, 8 deletions
diff --git a/flow/src/main/scala/com/github/jodersky/flow/Serial.scala b/flow/src/main/scala/com/github/jodersky/flow/Serial.scala
index e5cf1d6..6c05e14 100644
--- a/flow/src/main/scala/com/github/jodersky/flow/Serial.scala
+++ b/flow/src/main/scala/com/github/jodersky/flow/Serial.scala
@@ -28,13 +28,9 @@ object Serial extends ExtensionKey[SerialExt] {
* In case the port is successfully opened, the operator will respond with an `Opened` message.
* In case the port cannot be opened, the manager will respond with a `CommandFailed` message.
*
- * @param port name of serial port
- * @param baud baud rate to use with serial port
- * @param characterSize size of a character of the data sent through the serial port
- * @param twoStopBits set to use two stop bits instead of one
- * @param parity type of parity to use with serial port
+ * @param settings settings of serial port to open
*/
- case class Open(port: String, baud: Int, characterSize: Int, twoStopBits: Boolean, parity: Parity.Parity) extends Command
+ case class Open(port: String, settings: SerialSettings, bufferSize: Int = 1024) extends Command
/**
* A port has been successfully opened.
@@ -68,12 +64,14 @@ object Serial extends ExtensionKey[SerialExt] {
* @param data data to be written to port
* @param ack acknowledgment sent back to sender once data has been enqueued in kernel for sending
*/
- case class Write(data: ByteString, ack: Event = NoAck) extends Command
+ case class Write(data: ByteString, ack: Int => Event = NoAck) extends Command
/**
* Special type of acknowledgment that is not sent back.
*/
- case object NoAck extends Event
+ case object NoAck extends Function1[Int, Event] {
+ def apply(length: Int) = sys.error("cannot apply NoAck")
+ }
/**
* Request closing of port.