{"action":"created","issue":{"url":"https://api.github.com/repos/martinisgroup/servers/issues/123","labels_url":"https://api.github.com/repos/martinisgroup/servers/issues/123/labels{/name}","comments_url":"https://api.github.com/repos/martinisgroup/servers/issues/123/comments","events_url":"https://api.github.com/repos/martinisgroup/servers/issues/123/events","html_url":"https://github.com/martinisgroup/servers/pull/123","id":71981271,"number":123,"title":"FPGA server changes for jump table","user":{"login":"pomalley","id":1106276,"avatar_url":"https://avatars.githubusercontent.com/u/1106276?v=3","gravatar_id":"","url":"https://api.github.com/users/pomalley","html_url":"https://github.com/pomalley","followers_url":"https://api.github.com/users/pomalley/followers","following_url":"https://api.github.com/users/pomalley/following{/other_user}","gists_url":"https://api.github.com/users/pomalley/gists{/gist_id}","starred_url":"https://api.github.com/users/pomalley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pomalley/subscriptions","organizations_url":"https://api.github.com/users/pomalley/orgs","repos_url":"https://api.github.com/users/pomalley/repos","events_url":"https://api.github.com/users/pomalley/events{/privacy}","received_events_url":"https://api.github.com/users/pomalley/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/martinisgroup/servers/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/martinisgroup/servers/milestones/1","html_url":"https://github.com/martinisgroup/servers/milestones/Jump%20Table","labels_url":"https://api.github.com/repos/martinisgroup/servers/milestones/1/labels","id":1045740,"number":1,"title":"Jump Table","description":"Get the jump table working!","creator":{"login":"pomalley","id":1106276,"avatar_url":"https://avatars.githubusercontent.com/u/1106276?v=3","gravatar_id":"","url":"https://api.github.com/users/pomalley","html_url":"https://github.com/pomalley","followers_url":"https://api.github.com/users/pomalley/followers","following_url":"https://api.github.com/users/pomalley/following{/other_user}","gists_url":"https://api.github.com/users/pomalley/gists{/gist_id}","starred_url":"https://api.github.com/users/pomalley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pomalley/subscriptions","organizations_url":"https://api.github.com/users/pomalley/orgs","repos_url":"https://api.github.com/users/pomalley/repos","events_url":"https://api.github.com/users/pomalley/events{/privacy}","received_events_url":"https://api.github.com/users/pomalley/received_events","type":"User","site_admin":false},"open_issues":15,"closed_issues":2,"state":"open","created_at":"2015-03-30T22:36:41Z","updated_at":"2015-04-29T20:28:51Z","due_on":"2015-04-15T07:00:00Z","closed_at":null},"comments":3,"created_at":"2015-04-29T20:27:23Z","updated_at":"2015-04-29T23:26:06Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/martinisgroup/servers/pulls/123","html_url":"https://github.com/martinisgroup/servers/pull/123","diff_url":"https://github.com/martinisgroup/servers/pull/123.diff","patch_url":"https://github.com/martinisgroup/servers/pull/123.patch"},"body":"This PR includes all the changes not in #122 required to get the jump table working.\r\n\r\nMinor things that should be very quick to review:\r\n\r\n* dc_rack_server.py\r\n* adc.py\r\n* fpga.py\r\n* ghzdac/* and ghzdac_cal/*\r\n\r\nThen I'd start at the bottom and work your way up:\r\n\r\n* Read John's documentation, if you like (the .doc file)\r\n* Review JumpTableIntro.md and look at jump_table_diagram.svg\r\n* Review jumpTable.py to see the low-level JT code, and look at the tests in test_jump_table.py\r\n* Review dac.py to see how that is called.\r\n* Review the ghz_fpga_server.py to see how _that_ is called.\r\n* Check out the tests in test_fpga_server.py\r\n  * The tests aren't great but I think it's the best we can do without spending a week (or more!) to figure out how to properly test a LabRAD server (i.e. a twisted thingy). I think they do cover the base cases and will catch things like offsets being added in unexpected places, etc.\r\n\r\nI think that covers it. Have fun!"},"comment":{"url":"https://api.github.com/repos/martinisgroup/servers/issues/comments/97613271","html_url":"https://github.com/martinisgroup/servers/pull/123#issuecomment-97613271","issue_url":"https://api.github.com/repos/martinisgroup/servers/issues/123","id":97613271,"user":{"login":"maffoo","id":129268,"avatar_url":"https://avatars.githubusercontent.com/u/129268?v=3","gravatar_id":"","url":"https://api.github.com/users/maffoo","html_url":"https://github.com/maffoo","followers_url":"https://api.github.com/users/maffoo/followers","following_url":"https://api.github.com/users/maffoo/following{/other_user}","gists_url":"https://api.github.com/users/maffoo/gists{/gist_id}","starred_url":"https://api.github.com/users/maffoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maffoo/subscriptions","organizations_url":"https://api.github.com/users/maffoo/orgs","repos_url":"https://api.github.com/users/maffoo/repos","events_url":"https://api.github.com/users/maffoo/events{/privacy}","received_events_url":"https://api.github.com/users/maffoo/received_events","type":"User","site_admin":false},"created_at":"2015-04-29T23:26:06Z","updated_at":"2015-04-29T23:26:06Z","body":"Re: testing labrad servers; I did some work to make this possible when writing some tests of the client refresh logic. See: https://github.com/martinisgroup/pylabrad/blob/master/labrad/test/test_refresh.py#L37\r\n\r\nI think a better long-term strategy would be to refactor the code so that the important logic can be tested without spinning up a full server, but of course it will take some work to get to a point where that is feasible."}}