{"action":"created","issue":{"url":"https://api.github.com/repos/PX4/GpsDrivers/issues/29","repository_url":"https://api.github.com/repos/PX4/GpsDrivers","labels_url":"https://api.github.com/repos/PX4/GpsDrivers/issues/29/labels{/name}","comments_url":"https://api.github.com/repos/PX4/GpsDrivers/issues/29/comments","events_url":"https://api.github.com/repos/PX4/GpsDrivers/issues/29/events","html_url":"https://github.com/PX4/GpsDrivers/issues/29","id":346104236,"node_id":"MDU6SXNzdWUzNDYxMDQyMzY=","number":29,"title":"receive function never returns in some conditions for UBX drivers","user":{"login":"AlexisTM","id":6976744,"node_id":"MDQ6VXNlcjY5NzY3NDQ=","avatar_url":"https://avatars0.githubusercontent.com/u/6976744?v=4","gravatar_id":"","url":"https://api.github.com/users/AlexisTM","html_url":"https://github.com/AlexisTM","followers_url":"https://api.github.com/users/AlexisTM/followers","following_url":"https://api.github.com/users/AlexisTM/following{/other_user}","gists_url":"https://api.github.com/users/AlexisTM/gists{/gist_id}","starred_url":"https://api.github.com/users/AlexisTM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AlexisTM/subscriptions","organizations_url":"https://api.github.com/users/AlexisTM/orgs","repos_url":"https://api.github.com/users/AlexisTM/repos","events_url":"https://api.github.com/users/AlexisTM/events{/privacy}","received_events_url":"https://api.github.com/users/AlexisTM/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":12,"created_at":"2018-07-31T09:21:48Z","updated_at":"2018-08-02T11:03:13Z","closed_at":null,"author_association":"NONE","body":"I don't know if it is intended, but I have the following conditions:\r\n* ret > 0\r\n* _interface == Interface::UART\r\n=> There is no return. \r\nBecause of that, the configure function is never returning and I am stuck in an infinite loop. \r\n\r\nhttps://github.com/PX4/GpsDrivers/blob/e84bb0a7a702320fedade6c83bbdf2324e3be8fb/src/ubx.cpp#L431-L485\r\n"},"comment":{"url":"https://api.github.com/repos/PX4/GpsDrivers/issues/comments/409889585","html_url":"https://github.com/PX4/GpsDrivers/issues/29#issuecomment-409889585","issue_url":"https://api.github.com/repos/PX4/GpsDrivers/issues/29","id":409889585,"node_id":"MDEyOklzc3VlQ29tbWVudDQwOTg4OTU4NQ==","user":{"login":"AlexisTM","id":6976744,"node_id":"MDQ6VXNlcjY5NzY3NDQ=","avatar_url":"https://avatars0.githubusercontent.com/u/6976744?v=4","gravatar_id":"","url":"https://api.github.com/users/AlexisTM","html_url":"https://github.com/AlexisTM","followers_url":"https://api.github.com/users/AlexisTM/followers","following_url":"https://api.github.com/users/AlexisTM/following{/other_user}","gists_url":"https://api.github.com/users/AlexisTM/gists{/gist_id}","starred_url":"https://api.github.com/users/AlexisTM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AlexisTM/subscriptions","organizations_url":"https://api.github.com/users/AlexisTM/orgs","repos_url":"https://api.github.com/users/AlexisTM/repos","events_url":"https://api.github.com/users/AlexisTM/events{/privacy}","received_events_url":"https://api.github.com/users/AlexisTM/received_events","type":"User","site_admin":false},"created_at":"2018-08-02T11:03:13Z","updated_at":"2018-08-02T11:03:13Z","author_association":"NONE","body":"NOTE: \r\n\r\n```cpp\r\nbool ready_to_return = _configured ? (_got_posllh && _got_velned) : handled;\r\n```\r\n\r\nThe issue only happens when we configure the GPS.\r\nIn that case:\r\n* `_configured` is false => `ready_to_return = handled`\r\n* During the first call, handled = 1.\r\n* During the second call, handled stays to 0.\r\n* Afterwards, `_configured` is true => The problem is gone.\r\n* ret is always > 0 (messages are incomming)\r\n* The messages are properly parsed by parseChar\r\n* The timeout using gps_absolute_time is not firing\r\n\r\nSolution: Use a different time method which does not rely on the GPS for the timeout?\r\n"}}
{"actor":{"display_login":"AlexisTM"}}