Skip to content
status-streams.js 2.75 KiB
Newer Older

//////////////////
/// Status streams
//////////////////

var source = new EventSource('/web/home/stream'); // in templates.py

////////////////////
/// Telescope stream
////////////////////

source.addEventListener("telescope",function(e) {
    var res = JSON.parse(e.data)
    //console.log(res)
    
    $.each(res, function(k,v){
        var elem = $("[data-status=telescope-"+k)
        if (elem) {
            //console.log(k)
            elem.text(v.response)
        }
    })
    
    $("[data-status=telescope-coordinates-ra").text(res.coordinates.response.radec[0])
    $("[data-status=telescope-coordinates-dec").text(res.coordinates.response.radec[1])
    $("[data-status=telescope-coordinates-alt").text(res.coordinates.response.altaz[0].toFixed(3))
    $("[data-status=telescope-coordinates-az").text(res.coordinates.response.altaz[1].toFixed(3))
    $("[data-status=telescope-coordinates-ha").text(res.coordinates.response.ha)
    $("[data-status=telescope-coordinates-lst").text(res.coordinates.response.lst)
    
    $("[data-status=telescope-offset-zd").text((res.offset.response[0]*3600).toFixed(1))
    $("[data-status=telescope-offset-az").text((res.offset.response[1]*3600).toFixed(1))
    $("[data-status=telescope-offset-rot").text(res.rotator.response.toFixed(1))
    
});

//////////////////
/// Dome stream
//////////////////

source.addEventListener("dome",function(e) {
    var res = JSON.parse(e.data)
    console.log(res)

    $.each(res, function(k,v){
        var elem = $("[data-status=dome-"+k)
        if (elem) {
            elem.text(v.response)
        }
    })
    
    $("[data-status=dome-azimuth").text(res.position.response.azimuth)
    $("[data-status=dome-parked").text(res.position.response.parked)
    
});

//////////////////
/// Camera stream
//////////////////

source.addEventListener("camera",function(e) {
    var res = JSON.parse(e.data)
    console.log(res)

    $.each(res, function(k,v){
        var elem = $("[data-status=camera-"+k)
        if (elem) {
            elem.text(v.response)
        }            
    })

    $.each(res.settings.response, function(k,v){
        var elem = $("[data-status=camera-"+k)
        if (elem) {
            elem.text(v)
        }            
    })
///////////////////////
/// Environment stream
///////////////////////
source.addEventListener("environment",function(e) {
    var res = JSON.parse(e.data)
    console.log(res)
    $.each(res.external, function(k,v){
                
        var elem = $("[data-status=environment-external-"+k)
        if (elem) {
            elem.text(v)
        }            
    })
    $.each(res.internal, function(k,v){
        var elem = $("[data-status=environment-internal-"+k)
        if (elem) {
            elem.text(v)
        }            
    })