diff options
Diffstat (limited to 'flow-samples/flow-samples-terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Main.scala')
-rw-r--r-- | flow-samples/flow-samples-terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Main.scala | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/flow-samples/flow-samples-terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Main.scala b/flow-samples/flow-samples-terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Main.scala new file mode 100644 index 0000000..27686ce --- /dev/null +++ b/flow-samples/flow-samples-terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Main.scala @@ -0,0 +1,34 @@ +package com.github.jodersky.flow +package samples.terminal + +import com.github.jodersky.flow._ +import akka.actor.ActorSystem +import akka.actor.Props +import akka.actor.actorRef2Scala +import akka.util.ByteString + +object Main { + + def ask(label: String, default: String) = { + print(s"${label} [${default}]: ") + val in = Console.readLine() + println("") + if (in.isEmpty) default else in + } + + def main(args: Array[String]): Unit = { + val port = ask("Device", "/dev/ttyACM0") + val baud = ask("Baud rate", "115200").toInt + val cs = ask("Char size", "8").toInt + val tsb = ask("Use two stop bits", "false").toBoolean + val parity = Parity(ask("Parity (0=None, 1=Odd, 2=Even)", "0").toInt) + + val settings = SerialSettings(port, baud, cs, tsb, parity) + + println("Starting terminal system, enter :q to exit.") + internal.InternalSerial.debug(true) + val system = ActorSystem("flow") + val terminal = system.actorOf(Terminal(settings), name = "terminal") + system.registerOnTermination(println("Stopped terminal system.")) + } +}
\ No newline at end of file |