Permalink
Browse files

Merge remote-tracking branch 'origin/develop' into feature/gui

Signed-off-by: Victor Hertel <victor.hertel@web.de>

# Conflicts:
#	Universal-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/GroundSegment.java
  • Loading branch information...
vhertel committed Aug 6, 2017
2 parents 7da96a9 + 2aa1ced commit 38993efbb6f675fdb7ce5cc8d206b76cd6a8fa3f
Showing with 1,529 additions and 348 deletions.
  1. +10 −0 Universal-Space-Operations-Center/pom.xml
  2. +88 −0 Universal-Space-Operations-Center/protocols/USOC_SBD340_ICV.xml
  3. +18 −40 Universal-Space-Operations-Center/protocols/messageProtocol.xml
  4. +1 −1 Universal-Space-Operations-Center/protocols/testProtocol.xml
  5. +18 −50 Universal-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/GroundSegment.java
  6. +138 −0 ...sal-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/controller/DataModification.java
  7. +118 −0 ...sal-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/controller/ExportController.java
  8. +115 −0 ...ersal-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/controller/GNSSController.java
  9. +87 −17 ...ersal-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/controller/MainController.java
  10. +94 −32 ...al-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/controller/MessageController.java
  11. +74 −72 Universal-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/controller/Utility.java
  12. +6 −0 Universal-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/controller/xml/XMLReader.java
  13. +12 −7 Universal-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/data/message/Var.java
  14. +37 −4 ...Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/data/message/dataPackage/Sensor.java
  15. +46 −65 Universal-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/gui/CurrentDataPanel.java
  16. +4 −1 Universal-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/gui/GPSPanel.java
  17. +80 −16 Universal-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/gui/IridiumPanel.java
  18. +30 −26 Universal-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/gui/LineChart.java
  19. +14 −4 Universal-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/gui/MainFrame.java
  20. +445 −0 Universal-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/gui/worldwind/GNSSPanel.java
  21. +21 −0 Universal-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/gui/worldwind/MyMarker.java
  22. +55 −0 ...al-Space-Operations-Center/src/main/java/com/ksatstuttgart/usoc/gui/worldwind/WorldWindPanel.java
  23. +2 −2 ...Operations-Center/src/test/java/com/ksatstuttgart/usoc/test/controller/MessageControllerTest.java
  24. +16 −11 ...l-Space-Operations-Center/src/test/java/com/ksatstuttgart/usoc/test/controller/XMLWriterTest.java
