GitHub PullRequestEvent at 2014-02-06 13:32:10
Repository: libmaple
Actor: mbolivar
Payload: {"action":"closed","number":83,"pull_request":{"url":"https://api.github.com/repos/leaflabs/libmaple/pulls/83","id":12264029,"html_url":"https://github.com/leaflabs/libmaple/pull/83","diff_url":"https://github.com/leaflabs/libmaple/pull/83.diff","patch_url":"https://github.com/leaflabs/libmaple/pull/83.patch","issue_url":"https://api.github.com/repos/leaflabs/libmaple/issues/83","number":83,"state":"closed","title":"always clear ISR DMA bit before even calling handler","user":{"login":"wesen","id":128441,"avatar_url":"https://gravatar.com/avatar/2b6a59cefca95d079fc42d24879c83f3?d=https%3A%2F%2Fidenticons.github.com%2F5067e3640c2c6d47917ab14abb2ab7bb.png&r=x","gravatar_id":"2b6a59cefca95d079fc42d24879c83f3","url":"https://api.github.com/users/wesen","html_url":"https://github.com/wesen","followers_url":"https://api.github.com/users/wesen/followers","following_url":"https://api.github.com/users/wesen/following{/other_user}","gists_url":"https://api.github.com/users/wesen/gists{/gist_id}","starred_url":"https://api.github.com/users/wesen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wesen/subscriptions","organizations_url":"https://api.github.com/users/wesen/orgs","repos_url":"https://api.github.com/users/wesen/repos","events_url":"https://api.github.com/users/wesen/events{/privacy}","received_events_url":"https://api.github.com/users/wesen/received_events","type":"User","site_admin":false},"body":"So I am a bit unsure about this one. I had this troublesome effect:\r\n\r\n1. i was running code with -O0 for a long time (mistake on my part)\r\n2. i switched to -Os -> this led to flakiness in the SPI transfer to the display (flaky timing)\r\n3. i tried to hunt down the exact timing, but couldn't. Basically, if dma.c was compiled with -O2, it worked, with -Os, it didn't\r\n4. i tried some random delay sprinkling, didn't help. \r\n\r\nI then realized that I triggered a new DMA transfer inside the IRQ routine, but didn't clear the ISR flag first. I am now wondering why the IRQ handler dispatcher shouldn't always clear it as the first thing, to get acknowledging the IRQ out of the way.\r\n\r\nI am maybe missing something?","created_at":"2014-02-06T11:58:21Z","updated_at":"2014-02-06T13:32:09Z","closed_at":"2014-02-06T13:32:09Z","merged_at":"2014-02-06T13:32:09Z","merge_commit_sha":"07b5ddc5109cbd1707a703f4084e2f03448ad278","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/leaflabs/libmaple/pulls/83/commits","review_comments_url":"https://api.github.com/repos/leaflabs/libmaple/pulls/83/comments","review_comment_url":"https://api.github.com/repos/leaflabs/libmaple/pulls/comments/{number}","comments_url":"https://api.github.com/repos/leaflabs/libmaple/issues/83/comments","statuses_url":"https://api.github.com/repos/leaflabs/libmaple/statuses/117049f9e0d223ccba61cdedd5e634123a352a86","head":{"label":"wesen:bug/clear-dma-irq-flag-first","ref":"bug/clear-dma-irq-flag-first","sha":"117049f9e0d223ccba61cdedd5e634123a352a86","user":{"login":"wesen","id":128441,"avatar_url":"https://gravatar.com/avatar/2b6a59cefca95d079fc42d24879c83f3?d=https%3A%2F%2Fidenticons.github.com%2F5067e3640c2c6d47917ab14abb2ab7bb.png&r=x","gravatar_id":"2b6a59cefca95d079fc42d24879c83f3","url":"https://api.github.com/users/wesen","html_url":"https://github.com/wesen","followers_url":"https://api.github.com/users/wesen/followers","following_url":"https://api.github.com/users/wesen/following{/other_user}","gists_url":"https://api.github.com/users/wesen/gists{/gist_id}","starred_url":"https://api.github.com/users/wesen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wesen/subscriptions","organizations_url":"https://api.github.com/users/wesen/orgs","repos_url":"https://api.github.com/users/wesen/repos","events_url":"https://api.github.com/users/wesen/events{/privacy}","received_events_url":"https://api.github.com/users/wesen/received_events","type":"User","site_admin":false},"repo":{"id":6281575,"name":"libmaple","full_name":"wesen/libmaple","owner":{"login":"wesen","id":128441,"avatar_url":"https://gravatar.com/avatar/2b6a59cefca95d079fc42d24879c83f3?d=https%3A%2F%2Fidenticons.github.com%2F5067e3640c2c6d47917ab14abb2ab7bb.png&r=x","gravatar_id":"2b6a59cefca95d079fc42d24879c83f3","url":"https://api.github.com/users/wesen","html_url":"https://github.com/wesen","followers_url":"https://api.github.com/users/wesen/followers","following_url":"https://api.github.com/users/wesen/following{/other_user}","gists_url":"https://api.github.com/users/wesen/gists{/gist_id}","starred_url":"https://api.github.com/users/wesen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wesen/subscriptions","organizations_url":"https://api.github.com/users/wesen/orgs","repos_url":"https://api.github.com/users/wesen/repos","events_url":"https://api.github.com/users/wesen/events{/privacy}","received_events_url":"https://api.github.com/users/wesen/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/wesen/libmaple","description":"C and C++ library for STM32 ARM Cortex-M3 development boards.","fork":true,"url":"https://api.github.com/repos/wesen/libmaple","forks_url":"https://api.github.com/repos/wesen/libmaple/forks","keys_url":"https://api.github.com/repos/wesen/libmaple/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wesen/libmaple/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wesen/libmaple/teams","hooks_url":"https://api.github.com/repos/wesen/libmaple/hooks","issue_events_url":"https://api.github.com/repos/wesen/libmaple/issues/events{/number}","events_url":"https://api.github.com/repos/wesen/libmaple/events","assignees_url":"https://api.github.com/repos/wesen/libmaple/assignees{/user}","branches_url":"https://api.github.com/repos/wesen/libmaple/branches{/branch}","tags_url":"https://api.github.com/repos/wesen/libmaple/tags","blobs_url":"https://api.github.com/repos/wesen/libmaple/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wesen/libmaple/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wesen/libmaple/git/refs{/sha}","trees_url":"https://api.github.com/repos/wesen/libmaple/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wesen/libmaple/statuses/{sha}","languages_url":"https://api.github.com/repos/wesen/libmaple/languages","stargazers_url":"https://api.github.com/repos/wesen/libmaple/stargazers","contributors_url":"https://api.github.com/repos/wesen/libmaple/contributors","subscribers_url":"https://api.github.com/repos/wesen/libmaple/subscribers","subscription_url":"https://api.github.com/repos/wesen/libmaple/subscription","commits_url":"https://api.github.com/repos/wesen/libmaple/commits{/sha}","git_commits_url":"https://api.github.com/repos/wesen/libmaple/git/commits{/sha}","comments_url":"https://api.github.com/repos/wesen/libmaple/comments{/number}","issue_comment_url":"https://api.github.com/repos/wesen/libmaple/issues/comments/{number}","contents_url":"https://api.github.com/repos/wesen/libmaple/contents/{+path}","compare_url":"https://api.github.com/repos/wesen/libmaple/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wesen/libmaple/merges","archive_url":"https://api.github.com/repos/wesen/libmaple/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wesen/libmaple/downloads","issues_url":"https://api.github.com/repos/wesen/libmaple/issues{/number}","pulls_url":"https://api.github.com/repos/wesen/libmaple/pulls{/number}","milestones_url":"https://api.github.com/repos/wesen/libmaple/milestones{/number}","notifications_url":"https://api.github.com/repos/wesen/libmaple/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wesen/libmaple/labels{/name}","releases_url":"https://api.github.com/repos/wesen/libmaple/releases{/id}","created_at":"2012-10-18T16:08:23Z","updated_at":"2014-02-06T13:32:09Z","pushed_at":"2014-02-06T11:55:43Z","git_url":"git://github.com/wesen/libmaple.git","ssh_url":"git@github.com:wesen/libmaple.git","clone_url":"https://github.com/wesen/libmaple.git","svn_url":"https://github.com/wesen/libmaple","homepage":"http://leaflabs.com/docs/libmaple.html","size":4806,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_downloads":false,"has_wiki":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop","master_branch":"develop"}},"base":{"label":"leaflabs:master","ref":"master","sha":"b66d23304d7dca0253542e00d6001c709af47df3","user":{"login":"leaflabs","id":219337,"avatar_url":"https://gravatar.com/avatar/bec040e86f7c6f941dc5011349cf90db?d=https%3A%2F%2Fidenticons.github.com%2F3447c04d4988d0abfef0d6577087ee17.png&r=x","gravatar_id":"bec040e86f7c6f941dc5011349cf90db","url":"https://api.github.com/users/leaflabs","html_url":"https://github.com/leaflabs","followers_url":"https://api.github.com/users/leaflabs/followers","following_url":"https://api.github.com/users/leaflabs/following{/other_user}","gists_url":"https://api.github.com/users/leaflabs/gists{/gist_id}","starred_url":"https://api.github.com/users/leaflabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leaflabs/subscriptions","organizations_url":"https://api.github.com/users/leaflabs/orgs","repos_url":"https://api.github.com/users/leaflabs/repos","events_url":"https://api.github.com/users/leaflabs/events{/privacy}","received_events_url":"https://api.github.com/users/leaflabs/received_events","type":"Organization","site_admin":false},"repo":{"id":560456,"name":"libmaple","full_name":"leaflabs/libmaple","owner":{"login":"leaflabs","id":219337,"avatar_url":"https://gravatar.com/avatar/bec040e86f7c6f941dc5011349cf90db?d=https%3A%2F%2Fidenticons.github.com%2F3447c04d4988d0abfef0d6577087ee17.png&r=x","gravatar_id":"bec040e86f7c6f941dc5011349cf90db","url":"https://api.github.com/users/leaflabs","html_url":"https://github.com/leaflabs","followers_url":"https://api.github.com/users/leaflabs/followers","following_url":"https://api.github.com/users/leaflabs/following{/other_user}","gists_url":"https://api.github.com/users/leaflabs/gists{/gist_id}","starred_url":"https://api.github.com/users/leaflabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leaflabs/subscriptions","organizations_url":"https://api.github.com/users/leaflabs/orgs","repos_url":"https://api.github.com/users/leaflabs/repos","events_url":"https://api.github.com/users/leaflabs/events{/privacy}","received_events_url":"https://api.github.com/users/leaflabs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/leaflabs/libmaple","description":"C and C++ library for STM32 ARM Cortex-M3 development boards.","fork":false,"url":"https://api.github.com/repos/leaflabs/libmaple","forks_url":"https://api.github.com/repos/leaflabs/libmaple/forks","keys_url":"https://api.github.com/repos/leaflabs/libmaple/keys{/key_id}","collaborators_url":"https://api.github.com/repos/leaflabs/libmaple/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/leaflabs/libmaple/teams","hooks_url":"https://api.github.com/repos/leaflabs/libmaple/hooks","issue_events_url":"https://api.github.com/repos/leaflabs/libmaple/issues/events{/number}","events_url":"https://api.github.com/repos/leaflabs/libmaple/events","assignees_url":"https://api.github.com/repos/leaflabs/libmaple/assignees{/user}","branches_url":"https://api.github.com/repos/leaflabs/libmaple/branches{/branch}","tags_url":"https://api.github.com/repos/leaflabs/libmaple/tags","blobs_url":"https://api.github.com/repos/leaflabs/libmaple/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/leaflabs/libmaple/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/leaflabs/libmaple/git/refs{/sha}","trees_url":"https://api.github.com/repos/leaflabs/libmaple/git/trees{/sha}","statuses_url":"https://api.github.com/repos/leaflabs/libmaple/statuses/{sha}","languages_url":"https://api.github.com/repos/leaflabs/libmaple/languages","stargazers_url":"https://api.github.com/repos/leaflabs/libmaple/stargazers","contributors_url":"https://api.github.com/repos/leaflabs/libmaple/contributors","subscribers_url":"https://api.github.com/repos/leaflabs/libmaple/subscribers","subscription_url":"https://api.github.com/repos/leaflabs/libmaple/subscription","commits_url":"https://api.github.com/repos/leaflabs/libmaple/commits{/sha}","git_commits_url":"https://api.github.com/repos/leaflabs/libmaple/git/commits{/sha}","comments_url":"https://api.github.com/repos/leaflabs/libmaple/comments{/number}","issue_comment_url":"https://api.github.com/repos/leaflabs/libmaple/issues/comments/{number}","contents_url":"https://api.github.com/repos/leaflabs/libmaple/contents/{+path}","compare_url":"https://api.github.com/repos/leaflabs/libmaple/compare/{base}...{head}","merges_url":"https://api.github.com/repos/leaflabs/libmaple/merges","archive_url":"https://api.github.com/repos/leaflabs/libmaple/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/leaflabs/libmaple/downloads","issues_url":"https://api.github.com/repos/leaflabs/libmaple/issues{/number}","pulls_url":"https://api.github.com/repos/leaflabs/libmaple/pulls{/number}","milestones_url":"https://api.github.com/repos/leaflabs/libmaple/milestones{/number}","notifications_url":"https://api.github.com/repos/leaflabs/libmaple/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/leaflabs/libmaple/labels{/name}","releases_url":"https://api.github.com/repos/leaflabs/libmaple/releases{/id}","created_at":"2010-03-13T07:59:48Z","updated_at":"2014-02-06T13:32:09Z","pushed_at":"2014-02-06T13:32:09Z","git_url":"git://github.com/leaflabs/libmaple.git","ssh_url":"git@github.com:leaflabs/libmaple.git","clone_url":"https://github.com/leaflabs/libmaple.git","svn_url":"https://github.com/leaflabs/libmaple","homepage":"http://leaflabs.com/docs/libmaple.html","size":5801,"stargazers_count":145,"watchers_count":145,"language":"C","has_issues":true,"has_downloads":false,"has_wiki":false,"forks_count":107,"mirror_url":null,"open_issues_count":25,"forks":107,"open_issues":25,"watchers":145,"default_branch":"master","master_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/leaflabs/libmaple/pulls/83"},"html":{"href":"https://github.com/leaflabs/libmaple/pull/83"},"issue":{"href":"https://api.github.com/repos/leaflabs/libmaple/issues/83"},"comments":{"href":"https://api.github.com/repos/leaflabs/libmaple/issues/83/comments"},"review_comments":{"href":"https://api.github.com/repos/leaflabs/libmaple/pulls/83/comments"},"review_comment":{"href":"https://api.github.com/repos/leaflabs/libmaple/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/leaflabs/libmaple/pulls/83/commits"},"statuses":{"href":"https://api.github.com/repos/leaflabs/libmaple/statuses/117049f9e0d223ccba61cdedd5e634123a352a86"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"mbolivar","id":35088,"avatar_url":"https://gravatar.com/avatar/fac98ab29299386f42cfe57078b62b38?d=https%3A%2F%2Fidenticons.github.com%2F0784c218a60686b9f6345f44605bfd8c.png&r=x","gravatar_id":"fac98ab29299386f42cfe57078b62b38","url":"https://api.github.com/users/mbolivar","html_url":"https://github.com/mbolivar","followers_url":"https://api.github.com/users/mbolivar/followers","following_url":"https://api.github.com/users/mbolivar/following{/other_user}","gists_url":"https://api.github.com/users/mbolivar/gists{/gist_id}","starred_url":"https://api.github.com/users/mbolivar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbolivar/subscriptions","organizations_url":"https://api.github.com/users/mbolivar/orgs","repos_url":"https://api.github.com/users/mbolivar/repos","events_url":"https://api.github.com/users/mbolivar/events{/privacy}","received_events_url":"https://api.github.com/users/mbolivar/received_events","type":"User","site_admin":false},"comments":2,"review_comments":0,"commits":1,"additions":1,"deletions":1,"changed_files":1}}