Merge remote-tracking branch 'cyoung/master' into peeps

pull/734/head^2
Eric Westphal 2017-07-20 17:30:09 -04:00
commit 57a1bd9c7c
4 zmienionych plików z 88 dodań i 84 usunięć

Wyświetl plik

@ -13,9 +13,6 @@ Raspberry Pi 2 with the Edimax EW-7811Un Wi-Fi dongle is supported but not recom
Tested and works well with most common R820T and R820T2 RTL-SDR devices. Tested and works well with most common R820T and R820T2 RTL-SDR devices.
Tested with and preliminary support added for [uAvionix pingEFB dual-link ADS-B receiver](http://www.uavionix.com/products/pingefb/).
Apps with stratux recognition/support: Apps with stratux recognition/support:
* Seattle Avionics FlyQ EFB 2.1.1+. * Seattle Avionics FlyQ EFB 2.1.1+.
* AvNav EFB 2.0.0+. * AvNav EFB 2.0.0+.
@ -31,10 +28,15 @@ Tested weather/traffic displays:
* ForeFlight 7+ - weather, traffic. AHRS not functional. * ForeFlight 7+ - weather, traffic. AHRS not functional.
* Avare * Avare
Dangerzone builds (AHRS display):
* ForeFlight 7+ - weather, traffic, AHRS.
Questions? [See the FAQ](https://github.com/cyoung/stratux/wiki/FAQ) Questions? [See the FAQ](https://github.com/cyoung/stratux/wiki/FAQ)
http://stratux.me/ http://stratux.me/
http://slack.stratux.me/
https://www.reddit.com/r/stratux https://www.reddit.com/r/stratux
Jet tests (high gain antennas): Jet tests (high gain antennas):

Wyświetl plik

@ -1,6 +1,8 @@
auto lo auto lo
iface lo inet loopback iface lo inet loopback
allow-hotplug eth0
iface eth0 inet dhcp iface eth0 inet dhcp
allow-hotplug wlan0 allow-hotplug wlan0

Wyświetl plik

@ -108,6 +108,65 @@ var maxSignalStrength int
var stratuxBuild string var stratuxBuild string
var stratuxVersion string var stratuxVersion string
var product_name_map = map[int]string{
0: "METAR",
1: "TAF",
2: "SIGMET",
3: "Conv SIGMET",
4: "AIRMET",
5: "PIREP",
6: "Severe Wx",
7: "Winds Aloft",
8: "NOTAM", //"NOTAM (Including TFRs) and Service Status";
9: "D-ATIS", //"Aerodrome and Airspace – D-ATIS";
10: "Terminal Wx", //"Aerodrome and Airspace - TWIP";
11: "AIRMET", //"Aerodrome and Airspace - AIRMET";
12: "SIGMET", //"Aerodrome and Airspace - SIGMET/Convective SIGMET";
13: "SUA", //"Aerodrome and Airspace - SUA Status";
20: "METAR", //"METAR and SPECI";
21: "TAF", //"TAF and Amended TAF";
22: "SIGMET", //"SIGMET";
23: "Conv SIGMET", //"Convective SIGMET";
24: "AIRMET", //"AIRMET";
25: "PIREP", //"PIREP";
26: "Severe Wx", //"AWW";
27: "Winds Aloft", //"Winds and Temperatures Aloft";
51: "NEXRAD", //"National NEXRAD, Type 0 - 4 level";
52: "NEXRAD", //"National NEXRAD, Type 1 - 8 level (quasi 6-level VIP)";
53: "NEXRAD", //"National NEXRAD, Type 2 - 8 level";
54: "NEXRAD", //"National NEXRAD, Type 3 - 16 level";
55: "NEXRAD", //"Regional NEXRAD, Type 0 - low dynamic range";
56: "NEXRAD", //"Regional NEXRAD, Type 1 - 8 level (quasi 6-level VIP)";
57: "NEXRAD", //"Regional NEXRAD, Type 2 - 8 level";
58: "NEXRAD", //"Regional NEXRAD, Type 3 - 16 level";
59: "NEXRAD", //"Individual NEXRAD, Type 0 - low dynamic range";
60: "NEXRAD", //"Individual NEXRAD, Type 1 - 8 level (quasi 6-level VIP)";
61: "NEXRAD", //"Individual NEXRAD, Type 2 - 8 level";
62: "NEXRAD", //"Individual NEXRAD, Type 3 - 16 level";
63: "NEXRAD Regional", //"Global Block Representation - Regional NEXRAD, Type 4 – 8 level";
64: "NEXRAD CONUS", //"Global Block Representation - CONUS NEXRAD, Type 4 - 8 level";
81: "Tops", //"Radar echo tops graphic, scheme 1: 16-level";
82: "Tops", //"Radar echo tops graphic, scheme 2: 8-level";
83: "Tops", //"Storm tops and velocity";
101: "Lightning", //"Lightning strike type 1 (pixel level)";
102: "Lightning", //"Lightning strike type 2 (grid element level)";
151: "Lightning", //"Point phenomena, vector format";
201: "Surface", //"Surface conditions/winter precipitation graphic";
202: "Surface", //"Surface weather systems";
254: "G-AIRMET", //"AIRMET, SIGMET: Bitmap encoding";
351: "Time", //"System Time";
352: "Status", //"Operational Status";
353: "Status", //"Ground Station Status";
401: "Imagery", //"Generic Raster Scan Data Product APDU Payload Format Type 1";
402: "Text",
403: "Vector Imagery", //"Generic Vector Data Product APDU Payload Format Type 1";
404: "Symbols",
405: "Text",
411: "Text", //"Generic Textual Data Product APDU Payload Format Type 1";
412: "Symbols", //"Generic Symbolic Product APDU Payload Format Type 1";
413: "Text", //"Generic Textual Data Product APDU Payload Format Type 2";
}
// CRC16 table generated to use to work with GDL90 messages. // CRC16 table generated to use to work with GDL90 messages.
var Crc16Table [256]uint16 var Crc16Table [256]uint16
@ -972,65 +1031,6 @@ func parseInput(buf string) ([]byte, uint16) {
return frame, msgtype return frame, msgtype
} }
var product_name_map = map[int]string{
0: "METAR",
1: "TAF",
2: "SIGMET",
3: "Conv SIGMET",
4: "AIRMET",
5: "PIREP",
6: "Severe Wx",
7: "Winds Aloft",
8: "NOTAM", //"NOTAM (Including TFRs) and Service Status";
9: "D-ATIS", //"Aerodrome and Airspace – D-ATIS";
10: "Terminal Wx", //"Aerodrome and Airspace - TWIP";
11: "AIRMET", //"Aerodrome and Airspace - AIRMET";
12: "SIGMET", //"Aerodrome and Airspace - SIGMET/Convective SIGMET";
13: "SUA", //"Aerodrome and Airspace - SUA Status";
20: "METAR", //"METAR and SPECI";
21: "TAF", //"TAF and Amended TAF";
22: "SIGMET", //"SIGMET";
23: "Conv SIGMET", //"Convective SIGMET";
24: "AIRMET", //"AIRMET";
25: "PIREP", //"PIREP";
26: "Severe Wx", //"AWW";
27: "Winds Aloft", //"Winds and Temperatures Aloft";
51: "NEXRAD", //"National NEXRAD, Type 0 - 4 level";
52: "NEXRAD", //"National NEXRAD, Type 1 - 8 level (quasi 6-level VIP)";
53: "NEXRAD", //"National NEXRAD, Type 2 - 8 level";
54: "NEXRAD", //"National NEXRAD, Type 3 - 16 level";
55: "NEXRAD", //"Regional NEXRAD, Type 0 - low dynamic range";
56: "NEXRAD", //"Regional NEXRAD, Type 1 - 8 level (quasi 6-level VIP)";
57: "NEXRAD", //"Regional NEXRAD, Type 2 - 8 level";
58: "NEXRAD", //"Regional NEXRAD, Type 3 - 16 level";
59: "NEXRAD", //"Individual NEXRAD, Type 0 - low dynamic range";
60: "NEXRAD", //"Individual NEXRAD, Type 1 - 8 level (quasi 6-level VIP)";
61: "NEXRAD", //"Individual NEXRAD, Type 2 - 8 level";
62: "NEXRAD", //"Individual NEXRAD, Type 3 - 16 level";
63: "NEXRAD Regional", //"Global Block Representation - Regional NEXRAD, Type 4 – 8 level";
64: "NEXRAD CONUS", //"Global Block Representation - CONUS NEXRAD, Type 4 - 8 level";
81: "Tops", //"Radar echo tops graphic, scheme 1: 16-level";
82: "Tops", //"Radar echo tops graphic, scheme 2: 8-level";
83: "Tops", //"Storm tops and velocity";
101: "Lightning", //"Lightning strike type 1 (pixel level)";
102: "Lightning", //"Lightning strike type 2 (grid element level)";
151: "Lightning", //"Point phenomena, vector format";
201: "Surface", //"Surface conditions/winter precipitation graphic";
202: "Surface", //"Surface weather systems";
254: "G-AIRMET", //"AIRMET, SIGMET: Bitmap encoding";
351: "Time", //"System Time";
352: "Status", //"Operational Status";
353: "Status", //"Ground Station Status";
401: "Imagery", //"Generic Raster Scan Data Product APDU Payload Format Type 1";
402: "Text",
403: "Vector Imagery", //"Generic Vector Data Product APDU Payload Format Type 1";
404: "Symbols",
405: "Text",
411: "Text", //"Generic Textual Data Product APDU Payload Format Type 1";
412: "Symbols", //"Generic Symbolic Product APDU Payload Format Type 1";
413: "Text", //"Generic Textual Data Product APDU Payload Format Type 2";
}
func getProductNameFromId(product_id int) string { func getProductNameFromId(product_id int) string {
name, present := product_name_map[product_id] name, present := product_name_map[product_id]
if present { if present {
@ -1045,27 +1045,27 @@ func getProductNameFromId(product_id int) string {
} }
type settings struct { type settings struct {
UAT_Enabled bool UAT_Enabled bool
ES_Enabled bool ES_Enabled bool
Ping_Enabled bool Ping_Enabled bool
GPS_Enabled bool GPS_Enabled bool
BMP_Sensor_Enabled bool BMP_Sensor_Enabled bool
IMU_Sensor_Enabled bool IMU_Sensor_Enabled bool
NetworkOutputs []networkConnection NetworkOutputs []networkConnection
SerialOutputs map[string]serialConnection SerialOutputs map[string]serialConnection
DisplayTrafficSource bool DisplayTrafficSource bool
DEBUG bool DEBUG bool
ReplayLog bool ReplayLog bool
AHRSLog bool AHRSLog bool
IMUMapping [2]int // Map from aircraft axis to sensor axis: accelerometer IMUMapping [2]int // Map from aircraft axis to sensor axis: accelerometer
SensorQuaternion [4]float64 // Quaternion mapping from sensor frame to aircraft frame SensorQuaternion [4]float64 // Quaternion mapping from sensor frame to aircraft frame
C, D [3]float64 // IMU Accel, Gyro zero bias C, D [3]float64 // IMU Accel, Gyro zero bias
PPM int PPM int
OwnshipModeS string OwnshipModeS string
WatchList string WatchList string
DeveloperMode bool DeveloperMode bool
GLimits string GLimits string
StaticIps []string StaticIps []string
} }
type status struct { type status struct {

Wyświetl plik

@ -91,7 +91,7 @@ Stratux makes available a webserver to retrieve statistics which may be useful t
* `http://192.168.10.1/getStatus` - device status and statistics. Example output (commented JSON): * `http://192.168.10.1/getStatus` - device status and statistics. Example output (commented JSON):
```json ```javascript
{ {
"Version": "v0.5b1", // Software version. "Version": "v0.5b1", // Software version.
"Devices": 0, // Number of radios connected. "Devices": 0, // Number of radios connected.