{"action":"created","issue":{"url":"https://api.github.com/repos/micropython/micropython/issues/1650","repository_url":"https://api.github.com/repos/micropython/micropython","labels_url":"https://api.github.com/repos/micropython/micropython/issues/1650/labels{/name}","comments_url":"https://api.github.com/repos/micropython/micropython/issues/1650/comments","events_url":"https://api.github.com/repos/micropython/micropython/issues/1650/events","html_url":"https://github.com/micropython/micropython/issues/1650","id":118967724,"number":1650,"title":"Implement Asynchronous SPI Slave","user":{"login":"ryannathans","id":1307375,"avatar_url":"https://avatars0.githubusercontent.com/u/1307375?v=4","gravatar_id":"","url":"https://api.github.com/users/ryannathans","html_url":"https://github.com/ryannathans","followers_url":"https://api.github.com/users/ryannathans/followers","following_url":"https://api.github.com/users/ryannathans/following{/other_user}","gists_url":"https://api.github.com/users/ryannathans/gists{/gist_id}","starred_url":"https://api.github.com/users/ryannathans/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryannathans/subscriptions","organizations_url":"https://api.github.com/users/ryannathans/orgs","repos_url":"https://api.github.com/users/ryannathans/repos","events_url":"https://api.github.com/users/ryannathans/events{/privacy}","received_events_url":"https://api.github.com/users/ryannathans/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2015-11-26T04:01:10Z","updated_at":"2017-09-28T12:15:40Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"This issue is to implement asynchronous sending and receiving on the SPI when configured as a slave - instead of blocking and waiting for whenever a clock is provided from the master. SPI (read and write) should probably have a configurable buffer like uart rx currently does. When the master clocks, the contents of the send buffer should be clocked out and whatever the master is sending should be clocked in to the read buffer (if exists). The user should probably be able to choose between blocking and non-blocking modes as mentioned in #1533.\n\nRelated: #1642 (async uart tx)\n\nBug with existing implementation:\nCurrently when reading SPI as a slave, the function blocks until the specified number of bytes is received or the timeout occurs. If the timeout occurs an exception is raised (OS: 116) #1414 . An exception shouldn't be raised. Whatever data was read should be returned, just as the uart read currently does.\n\nAs a result of not having asynchronous read/writes and with the existing quirky behaviors, spi slave mode seems rather unusable.\n"},"comment":{"url":"https://api.github.com/repos/micropython/micropython/issues/comments/332818053","html_url":"https://github.com/micropython/micropython/issues/1650#issuecomment-332818053","issue_url":"https://api.github.com/repos/micropython/micropython/issues/1650","id":332818053,"user":{"login":"Adixy","id":16743558,"avatar_url":"https://avatars3.githubusercontent.com/u/16743558?v=4","gravatar_id":"","url":"https://api.github.com/users/Adixy","html_url":"https://github.com/Adixy","followers_url":"https://api.github.com/users/Adixy/followers","following_url":"https://api.github.com/users/Adixy/following{/other_user}","gists_url":"https://api.github.com/users/Adixy/gists{/gist_id}","starred_url":"https://api.github.com/users/Adixy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Adixy/subscriptions","organizations_url":"https://api.github.com/users/Adixy/orgs","repos_url":"https://api.github.com/users/Adixy/repos","events_url":"https://api.github.com/users/Adixy/events{/privacy}","received_events_url":"https://api.github.com/users/Adixy/received_events","type":"User","site_admin":false},"created_at":"2017-09-28T12:15:40Z","updated_at":"2017-09-28T12:15:40Z","author_association":"NONE","body":"I'm testing now the SPI comms when acting as a SLAVE\r\nPercentage of succesfull communications, after one hour test, is 7.5%. \r\n\r\nAnd that is really bad "}}
{"actor":{"display_login":"Adixy"}}