<!-- 
RSS generated by JIRA (8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b) at Sat Feb 10 16:23:26 JST 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>PFS-JIRA</title>
    <link>https://pfspipe.ipmu.jp/jira</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.3.4</version>
        <build-number>803005</build-number>
        <build-date>13-09-2019</build-date>
    </build-info>


<item>
            <title>[INSTRM-287] Adopt the same state machine logic for sps actors</title>
                <link>https://pfspipe.ipmu.jp/jira/browse/INSTRM-287</link>
                <project id="10300" key="INSTRM">Instrument control development</project>
                    <description>&lt;p&gt;While listing the meta-keywords for sps, we realized with &lt;a href=&quot;https://pfspipe.ipmu.jp/jira/secure/ViewProfile.jspa?name=fmadec&quot; class=&quot;user-hover&quot; rel=&quot;fmadec&quot;&gt;fmadec&lt;/a&gt; that it would be much simpler if all the sps actors (enu, ccd, xcu ..) and their devices would have the same state machine mechanism.&lt;/p&gt;

&lt;p&gt;As as they all inherit from &lt;b&gt;tron_actorcore.ICC&lt;/b&gt;, if would be worth putting the code which handle the state machine directly the in the actorcore, with prototyped (functions, callback ...) which are called when passing from one state to the other .&lt;/p&gt;

&lt;p&gt;It would be still up to the developer to fill those functions, but the machinery behind would do most of the work and generate the useful keywords .&lt;/p&gt;

&lt;p&gt;If everybody agree, we think it would be a good idea. &lt;br/&gt;
I will join the basic design that we have in mind.&lt;/p&gt;</description>
                <environment></environment>
        <key id="12055">INSTRM-287</key>
            <summary>Adopt the same state machine logic for sps actors</summary>
                <type id="3" iconUrl="https://pfspipe.ipmu.jp/jira/secure/viewavatar?size=xsmall&amp;avatarId=10518&amp;avatarType=issuetype">Task</type>
                                            <priority id="10000" iconUrl="https://pfspipe.ipmu.jp/jira/images/icons/priorities/medium.svg">Normal</priority>
                        <status id="10100" iconUrl="https://pfspipe.ipmu.jp/jira/images/icons/statuses/generic.png" description="No further work should be done on this.">Won&apos;t Fix</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="2">Won&apos;t Fix</resolution>
                                        <assignee username="arnaud.lefur">arnaud.lefur</assignee>
                                    <reporter username="arnaud.lefur">arnaud.lefur</reporter>
                        <labels>
                            <label>SM1</label>
                            <label>SPS</label>
                    </labels>
                <created>Tue, 6 Feb 2018 18:36:20 +0000</created>
                <updated>Thu, 24 Feb 2022 20:32:51 +0000</updated>
                            <resolved>Thu, 24 Feb 2022 20:32:51 +0000</resolved>
                                                                    <component>ics_ccdActor</component>
                    <component>ics_enuActor</component>
                    <component>ics_xcuActor</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                <comments>
                            <comment id="12893" author="cloomis" created="Tue, 6 Feb 2018 19:55:50 +0000"  >&lt;p&gt;Agreed in principle. Can you flesh out what the state keywords are and how they are acted on?&lt;/p&gt;</comment>
                            <comment id="12895" author="arnaud.lefur" created="Wed, 7 Feb 2018 14:54:16 +0000"  >&lt;p&gt;I&apos;ve just attached a diagram of the design, we were thinking of.&lt;br/&gt;
You have basically two keywords : &lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;One state keyword ( OFF, LOADED, ONLINE), which represent the functional state of the device&lt;/li&gt;
	&lt;li&gt;One substate keyword ( IDLE, LOADING, INITIALISING, BUSY, FAILED...) which represent what the device is currently doing.&lt;/li&gt;
&lt;/ul&gt;

