@@ -344,6 +344,7 @@ function clean_refresh(text, force, history_step) {
344344
345345 if ( clientActive ) {
346346 clientActive = false ;
347+ $ ( "#stText" ) . text ( "" ) ;
347348 }
348349
349350 // reset mode if, invalid mode is specified
@@ -535,6 +536,7 @@ function load() {
535536 } ) ;
536537
537538 startAjax ( ) ;
539+ liveData ( ) ;
538540 } ;
539541
540542 map . whenReady ( callBack ) ;
@@ -2654,16 +2656,18 @@ function formatData(data, live) {
26542656 var station = data . uploader_callsign ;
26552657 dataTempEntry . callsign = { } ;
26562658 //check if other stations also received this packet
2657- if ( data . datetime == vehicles [ data . serial ] . curr_position . gps_time ) {
2658- for ( let key in vehicles [ data . serial ] . curr_position . callsign ) {
2659- if ( vehicles [ data . serial ] . curr_position . callsign . hasOwnProperty ( key ) ) {
2660- if ( key != station ) {
2661- dataTempEntry . callsign [ key ] = { } ;
2662- if ( vehicles [ data . serial ] . curr_position . callsign [ key ] . hasOwnProperty ( "snr" ) ) {
2663- dataTempEntry . callsign [ key ] . snr = vehicles [ data . serial ] . curr_position . callsign [ key ] . snr ;
2664- }
2665- if ( vehicles [ data . serial ] . curr_position . callsign [ key ] . hasOwnProperty ( "rssi" ) ) {
2666- dataTempEntry . callsign [ key ] . rssi = vehicles [ data . serial ] . curr_position . callsign [ key ] . rssi ;
2659+ if ( vehicles . hasOwnProperty ( data . serial ) ) {
2660+ if ( data . datetime == vehicles [ data . serial ] . curr_position . gps_time ) {
2661+ for ( let key in vehicles [ data . serial ] . curr_position . callsign ) {
2662+ if ( vehicles [ data . serial ] . curr_position . callsign . hasOwnProperty ( key ) ) {
2663+ if ( key != station ) {
2664+ dataTempEntry . callsign [ key ] = { } ;
2665+ if ( vehicles [ data . serial ] . curr_position . callsign [ key ] . hasOwnProperty ( "snr" ) ) {
2666+ dataTempEntry . callsign [ key ] . snr = vehicles [ data . serial ] . curr_position . callsign [ key ] . snr ;
2667+ }
2668+ if ( vehicles [ data . serial ] . curr_position . callsign [ key ] . hasOwnProperty ( "rssi" ) ) {
2669+ dataTempEntry . callsign [ key ] . rssi = vehicles [ data . serial ] . curr_position . callsign [ key ] . rssi ;
2670+ }
26672671 }
26682672 }
26692673 }
@@ -2930,13 +2934,7 @@ function refresh() {
29302934 if ( ! ajax_inprogress_single ) {
29312935 document . getElementById ( "timeperiod" ) . disabled = false ;
29322936 }
2933- if ( wvar . query == "" || sondePrefix . indexOf ( wvar . query ) > - 1 ) {
2934- if ( ! clientConnected ) {
2935- liveData ( ) ;
2936- } else if ( clientConnected ) {
2937- clientActive = true ;
2938- }
2939- }
2937+ clientActive = true ;
29402938 clearTimeout ( periodical ) ;
29412939 ajax_inprogress = false ;
29422940 }
@@ -2947,48 +2945,53 @@ function liveData() {
29472945 client . onConnectionLost = onConnectionLost ;
29482946 client . onMessageArrived = onMessageArrived ;
29492947
2950- client . connect ( { onSuccess :onConnect , onFailure :connectionError , timeout : 10 , reconnect :false } ) ;
2948+ client . connect ( { onSuccess :onConnect , onFailure :connectionError , reconnect :true } ) ;
29512949
29522950 function onConnect ( ) {
29532951 client . subscribe ( "#" ) ;
29542952 clientConnected = true ;
29552953 clientActive = true ;
2954+ $ ( "#stText" ) . text ( "websocket |" ) ;
29562955 } ;
29572956
29582957 function connectionError ( error ) {
29592958 $ ( "#stText" ) . text ( "error |" ) ;
2960- console . log ( error ) ;
29612959 clientConnected = false ;
29622960 clientActive = false ;
29632961 refresh ( ) ;
29642962 } ;
29652963
29662964 function onConnectionLost ( responseObject ) {
29672965 if ( responseObject . errorCode !== 0 ) {
2968- console . log ( responseObject ) ;
29692966 clientConnected = false ;
29702967 clientActive = false ;
29712968 refresh ( ) ;
29722969 }
29732970 } ;
29742971
29752972 function onMessageArrived ( message ) {
2976- if ( clientActive ) {
2977- var frame = JSON . parse ( message . payloadString . toString ( ) ) ;
2978- if ( ( new Date ( ) . getTime ( ) - new Date ( frame . time_received ) . getTime ( ) ) < 30000 ) {
2979- var test = formatData ( frame , true ) ;
2980- if ( clientActive ) {
2981- update ( test ) ;
2973+ var dateNow = new Date ( ) . getTime ( ) ;
2974+ try {
2975+ if ( clientActive ) {
2976+ var frame = JSON . parse ( message . payloadString . toString ( ) ) ;
2977+ if ( wvar . query == "" || sondePrefix . indexOf ( wvar . query ) > - 1 || wvar . query == frame . serial ) {
2978+ if ( ( dateNow - new Date ( frame . time_received ) . getTime ( ) ) < 30000 ) {
2979+ var test = formatData ( frame , true ) ;
2980+ if ( clientActive ) {
2981+ update ( test ) ;
2982+ }
2983+ $ ( "#stTimer" ) . attr ( "data-timestamp" , dateNow ) ;
2984+ $ ( "#stText" ) . text ( "websocket |" ) ;
2985+ } else if ( ( dateNow - new Date ( frame . time_received ) . getTime ( ) ) > 150000 ) {
2986+ $ ( "#stText" ) . text ( "error |" ) ;
2987+ refresh ( ) ;
2988+ } else {
2989+ $ ( "#stText" ) . text ( "error |" ) ;
2990+ }
29822991 }
2983- $ ( "#stTimer" ) . attr ( "data-timestamp" , new Date ( ) . getTime ( ) ) ;
2984- $ ( "#stText" ) . text ( "websocket |" ) ;
2985- } else if ( ( new Date ( ) . getTime ( ) - new Date ( frame . time_received ) . getTime ( ) ) > 150000 ) {
2986- $ ( "#stText" ) . text ( "error |" ) ;
2987- refresh ( ) ;
2988- } else {
2989- $ ( "#stText" ) . text ( "error |" ) ;
29902992 }
29912993 }
2994+ catch ( err ) { }
29922995 } ;
29932996}
29942997
0 commit comments