{"action":"created","comment":{"url":"https://api.github.com/repos/cms-gem-daq-project/xhal/pulls/comments/195075291","pull_request_review_id":128368452,"id":195075291,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5NTA3NTI5MQ==","diff_hunk":"@@ -1,230 +0,0 @@\n-#!/usr/bin/env python\n-\n-from rw_reg import *\n-from time import *\n-import array\n-import struct\n-import os\n-\n-DEBUG=False\n-\n-class Colors:            \n-    WHITE   = '\\033[97m' \n-    CYAN    = '\\033[96m' \n-    MAGENTA = '\\033[95m' \n-    BLUE    = '\\033[94m' \n-    YELLOW  = '\\033[93m' \n-    GREEN   = '\\033[92m' \n-    RED     = '\\033[91m' \n-    ENDC    = '\\033[0m'  \n-\n-ADDR_IC_ADDR = None\n-ADDR_IC_WRITE_DATA = None\n-ADDR_IC_EXEC_WRITE = None\n-ADDR_IC_EXEC_READ = None\n-\n-ADDR_LINK_RESET = None\n-\n-V3B_GBT0_ELINK_TO_VFAT = {0: 15, 1: 14, 2: 13, 3: 12, 6: 7, 8: 23}\n-V3B_GBT1_ELINK_TO_VFAT = {1: 4, 2: 2, 3: 3, 4: 8, 5: 0, 6: 6, 7: 16, 8: 5, 9: 1}\n-V3B_GBT2_ELINK_TO_VFAT = {1: 9, 2: 20, 3: 21, 4: 11, 5: 10, 6: 18, 7: 19, 8: 17, 9: 22}\n-V3B_GBT_ELINK_TO_VFAT = [V3B_GBT0_ELINK_TO_VFAT, V3B_GBT1_ELINK_TO_VFAT, V3B_GBT2_ELINK_TO_VFAT]\n-GBT_ELINK_SAMPLE_PHASE_REGS = [[69, 73, 77], [67, 71, 75], [93, 97, 101], [91, 95, 99], [117, 121, 125], [115, 119, 123], [141, 145, 149], [139, 143, 147], [165, 169, 173], [163, 167, 171]]\n-\n-def programGBT(ohSelect, gbtSelect, command):\n-    parseXML()\n-\n-    initGbtRegAddrs()\n-\n-    heading(\"Hello, I'm your GBT controller :)\")\n-\n-    if (checkGbtReady(ohSelect, gbtSelect) == 1):\n-        selectGbt(ohSelect, gbtSelect)\n-    else:\n-        printRed(\"Sorry, OH%d GBT%d link is not ready.. check the following: your OH is on, the fibers are plugged in correctly, the CTP7 TX polarity is correct, and muy importante, check that your GBTX is fused with at least the minimal config..\" % (ohSelect, gbtSelect))\n-        return\n-\n-    if (command == 'config') or (command == 'v3b-phase-scan') :\n-        if len(sys.argv) < 5:\n-            print(\"For this command, you also need to provide a config file\")\n-            return\n-\n-        subheading('Configuring OH%d GBT%d' % (ohSelect, gbtSelect))\n-        filename = sys.argv[4]\n-        if filename[-3:] != \"txt\":\n-            printRed(\"Seems like the file is not a txt file, please provide a txt file generated with the GBT programmer software\")\n-            return\n-        if not os.path.isfile(filename):\n-            printRed(\"Can't find the file %s\" % filename)\n-            return\n-\n-        timeStart = clock()\n-\n-        regs = downloadConfig(ohSelect, gbtSelect, filename)\n-\n-        totalTime = clock() - timeStart\n-        print('time took = ' + str(totalTime) + 's')\n-\n-        if (command == 'v3b-phase-scan'):\n-            initVfatRegAddrs()\n-            for elink, vfat in V3B_GBT_ELINK_TO_VFAT[gbtSelect].items():\n-                subheading('Scanning elink %d phase, corresponding to VFAT%d' % (elink, vfat))\n-                for phase in range(0, 16):\n-                    # set phase\n-                    for subReg in range(0, 3):\n-                        addr = GBT_ELINK_SAMPLE_PHASE_REGS[elink][subReg]\n-                        value = (regs[addr] & 0xf0) + phase\n-                        wReg(ADDR_IC_ADDR, addr)\n-                        wReg(ADDR_IC_WRITE_DATA, value)\n-                        wReg(ADDR_IC_EXEC_WRITE, 1)\n-                    # reset the link, give some time to lock and accumulate any sync errors and then check VFAT comms\n-                    sleep(0.1)\n-                    writeReg(getNode('GEM_AMC.GEM_SYSTEM.CTRL.LINK_RESET'), 1)\n-                    # wReg(ADDR_LINK_RESET, 1)\n-                    sleep(0.3)\n-                    linkGood = parseInt(readReg(getNode('GEM_AMC.OH_LINKS.OH%d.VFAT%d.LINK_GOOD' % (ohSelect, vfat))))\n-                    syncErrCnt = parseInt(readReg(getNode('GEM_AMC.OH_LINKS.OH%d.VFAT%d.SYNC_ERR_CNT' % (ohSelect, vfat))))\n-                    cfgRun = readReg(getNode('GEM_AMC.OH.OH%d.GEB.VFAT%d.CFG_RUN' % (ohSelect, vfat)))\n-                    color = Colors.GREEN\n-                    prefix = 'GOOD: '\n-                    if (linkGood == 0) or (syncErrCnt > 0) or (cfgRun != '0x00000000' and cfgRun != '0x00000001'):\n-                        color = Colors.RED\n-                        prefix = '>>>>>>>> BAD <<<<<<<< '\n-                    print color, prefix, 'Phase = %d, VFAT%d LINK_GOOD=%d, SYNC_ERR_CNT=%d, CFG_RUN=%s' % (phase, vfat, linkGood, syncErrCnt, cfgRun), Colors.ENDC\n-\n-    elif command == 'destroy':\n-        subheading('Destroying configuration of OH%d GBT%d' % (ohSelect, gbtSelect))\n-        destroyConfig()\n-\n-    else:\n-        printRed(\"Unrecognized command '%s'\" % command)\n-        return\n-\n-    print(\"\")\n-    print(\"bye now..\")\n-\n-def downloadConfig(ohIdx, gbtIdx, filename):\n-    f = open(filename, 'r')\n-\n-    #for now we'll operate with 8 bit words only\n-    writeReg(getNode(\"GEM_AMC.SLOW_CONTROL.IC.READ_WRITE_LENGTH\"), 1)\n-\n-    ret = []\n-\n-    lines = 0\n-    addr = 0\n-    for line in f:\n-        value = int(line, 16)\n-        wReg(ADDR_IC_ADDR, addr)\n-        wReg(ADDR_IC_WRITE_DATA, value)\n-        wReg(ADDR_IC_EXEC_WRITE, 1)\n-        addr += 1\n-        lines += 1\n-        ret.append(value)\n-\n-    print(\"Wrote %d registers to OH%d GBT%d\" % (lines, ohIdx, gbtIdx))\n-    if lines < 366:\n-        printRed(\"looks like you gave me an incomplete file, since I found only %d registers, while a complete config should contain 366 registers\")\n-\n-    f.close()\n-\n-    return ret\n-\n-def destroyConfig():\n-    for i in range(0, 369):\n-        wReg(ADDR_IC_ADDR, i)\n-        wReg(ADDR_IC_WRITE_DATA, 0)\n-        wReg(ADDR_IC_EXEC_WRITE, 1)\n-\n-def initGbtRegAddrs():\n-    global ADDR_IC_ADDR\n-    global ADDR_IC_WRITE_DATA\n-    global ADDR_IC_EXEC_WRITE\n-    global ADDR_IC_EXEC_READ\n-    ADDR_IC_ADDR = getNode('GEM_AMC.SLOW_CONTROL.IC.ADDRESS').real_address\n-    ADDR_IC_WRITE_DATA = getNode('GEM_AMC.SLOW_CONTROL.IC.WRITE_DATA').real_address\n-    ADDR_IC_EXEC_WRITE = getNode('GEM_AMC.SLOW_CONTROL.IC.EXECUTE_WRITE').real_address\n-    ADDR_IC_EXEC_READ = getNode('GEM_AMC.SLOW_CONTROL.IC.EXECUTE_READ').real_address\n-\n-def initVfatRegAddrs():\n-    global ADDR_LINK_RESET\n-    ADDR_LINK_RESET = getNode('GEM_AMC.GEM_SYSTEM.CTRL.LINK_RESET').real_address\n-\n-def selectGbt(ohIdx, gbtIdx):\n-    linkIdx = ohIdx * 3 + gbtIdx\n-\n-    writeReg(getNode('GEM_AMC.SLOW_CONTROL.IC.GBTX_LINK_SELECT'), linkIdx)\n-\n-    return 0\n-\n-def checkGbtReady(ohIdx, gbtIdx):\n-    return parseInt(readReg(getNode('GEM_AMC.OH_LINKS.OH%d.GBT%d_READY' % (ohIdx, gbtIdx))))\n-\n-def check_bit(byteval,idx):\n-    return ((byteval&(1<<idx))!=0);\n-\n-def debug(string):\n-    if DEBUG:\n-        print('DEBUG: ' + string)\n-\n-def debugCyan(string):\n-    if DEBUG:\n-        printCyan('DEBUG: ' + string)\n-\n-def heading(string):                                                                    \n-    print Colors.BLUE                                                             \n-    print '\\n>>>>>>> '+str(string).upper()+' <<<<<<<'\n-    print Colors.ENDC                   \n-                                                      \n-def subheading(string):                         \n-    print Colors.YELLOW                                        \n-    print '---- '+str(string)+' ----',Colors.ENDC                    \n-                                                                     \n-def printCyan(string):                                                \n-    print Colors.CYAN                                    \n-    print string, Colors.ENDC                                                                     \n-                                                                      \n-def printRed(string):                                                                                                                       \n-    print Colors.RED                                                                                                                                                            \n-    print string, Colors.ENDC                                           \n-\n-def hex(number):\n-    if number is None:\n-        return 'None'\n-    else:\n-        return \"{0:#0x}\".format(number)\n-\n-def binary(number, length):\n-    if number is None:\n-        return 'None'\n-    else:\n-        return \"{0:#0{1}b}\".format(number, length + 2)\n-\n-if __name__ == '__main__':\n-    import os\n-    if len(sys.argv) < 4:\n-        print('Usage: gbt.py <oh_num> <gbt_num> <command>')\n-        print('available commands:')\n-        print('  config <config_filename_txt>:   Configures the GBT with the given config file (must use the txt version of the config file, can be generated with the GBT programmer software)')\n-        print('  v3b-phase-scan <base_config_filename_txt>:   Configures the GBT with the given config file, and performs an elink phase scan while checking the VFAT communication for each phase')\n-        exit(os.EX_USAGE)\n-    else:\n-        ohSelect = int(sys.argv[1])\n-        gbtSelect = int(sys.argv[2])\n-        command = sys.argv[3]\n-    \n-    if ohSelect > 11:\n-        printRed(\"The given OH index (%d) is out of range (must be 0-11)\" % ohSelect)\n-        exit(os.EX_USAGE)\n-    if gbtSelect > 2:\n-        printRed(\"The given GBT index (%d) is out of range (must be 0-2)\" % gbtSelect)\n-        exit(os.EX_USAGE)\n-\n-    if ohSelect > 11:\n-        printRed(\"The given OH index (%d) is out of range (must be 0-11)\" % ohSelect)\n-        exit(os.EX_USAGE)\n-    if gbtSelect > 2:\n-        printRed(\"The given GBT index (%d) is out of range (must be 0-2)\" % gbtSelect)\n-        exit(os.EX_USAGE)\n-\n-    programGBT(ohSelect, gbtSelect, command)","path":"python/reg_interface/gbt.py","position":230,"original_position":230,"commit_id":"f66c54db831f041aab7ba33fb561d418c6fbcbc7","original_commit_id":"f66c54db831f041aab7ba33fb561d418c6fbcbc7","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},"body":"This is a necessary script, especially for programming `GBTx`'s over the fiber link.  If it is being deleted I trust it's  being included elsewhere, if so where?","created_at":"2018-06-13T13:13:28Z","updated_at":"2018-06-13T13:13:28Z","html_url":"https://github.com/cms-gem-daq-project/xhal/pull/72#discussion_r195075291","pull_request_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/pulls/72","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/cms-gem-daq-project/xhal/pulls/comments/195075291"},"html":{"href":"https://github.com/cms-gem-daq-project/xhal/pull/72#discussion_r195075291"},"pull_request":{"href":"https://api.github.com/repos/cms-gem-daq-project/xhal/pulls/72"}}},"pull_request":{"url":"https://api.github.com/repos/cms-gem-daq-project/xhal/pulls/72","id":194577991,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk0NTc3OTkx","html_url":"https://github.com/cms-gem-daq-project/xhal/pull/72","diff_url":"https://github.com/cms-gem-daq-project/xhal/pull/72.diff","patch_url":"https://github.com/cms-gem-daq-project/xhal/pull/72.patch","issue_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/issues/72","number":72,"state":"open","locked":false,"title":"Packaging tools for x86","user":{"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},"body":"<!--- Provide a general summary of your changes in the Title above -->\r\nx86 packaging is done. After running `make rpm` two packages are created:\r\n\r\n- `gem_reg_interface_extras-1.0.0-centos7.python2.7.x86_64.rpm`\r\n- `xhal-xhalcore-1.0.0-centos7.x86_64.rpm`\r\n\r\n## Description\r\n<!--- Describe your changes in detail -->\r\nThese packages require `wiscrpcsvc`, `log4cplus` and `xercesc` (`xdaq` versions of latter two), `reg_interface-1.0.0-centos7.python2.7.x86_64.rpm`\r\nDefault installation is /opt/xhalcore/:\r\n\r\n```bash\r\ntree /opt/xhalcore/\r\n/opt/xhalcore/\r\n├── bin\r\n│   └── gem_reg.py\r\n├── include\r\n├── lib\r\n│   ├── librpcman.so\r\n│   └── libxhal.so\r\n└── scripts\r\n```\r\n\r\nRequired env settings:\r\n`LD_LIBRARY_PATH` should contain path to `libwiscrpcsvc.so` and `xhalcore/lib`\r\n`GEM_ADDRESS_TABLE_PATH` should point to address table XML location. Address table file name should be `amc_address_table_top.xml`\r\n\r\n### Types of changes\r\n<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->\r\n- [ ] Bug fix (non-breaking change which fixes an issue)\r\n- [x] New feature (non-breaking change which adds functionality)\r\n- [ ] Breaking change (fix or feature that would cause existing functionality to change)\r\n\r\n## Motivation and Context\r\n<!--- Why is this change required? What problem does it solve? -->\r\n<!--- If it fixes an open issue, please link to the issue(s) here. -->\r\nProper packaging is required for seamless GEM operations \r\n## How Has This Been Tested?\r\n<!--- Please describe in detail how you tested your changes. -->\r\n<!--- Include details of your testing environment, and the tests you ran to -->\r\n<!--- see how your change affects other areas of the code, etc. -->\r\nTested at `gem904daq01` with `eagle34` and `eagle64`\r\n### Screenshots (if appropriate):\r\n\r\n## Checklist:\r\n<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->\r\n<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->\r\n- [x] My code follows the code style of this project.\r\n- [x] My change requires a change to the documentation.\r\n- [ ] I have updated the documentation accordingly.\r\n- [ ] I have added tests to cover my changes.\r\n- [ ] All new and existing tests passed.\r\n\r\n<!--- Template thanks to https://www.talater.com/open-source-templates/#/page/99 -->\r\n","created_at":"2018-06-13T13:00:00Z","updated_at":"2018-06-13T13:13:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"49fdef803a2f63cdb1dbaf161248c68ade0d66d0","assignee":{"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},"assignees":[{"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}],"requested_reviewers":[{"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}],"requested_teams":[],"labels":[{"id":671531172,"node_id":"MDU6TGFiZWw2NzE1MzExNzI=","url":"https://api.github.com/repos/cms-gem-daq-project/xhal/labels/Priority:%20High","name":"Priority: High","color":"ff8000","default":false},{"id":671531174,"node_id":"MDU6TGFiZWw2NzE1MzExNzQ=","url":"https://api.github.com/repos/cms-gem-daq-project/xhal/labels/Status:%20Review%20Needed","name":"Status: Review Needed","color":"ff8000","default":false},{"id":671531177,"node_id":"MDU6TGFiZWw2NzE1MzExNzc=","url":"https://api.github.com/repos/cms-gem-daq-project/xhal/labels/Type:%20Enhancement","name":"Type: Enhancement","color":"84b6eb","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/pulls/72/commits","review_comments_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/pulls/72/comments","review_comment_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/pulls/comments{/number}","comments_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/issues/72/comments","statuses_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/statuses/f66c54db831f041aab7ba33fb561d418c6fbcbc7","head":{"label":"mexanick:develop","ref":"develop","sha":"f66c54db831f041aab7ba33fb561d418c6fbcbc7","user":{"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},"repo":{"id":100252194,"node_id":"MDEwOlJlcG9zaXRvcnkxMDAyNTIxOTQ=","name":"xhal","full_name":"mexanick/xhal","owner":{"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},"private":false,"html_url":"https://github.com/mexanick/xhal","description":"XHAL interface library","fork":true,"url":"https://api.github.com/repos/mexanick/xhal","forks_url":"https://api.github.com/repos/mexanick/xhal/forks","keys_url":"https://api.github.com/repos/mexanick/xhal/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mexanick/xhal/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mexanick/xhal/teams","hooks_url":"https://api.github.com/repos/mexanick/xhal/hooks","issue_events_url":"https://api.github.com/repos/mexanick/xhal/issues/events{/number}","events_url":"https://api.github.com/repos/mexanick/xhal/events","assignees_url":"https://api.github.com/repos/mexanick/xhal/assignees{/user}","branches_url":"https://api.github.com/repos/mexanick/xhal/branches{/branch}","tags_url":"https://api.github.com/repos/mexanick/xhal/tags","blobs_url":"https://api.github.com/repos/mexanick/xhal/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mexanick/xhal/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mexanick/xhal/git/refs{/sha}","trees_url":"https://api.github.com/repos/mexanick/xhal/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mexanick/xhal/statuses/{sha}","languages_url":"https://api.github.com/repos/mexanick/xhal/languages","stargazers_url":"https://api.github.com/repos/mexanick/xhal/stargazers","contributors_url":"https://api.github.com/repos/mexanick/xhal/contributors","subscribers_url":"https://api.github.com/repos/mexanick/xhal/subscribers","subscription_url":"https://api.github.com/repos/mexanick/xhal/subscription","commits_url":"https://api.github.com/repos/mexanick/xhal/commits{/sha}","git_commits_url":"https://api.github.com/repos/mexanick/xhal/git/commits{/sha}","comments_url":"https://api.github.com/repos/mexanick/xhal/comments{/number}","issue_comment_url":"https://api.github.com/repos/mexanick/xhal/issues/comments{/number}","contents_url":"https://api.github.com/repos/mexanick/xhal/contents/{+path}","compare_url":"https://api.github.com/repos/mexanick/xhal/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mexanick/xhal/merges","archive_url":"https://api.github.com/repos/mexanick/xhal/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mexanick/xhal/downloads","issues_url":"https://api.github.com/repos/mexanick/xhal/issues{/number}","pulls_url":"https://api.github.com/repos/mexanick/xhal/pulls{/number}","milestones_url":"https://api.github.com/repos/mexanick/xhal/milestones{/number}","notifications_url":"https://api.github.com/repos/mexanick/xhal/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mexanick/xhal/labels{/name}","releases_url":"https://api.github.com/repos/mexanick/xhal/releases{/id}","deployments_url":"https://api.github.com/repos/mexanick/xhal/deployments","created_at":"2017-08-14T09:43:48Z","updated_at":"2017-08-14T09:44:02Z","pushed_at":"2018-06-13T12:57:49Z","git_url":"git://github.com/mexanick/xhal.git","ssh_url":"git@github.com:mexanick/xhal.git","clone_url":"https://github.com/mexanick/xhal.git","svn_url":"https://github.com/mexanick/xhal","homepage":null,"size":16836,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"cms-gem-daq-project:develop","ref":"develop","sha":"ffc8f1281113e9b3829966a61236ebba00a83ec5","user":{"login":"cms-gem-daq-project","id":9051054,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkwNTEwNTQ=","avatar_url":"https://avatars0.githubusercontent.com/u/9051054?v=4","gravatar_id":"","url":"https://api.github.com/users/cms-gem-daq-project","html_url":"https://github.com/cms-gem-daq-project","followers_url":"https://api.github.com/users/cms-gem-daq-project/followers","following_url":"https://api.github.com/users/cms-gem-daq-project/following{/other_user}","gists_url":"https://api.github.com/users/cms-gem-daq-project/gists{/gist_id}","starred_url":"https://api.github.com/users/cms-gem-daq-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cms-gem-daq-project/subscriptions","organizations_url":"https://api.github.com/users/cms-gem-daq-project/orgs","repos_url":"https://api.github.com/users/cms-gem-daq-project/repos","events_url":"https://api.github.com/users/cms-gem-daq-project/events{/privacy}","received_events_url":"https://api.github.com/users/cms-gem-daq-project/received_events","type":"Organization","site_admin":false},"repo":{"id":81317287,"node_id":"MDEwOlJlcG9zaXRvcnk4MTMxNzI4Nw==","name":"xhal","full_name":"cms-gem-daq-project/xhal","owner":{"login":"cms-gem-daq-project","id":9051054,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkwNTEwNTQ=","avatar_url":"https://avatars0.githubusercontent.com/u/9051054?v=4","gravatar_id":"","url":"https://api.github.com/users/cms-gem-daq-project","html_url":"https://github.com/cms-gem-daq-project","followers_url":"https://api.github.com/users/cms-gem-daq-project/followers","following_url":"https://api.github.com/users/cms-gem-daq-project/following{/other_user}","gists_url":"https://api.github.com/users/cms-gem-daq-project/gists{/gist_id}","starred_url":"https://api.github.com/users/cms-gem-daq-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cms-gem-daq-project/subscriptions","organizations_url":"https://api.github.com/users/cms-gem-daq-project/orgs","repos_url":"https://api.github.com/users/cms-gem-daq-project/repos","events_url":"https://api.github.com/users/cms-gem-daq-project/events{/privacy}","received_events_url":"https://api.github.com/users/cms-gem-daq-project/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/cms-gem-daq-project/xhal","description":"XHAL interface library","fork":false,"url":"https://api.github.com/repos/cms-gem-daq-project/xhal","forks_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/forks","keys_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/teams","hooks_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/hooks","issue_events_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/issues/events{/number}","events_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/events","assignees_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/assignees{/user}","branches_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/branches{/branch}","tags_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/tags","blobs_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/git/refs{/sha}","trees_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/statuses/{sha}","languages_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/languages","stargazers_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/stargazers","contributors_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/contributors","subscribers_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/subscribers","subscription_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/subscription","commits_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/commits{/sha}","git_commits_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/git/commits{/sha}","comments_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/comments{/number}","issue_comment_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/issues/comments{/number}","contents_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/contents/{+path}","compare_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/merges","archive_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/downloads","issues_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/issues{/number}","pulls_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/pulls{/number}","milestones_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/milestones{/number}","notifications_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/labels{/name}","releases_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/releases{/id}","deployments_url":"https://api.github.com/repos/cms-gem-daq-project/xhal/deployments","created_at":"2017-02-08T10:23:39Z","updated_at":"2018-05-23T12:33:20Z","pushed_at":"2018-06-13T13:00:01Z","git_url":"git://github.com/cms-gem-daq-project/xhal.git","ssh_url":"git@github.com:cms-gem-daq-project/xhal.git","clone_url":"https://github.com/cms-gem-daq-project/xhal.git","svn_url":"https://github.com/cms-gem-daq-project/xhal","homepage":null,"size":16834,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5,"mirror_url":null,"archived":false,"open_issues_count":3,"license":null,"forks":5,"open_issues":3,"watchers":0,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/cms-gem-daq-project/xhal/pulls/72"},"html":{"href":"https://github.com/cms-gem-daq-project/xhal/pull/72"},"issue":{"href":"https://api.github.com/repos/cms-gem-daq-project/xhal/issues/72"},"comments":{"href":"https://api.github.com/repos/cms-gem-daq-project/xhal/issues/72/comments"},"review_comments":{"href":"https://api.github.com/repos/cms-gem-daq-project/xhal/pulls/72/comments"},"review_comment":{"href":"https://api.github.com/repos/cms-gem-daq-project/xhal/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/cms-gem-daq-project/xhal/pulls/72/commits"},"statuses":{"href":"https://api.github.com/repos/cms-gem-daq-project/xhal/statuses/f66c54db831f041aab7ba33fb561d418c6fbcbc7"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"bdorney"}}