aboutsummaryrefslogtreecommitdiff
path: root/flow-main/src/main/scala/com/github/jodersky/flow/SerialManager.scala
diff options
context:
space:
mode:
Diffstat (limited to 'flow-main/src/main/scala/com/github/jodersky/flow/SerialManager.scala')
-rw-r--r--flow-main/src/main/scala/com/github/jodersky/flow/SerialManager.scala9
1 files changed, 5 insertions, 4 deletions
diff --git a/flow-main/src/main/scala/com/github/jodersky/flow/SerialManager.scala b/flow-main/src/main/scala/com/github/jodersky/flow/SerialManager.scala
index 0d69213..b3128ac 100644
--- a/flow-main/src/main/scala/com/github/jodersky/flow/SerialManager.scala
+++ b/flow-main/src/main/scala/com/github/jodersky/flow/SerialManager.scala
@@ -20,6 +20,7 @@ import akka.actor.actorRef2Scala
/**
* Actor that manages serial port creation. Once opened, a serial port is handed over to
* a dedicated operator actor that acts as an intermediate between client code and the native system serial port.
+ * @see SerialOperator
*/
class SerialManager extends Actor with ActorLogging {
import SerialManager._
@@ -32,12 +33,12 @@ class SerialManager extends Actor with ActorLogging {
}
def receive = {
- case c @ Open(port, baud, cs, tsb, parity) => Try { InternalSerial.open(port, baud, cs, tsb, parity.id) } match {
+ case c @ Open(s) => Try { InternalSerial.open(s.port, s.baud, s.characterSize, s.twoStopBits, s.parity.id) } match {
case Failure(t) => sender ! CommandFailed(c, t)
case Success(serial) => {
- val operator = context.actorOf(Props(classOf[SerialOperator], serial), name = escapePortString(port))
- val opened = Opened(serial.port, serial.baud, serial.characterSize, serial.twoStopBits, Parity(serial.parity), operator)
- sender.tell(opened, operator)
+ val operator = context.actorOf(SerialOperator(serial), name = escapePortString(s.port))
+ val settings = SerialSettings(serial.port, serial.baud, serial.characterSize, serial.twoStopBits, Parity(serial.parity))
+ sender.tell(Opened(settings, operator), operator)
}
}
}