{"action":"created","issue":{"url":"https://api.github.com/repos/cms-gem-daq-project/ctp7_modules/issues/52","repository_url":"https://api.github.com/repos/cms-gem-daq-project/ctp7_modules","labels_url":"https://api.github.com/repos/cms-gem-daq-project/ctp7_modules/issues/52/labels{/name}","comments_url":"https://api.github.com/repos/cms-gem-daq-project/ctp7_modules/issues/52/comments","events_url":"https://api.github.com/repos/cms-gem-daq-project/ctp7_modules/issues/52/events","html_url":"https://github.com/cms-gem-daq-project/ctp7_modules/issues/52","id":365965623,"node_id":"MDU6SXNzdWUzNjU5NjU2MjM=","number":52,"title":"Feature Request: Local & Non-local functions for TTC_OVERRIDE_MASK ","user":{"login":"bdorney","id":6432141,"node_id":"MDQ6VXNlcjY0MzIxNDE=","avatar_url":"https://avatars0.githubusercontent.com/u/6432141?v=4","gravatar_id":"","url":"https://api.github.com/users/bdorney","html_url":"https://github.com/bdorney","followers_url":"https://api.github.com/users/bdorney/followers","following_url":"https://api.github.com/users/bdorney/following{/other_user}","gists_url":"https://api.github.com/users/bdorney/gists{/gist_id}","starred_url":"https://api.github.com/users/bdorney/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bdorney/subscriptions","organizations_url":"https://api.github.com/users/bdorney/orgs","repos_url":"https://api.github.com/users/bdorney/repos","events_url":"https://api.github.com/users/bdorney/events{/privacy}","received_events_url":"https://api.github.com/users/bdorney/received_events","type":"User","site_admin":false},"labels":[{"id":671530945,"node_id":"MDU6TGFiZWw2NzE1MzA5NDU=","url":"https://api.github.com/repos/cms-gem-daq-project/ctp7_modules/labels/Priority:%20High","name":"Priority: High","color":"ff8000","default":false},{"id":671530962,"node_id":"MDU6TGFiZWw2NzE1MzA5NjI=","url":"https://api.github.com/repos/cms-gem-daq-project/ctp7_modules/labels/Status:%20Help%20Wanted","name":"Status: Help Wanted","color":"d93f0b","default":false},{"id":671530958,"node_id":"MDU6TGFiZWw2NzE1MzA5NTg=","url":"https://api.github.com/repos/cms-gem-daq-project/ctp7_modules/labels/Type:%20Enhancement","name":"Type: Enhancement","color":"84b6eb","default":false}],"state":"open","locked":false,"assignee":{"login":"jsturdy","id":5197820,"node_id":"MDQ6VXNlcjUxOTc4MjA=","avatar_url":"https://avatars1.githubusercontent.com/u/5197820?v=4","gravatar_id":"","url":"https://api.github.com/users/jsturdy","html_url":"https://github.com/jsturdy","followers_url":"https://api.github.com/users/jsturdy/followers","following_url":"https://api.github.com/users/jsturdy/following{/other_user}","gists_url":"https://api.github.com/users/jsturdy/gists{/gist_id}","starred_url":"https://api.github.com/users/jsturdy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsturdy/subscriptions","organizations_url":"https://api.github.com/users/jsturdy/orgs","repos_url":"https://api.github.com/users/jsturdy/repos","events_url":"https://api.github.com/users/jsturdy/events{/privacy}","received_events_url":"https://api.github.com/users/jsturdy/received_events","type":"User","site_admin":false},"assignees":[{"login":"jsturdy","id":5197820,"node_id":"MDQ6VXNlcjUxOTc4MjA=","avatar_url":"https://avatars1.githubusercontent.com/u/5197820?v=4","gravatar_id":"","url":"https://api.github.com/users/jsturdy","html_url":"https://github.com/jsturdy","followers_url":"https://api.github.com/users/jsturdy/followers","following_url":"https://api.github.com/users/jsturdy/following{/other_user}","gists_url":"https://api.github.com/users/jsturdy/gists{/gist_id}","starred_url":"https://api.github.com/users/jsturdy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsturdy/subscriptions","organizations_url":"https://api.github.com/users/jsturdy/orgs","repos_url":"https://api.github.com/users/jsturdy/repos","events_url":"https://api.github.com/users/jsturdy/events{/privacy}","received_events_url":"https://api.github.com/users/jsturdy/received_events","type":"User","site_admin":false},{"login":"bdorney","id":6432141,"node_id":"MDQ6VXNlcjY0MzIxNDE=","avatar_url":"https://avatars0.githubusercontent.com/u/6432141?v=4","gravatar_id":"","url":"https://api.github.com/users/bdorney","html_url":"https://github.com/bdorney","followers_url":"https://api.github.com/users/bdorney/followers","following_url":"https://api.github.com/users/bdorney/following{/other_user}","gists_url":"https://api.github.com/users/bdorney/gists{/gist_id}","starred_url":"https://api.github.com/users/bdorney/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bdorney/subscriptions","organizations_url":"https://api.github.com/users/bdorney/orgs","repos_url":"https://api.github.com/users/bdorney/repos","events_url":"https://api.github.com/users/bdorney/events{/privacy}","received_events_url":"https://api.github.com/users/bdorney/received_events","type":"User","site_admin":false},{"login":"mexanick","id":7428758,"node_id":"MDQ6VXNlcjc0Mjg3NTg=","avatar_url":"https://avatars1.githubusercontent.com/u/7428758?v=4","gravatar_id":"","url":"https://api.github.com/users/mexanick","html_url":"https://github.com/mexanick","followers_url":"https://api.github.com/users/mexanick/followers","following_url":"https://api.github.com/users/mexanick/following{/other_user}","gists_url":"https://api.github.com/users/mexanick/gists{/gist_id}","starred_url":"https://api.github.com/users/mexanick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mexanick/subscriptions","organizations_url":"https://api.github.com/users/mexanick/orgs","repos_url":"https://api.github.com/users/mexanick/repos","events_url":"https://api.github.com/users/mexanick/events{/privacy}","received_events_url":"https://api.github.com/users/mexanick/received_events","type":"User","site_admin":false},{"login":"evka85","id":8192542,"node_id":"MDQ6VXNlcjgxOTI1NDI=","avatar_url":"https://avatars3.githubusercontent.com/u/8192542?v=4","gravatar_id":"","url":"https://api.github.com/users/evka85","html_url":"https://github.com/evka85","followers_url":"https://api.github.com/users/evka85/followers","following_url":"https://api.github.com/users/evka85/following{/other_user}","gists_url":"https://api.github.com/users/evka85/gists{/gist_id}","starred_url":"https://api.github.com/users/evka85/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evka85/subscriptions","organizations_url":"https://api.github.com/users/evka85/orgs","repos_url":"https://api.github.com/users/evka85/repos","events_url":"https://api.github.com/users/evka85/events{/privacy}","received_events_url":"https://api.github.com/users/evka85/received_events","type":"User","site_admin":false}],"milestone":null,"comments":3,"created_at":"2018-10-02T15:54:20Z","updated_at":"2018-10-03T07:30:38Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"<!--- Provide a general summary of the issue in the Title above -->\r\n## Brief summary of issue\r\n<!--- Provide a description of the issue, including any other issues or pull requests it references -->\r\nAfter discussing with @mexanick we where thinking about having an RPC method for manipulating the `TTC_OVERRIDE_MASK`. \r\n\r\n### Types of issue\r\n<!--- Propsed labels (see CONTRIBUTING.md) to help maintainers label your issue: -->\r\n- [ ] Bug report (report an issue with the code)\r\n- [x] Feature request (request for change which adds functionality)\r\n\r\n## Expected Behavior\r\n<!--- If you're describing a bug, tell us what should happen -->\r\n<!--- If you're suggesting a change/improvement, tell us how it should work -->\r\nShould have both local and non-local versions, although I expect the primary usage case would be the local version being called by some other `rpcmodule` on the card.\r\n\r\n```C++\r\nsetTtcOverRideMask(uint32_t override){\r\n    check validity of override, e.g. allowed values {0x1, 0x2, 0x4, 0x8, 0xc}\r\n        - 0xc - triggers TTC hard reset to be sent from TCDS\r\n        - 0x2 - triggers a TTC resync to be sent from TCDS\r\n\r\n    check what type of TTC command will be queried from TCDS (e.g. resync or reset)\r\n    get initial value of the counter corresponding to this command type \r\n\r\n    Get address of TTC_OVERRIDE_MASK\r\n    Get initial value of TTC_OVERRIDE_MASK\r\n\r\n    while(ttc corresponding counter cmd does not increment){\r\n         set TTC_OVERRIDE_MASK value to ((initial_value & 0xffffff0f) | override )\r\n         set TTC_OVERRIDE_MASK value to initial_value\r\n         read corresponding command counter and determine if it incremented\r\n    }\r\n}\r\n```\r\n\r\n## Current Behavior\r\n<!--- If describing a bug, tell us what happens instead of the expected behavior -->\r\n<!--- If suggesting a change/improvement, explain the difference from current behavior -->\r\nNo `rpcmodule` which manipulates TTC override mask\r\n\r\n## Context (for feature requests)\r\n<!--- How has this issue affected you? What are you trying to accomplish? -->\r\n<!--- Providing context helps us come up with a solution that is most useful in the real world -->\r\nFor automatic link recovery to cause CMS to have the least dead time possible would have register access from the CTP7.  While this might increase GEM dead time slight (due to one or more RPC messages depending on implementation) it will be the fastest solution for CMS.\r\n\r\n<!--- Template thanks to https://www.talater.com/open-source-templates/#/page/98 -->\r\n"},"comment":{"url":"https://api.github.com/repos/cms-gem-daq-project/ctp7_modules/issues/comments/426538802","html_url":"https://github.com/cms-gem-daq-project/ctp7_modules/issues/52#issuecomment-426538802","issue_url":"https://api.github.com/repos/cms-gem-daq-project/ctp7_modules/issues/52","id":426538802,"node_id":"MDEyOklzc3VlQ29tbWVudDQyNjUzODgwMg==","user":{"login":"jsturdy","id":5197820,"node_id":"MDQ6VXNlcjUxOTc4MjA=","avatar_url":"https://avatars1.githubusercontent.com/u/5197820?v=4","gravatar_id":"","url":"https://api.github.com/users/jsturdy","html_url":"https://github.com/jsturdy","followers_url":"https://api.github.com/users/jsturdy/followers","following_url":"https://api.github.com/users/jsturdy/following{/other_user}","gists_url":"https://api.github.com/users/jsturdy/gists{/gist_id}","starred_url":"https://api.github.com/users/jsturdy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsturdy/subscriptions","organizations_url":"https://api.github.com/users/jsturdy/orgs","repos_url":"https://api.github.com/users/jsturdy/repos","events_url":"https://api.github.com/users/jsturdy/events{/privacy}","received_events_url":"https://api.github.com/users/jsturdy/received_events","type":"User","site_admin":false},"created_at":"2018-10-03T07:30:38Z","updated_at":"2018-10-03T07:30:38Z","author_association":"NONE","body":"> So not really clear now how you would like this investigated.\r\n\r\nThe only thing I was suggesting before was doing 2 from your list, and seeing what the downtime cost actually is (because implementing this in a script is trivial), if the downtime cost is negligible, no strong reason to try for anything more cumbersome at present, otherwise, yes, we have alternative mechanisms to achieve the same stopgaps\r\n\r\n> Moreover for debugging purposes in the future I don't see why we wouldn't want the ability to trigger a given TTC command to be sent to our back-end electronics.\r\n> > The interface with the FW should be simply: ask for `X` `TTC` command (as a part of a manual/automatic script, or in future, as part of a `FixSoftErrorDetected` action)\r\n\r\nPrimary point being, the software shouldn't be using this hack of forcing the `TTS` state to request a `TTC` command, it should simply be able to tell the firmware \"hey, ask for `X` `TTC` command!\""}}
{"actor":{"display_login":"jsturdy"}}