Compare commits

...

10 commits

Author SHA1 Message Date
Sebastian 096a1065ea Fixed linker issue 2022-02-28 23:00:59 +01:00
LongHairedHacker de29e82327 Modified look and feel for the dl0xk installation 2019-11-03 17:00:53 +01:00
Oliver Jowett 089684e20f Merge branch 'dev' into staging 2019-09-11 13:05:31 +08:00
Oliver Jowett 25b3a34fff Add a versioned cache bust to all the javascript URLs 2019-09-11 12:59:51 +08:00
Eric Tran ae4a89b707 Release 3.7.2 2019-09-09 14:29:26 +00:00
Oliver Jowett dabb6fc135 Trigger build after bladeRF build; turn off build durability; turn off concurrent builds 2019-09-05 15:32:04 +08:00
Oliver Jowett 0a0fb46b5d Pass branch name to validate-packages 2019-09-04 23:55:48 +08:00
Oliver Jowett 1d29f5e059 Reject outright a libbladerf that's too old 2019-09-04 22:46:38 +08:00
Oliver Jowett 18d47fd5ff Fix polyfill for really old libbladerf-dev which doesn't provide an API version define 2019-09-04 22:14:56 +08:00
Oliver Jowett 4edb2e8e35 Use new build infrastructure scripts 2019-09-04 21:53:53 +08:00
9 changed files with 127 additions and 129 deletions

25
Jenkinsfile vendored
View file

@ -1,4 +1,13 @@
node(label: 'raspberrypi') { node(label: 'raspberrypi') {
properties([
pipelineTriggers([
upstream(threshold: 'SUCCESS',
upstreamProjects: "bladeRF/${env.BRANCH_NAME}")
]),
disableConcurrentBuilds(),
durabilityHint(hint: 'PERFORMANCE_OPTIMIZED')
])
def dists = ["stretch", "jessie"] def dists = ["stretch", "jessie"]
def srcdir = "${WORKSPACE}/src" def srcdir = "${WORKSPACE}/src"
@ -24,23 +33,21 @@ node(label: 'raspberrypi') {
sh "rm -fr ${results}" sh "rm -fr ${results}"
sh "mkdir -p ${results}" sh "mkdir -p ${results}"
dir(pkgdir) { dir(pkgdir) {
sh "DIST=${dist} pdebuild --use-pdebuild-internal --debbuildopts -b --buildresult ${WORKSPACE}/${results}" sh "DIST=${dist} BRANCH=${env.BRANCH_NAME} pdebuild --use-pdebuild-internal --debbuildopts -b --buildresult ${WORKSPACE}/${results} -- --override-config"
} }
archiveArtifacts artifacts: "${results}/*.deb", fingerprint: true archiveArtifacts artifacts: "${results}/*.deb", fingerprint: true
} }
stage("Test install on ${dist}") { stage("Test install on ${dist}") {
sh "/build/repo/validate-packages.sh ${dist} ${results}/dump1090-fa_*.deb ${results}/dump1090_*.deb" sh "BRANCH=${env.BRANCH_NAME} /build/pi-builder/scripts/validate-packages.sh ${dist} ${results}/dump1090-fa_*.deb ${results}/dump1090_*.deb"
} }
} }
if (env.BRANCH_NAME == "master" || env.BRANCH_NAME == "dev") { stage('Deploy to internal repository') {
stage("Deploy to staging repo") { for (int i = 0; i < dists.size(); ++i) {
for (int i = 0; i < dists.size(); ++i) { def dist = dists[i]
def dist = dists[i] def results = "results-${dist}"
def results = "results-${dist}" sh "/build/pi-builder/scripts/deploy.sh -distribution ${dist} -branch ${env.BRANCH_NAME} ${results}/*.deb"
sh "/build/repo/deploy-packages.sh ${dist} ${results}/*.deb"
}
} }
} }
} }

16
debian/changelog vendored
View file

