function fetchText ( delay , repeat ) {
var el = $ ( "#console" ) ;
if ( el . textEnd == undefined ) {
el . textEnd = 0 ;
el . innerHTML = "" ;
}
window . setTimeout ( function ( ) {
ajaxJson ( 'GET' , console _url + "?start=" + el . textEnd ,
function ( resp ) {
var dly = updateText ( resp ) ;
if ( repeat ) fetchText ( dly , repeat ) ;
} ,
function ( ) { retryLoad ( repeat ) ; } ) ;
} , delay ) ;
}
function updateText ( resp ) {
var el = $ ( "#console" ) ;
var delay = 3000 ;
if ( resp != null && resp . len > 0 ) {
console . log ( "updateText got" , resp . len , "chars at" , resp . start ) ;
if ( resp . start > el . textEnd ) {
el . innerHTML = el . innerHTML . concat ( "\r\n<missing lines\r\n" ) ;
}
el . innerHTML = el . innerHTML . concat ( resp . text ) ;
el . textEnd = resp . start + resp . len ;
delay = 500 ;
}
return delay ;
}
function retryLoad ( repeat ) {
fetchText ( 1000 , repeat ) ;
}
//===== Console page
function showRate ( rate ) {
rates . forEach ( function ( r ) {
var el = $ ( "#" + r + "-button" ) ;
el . className = el . className . replace ( " button-selected" , "" ) ;
} ) ;
var el = $ ( "#" + rate + "-button" ) ;
if ( el != null ) el . className += " button-selected" ;
}
function baudButton ( baud ) {
$ ( "#baud-btns" ) . appendChild ( m (
' <a id="' + baud + '-button" href="#" class="pure-button">' + baud + '</a>' ) ) ;
$ ( "#" + baud + "-button" ) . addEventListener ( "click" , function ( e ) {
e . preventDefault ( ) ;
ajaxSpin ( 'POST' , "/console/baud?rate=" + baud ,
function ( resp ) { showNotification ( "" + baud + " baud set" ) ; showRate ( baud ) ; } ,
function ( s , st ) { showWarning ( "Error setting baud rate: " + st ) ; }
) ;
} ) ;
}
//===== Log page
function showDbgMode ( mode ) {
var btns = $ ( '.dbg-btn' ) ;
for ( var i = 0 ; i < btns . length ; i ++ ) {
if ( btns [ i ] . id === "dbg-" + mode )
addClass ( btns [ i ] , "button-selected" ) ;
else
removeClass ( btns [ i ] , "button-selected" ) ;
}
}