diff options
author | Jakob Odersky <jodersky@gmail.com> | 2013-05-21 20:44:58 +0200 |
---|---|---|
committer | Jakob Odersky <jodersky@gmail.com> | 2013-05-21 20:44:58 +0200 |
commit | 4be8ee0da20995e0e43f50cb4675b65609a613a6 (patch) | |
tree | 291c8cbb7da7c0d434c2b72d6973fac29ba50a82 | |
parent | d30e8a15c392cb9c85915da59149581f9e8dfbc4 (diff) | |
download | akka-serial-4be8ee0da20995e0e43f50cb4675b65609a613a6.tar.gz akka-serial-4be8ee0da20995e0e43f50cb4675b65609a613a6.tar.bz2 akka-serial-4be8ee0da20995e0e43f50cb4675b65609a613a6.zip |
improve example
-rw-r--r-- | example/src/main/scala/com/github/jodersky/flow/example/Main.scala | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/example/src/main/scala/com/github/jodersky/flow/example/Main.scala b/example/src/main/scala/com/github/jodersky/flow/example/Main.scala index f202c64..5032d1c 100644 --- a/example/src/main/scala/com/github/jodersky/flow/example/Main.scala +++ b/example/src/main/scala/com/github/jodersky/flow/example/Main.scala @@ -3,24 +3,38 @@ package com.github.jodersky.flow.example import scala.concurrent._ import scala.concurrent.ExecutionContext.Implicits.global import com.github.jodersky.flow.Serial +import scala.util.Try +import scala.util.Success object Main { def main(args: Array[String]): Unit = { - println("opening") - - Serial.debug(true) - val s = Serial.open("/dev/ttyACM0", 115200){ data => - println(data.mkString("[",",","]")) + val isInt = Try(args(1).toInt) match {case Success(_) => true; case _ => false} + if (!(args.length == 2 && isInt)) { + println("invalid parameters") + println("parameters: port baud") + println("example: /dev/ttyACM0 115200") + return } - println("press enter to write a loooooooooong array of data") - Console.readLine() + val port = args(0) + val baud = args(1).toInt + + Serial.debug(true) - val data: Array[Byte] = Array.fill(1000000)(42) - s.write(data).map(d => println("sent: " + d.mkString("[",",","]"))).recover{case t => println("write error")} + println("opening " + port) + val serial = Serial.open(port, baud) { data => + println("received: " + data.mkString("[", ",", "]")) + } + println("press enter to write a looong array of data") + Console.readLine() + + val data: Array[Byte] = Array.fill(100)(42) + serial.write(data).map(d => println("wrote: " + d.mkString("[", ",", "]"))).recover { case t => println("write error") } + println("press enter to exit") Console.readLine() + println("exiting") Console.flush() } |