From ab19a9d1a3124f310bbb48de0779b5b96801940e Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Fri, 3 Oct 2014 23:22:10 +0200 Subject: modularize project --- .../src/main/scala/vfd/uav/DummyConnection.scala | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 vfd-uav/src/main/scala/vfd/uav/DummyConnection.scala (limited to 'vfd-uav/src/main/scala/vfd/uav/DummyConnection.scala') 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) + } + +} + + + -- cgit v1.2.3