aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2015-03-17 12:12:05 +0100
committerJakob Odersky <jodersky@gmail.com>2015-03-17 12:12:05 +0100
commit45777ba8a01a0db48104e59b3c44a1ed944addeb (patch)
tree74fbff0dac875f5c4077014761b745f9193d2b5d
parentf81d5f8a89afad75366550973da447e08d94fdf8 (diff)
downloadmavigator-45777ba8a01a0db48104e59b3c44a1ed944addeb.tar.gz
mavigator-45777ba8a01a0db48104e59b3c44a1ed944addeb.tar.bz2
mavigator-45777ba8a01a0db48104e59b3c44a1ed944addeb.zip
update readme with some more information
-rw-r--r--README.md32
1 files changed, 24 insertions, 8 deletions
diff --git a/README.md b/README.md
index 1f8c586..06c42c5 100644
--- a/README.md
+++ b/README.md
@@ -1,19 +1,35 @@
# Virtual Flight Deck for UAVs
-Web interface simulating a cockpit of an unmanned aerial vehicle, built with Akka and Play.
+Web interface simulating a cockpit of an unmanned aerial vehicle, built with Akka, Play and ScalaJS.
This project is made of several subprojects:
- - `vfd-main` contains the play application that runs the actual interface
- - `vfd-dashboard` dynamic interface built with scalajs that is served by the main backend
- - `vfd-uav` communication library
+ - `vfd-main` contains the play application that serves the actual interface
+ - `vfd-dashboard` dynamic interface built with scalajs that displays real-time data from the drone
+ - `vfd-uav` communication backend for message exchange with drones
# Run
-First, switch to project `vfd-main` and then `run`
+ 0. SBT is used as the build tool.
- project vfd-main
- run
+ 1. Switch to project `vfd-main` and then `run`. /Note: if this is the first time your run a play project throught sbt, be aware that you may need to wait a while as your computer downloads half the internet/
+
+ project vfd-main
+ run
+
+ Calling `vfd-main/run` directly will not work.
+
+ 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
+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:
+- 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.
+- Messages are parsed by the front-end (the interface) and used to display virtual instrumentation.
+- 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).
-Calling `vfd-main/run` directly will not work.
# License
Copyright (C) Jakob Odersky