diff options
author | Jakob Odersky <jodersky@gmail.com> | 2015-03-18 00:52:05 +0100 |
---|---|---|
committer | Jakob Odersky <jodersky@gmail.com> | 2015-03-18 00:52:14 +0100 |
commit | a9b1db69d3ceea9477c19bffb6b6b23ec66a3d77 (patch) | |
tree | ae5b6740e078d024487e9dd772770a4f2d7d6610 /README.md | |
parent | 27c53ddcee21796069445e055625c52808962f69 (diff) | |
download | mavigator-a9b1db69d3ceea9477c19bffb6b6b23ec66a3d77.tar.gz mavigator-a9b1db69d3ceea9477c19bffb6b6b23ec66a3d77.tar.bz2 mavigator-a9b1db69d3ceea9477c19bffb6b6b23ec66a3d77.zip |
add description on dashboard
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -19,10 +19,10 @@ This project is made of several subprojects: 2. Navigate to localhost:9000 in a modern browser (tested on Firefox and Chrome) to see the interface. The feed defaults to mock data. -# Developer Info +# Developer Overview The general idea of this project is to create a web interface for displaying live data from a drone. -A few explanations to get started: +The flow of such data can be summarized in a few points: - Data is received and processed in the form of [MAVLink](http://qgroundcontrol.org/mavlink/start) messages. - Messages arrive at a communication backend (implemented in vfd-uav). Currently, this is either a mock backend that generates random messages, or a serial connection using [flow](https://github.com/jodersky/flow) for low-level communication. - These messages are then transferred through vfd-main to the interface via websockets. @@ -30,6 +30,13 @@ A few explanations to get started: - Currently, a custom set of MAVLink messages are used. Their definition is in mavlink/concise.xml - The dialect definition is translated from xml into useable scala code by a plugin during the build (plugin is contained in /project). +Details on the dashboard interface: + - the frontend is a pure scalajs application using [scalatags](https://github.com/lihaoyi/scalatags) templating + - basically, vfd-main provides a websocket for communication and serves a page (see views.uav.scala.html) that contains a div with a loading message + - once loaded, the scalajs frontend replaces the content of said div with its insrumentation (see code in package vfd.dashboard.ui.*) + - messages are received by a websocket and stored in an observable "var"; this process uses [scala.rx](https://github.com/lihaoyi/scala.rx) + - panels observe the recieved messages and update their respective instruments and components + # License Copyright (C) Jakob Odersky |