diff options
Diffstat (limited to 'vfd-frontend/src/main/scala/vfd/frontend/ui/panels/Primary.scala')
-rw-r--r-- | vfd-frontend/src/main/scala/vfd/frontend/ui/panels/Primary.scala | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/vfd-frontend/src/main/scala/vfd/frontend/ui/panels/Primary.scala b/vfd-frontend/src/main/scala/vfd/frontend/ui/panels/Primary.scala index 3b48375..71e0fbb 100644 --- a/vfd-frontend/src/main/scala/vfd/frontend/ui/panels/Primary.scala +++ b/vfd-frontend/src/main/scala/vfd/frontend/ui/panels/Primary.scala @@ -2,15 +2,23 @@ package vfd.frontend.ui.panels import rx.core.Var import scalatags.JsDom.all.div +import vfd.frontend.util._ import vfd.frontend.ui.Components import vfd.frontend.util.Environment +import org.mavlink.messages.Message +import org.mavlink.messages.Attitude +import rx.core.Rx +import org.mavlink.messages.Pressure object Primary { - def apply()(implicit env: Environment) = { - val pitchRoll = Var((0.0, 0.0)) - val heading = Var(0.0) - val altitude = Var(0.0) + def apply(packet: Rx[Message])(implicit env: Environment) = { + val attitude = packet.only[Attitude] + val pressure = packet.only[Pressure] + + val pitchRoll = Rx{(attitude().pitch.toDouble, attitude().roll.toDouble)} + val heading = Rx{attitude().heading.toDouble} + val altitude = Rx{pressure().pressure.toDouble} div( Components.heading(heading, "33%"), |