{"action":"created","issue":{"url":"https://api.github.com/repos/ARMmbed/mbed-os/issues/6069","repository_url":"https://api.github.com/repos/ARMmbed/mbed-os","labels_url":"https://api.github.com/repos/ARMmbed/mbed-os/issues/6069/labels{/name}","comments_url":"https://api.github.com/repos/ARMmbed/mbed-os/issues/6069/comments","events_url":"https://api.github.com/repos/ARMmbed/mbed-os/issues/6069/events","html_url":"https://github.com/ARMmbed/mbed-os/pull/6069","id":296445588,"number":6069,"title":"Replace wait_us() calls in ST I2C HAL driver with RTOS-less/pure-C waits","user":{"login":"RobMeades","id":6726745,"avatar_url":"https://avatars0.githubusercontent.com/u/6726745?v=4","gravatar_id":"","url":"https://api.github.com/users/RobMeades","html_url":"https://github.com/RobMeades","followers_url":"https://api.github.com/users/RobMeades/followers","following_url":"https://api.github.com/users/RobMeades/following{/other_user}","gists_url":"https://api.github.com/users/RobMeades/gists{/gist_id}","starred_url":"https://api.github.com/users/RobMeades/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RobMeades/subscriptions","organizations_url":"https://api.github.com/users/RobMeades/orgs","repos_url":"https://api.github.com/users/RobMeades/repos","events_url":"https://api.github.com/users/RobMeades/events{/privacy}","received_events_url":"https://api.github.com/users/RobMeades/received_events","type":"User","site_admin":false},"labels":[{"id":144902129,"url":"https://api.github.com/repos/ARMmbed/mbed-os/labels/needs:%20work","name":"needs: work","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2018-02-12T16:46:52Z","updated_at":"2018-02-19T16:28:49Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/ARMmbed/mbed-os/pulls/6069","html_url":"https://github.com/ARMmbed/mbed-os/pull/6069","diff_url":"https://github.com/ARMmbed/mbed-os/pull/6069.diff","patch_url":"https://github.com/ARMmbed/mbed-os/pull/6069.patch"},"body":"## Description\r\nReplace the calls to `wait_us()` in `i2c_api.c` for the STM platforms with a microsecond-ticker-based wait (hence becoming RTOS-less and all pure-C code).  This is required because the `UBLOX_C030` family of boards (which use an STM32F437VG MCU) need to configure a voltage threshold via I2C for reliable operation.  Such Mbed target configuration can only be done in the `HAL_MspInit()` hook, which is called before either the RTOS or LIBC have been initialised.\r\n\r\n## Status\r\nTested on C030 platform, @ARMmbed/team-st-mcd to regression test on other ST platforms.\r\n\r\n## Related PRs\r\n#5957, #5995, #6034\r\n\r\n## Steps to test or reproduce\r\nRun `mbed test` and the test `mbed_platform-critical_section` will now pass on a `UBLOX_C030` platform.\r\n\r\nTest results attached (noting that the UDP test always fail on our network).\r\n\r\n[waitless_i2c_test_output.txt](https://github.com/ARMmbed/mbed-os/files/1717038/waitless_i2c_test_output.txt)\r\n\r\nCC @ARMmbed/team-ublox."},"comment":{"url":"https://api.github.com/repos/ARMmbed/mbed-os/issues/comments/366742982","html_url":"https://github.com/ARMmbed/mbed-os/pull/6069#issuecomment-366742982","issue_url":"https://api.github.com/repos/ARMmbed/mbed-os/issues/6069","id":366742982,"user":{"login":"0xc0170","id":2963726,"avatar_url":"https://avatars0.githubusercontent.com/u/2963726?v=4","gravatar_id":"","url":"https://api.github.com/users/0xc0170","html_url":"https://github.com/0xc0170","followers_url":"https://api.github.com/users/0xc0170/followers","following_url":"https://api.github.com/users/0xc0170/following{/other_user}","gists_url":"https://api.github.com/users/0xc0170/gists{/gist_id}","starred_url":"https://api.github.com/users/0xc0170/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/0xc0170/subscriptions","organizations_url":"https://api.github.com/users/0xc0170/orgs","repos_url":"https://api.github.com/users/0xc0170/repos","events_url":"https://api.github.com/users/0xc0170/events{/privacy}","received_events_url":"https://api.github.com/users/0xc0170/received_events","type":"User","site_admin":false},"created_at":"2018-02-19T16:28:48Z","updated_at":"2018-02-19T16:28:48Z","author_association":"MEMBER","body":"> @LMESTM: understood, @bqam-ublox is looking at the implementation now. Assuming it works out we can close this and submit a PR which addresses #5957, #5995, #6034 and #6011 all at once. Boo-yaa :-).\r\n\r\nThe bugfix for C030 I2C was integrated, is this PR still relevant @RobMeades ?\r\n"}}
{"actor":{"display_login":"0xc0170"}}