</comment>
                            <comment id="12900" author="cloomis" created="Wed, 7 Feb 2018 18:43:11 +0000"  >&lt;p&gt;As we discussed on the telecon, it could be nice to incorporate the &lt;tt&gt;exposureState&lt;/tt&gt; logic into this. I&apos;d envision replacing your &lt;tt&gt;BUSY&lt;/tt&gt; with &lt;tt&gt;FLUSHING&lt;/tt&gt;,&lt;tt&gt;INTEGRATING&lt;/tt&gt;,&lt;tt&gt;READING&lt;/tt&gt; for the CCDs and &lt;tt&gt;FLUSHING&lt;/tt&gt;,&lt;tt&gt;READING&lt;/tt&gt; for the H4s.&lt;br/&gt;
Does that fit in to your scheme? Or would you have some other mechanism?&lt;/p&gt;

&lt;p&gt;For most hardware, I&apos;d want to lie about &lt;tt&gt;BUSY&lt;/tt&gt; &amp;#8211; not toggle between &lt;tt&gt;IDLE&lt;/tt&gt; and &lt;tt&gt;BUSY&lt;/tt&gt; with each low-level command. Does that violate your framework?&lt;/p&gt;

&lt;p&gt;Is there any mechanism for annotating the state change? Adding a comment/reason for failure could be efficient.&lt;/p&gt;</comment>
                            <comment id="13059" author="arnaud.lefur" created="Mon, 26 Mar 2018 15:44:43 +0000"  >&lt;p&gt;An actor with this mechanism has been developped : &lt;a href=&quot;http://example.com/&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://github.com/alefur/ics_fsmActor&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Adding it to the actorcore is the second step&lt;/p&gt;</comment>
                            <comment id="13445" author="arnaud.lefur" created="Mon, 4 Jun 2018 09:17:48 +0000"  >&lt;p&gt;merged into tron_actorcore 1.8.2&lt;/p&gt;</comment>
                            <comment id="13809" author="hassan" created="Mon, 23 Jul 2018 13:25:48 +0000"  >&lt;p&gt;Craig to split this ticket into phase one and phase two tickets&lt;/p&gt;</comment>
                            <comment id="15302" author="hassan" created="Wed, 10 Apr 2019 15:24:24 +0000"  >&lt;p&gt;Blocked by &lt;a href=&quot;https://pfspipe.ipmu.jp/jira/browse/INSTRM-425&quot; title=&quot;Implement state engine in ccdActor&quot; class=&quot;issue-link&quot; data-issue-key=&quot;INSTRM-425&quot;&gt;INSTRM-425&lt;/a&gt; and &lt;a href=&quot;https://pfspipe.ipmu.jp/jira/browse/INSTRM-426&quot; title=&quot;Implement state engines in xcuActor&quot; class=&quot;issue-link&quot; data-issue-key=&quot;INSTRM-426&quot;&gt;INSTRM-426&lt;/a&gt; .&lt;/p&gt;</comment>
                            <comment id="15416" author="hassan" created="Thu, 2 May 2019 13:21:38 +0000"  >&lt;p&gt;To be discussed with &lt;a href=&quot;https://pfspipe.ipmu.jp/jira/secure/ViewProfile.jspa?name=cloomis&quot; class=&quot;user-hover&quot; rel=&quot;cloomis&quot;&gt;cloomis&lt;/a&gt; during visit to LAM early May.&lt;/p&gt;</comment>
                            <comment id="30508" author="arnaud.lefur" created="Thu, 24 Feb 2022 20:32:51 +0000"  >&lt;p&gt;okay, we never went down that road.&lt;br/&gt;
enu and dcb are using this mechanism, but I guess that will be it for sps.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="12645">INSTRM-425</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="12646">INSTRM-426</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="12028">INSTRM-265</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="10900" name="stateMachine.jpg" size="614087" author="arnaud.lefur" created="Wed, 7 Feb 2018 14:50:04 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10500" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|02qpuc:i6001gy</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10005" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="56">SM1-2019 L</customfieldvalue>
    <customfieldvalue id="60">SM1-2019 M</customfieldvalue>
    <customfieldvalue id="61">SM1-2019 N</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                        </customfields>
    </item>
</channel>
</rss>