{"action":"created","issue":{"url":"https://api.github.com/repos/acquaman/acquaman/issues/1656","labels_url":"https://api.github.com/repos/acquaman/acquaman/issues/1656/labels{/name}","comments_url":"https://api.github.com/repos/acquaman/acquaman/issues/1656/comments","events_url":"https://api.github.com/repos/acquaman/acquaman/issues/1656/events","html_url":"https://github.com/acquaman/acquaman/pull/1656","id":111219826,"number":1656,"title":"Pull Request for Issue1630c: Implementing Side-specific beam on/off control","user":{"login":"helfrij","id":5216607,"avatar_url":"https://avatars.githubusercontent.com/u/5216607?v=3","gravatar_id":"","url":"https://api.github.com/users/helfrij","html_url":"https://github.com/helfrij","followers_url":"https://api.github.com/users/helfrij/followers","following_url":"https://api.github.com/users/helfrij/following{/other_user}","gists_url":"https://api.github.com/users/helfrij/gists{/gist_id}","starred_url":"https://api.github.com/users/helfrij/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/helfrij/subscriptions","organizations_url":"https://api.github.com/users/helfrij/orgs","repos_url":"https://api.github.com/users/helfrij/repos","events_url":"https://api.github.com/users/helfrij/events{/privacy}","received_events_url":"https://api.github.com/users/helfrij/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/acquaman/acquaman/labels/PR%20-%20Ready%20for%20Review","name":"PR - Ready for Review","color":"0052cc"}],"state":"open","locked":false,"assignee":{"login":"dretrex","id":602741,"avatar_url":"https://avatars.githubusercontent.com/u/602741?v=3","gravatar_id":"","url":"https://api.github.com/users/dretrex","html_url":"https://github.com/dretrex","followers_url":"https://api.github.com/users/dretrex/followers","following_url":"https://api.github.com/users/dretrex/following{/other_user}","gists_url":"https://api.github.com/users/dretrex/gists{/gist_id}","starred_url":"https://api.github.com/users/dretrex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dretrex/subscriptions","organizations_url":"https://api.github.com/users/dretrex/orgs","repos_url":"https://api.github.com/users/dretrex/repos","events_url":"https://api.github.com/users/dretrex/events{/privacy}","received_events_url":"https://api.github.com/users/dretrex/received_events","type":"User","site_admin":false},"milestone":null,"comments":0,"created_at":"2015-10-13T16:38:31Z","updated_at":"2015-10-24T16:33:24Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/acquaman/acquaman/pulls/1656","html_url":"https://github.com/acquaman/acquaman/pull/1656","diff_url":"https://github.com/acquaman/acquaman/pull/1656.diff","patch_url":"https://github.com/acquaman/acquaman/pull/1656.patch"},"body":"This pull request is an instalment for #1630, where I'm developing beam status controls for BioXAS. The changes here are mainly for the creation of three Side-specific controls and some views for each: \r\n- BioXASSidePOEBeamStatusControl\r\n- BioXASSideSOEBeamStatusControl\r\n- BioXASSideBeamStatusControl\r\n\r\nThe first depends on the front-end beam status control (#1652), the pre-mirror (m1) mask, the pre-mono mask. It should be read-only for now, as there is not yet enough information about where the desired setpoints should be for the mirror mask (may change depending on beamline configuration).\r\n- is \"On\" when the front-end beam status is \"On\", the pre-mirror mask is not closed, and the pre-mono mask is not closed.\r\n- if \"Off\" when any one of the above conditions aren't met.\r\n- turns \"On\" by turning the front-end beam status \"On\", opening the pre-mirror mask to setpoint, and opening the pre-mono mask to setpoint (not implemented yet).\r\n- turns \"Off\" by closing the pre-mirror mask (not implemented yet).\r\n- would be turned \"Off\" if user wants to stop beam before it reaches any optical equipment.\r\n\r\nThe second control reports the status of the beam in the SOE, at the sample. It depends on the POE beam status and the endstation shutter.\r\n- is \"On\" when the POE beam status is \"On\" and the endstation shutter is open.\r\n- is \"Off\" when either of the above conditions aren't met.\r\n- turns \"On\" by opening the endstation safety shutter.\r\n- turns \"Off\" by closing the endstation safety shutter.\r\n- would be turned \"Off\" if the user wants to stop beam from getting to the sample, but would like to keep the optical equipment warm.\r\n\r\nA final main control, BioXASSideBeamStatusControl, has the front-end status, the POE status, and the SOE status as member variables, and reports the value of the SOE status. It enforces the relationships between the beam status controls, so that when one is set (eg the front-end beam status control), it's relationships with the other three are also updated (eg the POE beam status control is updated with this control).\r\n\r\nDevelop controls:\r\n- [x] BioXASBeamStatusControl - ancestor for all beam status controls, subclass of AMPseudoMotorControl.\r\n- [x] BioXASSSRLMonochromatorMaskControl - reports whether or not the premono mask is open.\r\n- [x] BioXASSidePOEBeamStatusControl - reports whether beam is available in the POE.\r\n- [x] BioXASSideSOEBeamStatusControl - reports whether beam is available in the SOE.\r\n- [x] BioXASSideBeamStatusControl - reports the total beam status, a function of the three beam status controls.\r\n\r\nI've created a couple of views for each of these classes. Previously, BioXASxxxBeamStatusControlView was a class that displayed control information using a combination of control editor + LEDs, but this functionality has been moved to BioXASxxxBeamStatusControlEditorView. The control view class now is an ancestor of all views for that particular control.\r\n\r\nCreate views:\r\n- [x] BioXASFrontEndBeamStatusControlView\r\n- [x] BioXASFrontEndBeamStatusControlEditorView\r\n- [x] BioXASFrontEndBeamStatusControlEditorsView\r\n- [x] BioXASSidePOEBeamStatusControlView\r\n- [x] BioXASSidePOEBeamStatusControlLEDView\r\n- [x] BioXASSidePOEBeamStatusControlEditorView\r\n- [x] BioXASSidePOEBeamStatusControlEditorsView\r\n- [x] BioXASSideSOEBeamStatusControlView\r\n- [x] BioXASSideSOEBeamStatusControlLEDView\r\n- [x] BioXASSideSOEBeamStatusControlEditorView\r\n- [x] BioXASSideSOEBeamStatusControlEditorsView\r\n- [x] BioXASSideBeamStatusControlView\r\n\r\nTo help display control information and make the views a little simpler, I've made a few general control LED views that update their color based on supplied settings.\r\n- [x] AMControlConnectedLEDView\r\n- [x] AMControlValueLEDView\r\n- [x] AMControlValueGreenLEDView\r\n- [x] AMControlValueRedLEDView\r\n- [x] BioXASSSRLMonochromatorRegionControlView - updated to include the red and green LED views.\r\n\r\n(~1 week)"},"comment":{"url":"https://api.github.com/repos/acquaman/acquaman/issues/comments/150831729","html_url":"https://github.com/acquaman/acquaman/pull/1656#issuecomment-150831729","issue_url":"https://api.github.com/repos/acquaman/acquaman/issues/1656","id":150831729,"user":{"login":"helfrij","id":5216607,"avatar_url":"https://avatars.githubusercontent.com/u/5216607?v=3","gravatar_id":"","url":"https://api.github.com/users/helfrij","html_url":"https://github.com/helfrij","followers_url":"https://api.github.com/users/helfrij/followers","following_url":"https://api.github.com/users/helfrij/following{/other_user}","gists_url":"https://api.github.com/users/helfrij/gists{/gist_id}","starred_url":"https://api.github.com/users/helfrij/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/helfrij/subscriptions","organizations_url":"https://api.github.com/users/helfrij/orgs","repos_url":"https://api.github.com/users/helfrij/repos","events_url":"https://api.github.com/users/helfrij/events{/privacy}","received_events_url":"https://api.github.com/users/helfrij/received_events","type":"User","site_admin":false},"created_at":"2015-10-24T16:33:24Z","updated_at":"2015-10-24T16:33:24Z","body":"This pull request is ready for review. @dretrex, I've assigned you because you've been the one looking at the #1630-related code and are the most familiar with the problem. Let me know if you think I should assign someone else."}}