Details

      Description

      In order to run at Subaru, the FPS commands which take exposures take their visit id from IIC. See INSTRM-1296. The proposed command list is currently:

        ('moveToPfsDesign', '<visit>', ),
        ('movePhiToAngle', '<visit> <angle> <iteration>', ),
        ('moveToHome', '<visit> @(phi|theta|all)', ),
        ('moveToSafePosition', '<visit>', ),
        ('gotoVerticalFromPhi60', '<visit>', ),
        ('makeMotorMap', '<visit> @(phi|theta) <stepsize> <repeat> [@slowOnly]', ),
        ('makeOntimeMap', '<visit> @(phi|theta)', ),
        ('angleConvergenceTest', '<visit> @(phi|theta) <angleTargets>', ),
        ('targetConvergenceTest', '<visit> @(ontime|speed) <totalTargets> <maxsteps>', ),
        ('motorOntimeSearch', '<visit> @(phi|theta)', ),
      

        Attachments

          Issue Links

            Activity

            Hide
            cloomis cloomis added a comment -

            This will require some changes to the fps/cobraCharmer commands in order to follow the current id conventions: within a visit we can have up to 100 mcs frames, and that the visit generally comes from iic.

            I think that for most of the main operations (simple tests, real target convergence, single motor maps) we are fine. But some of the current fps commands can easily run past 100 frames. In particular, the testConverge command can make an arbitrary number of ~10 frame tests, and the motorMap commands can generate up to N*four motormaps (always forward and reverse; always slow and optionally also fast. All multiplied by a arbitrary repeat count.). I think repeats and fast can (and should!) be pulled out into the fps caller, but am wondering how often a single motormap or fwd/rev motormap pair takes more than 100 frames? 50 frames for the standard max theta range of 10000 steps limits us to 200 steps/iteration, which seems high.

            chihyi? chyan, how often would that be a real issue? For 2021 I see the following directories with >100 frames:

            directory #frames outputFiles
            20210703_008 150 2021-07-03-phi-slow.xml
            20210703_009 150 2021-07-03-phi-final.xml  2021-07-03-phi-newcnt.xml
            20210703_016 150 2021-07-03-phi-slow.xml
            20210703_017 150 2021-07-03-phi-final.xml
            20210703_021 102 2021-07-03-phi_opt.xml
            20210704_007 102 2021-07-04-phi_opt.xml
            20210705_002 102 2021-07-05-phi_opt.xml
            20210705_012 150 2021-07-05-phi-slow.xml
            20210705_013 150 2021-07-05-phi-final-flagbad.xml  2021-07-05-phi-final.xml
            20210705_016 367
            20210705_017 353
            20210705_023 102 2021-07-05-theta_opt.xml
            20210706_002 246 2021-07-06-theta-slow.xml
            20210706_003 246 2021-07-06-theta-final.xml
            20210706_005 246 2021-07-06-theta-slow.xml
            20210706_006 246 2021-07-06-theta-finalflag.xml	2021-07-06-theta-final.xml
            20210707_001 1098
            20210707_002 713
            

            Also, the primitive fps (cobraCharmer) operations each create a directory inside which they aggregate logs, images, and both intermediate and final data files. This is very convenient and, I think, still desirable. I'll write a separate ticket to rephrase that, but the mcsActor now saves raw files in /data/raw/$date/mcs/ without any of the additional structure. They can be symlinked to.

            Finally, I'm inclined to leave many engineering commands in fps, and do not feel the need to require going through iic for those.

            Show
            cloomis cloomis added a comment - This will require some changes to the fps/cobraCharmer commands in order to follow the current id conventions: within a visit we can have up to 100 mcs frames, and that the visit generally comes from iic. I think that for most of the main operations (simple tests, real target convergence, single motor maps) we are fine. But some of the current fps commands can easily run past 100 frames. In particular, the testConverge command can make an arbitrary number of ~10 frame tests, and the motorMap commands can generate up to N*four motormaps (always forward and reverse; always slow and optionally also fast. All multiplied by a arbitrary repeat count.). I think repeats and fast can (and should!) be pulled out into the fps caller, but am wondering how often a single motormap or fwd/rev motormap pair takes more than 100 frames? 50 frames for the standard max theta range of 10000 steps limits us to 200 steps/iteration, which seems high. chihyi ? chyan , how often would that be a real issue? For 2021 I see the following directories with >100 frames: directory #frames outputFiles 20210703_008 150 2021-07-03-phi-slow.xml 20210703_009 150 2021-07-03-phi-final.xml 2021-07-03-phi-newcnt.xml 20210703_016 150 2021-07-03-phi-slow.xml 20210703_017 150 2021-07-03-phi-final.xml 20210703_021 102 2021-07-03-phi_opt.xml 20210704_007 102 2021-07-04-phi_opt.xml 20210705_002 102 2021-07-05-phi_opt.xml 20210705_012 150 2021-07-05-phi-slow.xml 20210705_013 150 2021-07-05-phi-final-flagbad.xml 2021-07-05-phi-final.xml 20210705_016 367 20210705_017 353 20210705_023 102 2021-07-05-theta_opt.xml 20210706_002 246 2021-07-06-theta-slow.xml 20210706_003 246 2021-07-06-theta-final.xml 20210706_005 246 2021-07-06-theta-slow.xml 20210706_006 246 2021-07-06-theta-finalflag.xml 2021-07-06-theta-final.xml 20210707_001 1098 20210707_002 713 Also, the primitive fps (cobraCharmer) operations each create a directory inside which they aggregate logs, images, and both intermediate and final data files. This is very convenient and, I think, still desirable. I'll write a separate ticket to rephrase that, but the mcsActor now saves raw files in /data/raw/$date/mcs/ without any of the additional structure. They can be symlinked to. Finally, I'm inclined to leave many engineering commands in fps, and do not feel the need to require going through iic for those.
            Hide
            chihyi chihyi added a comment -

            For the motor maps, we choose two on-times for fast(0.12 deg/step) and slow(0.06 deg/step) average speeds in each direction. For theta motors, it's about 400/0.12=3333 steps for fast maps and 400/0.06=6666 steps for slow maps. Usually I use large steps/iteration like 250 for one module test. But Chi-Hung uses smaller steps/iteration to build the motor maps. He should know the optimized steps/iteration for building the motor maps.

            Show
            chihyi chihyi added a comment - For the motor maps, we choose two on-times for fast(0.12 deg/step) and slow(0.06 deg/step) average speeds in each direction. For theta motors, it's about 400/0.12=3333 steps for fast maps and 400/0.06=6666 steps for slow maps. Usually I use large steps/iteration like 250 for one module test. But Chi-Hung uses smaller steps/iteration to build the motor maps. He should know the optimized steps/iteration for building the motor maps.
            Hide
            cloomis cloomis added a comment -

            Implemented this by adding a Visitor class which the commands update with new visits and which the image acquisition layer updates with new frames. In other words, little code was changed.

            Show
            cloomis cloomis added a comment - Implemented this by adding a Visitor class which the commands update with new visits and which the image acquisition layer updates with new frames. In other words, little code was changed.

              People

              • Assignee:
                chyan chyan
                Reporter:
                cloomis cloomis
              • Votes:
                0 Vote for this issue
                Watchers:
                Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: