{"action":"created","comment":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/comments/165571200","pull_request_review_id":93532428,"id":165571200,"diff_hunk":"@@ -0,0 +1,191 @@\n+/*\n+ * Copyright (C) 2017 Gilles DOFFE <gdoffe@gmail.com>\n+ *\n+ * This file is subject to the terms and conditions of the GNU Lesser\n+ * General Public License v2.1. See the file LICENSE in the top level\n+ * directory for more details.\n+ */\n+\n+/**\n+ * @defgroup    drivers_periph_qdec QDEC\n+ * @ingroup     drivers_periph\n+ * @brief       Low-level QDEC peripheral driver\n+ *\n+ * This file was inspired by pwm.h writed by :","path":"drivers/include/periph/qdec.h","position":14,"original_position":14,"commit_id":"7094e7b6aca7dbfda911ac994a4cd484308f1fff","original_commit_id":"7094e7b6aca7dbfda911ac994a4cd484308f1fff","user":{"login":"aabadie","id":1375137,"avatar_url":"https://avatars3.githubusercontent.com/u/1375137?v=4","gravatar_id":"","url":"https://api.github.com/users/aabadie","html_url":"https://github.com/aabadie","followers_url":"https://api.github.com/users/aabadie/followers","following_url":"https://api.github.com/users/aabadie/following{/other_user}","gists_url":"https://api.github.com/users/aabadie/gists{/gist_id}","starred_url":"https://api.github.com/users/aabadie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aabadie/subscriptions","organizations_url":"https://api.github.com/users/aabadie/orgs","repos_url":"https://api.github.com/users/aabadie/repos","events_url":"https://api.github.com/users/aabadie/events{/privacy}","received_events_url":"https://api.github.com/users/aabadie/received_events","type":"User","site_admin":false},"body":"written","created_at":"2018-02-02T07:07:24Z","updated_at":"2018-02-02T07:22:07Z","html_url":"https://github.com/RIOT-OS/RIOT/pull/8482#discussion_r165571200","pull_request_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/8482","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/comments/165571200"},"html":{"href":"https://github.com/RIOT-OS/RIOT/pull/8482#discussion_r165571200"},"pull_request":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/8482"}}},"pull_request":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/8482","id":166028979,"html_url":"https://github.com/RIOT-OS/RIOT/pull/8482","diff_url":"https://github.com/RIOT-OS/RIOT/pull/8482.diff","patch_url":"https://github.com/RIOT-OS/RIOT/pull/8482.patch","issue_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/8482","number":8482,"state":"open","locked":false,"title":"Qdec","user":{"login":"gdoffe","id":1143438,"avatar_url":"https://avatars2.githubusercontent.com/u/1143438?v=4","gravatar_id":"","url":"https://api.github.com/users/gdoffe","html_url":"https://github.com/gdoffe","followers_url":"https://api.github.com/users/gdoffe/followers","following_url":"https://api.github.com/users/gdoffe/following{/other_user}","gists_url":"https://api.github.com/users/gdoffe/gists{/gist_id}","starred_url":"https://api.github.com/users/gdoffe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gdoffe/subscriptions","organizations_url":"https://api.github.com/users/gdoffe/orgs","repos_url":"https://api.github.com/users/gdoffe/repos","events_url":"https://api.github.com/users/gdoffe/events{/privacy}","received_events_url":"https://api.github.com/users/gdoffe/received_events","type":"User","site_admin":false},"body":"Hello,\r\n\r\nI am a member of an amateur association of robotics named COGIP :\r\n[https://github.com/cogip](https://github.com/cogip)\r\n\r\n### Contribution description\r\n\r\nOn several arch (STM32, atxmega, ...), you can use a quadrature decoder interface.\r\nIt is useful in motion control like in robotics. For example we must compute a PID for robot (with 2 wheels) speed and position control.\r\nIt increments/decrements a counter based on edges of a quadrature signal (signal A and B dephased of pi/2).\r\nIt is often a feature of an hardware timer.\r\n\r\nAs we need it I developped the driver for qdec peripheral driver considering 3 simple modes:\r\n*  X1 mode : signal A, rising edges\r\n*  X2 mode : signal A, rising and falling edges\r\n*  X4 mode : signals A and B, rising and falling edges\r\n\r\nI hope it will be useful to others.\r\n\r\n**EDIT**\r\n\r\nI forgot to mention that the driver is implemented for STM32 and native architecture.","created_at":"2018-01-30T16:23:17Z","updated_at":"2018-02-02T07:22:08Z","closed_at":null,"merged_at":null,"merge_commit_sha":"84c27ab223d3934aeac5e980887b699c41ef6d9d","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"milestone":null,"commits_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/8482/commits","review_comments_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/8482/comments","review_comment_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/comments{/number}","comments_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/8482/comments","statuses_url":"https://api.github.com/repos/RIOT-OS/RIOT/statuses/7094e7b6aca7dbfda911ac994a4cd484308f1fff","head":{"label":"cogip:qdec","ref":"qdec","sha":"7094e7b6aca7dbfda911ac994a4cd484308f1fff","user":{"login":"cogip","id":19518602,"avatar_url":"https://avatars2.githubusercontent.com/u/19518602?v=4","gravatar_id":"","url":"https://api.github.com/users/cogip","html_url":"https://github.com/cogip","followers_url":"https://api.github.com/users/cogip/followers","following_url":"https://api.github.com/users/cogip/following{/other_user}","gists_url":"https://api.github.com/users/cogip/gists{/gist_id}","starred_url":"https://api.github.com/users/cogip/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cogip/subscriptions","organizations_url":"https://api.github.com/users/cogip/orgs","repos_url":"https://api.github.com/users/cogip/repos","events_url":"https://api.github.com/users/cogip/events{/privacy}","received_events_url":"https://api.github.com/users/cogip/received_events","type":"Organization","site_admin":false},"repo":{"id":111997701,"name":"RIOT","full_name":"cogip/RIOT","owner":{"login":"cogip","id":19518602,"avatar_url":"https://avatars2.githubusercontent.com/u/19518602?v=4","gravatar_id":"","url":"https://api.github.com/users/cogip","html_url":"https://github.com/cogip","followers_url":"https://api.github.com/users/cogip/followers","following_url":"https://api.github.com/users/cogip/following{/other_user}","gists_url":"https://api.github.com/users/cogip/gists{/gist_id}","starred_url":"https://api.github.com/users/cogip/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cogip/subscriptions","organizations_url":"https://api.github.com/users/cogip/orgs","repos_url":"https://api.github.com/users/cogip/repos","events_url":"https://api.github.com/users/cogip/events{/privacy}","received_events_url":"https://api.github.com/users/cogip/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/cogip/RIOT","description":"RIOT -  The friendly OS for IoT","fork":true,"url":"https://api.github.com/repos/cogip/RIOT","forks_url":"https://api.github.com/repos/cogip/RIOT/forks","keys_url":"https://api.github.com/repos/cogip/RIOT/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cogip/RIOT/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cogip/RIOT/teams","hooks_url":"https://api.github.com/repos/cogip/RIOT/hooks","issue_events_url":"https://api.github.com/repos/cogip/RIOT/issues/events{/number}","events_url":"https://api.github.com/repos/cogip/RIOT/events","assignees_url":"https://api.github.com/repos/cogip/RIOT/assignees{/user}","branches_url":"https://api.github.com/repos/cogip/RIOT/branches{/branch}","tags_url":"https://api.github.com/repos/cogip/RIOT/tags","blobs_url":"https://api.github.com/repos/cogip/RIOT/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cogip/RIOT/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cogip/RIOT/git/refs{/sha}","trees_url":"https://api.github.com/repos/cogip/RIOT/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cogip/RIOT/statuses/{sha}","languages_url":"https://api.github.com/repos/cogip/RIOT/languages","stargazers_url":"https://api.github.com/repos/cogip/RIOT/stargazers","contributors_url":"https://api.github.com/repos/cogip/RIOT/contributors","subscribers_url":"https://api.github.com/repos/cogip/RIOT/subscribers","subscription_url":"https://api.github.com/repos/cogip/RIOT/subscription","commits_url":"https://api.github.com/repos/cogip/RIOT/commits{/sha}","git_commits_url":"https://api.github.com/repos/cogip/RIOT/git/commits{/sha}","comments_url":"https://api.github.com/repos/cogip/RIOT/comments{/number}","issue_comment_url":"https://api.github.com/repos/cogip/RIOT/issues/comments{/number}","contents_url":"https://api.github.com/repos/cogip/RIOT/contents/{+path}","compare_url":"https://api.github.com/repos/cogip/RIOT/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cogip/RIOT/merges","archive_url":"https://api.github.com/repos/cogip/RIOT/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cogip/RIOT/downloads","issues_url":"https://api.github.com/repos/cogip/RIOT/issues{/number}","pulls_url":"https://api.github.com/repos/cogip/RIOT/pulls{/number}","milestones_url":"https://api.github.com/repos/cogip/RIOT/milestones{/number}","notifications_url":"https://api.github.com/repos/cogip/RIOT/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cogip/RIOT/labels{/name}","releases_url":"https://api.github.com/repos/cogip/RIOT/releases{/id}","deployments_url":"https://api.github.com/repos/cogip/RIOT/deployments","created_at":"2017-11-25T11:16:46Z","updated_at":"2017-11-25T11:16:55Z","pushed_at":"2018-02-01T23:41:14Z","git_url":"git://github.com/cogip/RIOT.git","ssh_url":"git@github.com:cogip/RIOT.git","clone_url":"https://github.com/cogip/RIOT.git","svn_url":"https://github.com/cogip/RIOT","homepage":"https://github.com/RIOT-OS/RIOT/wiki","size":48040,"stargazers_count":0,"watchers_count":0,"language":"C","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":"RIOT-OS:master","ref":"master","sha":"f1f079fb0ebc3b0fda5566ec7bcaf0eb24108a10","user":{"login":"RIOT-OS","id":3079480,"avatar_url":"https://avatars2.githubusercontent.com/u/3079480?v=4","gravatar_id":"","url":"https://api.github.com/users/RIOT-OS","html_url":"https://github.com/RIOT-OS","followers_url":"https://api.github.com/users/RIOT-OS/followers","following_url":"https://api.github.com/users/RIOT-OS/following{/other_user}","gists_url":"https://api.github.com/users/RIOT-OS/gists{/gist_id}","starred_url":"https://api.github.com/users/RIOT-OS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RIOT-OS/subscriptions","organizations_url":"https://api.github.com/users/RIOT-OS/orgs","repos_url":"https://api.github.com/users/RIOT-OS/repos","events_url":"https://api.github.com/users/RIOT-OS/events{/privacy}","received_events_url":"https://api.github.com/users/RIOT-OS/received_events","type":"Organization","site_admin":false},"repo":{"id":7370241,"name":"RIOT","full_name":"RIOT-OS/RIOT","owner":{"login":"RIOT-OS","id":3079480,"avatar_url":"https://avatars2.githubusercontent.com/u/3079480?v=4","gravatar_id":"","url":"https://api.github.com/users/RIOT-OS","html_url":"https://github.com/RIOT-OS","followers_url":"https://api.github.com/users/RIOT-OS/followers","following_url":"https://api.github.com/users/RIOT-OS/following{/other_user}","gists_url":"https://api.github.com/users/RIOT-OS/gists{/gist_id}","starred_url":"https://api.github.com/users/RIOT-OS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RIOT-OS/subscriptions","organizations_url":"https://api.github.com/users/RIOT-OS/orgs","repos_url":"https://api.github.com/users/RIOT-OS/repos","events_url":"https://api.github.com/users/RIOT-OS/events{/privacy}","received_events_url":"https://api.github.com/users/RIOT-OS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/RIOT-OS/RIOT","description":"RIOT -  The friendly OS for IoT","fork":false,"url":"https://api.github.com/repos/RIOT-OS/RIOT","forks_url":"https://api.github.com/repos/RIOT-OS/RIOT/forks","keys_url":"https://api.github.com/repos/RIOT-OS/RIOT/keys{/key_id}","collaborators_url":"https://api.github.com/repos/RIOT-OS/RIOT/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/RIOT-OS/RIOT/teams","hooks_url":"https://api.github.com/repos/RIOT-OS/RIOT/hooks","issue_events_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/events{/number}","events_url":"https://api.github.com/repos/RIOT-OS/RIOT/events","assignees_url":"https://api.github.com/repos/RIOT-OS/RIOT/assignees{/user}","branches_url":"https://api.github.com/repos/RIOT-OS/RIOT/branches{/branch}","tags_url":"https://api.github.com/repos/RIOT-OS/RIOT/tags","blobs_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/refs{/sha}","trees_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/trees{/sha}","statuses_url":"https://api.github.com/repos/RIOT-OS/RIOT/statuses/{sha}","languages_url":"https://api.github.com/repos/RIOT-OS/RIOT/languages","stargazers_url":"https://api.github.com/repos/RIOT-OS/RIOT/stargazers","contributors_url":"https://api.github.com/repos/RIOT-OS/RIOT/contributors","subscribers_url":"https://api.github.com/repos/RIOT-OS/RIOT/subscribers","subscription_url":"https://api.github.com/repos/RIOT-OS/RIOT/subscription","commits_url":"https://api.github.com/repos/RIOT-OS/RIOT/commits{/sha}","git_commits_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/commits{/sha}","comments_url":"https://api.github.com/repos/RIOT-OS/RIOT/comments{/number}","issue_comment_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/comments{/number}","contents_url":"https://api.github.com/repos/RIOT-OS/RIOT/contents/{+path}","compare_url":"https://api.github.com/repos/RIOT-OS/RIOT/compare/{base}...{head}","merges_url":"https://api.github.com/repos/RIOT-OS/RIOT/merges","archive_url":"https://api.github.com/repos/RIOT-OS/RIOT/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/RIOT-OS/RIOT/downloads","issues_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues{/number}","pulls_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls{/number}","milestones_url":"https://api.github.com/repos/RIOT-OS/RIOT/milestones{/number}","notifications_url":"https://api.github.com/repos/RIOT-OS/RIOT/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/RIOT-OS/RIOT/labels{/name}","releases_url":"https://api.github.com/repos/RIOT-OS/RIOT/releases{/id}","deployments_url":"https://api.github.com/repos/RIOT-OS/RIOT/deployments","created_at":"2012-12-29T20:38:40Z","updated_at":"2018-02-01T13:55:03Z","pushed_at":"2018-02-01T23:41:16Z","git_url":"git://github.com/RIOT-OS/RIOT.git","ssh_url":"git@github.com:RIOT-OS/RIOT.git","clone_url":"https://github.com/RIOT-OS/RIOT.git","svn_url":"https://github.com/RIOT-OS/RIOT","homepage":"https://github.com/RIOT-OS/RIOT/wiki","size":48131,"stargazers_count":1616,"watchers_count":1616,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":966,"mirror_url":null,"archived":false,"open_issues_count":671,"license":{"key":"lgpl-2.1","name":"GNU Lesser General Public License v2.1","spdx_id":"LGPL-2.1","url":"https://api.github.com/licenses/lgpl-2.1"},"forks":966,"open_issues":671,"watchers":1616,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/8482"},"html":{"href":"https://github.com/RIOT-OS/RIOT/pull/8482"},"issue":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/issues/8482"},"comments":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/issues/8482/comments"},"review_comments":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/8482/comments"},"review_comment":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/8482/commits"},"statuses":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/statuses/7094e7b6aca7dbfda911ac994a4cd484308f1fff"}},"author_association":"NONE"}}
{"actor":{"display_login":"aabadie"}}