Пример #1
0
def main():
    #time.sleep(45)
    commer = rts2comm()
    commer.set_rts2_value('SEL', "queue_only", True)
    commer.set_rts2_value("SEL", "plan_queing", 3)
    commer.set_rts2_value("BIG61", "pec_state", 1)
    commer.set_rts2_value("EXEC", "auto_loop", False)
Пример #2
0
def change_state(state):
    commer = rts2comm()
    if state.lower() in ['on', 'off', 'standby']:
        commer.set_state(state)
        resp = "state set to {}".format(state)
    else:
        resp = "bad state {}".format(state)
    return resp
Пример #3
0
def rts2_queue_start():
    """Easy way set all the parameters for starting
    queue observing. """
    commer = rts2comm()
    commer.set_rts2_value("SEL", "plan_queing", 3)
    commer.set_rts2_value("SEL", "queue_only", True)
    commer.set_rts2_value("BIG61", "pec_state", 1)
    commer.set_rts2_value("EXEC", "auto_loop", False)
Пример #4
0
def doexposure(exptime):
    commer=rts2comm()
    try:
        commer.setValue("C0", "exposure", float(exptime))
        ret = commer.executeCommand( "EXEC", "now 2578" ) 
    except Excption as err:
        ret = err

    return jsonify({"response":ret})
Пример #5
0
def get_all_devices():
    """Get the rts2 values for all the devices in RTS2 and put them in
    one big json."""
    commer = rts2comm()
    try:
        jdata = commer._getall()
    except Exception as err:
        jdata = {"error": str(err)}

    jdata['rts2_status'] = commer.get_state()
    return json.dumps( jdata )
Пример #6
0
def lastimg():
    commer = rts2comm()
    fname = commer.getValue("C0", "last_image", True)
    if fname == "":
        return redirect(url_for("static", filename="noimg.jpg"))
    try:
        img = to_jpg("/tmp/m.fits")
    except FileNotFoundError as err:
        return redirect(url_for("static", filename="noimg.jpg"))
    #img.save(os.path.join(APP_ROOT, "static","latest.jpg"))
    #return redirect(url_for("static", filename="latest.jpg"))
    return send_file(img, mimetype="image/jpeg")
Пример #7
0
def set_rts2_value_post(device, name):
    if device in ["BIG61", "C0", "EXEC", "SEL"]:

        commer=rts2comm()
        data = request.json
        try:
            resp=commer.setValue(device, name, data["value"])
        except Exception as err:
            resp = {"error": str(err)}

        finally:
            return jsonify(resp)
    else:
        return jsonify({"error": "Bad device name: {}".format(device)})
Пример #8
0
def rts2scripts():
    commer=rts2comm()
    try:
        target_name = commer.get_rts2_value("EXEC", "current_name").value
        current_exp_num = commer.get_rts2_value("C0", "script_exp_num").value
    except Exception as err:
        return jsonify({"total_num_exps": "???", "script_exp_num":"???"  })

    if target_name == "":
        exps=0
    else:
        try:
            script = load_from_script(target_name)
        except Exception as err:
            return jsonify({"total_num_exps": "???", "script_exp_num":"???"  })

        exps=0
        for expset in script["obs_info"]:
            exps+=int(expset["amount"])
    return jsonify({"total_num_exps": exps, "script_exp_num":current_exp_num  })
Пример #9
0
def FocusRunDecider(frame, frame_night):
    FOCUS_FIELD_IDS = [
        3611, 3612, 3613, 3614, 3615, 3616, 3617, 3618, 3619, 3620, 3621, 3622,
        3623, 3624
    ]
    com = rts2comm()
    #tar = rts2_targets()
    focus_field_targets = {}

    for _id in FOCUS_FIELD_IDS:
        t = com.get_target(_id)
        fft = FFTarget(t, frame)
        secz = fft.altaz.secz

        if secz > 0.0 and secz < 3:
            print(secz, fft.name)
            focus_field_targets[str(secz)] = fft

    lowest_secz = min(list(focus_field_targets.keys()))
    focus_field = focus_field_targets[lowest_secz]

    return_field = queue_obj(focus_field.name,
                             focus_field.ra,
                             focus_field.dec,
                             0, [
                                 exp_obj(2, 'V', 30, int(focus_field.id)),
                             ],
                             'Focus',
                             focus_field.id,
                             focus_field.id,
                             queue_obj_constraints(
                                 moon_distance_threshold=1,
                                 airmass_threshold=float(3.0)),
                             expids=[focus_field.id])
    return_field.skycoord = focus_field.skycoord
    return_field.set_altaz(frame_night, setpeak=True)

    return return_field
Пример #10
0
def set_rts2_value(device, name, value):
    commer=rts2comm()
    resp = commer.setValue(device, name, value)
    return jsonify({"response":resp})
Пример #11
0
def goto_filter(Filter):
    filts = filter_set()
    filter_num = filts[Filter]
    commer = rts2comm()
    resp = commer.setValue("W0", "filter", filter_num, True )
    return jsonify({"response": resp})
Пример #12
0
def get_device(name=None):
    commer = rts2comm()
    return json.dumps( commer.get_device_info() )
Пример #13
0
def dofocus():
    commer=rts2comm()
    focusid = 2572 #should be in config
    ret = commer.executeCommand( "EXEC", "now 2572" )
    return jsonify({"response":ret})