@@ -2619,6 +2619,98 @@ function graphAddPosition(vcallsign, new_data) {
26192619 }
26202620}
26212621
2622+ function formatData ( data ) {
2623+ var response = { } ;
2624+ response . positions = { } ;
2625+ var dataTemp = [ ] ;
2626+ for ( var i = data . length - 1 ; i >= 0 ; i -- ) {
2627+ if ( data [ i ] . hasOwnProperty ( 'subtype' ) ) {
2628+ if ( data [ i ] . subtype != "SondehubV1" ) {
2629+ var dataTempEntry = { } ;
2630+ var station = data [ i ] . uploader_callsign ;
2631+ dataTempEntry . callsign = { } ;
2632+ dataTempEntry . callsign [ station ] = { } ;
2633+ if ( data [ i ] . snr ) {
2634+ dataTempEntry . callsign [ station ] . snr = data [ i ] . snr ;
2635+ }
2636+ if ( data [ i ] . rssi ) {
2637+ dataTempEntry . callsign [ station ] . rssi = data [ i ] . rssi ;
2638+ }
2639+ dataTempEntry . gps_alt = data [ i ] . alt ;
2640+ dataTempEntry . gps_lat = data [ i ] . lat ;
2641+ dataTempEntry . gps_lon = data [ i ] . lon ;
2642+ if ( data [ i ] . heading ) {
2643+ dataTempEntry . gps_heading = data [ i ] . heading ;
2644+ }
2645+ dataTempEntry . gps_time = data [ i ] . datetime ;
2646+ dataTempEntry . server_time = data [ i ] . datetime ;
2647+ dataTempEntry . vehicle = data [ i ] . serial ;
2648+ dataTempEntry . position_id = data [ i ] . serial + "-" + data [ i ] . datetime ;
2649+ dataTempEntry . data = { } ;
2650+ if ( data [ i ] . batt ) {
2651+ dataTempEntry . data . batt = data [ i ] . batt ;
2652+ }
2653+ if ( data [ i ] . burst_timer ) {
2654+ dataTempEntry . data . burst_timer = data [ i ] . burst_timer ;
2655+ }
2656+ if ( data [ i ] . frequency ) {
2657+ dataTempEntry . data . burst_timer = data [ i ] . frequency ;
2658+ }
2659+ if ( data [ i ] . humidity ) {
2660+ dataTempEntry . data . humidity = data [ i ] . humidity ;
2661+ }
2662+ if ( data [ i ] . manufacturer ) {
2663+ dataTempEntry . data . manufacturer = data [ i ] . manufacturer ;
2664+ }
2665+ if ( data [ i ] . sats ) {
2666+ dataTempEntry . data . sats = data [ i ] . sats ;
2667+ }
2668+ if ( data [ i ] . temp ) {
2669+ dataTempEntry . data . temperature_external = data [ i ] . temp ;
2670+ }
2671+ if ( data [ i ] . type ) {
2672+ dataTempEntry . data . type = data [ i ] . type ;
2673+ dataTempEntry . type = data [ i ] . type ;
2674+ }
2675+ if ( data [ i ] . subtype ) {
2676+ dataTempEntry . data . type = data [ i ] . subtype ;
2677+ dataTempEntry . type = data [ i ] . subtype ;
2678+ }
2679+ if ( data [ i ] . pressure ) {
2680+ dataTempEntry . data . pressure = data [ i ] . pressure ;
2681+ }
2682+ if ( data [ i ] . xdata ) {
2683+ dataTempEntry . data . xdata = data [ i ] . xdata ;
2684+ }
2685+ dataTemp . push ( dataTempEntry ) ;
2686+ } else {
2687+ var dataTempEntry = { } ;
2688+ var station = data [ i ] . uploader_callsign ;
2689+ dataTempEntry . callsign = { } ;
2690+ dataTempEntry . callsign [ station ] = { } ;
2691+ dataTempEntry . gps_alt = parseFloat ( data [ i ] . alt ) ;
2692+ dataTempEntry . gps_lat = parseFloat ( data [ i ] . lat ) ;
2693+ dataTempEntry . gps_lon = parseFloat ( data [ i ] . lon ) ;
2694+ dataTempEntry . gps_time = data [ i ] . time_received ;
2695+ dataTempEntry . server_time = data [ i ] . time_received ;
2696+ dataTempEntry . vehicle = data [ i ] . serial ;
2697+ dataTempEntry . position_id = data [ i ] . serial + "-" + data [ i ] . time_received ;
2698+ dataTempEntry . data = { } ;
2699+ if ( data [ i ] . humidity ) {
2700+ dataTempEntry . data . humidity = parseFloat ( data [ i ] . humidity ) ;
2701+ }
2702+ if ( data [ i ] . temp ) {
2703+ dataTempEntry . data . temperature_external = parseFloat ( data [ i ] . temp ) ;
2704+ }
2705+ dataTemp . push ( dataTempEntry ) ;
2706+ }
2707+ }
2708+ }
2709+ response . positions . position = dataTemp ;
2710+ response . fetch_timestamp = Date . now ( ) ;
2711+ return response ;
2712+ }
2713+
26222714var ajax_positions = null ;
26232715var ajax_positions_single = null ;
26242716var ajax_positions_old = null ;
@@ -2677,6 +2769,7 @@ function refresh() {
26772769 refreshSingleOld ( wvar . query ) ;
26782770 } else {
26792771 ajax_inprogress_old = wvar . query ;
2772+ console . log ( response ) ;
26802773 update ( response ) ;
26812774 }
26822775 } else {
@@ -2753,7 +2846,7 @@ function refreshSingle(serial, first) {
27532846 } ,
27542847 complete : function ( request , textStatus ) {
27552848 clearTimeout ( periodical_focus ) ;
2756- periodical_focus = setTimeout ( refreshSingle , timer_seconds_focus * 1000 , serial ) ;
2849+ periodical_focus = setTimeout ( refreshSingle , timer_seconds * 1000 , serial ) ;
27572850 }
27582851 } ) ;
27592852}
@@ -2775,84 +2868,7 @@ function refreshSingleOld(serial) {
27752868 url : data_url ,
27762869 dataType : "json" ,
27772870 success : function ( data , textStatus ) {
2778- var response = { } ;
2779- response . positions = { } ;
2780- var dataTemp = [ ] ;
2781- for ( var i = data . length - 1 ; i >= 0 ; i -- ) {
2782- if ( data [ i ] . hasOwnProperty ( 'subtype' ) ) {
2783- if ( data [ i ] . subtype != "SondehubV1" ) {
2784- var dataTempEntry = { } ;
2785- var station = data [ i ] . uploader_callsign ;
2786- dataTempEntry . callsign = { } ;
2787- dataTempEntry . callsign [ station ] = { } ;
2788- dataTempEntry . callsign [ station ] . snr = data [ i ] . snr ;
2789- dataTempEntry . callsign [ station ] . rssi = data [ i ] . rssi ;
2790- dataTempEntry . gps_alt = data [ i ] . alt ;
2791- dataTempEntry . gps_heading = data [ i ] . heading ;
2792- dataTempEntry . gps_lat = data [ i ] . lat ;
2793- dataTempEntry . gps_lon = data [ i ] . lon ;
2794- dataTempEntry . gps_time = data [ i ] . datetime ;
2795- dataTempEntry . server_time = data [ i ] . datetime ;
2796- dataTempEntry . vehicle = data [ i ] . serial ;
2797- dataTempEntry . position_id = data [ i ] . serial + "-" + data [ i ] . datetime ;
2798- dataTempEntry . data = { } ;
2799- if ( data [ i ] . batt ) {
2800- dataTempEntry . data . batt = data [ i ] . batt ;
2801- }
2802- if ( data [ i ] . burst_timer ) {
2803- dataTempEntry . data . burst_timer = data [ i ] . burst_timer ;
2804- }
2805- if ( data [ i ] . frequency ) {
2806- dataTempEntry . data . burst_timer = data [ i ] . frequency ;
2807- }
2808- if ( data [ i ] . humidity ) {
2809- dataTempEntry . data . humidity = data [ i ] . humidity ;
2810- }
2811- if ( data [ i ] . manufacturer ) {
2812- dataTempEntry . data . manufacturer = data [ i ] . manufacturer ;
2813- }
2814- if ( data [ i ] . sats ) {
2815- dataTempEntry . data . sats = data [ i ] . sats ;
2816- }
2817- if ( data [ i ] . temp ) {
2818- dataTempEntry . data . temperature_external = data [ i ] . temp ;
2819- }
2820- if ( data [ i ] . type ) {
2821- dataTempEntry . data . type = data [ i ] . type ;
2822- dataTempEntry . type = data [ i ] . type ;
2823- }
2824- if ( data [ i ] . pressure ) {
2825- dataTempEntry . data . pressure = data [ i ] . pressure ;
2826- }
2827- if ( data [ i ] . xdata ) {
2828- dataTempEntry . data . xdata = data [ i ] . xdata ;
2829- }
2830- dataTemp . push ( dataTempEntry ) ;
2831- } else {
2832- var dataTempEntry = { } ;
2833- var station = data [ i ] . uploader_callsign ;
2834- dataTempEntry . callsign = { } ;
2835- dataTempEntry . callsign [ station ] = { } ;
2836- dataTempEntry . gps_alt = parseFloat ( data [ i ] . alt ) ;
2837- dataTempEntry . gps_lat = parseFloat ( data [ i ] . lat ) ;
2838- dataTempEntry . gps_lon = parseFloat ( data [ i ] . lon ) ;
2839- dataTempEntry . gps_time = data [ i ] . time_received ;
2840- dataTempEntry . server_time = data [ i ] . time_received ;
2841- dataTempEntry . vehicle = data [ i ] . serial ;
2842- dataTempEntry . position_id = data [ i ] . serial + "-" + data [ i ] . time_received ;
2843- dataTempEntry . data = { } ;
2844- if ( data [ i ] . humidity ) {
2845- dataTempEntry . data . humidity = parseFloat ( data [ i ] . humidity ) ;
2846- }
2847- if ( data [ i ] . temp ) {
2848- dataTempEntry . data . temperature_external = parseFloat ( data [ i ] . temp ) ;
2849- }
2850- dataTemp . push ( dataTempEntry ) ;
2851- }
2852- }
2853- }
2854- response . positions . position = dataTemp ;
2855- response . fetch_timestamp = Date . now ( ) ;
2871+ response = formatData ( data ) ;
28562872 if ( response . positions . position . length == 0 ) {
28572873 update ( response ) ;
28582874 } else {
@@ -3125,7 +3141,6 @@ function habitat_doc_step(hab_docs) {
31253141var periodical , periodical_focus , periodical_receivers , periodical_recoveries ;
31263142var periodical_predictions = null ;
31273143var timer_seconds = 5 ;
3128- var timer_seconds_focus = 1 ;
31293144
31303145function startAjax ( ) {
31313146 // prevent insane clicks to start numerous requests
0 commit comments