Commit 79f31044 authored by Samuel McDermott's avatar Samuel McDermott
Browse files

Add API to set the stage

parent a1f27b00
Loading
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -39,6 +39,11 @@ _actions = {
        "view_class": stage.ZeroStageAPI,
        "conditions": True,
    },
    "setStage": {
        "rule" : "/stage/set/",
        "view_class": stage.SetStageAPI,
        "conditions": True,
    },
    "shutdown": {
        "rule": "/system/shutdown/",
        "view_class": system.ShutdownAPI,
+15 −0
Original line number Diff line number Diff line
@@ -65,3 +65,18 @@ class ZeroStageAPI(ActionView):

        # TODO: Make schema for microscope state
        return microscope.state["stage"]

class SetStageAPI(ActionView):
    args = {
        "stage_type": fields.String(missing = None, example = "SangaStage", description = "The stage geometry [SangaStage, SangaDeltaStage]")
    }
    def post(self,args):
        """
        Set the stage geometry.
        """
        microscope = find_component("org.openflexure.microscope")
        microscope.set_stage(stage_type=args.get("stage_type"))
        
        # TODO: Make schema for microscope state
        return microscope.state["stage"]