@@ -132,5 +132,15 @@
<version>1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.pcmehlitz</groupId>
<artifactId>worldwind-pcm</artifactId>
<version>2.1.0.185</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
</dependencies>
</project>
@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Iridium SBD 340B sequential message prototype
Used conventions:
First bit is 0, not 1
System event numbers are uint8, list of event descriptors is stored in a separate xml file. System events can be: Iridium FSM freeze, TC has detected open circuit, GPS sees no satellite, etc. The 4 event with the highest priority are sent, this number can increase in later iterations.
As the default endianness for AVR MCUs is little endian, this is the default for datapoints.
Bytewerte:
TIME: 4B
MSGNUMBER: 1B
GNSS: 140B (7*20)
IMU: 162B
PSDIG1: 4B
PSDIG2: 4B
GPSTIME: 4B
TEMPERATURE 12B
VBAT 1B
-->
<sbd340message protocol = "SEQUENTIAL">
<header>
<metadata type="TIME">
<var start="0" datatype="UINT32" numpoints="1" unit="ms" isLittleEndian="TRUE"/>
</metadata>
<metadata type = "MSGNUMBER">
<var start="31" datatype="UINT8" numpoints="1" unit="NONE" isLittleEndian="TRUE"/>
</metadata>
</header>
<data>
<sensor type="GNSS" name="UBLOX M8" sensorpoints="7" sensorfrequency="1">
<var dataname = "Latitude" start="39"
datatype="FLOAT32" unit="deg" isLittleEndian="TRUE"/>
<var dataname = "Longitude" start="71"
datatype="FLOAT32" unit="deg" isLittleEndian="TRUE"/>
<var dataname = "Altitude" start="103"
datatype="FLOAT32" unit="m" isLittleEndian="TRUE"/>
<var dataname = "Ground Speed" start="135"
datatype="FLOAT32" unit="m/s" isLittleEndian="TRUE"/>
<var dataname = "Heading" start="167"
datatype="FLOAT32" unit="deg" isLittleEndian="TRUE"/>
</sensor>
<sensor type="ORIENTATION" name="BNO055 IMU" sensorpoints="18" sensorfrequency="1">
<var dataname = "Quaternion_W" start="1159"
datatype="INT16" unit="NONE" isLittleEndian="TRUE"/>
<var dataname = "Quaternion_X" start="1175"
datatype="INT16" unit="NONE" isLittleEndian="TRUE"/>
<var dataname = "Quaternion_Y" start="1191"
datatype="INT16" unit="NONE" isLittleEndian="TRUE"/>
<var dataname = "Quaternion_Z" start="1207"
datatype="INT16" unit="NONE" isLittleEndian="TRUE"/>
<var dataname = "Calibration" start="1223"
datatype="UINT8" unit="NONE" isLittleEndian="TRUE"/>
</sensor>
<sensor type="PRESSURE" name="MS5607 Digital Pressure Sensor Front">
<var dataname = "Pressure_Front" start="2455"
datatype="FLOAT32" numpoints="1" frequency="1" unit="0.1mbar" isLittleEndian="TRUE"/>
</sensor>
<sensor type="PRESSURE" name="MS5607 Digital Pressure Sensor PCB" isLittleEndian="TRUE">
<var dataname = "Pressure_PCB" start="2487"
datatype="FLOAT32" numpoints="1" frequency="1" unit="0.1mbar" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TIMER" name="GNSS TIME">
<var start="2519" datatype="UINT32" numpoints="1" frequency="1" unit="HHMMSSCC" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="Thermocouple_Iridium">
<var dataname="Thermocouple_Iridium" start="2551" datatype="INT16" numpoints="1" frequency="1" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="Thermocouple_MCU">
<var dataname="Thermocouple_MCU" start="2567" datatype="INT16" numpoints="1" frequency="1" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="Thermocouple_Bat-Analog">
<var dataname="Thermocouple_Bat-Analog" start="2583" datatype="INT16" numpoints="1" frequency="1" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="Thermocouple_GPS">
<var dataname="Thermocouple_GPS" start="2599" datatype="INT16" numpoints="1" frequency="1" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="Thermocouple_Bat-Digital">
<var dataname="Thermocouple_Bat-Digital" start="2615" datatype="INT16" numpoints="1" frequency="1" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="Thermocouple_Bat-Stecker">
<var dataname="Thermocouple_Bat-Stecker" start="2631" datatype="INT16" numpoints="1" frequency="1" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="VOLTAGE" name="Battery Voltage Divider">
<var dataname="Battery Voltage" start="2647" datatype="UINT8" numpoints="1" unit="NONE" isLittleEndian="FALSE"/>
</sensor>
</data>
</sbd340message>
@@ -24,41 +24,21 @@ Used conventions:
<var dataname = "Pressure" start="135"
datatype="UINT16" numpoints="6" frequency="0.5" unit="0.1mbar" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="Thermocouple_1">
<var start="231" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="Thermocouple_2">
<var start="327" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="Thermocouple_3">
<var start="423" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="Thermocouple_4">
<var start="519" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="Thermocouple_5">
<var start="615" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="Thermocouple_6">
<var start="711" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="ColdJunction_1">
<var start="807" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="ColdJunction_2">
<var start="903" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="ColdJunction_3">
<var start="999" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="ColdJunction_4">
<var start="1095" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="ColdJunction_5">
<var start="1191" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="ColdJunction_6">
<var start="1287" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
<sensor type="TEMPERATURE" name="Omega XY">
<var name="Thermocouple 1" start="231" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
<var name="Thermocouple 1" start="327" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
<var name="Thermocouple 1" start="423" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
<var name="Thermocouple 1" start="519" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
<var name="Thermocouple 1" start="615" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
<var name="Thermocouple 1" start="711" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="TEMPERATURE" name="XYZZ Sensor">
<var name="ColdJunction 1" start="807" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
<var name="ColdJunction 2" start="903" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
<var name="ColdJunction 3" start="999" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
<var name="ColdJunction 4" start="1095" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
<var name="ColdJunction 5" start="1191" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
<var name="ColdJunction 6" start="1287" datatype="INT16" numpoints="6" frequency="0.5" unit="°C" isLittleEndian="TRUE"/>
</sensor>
<sensor type="ORIENTATION" name="BNO055 IMU">
<var dataname = "Quaternion_W" start="1383"
@@ -97,11 +77,9 @@ Used conventions:
<var dataname = "Voltage" start="2593"
datatype="BIT10" numpoints="6" frequency="0.5" unit="V" isLittleEndian="FALSE"/>
</sensor>
<sensor type = "CARRIER_CURRENT" name="Carrier Current">
<var start="2653" datatype="BIT3" numpoints="1" unit="NONE" isLittleEndian="FALSE"/>
</sensor>
<sensor type = "CARRIER_MAX" name="Carrier Max">
<var start="2656" datatype="BIT3" numpoints="1" unit="NONE" isLittleEndian="FALSE"/>
<sensor name="Transceiver" type = "IRIDIUM">
<var name="Current Signal Strength" start="2653" datatype="BIT3" numpoints="1" unit="NONE" isLittleEndian="FALSE"/>
<var name="Max Signal Strength" start="2656" datatype="BIT3" numpoints="1" unit="NONE" isLittleEndian="FALSE"/>
</sensor>
</data>
</sbd340message>
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:sbd340 xmlns:ns2="usoc/" protocol="NONE">
<data>
<sensor name="testName" type="PRESSURE">
<sensor sensorfrequency="1.0" sensorpoints="1" name="testName" type="PRESSURE">
<var dataname="testSensorData" datatype="FLOAT32" frequency="1.0" isLittleEndian="false" numpoints="1" start="40" unit=""/>
</sensor>
</data>
@@ -23,60 +23,28 @@
*/
package com.ksatstuttgart.usoc;
import java.io.IOException;
import java.net.URL;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import com.ksatstuttgart.usoc.controller.MainController;
import com.ksatstuttgart.usoc.gui.MainFrame;
/**
* <h1>Ground Segment</h1>
*
* <p>
* This is the main Wrapper class initiating the GUI.
*
*
* @author Valentin Starlinger
* @version 1.0
*/
public class GroundSegment extends Application {
@Override
public void start(Stage stage) {
* <h1>Ground Segment</h1>
*
* <p>
* This is the main Wrapper class initiating the GUI.
*
*
* @author Valentin Starlinger
* @version 1.0
*/
public class GroundSegment {
try {
/**
* Checks whether a regeneration of the FXML structure is
* necessary and carries it out in case it is
*/
ConfigHandler.rebuildGui("config/config.properties", "config/configMod.properties");
// JavaFX GUI
String fxmlFile = "/fxml/MainFrame.fxml";
URL location = getClass().getResource(fxmlFile);
FXMLLoader loader = new FXMLLoader( );
loader.setLocation( location );
Parent root = (Parent) loader.load();
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
} catch (IOException e) {
System.out.println(e);
}
}
/**
* @param args the command line arguments
* Calls the MainFrame class
* @param args - does not support any arguments.
*/
public static void main(String[] args) {
launch(args);
MainController.getInstance().setFrame(new MainFrame());
MainController.getInstance().connectToMail();
}
}
}
Oops, something went wrong.

0 comments on commit 38993ef

Please sign in to comment.