from cozmo_fsm import *

class Snapshot(StateMachineProgram):
    def user_image(self, image, gray):
        self.robot.myimage = gray

    class SaveImage(StateNode):
        def start(self,event):
            super().start(event)
            cv2.imwrite('snapshot.png', self.robot.myimage)
            print('Wrote snapshot.png')

    def setup(self):
        """
            loop: StateNode() =TM=> self.SaveImage() =N=> loop
        """
        
        # Code generated by genfsm on Mon Apr  1 03:16:29 2019:
        
        loop = StateNode() .set_name("loop") .set_parent(self)
        saveimage1 = self.SaveImage() .set_name("saveimage1") .set_parent(self)
        
        textmsgtrans1 = TextMsgTrans() .set_name("textmsgtrans1")
        textmsgtrans1 .add_sources(loop) .add_destinations(saveimage1)
        
        nulltrans1 = NullTrans() .set_name("nulltrans1")
        nulltrans1 .add_sources(saveimage1) .add_destinations(loop)
        
        return self
