aboutsummaryrefslogtreecommitdiff
path: root/vfd-dashboard/src/main/scala/vfd/dashboard/ui/Layout.scala
diff options
context:
space:
mode:
Diffstat (limited to 'vfd-dashboard/src/main/scala/vfd/dashboard/ui/Layout.scala')
-rw-r--r--vfd-dashboard/src/main/scala/vfd/dashboard/ui/Layout.scala35
1 files changed, 21 insertions, 14 deletions
diff --git a/vfd-dashboard/src/main/scala/vfd/dashboard/ui/Layout.scala b/vfd-dashboard/src/main/scala/vfd/dashboard/ui/Layout.scala
index 1b1540e..a2e03ef 100644
--- a/vfd-dashboard/src/main/scala/vfd/dashboard/ui/Layout.scala
+++ b/vfd-dashboard/src/main/scala/vfd/dashboard/ui/Layout.scala
@@ -4,15 +4,8 @@ import rx.Obs
import scalatags.JsDom.all._
import vfd.dashboard.Environment
import vfd.dashboard.MavlinkSocket
-import vfd.dashboard.ui.instruments.Altimeter
-import vfd.dashboard.ui.instruments.Balance
-import vfd.dashboard.ui.instruments.Bar
-import vfd.dashboard.ui.instruments.Compass
-import vfd.dashboard.ui.instruments.Generic
-import vfd.dashboard.ui.instruments.Horizon
-import org.mavlink.messages.Heartbeat
-import org.mavlink.messages.Attitude
-import vfd.dashboard.ui.instruments.Clock
+import vfd.dashboard.ui.instruments._
+import org.mavlink.messages._
class Layout(socket: MavlinkSocket)(implicit env: Environment) {
@@ -55,13 +48,14 @@ class Layout(socket: MavlinkSocket)(implicit env: Environment) {
val motor1 = new Generic(0, 50, 100, "%")
val motor2 = new Generic(0, 50, 100, "%")
val motor3 = new Generic(0, 50, 100, "%")
- val powerDistribution = new Balance()
- val batteryLevel = new Bar()
+ val powerDistribution = new Distribution
+ val batteryLevel = new Bar
val top = header(
div("Flight Control Panel"),
div((new Clock).element),
- div("System #"))
+ div("UAV " + socket.remoteSystemId)
+ )
val left = panel(
map,
@@ -69,9 +63,9 @@ class Layout(socket: MavlinkSocket)(implicit env: Environment) {
thead("Motors"),
tbody(
tr(
- td(motor0.element),
- td(),
td(motor1.element),
+ td(),
+ td(motor0.element),
td()
),
tr(
@@ -137,6 +131,18 @@ class Layout(socket: MavlinkSocket)(implicit env: Environment) {
horizon.value() = (att.pitch, att.roll)
compass.value() = att.yaw
+ case s: ServoOutputRaw =>
+ val m0 = 100 * (s.servo1Raw - 1000) / 1000
+ val m1 = 100 * (s.servo2Raw - 1000) / 1000
+ val m2 = 100 * (s.servo3Raw - 1000) / 1000
+ val m3 = 100 * (s.servo4Raw - 1000) / 1000
+
+ motor0.value() = m0
+ motor1.value() = m1
+ motor2.value() = m2
+ motor3.value() = m3
+ powerDistribution.value() = (m0, m1, m2, m3)
+
//TODO route other messages
case _ => ()
@@ -144,4 +150,5 @@ class Layout(socket: MavlinkSocket)(implicit env: Environment) {
}
}
+
} \ No newline at end of file