diff options
author | Jakob Odersky <jodersky@gmail.com> | 2014-10-03 23:22:10 +0200 |
---|---|---|
committer | Jakob Odersky <jodersky@gmail.com> | 2014-10-03 23:22:10 +0200 |
commit | ab19a9d1a3124f310bbb48de0779b5b96801940e (patch) | |
tree | 9392461ee5605dc10deae89d96ded417c26dc9a2 /vfd-uav/src/main/scala/vfd/uav/DummyConnection.scala | |
parent | e269a40911f901cac415269916d34032e167a618 (diff) | |
download | mavigator-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.scala | 43 |
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) + } + +} + + + |