@ -1,8 +1,18 @@
dump1090-fa (3.7.2~dev) UNRELEASED; urgency=medium dump1090-fa (3.7.2) stable; urgency=medium
* in development * dump1090: Fix reversed sense of Track Angle/Heading bit in surface opstatus messages
* dump1090: Have filter-regs emit a special value "-COMPUTED-" for filtered data
values, rather than blanking them out entirely
* Fix registration side mappings with a non-zero offset
* dump1090: Update aircraft DB to 20190816
* dump1090: Reject outright libbladerf that's too old
* dump1090: Trigger build after bladeRF build; turn off build durability; turn
off concurrent builds
* SkyAware: SkyAware Renaming
* SkyAware: Fix some display errors for ground vehicles
* SkyAware: Fix aircraft trail handling
-- Eric Tran <eric.tran@flightaware.com> Wed, 31 Jul 2019 11:27:00 -6000 -- Eric Tran <eric.tran@flightaware.com> Mon, 09 Sep 2019 09:25:00 -6000
dump1090-fa (3.7.1) stable; urgency=medium dump1090-fa (3.7.1) stable; urgency=medium

View file

@ -51,6 +51,8 @@
#include <stdarg.h> #include <stdarg.h>
struct modeStruct Modes;
// //
// ============================= Utility functions ========================== // ============================= Utility functions ==========================
// //

View file

