aboutsummaryrefslogtreecommitdiff
path: root/vfd-uav/src/main/scala/vfd/uav/DummyConnection.scala
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2014-10-03 23:22:10 +0200
committerJakob Odersky <jodersky@gmail.com>2014-10-03 23:22:10 +0200
commitab19a9d1a3124f310bbb48de0779b5b96801940e (patch)
tree9392461ee5605dc10deae89d96ded417c26dc9a2 /vfd-uav/src/main/scala/vfd/uav/DummyConnection.scala
parente269a40911f901cac415269916d34032e167a618 (diff)
downloadmavigator-ab19a9d1a3124f310bbb48de0779b5b96801940e.tar.gz
mavigator-ab19a9d1a3124f310bbb48de0779b5b96801940e.tar.bz2
mavigator-ab19a9d1a3124f310bbb48de0779b5b96801940e.zip
modularize project
Diffstat (limited to 'vfd-uav/src/main/scala/vfd/uav/DummyConnection.scala')
-rw-r--r--vfd-uav/src/main/scala/vfd/uav/DummyConnection.scala43
1 files changed, 43 insertions, 0 deletions
diff --git a/vfd-uav/src/main/scala/vfd/uav/DummyConnection.scala b/vfd-uav/src/main/scala/vfd/uav/DummyConnection.scala
new file mode 100644
index 0000000..bf8714f
--- /dev/null
+++ b/vfd-uav/src/main/scala/vfd/uav/DummyConnection.scala
@@ -0,0 +1,43 @@
+package vfd.uav
+
+import akka.actor.Actor
+import akka.actor.Terminated
+import scala.concurrent.duration.FiniteDuration
+import java.util.concurrent.TimeUnit._
+
+class DummyConnection extends Actor with Connection {
+ import context._
+
+ var time = 0.0
+ val messageInterval = FiniteDuration(20, MILLISECONDS)
+
+ def flightData(time: Double) = {
+ val speed = 5.0 / 1000
+ val roll = 5.0/180*math.Pi
+ val pitch = 10.0/180*math.Pi
+ Connection.NewDataFrame(DataFrame(
+ roll,
+ pitch,
+ (roll * time * speed) % math.Pi,
+ (pitch * time * speed),
+ 22
+ ))
+ }
+
+
+ override def preStart() = {
+ context.system.scheduler.schedule(messageInterval, messageInterval){
+ time += messageInterval.toMillis
+ clients foreach (_ ! flightData(time))
+ }
+ }
+
+ def receive = {
+ case Connection.Register => register(sender)
+ case Terminated(client) => unregister(client)
+ }
+
+}
+
+
+