@ -294,7 +294,7 @@ struct mag_buf {
}; };
// Program global state // Program global state
struct { // Internal state struct modeStruct { // Internal state
pthread_t reader_thread; pthread_t reader_thread;
pthread_mutex_t data_mutex; // Mutex to synchronize buffer access pthread_mutex_t data_mutex; // Mutex to synchronize buffer access
@ -392,7 +392,9 @@ struct { // Internal state
int stats_latest_1min; int stats_latest_1min;
struct stats stats_5min; struct stats stats_5min;
struct stats stats_15min; struct stats stats_15min;
} Modes; };
extern struct modeStruct Modes;
// The struct we use to store information about a decoded message. // The struct we use to store information about a decoded message.
struct modesMessage { struct modesMessage {

View file

@ -15,7 +15,7 @@ MessageRateInTitle = false;
// metric (m, km, km/h) or imperial (ft, mi, mph) units are used in the // metric (m, km, km/h) or imperial (ft, mi, mph) units are used in the
// plane table and in the detailed plane info. Valid values are // plane table and in the detailed plane info. Valid values are
// "nautical", "metric", or "imperial". // "nautical", "metric", or "imperial".
DisplayUnits = "nautical"; DisplayUnits = "metric";
// -- Map settings ---------------------------------------- // -- Map settings ----------------------------------------
// These settings are overridden by any position information // These settings are overridden by any position information
@ -23,17 +23,17 @@ DisplayUnits = "nautical";
// degrees. // degrees.
// Default center of the map. // Default center of the map.
DefaultCenterLat = 45.0; DefaultCenterLat = 49.425626;
DefaultCenterLon = 9.0; DefaultCenterLon = 7.756527;
// The google maps zoom level, 0 - 16, lower is further out // The google maps zoom level, 0 - 16, lower is further out
DefaultZoomLvl = 7; DefaultZoomLvl = 8;
// Center marker. If dump1090 provides a receiver location, // Center marker. If dump1090 provides a receiver location,
// that location is used and these settings are ignored. // that location is used and these settings are ignored.
SiteShow = false; // true to show a center marker SiteShow = true; // true to show a center marker
SiteLat = 45.0; // position of the marker SiteLat = 49.425626; // position of the marker
SiteLon = 9.0; SiteLon = 7.756527;
SiteName = "My Radar Site"; // tooltip of the marker SiteName = "My Radar Site"; // tooltip of the marker
// -- Marker settings ------------------------------------- // -- Marker settings -------------------------------------
@ -96,7 +96,7 @@ OutlineMlatColor = '#4040FF';
SiteCircles = true; // true to show circles (only shown if the center marker is shown) SiteCircles = true; // true to show circles (only shown if the center marker is shown)
// In miles, nautical miles, or km (depending settings value 'DisplayUnits') // In miles, nautical miles, or km (depending settings value 'DisplayUnits')
SiteCirclesDistances = new Array(100,150,200); SiteCirclesDistances = new Array(25,50,75,100);
// Controls page title, righthand pane when nothing is selected // Controls page title, righthand pane when nothing is selected
PageName = "PiAware SkyAware"; PageName = "PiAware SkyAware";

View file

@ -2,7 +2,7 @@
<html> <html>
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<link rel="stylesheet" type="text/css" href="style.css?v=2" /> <link rel="stylesheet" type="text/css" href="style.css?v=3.7.2" />
<link rel="stylesheet" href="jquery/jquery-ui-1.11.4-smoothness.css" /> <link rel="stylesheet" href="jquery/jquery-ui-1.11.4-smoothness.css" />
<script src="jquery/jquery-3.0.0.min.js"></script> <script src="jquery/jquery-3.0.0.min.js"></script>
<script src="jquery/jquery-ui-1.11.4.min.js"></script> <script src="jquery/jquery-ui-1.11.4.min.js"></script>
@ -14,16 +14,16 @@
<link rel="stylesheet" href="ol/ol3-layerswitcher.css" type="text/css"/> <link rel="stylesheet" href="ol/ol3-layerswitcher.css" type="text/css"/>
<script src="ol/ol3-layerswitcher.js" type="text/javascript"></script> <script src="ol/ol3-layerswitcher.js" type="text/javascript"></script>
<script type="text/javascript" src="config.js"></script> <script type="text/javascript" src="config.js?v=3.7.2"></script>
<script type="text/javascript" src="markers.js"></script> <script type="text/javascript" src="markers.js?v=3.7.2"></script>
<script type="text/javascript" src="dbloader.js"></script> <script type="text/javascript" src="dbloader.js?v=3.7.2"></script>
<script type="text/javascript" src="registrations.js"></script> <script type="text/javascript" src="registrations.js?v=3.7.2"></script>
<script type="text/javascript" src="planeObject.js?v=2"></script> <script type="text/javascript" src="planeObject.js?v=3.7.2"></script>
<script type="text/javascript" src="formatter.js?v=2"></script> <script type="text/javascript" src="formatter.js?v=2?v=3.7.2"></script>
<script type="text/javascript" src="flags.js"></script> <script type="text/javascript" src="flags.js?v=3.7.2"></script>
<script type="text/javascript" src="layers.js"></script> <script type="text/javascript" src="layers.js?v=3.7.2"></script>
<script type="text/javascript" src="script.js?v=2"></script> <script type="text/javascript" src="script.js?v=3.7.2"></script>
<title>PiAware SkyAware</title> <title>DL0XK Aeorspectator</title>
</head> </head>
<body onload="initialize()"> <body onload="initialize()">
@ -46,25 +46,8 @@
<input type="hidden" name="submit" value="submit"> <input type="hidden" name="submit" value="submit">
</form> </form>
<div id="header" class="infoHeading">
<div class="logoContainer">
<a href="http://flightaware.com/" target="_blank"><img src="images/fa_logo_color.png" alt="FlightAware" class="flightawareLogo" srcset="images/fa_logo_color.png 1x, images/fa_logo_color@2x.png 2x, images/fa_logo_color@3x.png 3x"></a>
<img src="images/pa-sa-logo.png" alt="PiAware SkyAware" class="adsbLogo piAwareLogo" srcset="images/pa-sa-logo.png 1x, images/pa-sa-logo@2x.png 2x, images/pa-sa-logo@3x.png 3x">
<img src="images/ff-sa-logo.png" alt="FlightFeeder SkyAware" class="adsbLogo flightfeederLogo" srcset="images/ff-sa-logo.png 1x, images/ff-sa-logo@2x.png 2x, images/ff-sa-logo@3x.png 3x" style="display: none;">
</div>
<div class="buttonContainer">
<div class="dateTime" id="clock_div"></div>
<div class="button buttonHeader" onclick="resetMap();"><span class="buttonText">Reset Map</span></div>
<div class="button buttonHeader" onclick="selectAllPlanes();"><span class="buttonText">Show All Tracks</span></div>
<div class="button buttonHeader" onclick="deselectAllPlanes();"><span class="buttonText">Hide All Tracks</span></div>
</div>
<div class="settingsContainer"><img src="images/settings-icon.png" id="settingsCog" srcset="images/settings-icon.png 1x, images/settings-icon@2x.png 2x, images/settings-icon@3x.png 3x"></div>
</div>
<div id="layout_container"> <div id="layout_container">
<div id="highlighted_infoblock"> <div id="highlighted_infoblock">
<div class="highlightedTitle"> <div class="highlightedTitle">
<span class="identLarge"><span id="highlighted_callsign">n/a</span></span> <span class="identLarge"><span id="highlighted_callsign">n/a</span></span>
@ -193,17 +176,6 @@
</table> </table>
</div> <!-- dump1090_infoblock --> </div> <!-- dump1090_infoblock -->
<form id="altitude_filter_form">
<label><span class="infoBlockTitleText">Filter by Altitude:</span></label>
<input id="altitude_filter_min" name="minAltitude" type="text" class="altitudeFilterInput" maxlength="5">
<label for="minAltitude" class="altitudeUnit"></label>
<span> to </span>
<input id="altitude_filter_max" name="maxAltitude" type="text" class="altitudeFilterInput" maxlength="5">
<label for="maxAltitude" class="altitudeUnit"></label>
<button type="submit">Filter</button>
<button id="altitude_filter_reset_button">Reset</button>
</form>
<div id="planes_table"> <div id="planes_table">
<table id="tableinfo" style="width: 100%"> <table id="tableinfo" style="width: 100%">
<thead class="aircraft_table_header"> <thead class="aircraft_table_header">

View file

@ -505,9 +505,9 @@ function make_geodesic_circle(center, radius, points) {
// Initalizes the map and starts up our timers to call various functions // Initalizes the map and starts up our timers to call various functions
function initialize_map() { function initialize_map() {
// Load stored map settings if present // Load stored map settings if present
CenterLat = Number(localStorage['CenterLat']) || DefaultCenterLat; CenterLat = DefaultCenterLat;
CenterLon = Number(localStorage['CenterLon']) || DefaultCenterLon; CenterLon = DefaultCenterLon;
ZoomLvl = Number(localStorage['ZoomLvl']) || DefaultZoomLvl; ZoomLvl = DefaultZoomLvl;
MapType = localStorage['MapType']; MapType = localStorage['MapType'];
// Set SitePosition, initialize sorting // Set SitePosition, initialize sorting

View file

@ -6,7 +6,7 @@ html, body {
#layout_container { #layout_container {
display: flex; display: flex;
height: calc(100% - 60px);; height: 100%;
} }
#selected_infoblock { #selected_infoblock {
@ -24,6 +24,7 @@ html, body {
#sidebar_canvas { #sidebar_canvas {
padding: 10px; padding: 10px;
overflow: scroll; overflow: scroll;
height: 100%
} }
#sidebar_container { #sidebar_container {
display: flex; display: flex;

View file

@ -23,8 +23,12 @@
#include <libbladeRF.h> #include <libbladeRF.h>
#include <inttypes.h> #include <inttypes.h>
#if !defined(LIBBLADERF_API_VERSION) || (LIBBLADERF_API_VERSION < 0x01060100)
#error This libbladeRF is too old, upgrade or disable bladerf support
#endif
// Polyfill for the older bladerf API // Polyfill for the older bladerf API
#if defined(LIBBLADERF_API_VERSION) && (LIBBLADERF_API_VERSION < 0x02000000) #if LIBBLADERF_API_VERSION < 0x02000000
typedef unsigned int bladerf_frequency; typedef unsigned int bladerf_frequency;
#endif #endif