{"action":"created","comment":{"url":"https://api.github.com/repos/PX4/Firmware/pulls/comments/229144781","pull_request_review_id":169574540,"id":229144781,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyOTE0NDc4MQ==","diff_hunk":"@@ -2151,6 +2159,8 @@ Commander::run()\n \t\t\t\t\t\tPX4_ERR(\"Engine Failure\");\n \t\t\t\t\t\tset_health_flags(subsystem_info_s::SUBSYSTEM_TYPE_MOTORCONTROL, true, true, false, status);\n \t\t\t\t\t}\n+\t\t\t\t} else {\n+\t\t\t\t\t_engine_thrust_high = (throttle > ef_throttle_thres) && (current2throttle > ef_current2throttle_thres);","path":"src/modules/commander/Commander.cpp","position":50,"original_position":50,"commit_id":"5642b57643dee84765633b9ef19283278e038594","original_commit_id":"24eadb27c06d62a7767e4a7ca404ff7c6d9d8052","user":{"login":"priseborough","id":3596952,"node_id":"MDQ6VXNlcjM1OTY5NTI=","avatar_url":"https://avatars2.githubusercontent.com/u/3596952?v=4","gravatar_id":"","url":"https://api.github.com/users/priseborough","html_url":"https://github.com/priseborough","followers_url":"https://api.github.com/users/priseborough/followers","following_url":"https://api.github.com/users/priseborough/following{/other_user}","gists_url":"https://api.github.com/users/priseborough/gists{/gist_id}","starred_url":"https://api.github.com/users/priseborough/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/priseborough/subscriptions","organizations_url":"https://api.github.com/users/priseborough/orgs","repos_url":"https://api.github.com/users/priseborough/repos","events_url":"https://api.github.com/users/priseborough/events{/privacy}","received_events_url":"https://api.github.com/users/priseborough/received_events","type":"User","site_admin":false},"body":"Left over from previous method being evaluated. Will remove.","created_at":"2018-10-30T00:40:27Z","updated_at":"2018-10-30T00:40:27Z","html_url":"https://github.com/PX4/Firmware/pull/10733#discussion_r229144781","pull_request_url":"https://api.github.com/repos/PX4/Firmware/pulls/10733","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/PX4/Firmware/pulls/comments/229144781"},"html":{"href":"https://github.com/PX4/Firmware/pull/10733#discussion_r229144781"},"pull_request":{"href":"https://api.github.com/repos/PX4/Firmware/pulls/10733"}},"in_reply_to_id":227026866},"pull_request":{"url":"https://api.github.com/repos/PX4/Firmware/pulls/10733","id":224597339,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI0NTk3MzM5","html_url":"https://github.com/PX4/Firmware/pull/10733","diff_url":"https://github.com/PX4/Firmware/pull/10733.diff","patch_url":"https://github.com/PX4/Firmware/pull/10733.patch","issue_url":"https://api.github.com/repos/PX4/Firmware/issues/10733","number":10733,"state":"open","locked":false,"title":"Improve robustness to bad and lost airspeed data","user":{"login":"priseborough","id":3596952,"node_id":"MDQ6VXNlcjM1OTY5NTI=","avatar_url":"https://avatars2.githubusercontent.com/u/3596952?v=4","gravatar_id":"","url":"https://api.github.com/users/priseborough","html_url":"https://github.com/priseborough","followers_url":"https://api.github.com/users/priseborough/followers","following_url":"https://api.github.com/users/priseborough/following{/other_user}","gists_url":"https://api.github.com/users/priseborough/gists{/gist_id}","starred_url":"https://api.github.com/users/priseborough/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/priseborough/subscriptions","organizations_url":"https://api.github.com/users/priseborough/orgs","repos_url":"https://api.github.com/users/priseborough/repos","events_url":"https://api.github.com/users/priseborough/events{/privacy}","received_events_url":"https://api.github.com/users/priseborough/received_events","type":"User","site_admin":false},"body":"**Description**\n\nAdded in response to https://github.com/PX4/Firmware/issues/9869\n\nEnables detection and recovery from disconnected and blocked airspeed sensors.\n\nUses a combined airspeed innovation check and normal load factor sanity check.\n\nFalse positives to bad EKF operation are reduced by requiring that GPS and magnetomer innovations are within limits from other sensors are within limits before declaring airspeed innovations bad.\n\nThe normal load factor sanity check will fail the airspeed sensor if the normal load factor sustains a value that is greater than what is physically possible given the measured airspeed.\n\nThe feature is off by default and controlled by the following parameters:\n\nCOM_ASPD_FS_ACT\nSets failsafe action when bad airspeed measurements are detected:\n0 do nothing\n1 log a message\n2 log a message, warn the user\n3 log a message, warn the user, switch to non-airspeed TECS mode\n4 log a message, warn the user, switch to non-airspeed TECS mode, switch to Return mode\n\nCOM_ASPD_STALL\nThis is the minimum indicated airspeed at which the wing can produce 1g of lift. It is used by the airspeed sensor fault detection and failsafe calculation to detect a significant airspeed low measurement error condition and should be set based on flight test for reliable operation. The failsafe response is controlled by the COM_ASPD_FS_ACT parameter.\n\nCOM_TAS_FS_INNOV\nThis scales the minimum airspeed innovation level required to trigger a failsafe. Increase to make the check less sensitive, decrease to make it more sensitive. The default value of 1.0 uses the same threshold as the EKF does for airspeed acceptance. \n\nCOM_TAS_FS_T1\nNumber of seconds checks need to fail before an airspeed fault is declared and any failsafe response is actioned. Note - if both\n\nCOM_TAS_FS_T2\nNumber of seconds checks need to pass before an airspeed fault is cleared.\n\n**Test data / coverage**\nPreliminary testing in SITL was performed by modifying it here :https://github.com/PX4/sitl_gazebo/blob/3d80f63562c24c1537e1f8423ce649c99ebc15ea/src/gazebo_mavlink_interface.cpp#L549-L555 to fail the airspeed at specified times or heights, eg\n\n```\n// block airspeed sensor immediately after takeoff\n// clear blockage afer 30 seconds\nstatic common::Time fail_time = 0.0;\nstatic bool faulty = false;\nif (faulty || ((pos_n.Z() < -5.0f) && (fail_time == 0.0))) {\nsensor_msg.diff_pressure = 0.0f;\nif (!faulty) {\nfail_time = world_->GetSimTime();\nfaulty = true;\n}\n}\nif ((world_->SimTime() - fail_time) > 30.0) {\nfaulty = false;\n}\n```\n\n**SITL test logs**\nCOM_ASPD_FS_ACT = 4\nCOM_ASPD_STALL = 10\nCOM_TAS_FS_INNOV = 1.0\nCOM_TAS_FS_T1 = 3\nCOM_TAS_FS_T2 = 100\n\nPitot permanently blocked immediately after takeoff.\nhttps://logs.px4.io/plot_app?log=569f7887-378a-465d-87fe-2e22fbd1163b\n\nPitot blocked immediately after takeoff and unblocked after 30 sec. Airspeed fault status eventually clears, but vehicle remains in RTL loiter as expected.\nhttps://logs.px4.io/plot_app?log=b42fbf34-25aa-42d6-ab16-52baf613a81a\n\nFlight testing will be required.\n\n","created_at":"2018-10-22T06:24:02Z","updated_at":"2018-10-30T00:40:27Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a4574aa5b896619b35c30e1a894fbadf53160045","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":10884840,"node_id":"MDU6TGFiZWwxMDg4NDg0MA==","url":"https://api.github.com/repos/PX4/Firmware/labels/enhancement","name":"enhancement","color":"84b6eb","default":true},{"id":78699916,"node_id":"MDU6TGFiZWw3ODY5OTkxNg==","url":"https://api.github.com/repos/PX4/Firmware/labels/fixedwing","name":"fixedwing","color":"009800","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/PX4/Firmware/pulls/10733/commits","review_comments_url":"https://api.github.com/repos/PX4/Firmware/pulls/10733/comments","review_comment_url":"https://api.github.com/repos/PX4/Firmware/pulls/comments{/number}","comments_url":"https://api.github.com/repos/PX4/Firmware/issues/10733/comments","statuses_url":"https://api.github.com/repos/PX4/Firmware/statuses/5642b57643dee84765633b9ef19283278e038594","head":{"label":"priseborough:pr-airSpdFailSafe","ref":"pr-airSpdFailSafe","sha":"5642b57643dee84765633b9ef19283278e038594","user":{"login":"priseborough","id":3596952,"node_id":"MDQ6VXNlcjM1OTY5NTI=","avatar_url":"https://avatars2.githubusercontent.com/u/3596952?v=4","gravatar_id":"","url":"https://api.github.com/users/priseborough","html_url":"https://github.com/priseborough","followers_url":"https://api.github.com/users/priseborough/followers","following_url":"https://api.github.com/users/priseborough/following{/other_user}","gists_url":"https://api.github.com/users/priseborough/gists{/gist_id}","starred_url":"https://api.github.com/users/priseborough/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/priseborough/subscriptions","organizations_url":"https://api.github.com/users/priseborough/orgs","repos_url":"https://api.github.com/users/priseborough/repos","events_url":"https://api.github.com/users/priseborough/events{/privacy}","received_events_url":"https://api.github.com/users/priseborough/received_events","type":"User","site_admin":false},"repo":{"id":21996422,"node_id":"MDEwOlJlcG9zaXRvcnkyMTk5NjQyMg==","name":"Firmware","full_name":"priseborough/Firmware","private":false,"owner":{"login":"priseborough","id":3596952,"node_id":"MDQ6VXNlcjM1OTY5NTI=","avatar_url":"https://avatars2.githubusercontent.com/u/3596952?v=4","gravatar_id":"","url":"https://api.github.com/users/priseborough","html_url":"https://github.com/priseborough","followers_url":"https://api.github.com/users/priseborough/followers","following_url":"https://api.github.com/users/priseborough/following{/other_user}","gists_url":"https://api.github.com/users/priseborough/gists{/gist_id}","starred_url":"https://api.github.com/users/priseborough/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/priseborough/subscriptions","organizations_url":"https://api.github.com/users/priseborough/orgs","repos_url":"https://api.github.com/users/priseborough/repos","events_url":"https://api.github.com/users/priseborough/events{/privacy}","received_events_url":"https://api.github.com/users/priseborough/received_events","type":"User","site_admin":false},"html_url":"https://github.com/priseborough/Firmware","description":"PX4 Firmware for PX4FMU autopilot and PX4IO servo / failsafe board","fork":true,"url":"https://api.github.com/repos/priseborough/Firmware","forks_url":"https://api.github.com/repos/priseborough/Firmware/forks","keys_url":"https://api.github.com/repos/priseborough/Firmware/keys{/key_id}","collaborators_url":"https://api.github.com/repos/priseborough/Firmware/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/priseborough/Firmware/teams","hooks_url":"https://api.github.com/repos/priseborough/Firmware/hooks","issue_events_url":"https://api.github.com/repos/priseborough/Firmware/issues/events{/number}","events_url":"https://api.github.com/repos/priseborough/Firmware/events","assignees_url":"https://api.github.com/repos/priseborough/Firmware/assignees{/user}","branches_url":"https://api.github.com/repos/priseborough/Firmware/branches{/branch}","tags_url":"https://api.github.com/repos/priseborough/Firmware/tags","blobs_url":"https://api.github.com/repos/priseborough/Firmware/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/priseborough/Firmware/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/priseborough/Firmware/git/refs{/sha}","trees_url":"https://api.github.com/repos/priseborough/Firmware/git/trees{/sha}","statuses_url":"https://api.github.com/repos/priseborough/Firmware/statuses/{sha}","languages_url":"https://api.github.com/repos/priseborough/Firmware/languages","stargazers_url":"https://api.github.com/repos/priseborough/Firmware/stargazers","contributors_url":"https://api.github.com/repos/priseborough/Firmware/contributors","subscribers_url":"https://api.github.com/repos/priseborough/Firmware/subscribers","subscription_url":"https://api.github.com/repos/priseborough/Firmware/subscription","commits_url":"https://api.github.com/repos/priseborough/Firmware/commits{/sha}","git_commits_url":"https://api.github.com/repos/priseborough/Firmware/git/commits{/sha}","comments_url":"https://api.github.com/repos/priseborough/Firmware/comments{/number}","issue_comment_url":"https://api.github.com/repos/priseborough/Firmware/issues/comments{/number}","contents_url":"https://api.github.com/repos/priseborough/Firmware/contents/{+path}","compare_url":"https://api.github.com/repos/priseborough/Firmware/compare/{base}...{head}","merges_url":"https://api.github.com/repos/priseborough/Firmware/merges","archive_url":"https://api.github.com/repos/priseborough/Firmware/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/priseborough/Firmware/downloads","issues_url":"https://api.github.com/repos/priseborough/Firmware/issues{/number}","pulls_url":"https://api.github.com/repos/priseborough/Firmware/pulls{/number}","milestones_url":"https://api.github.com/repos/priseborough/Firmware/milestones{/number}","notifications_url":"https://api.github.com/repos/priseborough/Firmware/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/priseborough/Firmware/labels{/name}","releases_url":"https://api.github.com/repos/priseborough/Firmware/releases{/id}","deployments_url":"https://api.github.com/repos/priseborough/Firmware/deployments","created_at":"2014-07-18T22:35:21Z","updated_at":"2017-11-19T21:04:03Z","pushed_at":"2018-10-30T00:37:45Z","git_url":"git://github.com/priseborough/Firmware.git","ssh_url":"git@github.com:priseborough/Firmware.git","clone_url":"https://github.com/priseborough/Firmware.git","svn_url":"https://github.com/priseborough/Firmware","homepage":"https://pixhawk.ethz.ch/px4/","size":100964,"stargazers_count":1,"watchers_count":1,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":3,"open_issues":0,"watchers":1,"default_branch":"patch-1"}},"base":{"label":"PX4:master","ref":"master","sha":"a7d297ed574a9b1110a224eb3718fbe14b154f6d","user":{"login":"PX4","id":2096014,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIwOTYwMTQ=","avatar_url":"https://avatars3.githubusercontent.com/u/2096014?v=4","gravatar_id":"","url":"https://api.github.com/users/PX4","html_url":"https://github.com/PX4","followers_url":"https://api.github.com/users/PX4/followers","following_url":"https://api.github.com/users/PX4/following{/other_user}","gists_url":"https://api.github.com/users/PX4/gists{/gist_id}","starred_url":"https://api.github.com/users/PX4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PX4/subscriptions","organizations_url":"https://api.github.com/users/PX4/orgs","repos_url":"https://api.github.com/users/PX4/repos","events_url":"https://api.github.com/users/PX4/events{/privacy}","received_events_url":"https://api.github.com/users/PX4/received_events","type":"Organization","site_admin":false},"repo":{"id":5298790,"node_id":"MDEwOlJlcG9zaXRvcnk1Mjk4Nzkw","name":"Firmware","full_name":"PX4/Firmware","private":false,"owner":{"login":"PX4","id":2096014,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIwOTYwMTQ=","avatar_url":"https://avatars3.githubusercontent.com/u/2096014?v=4","gravatar_id":"","url":"https://api.github.com/users/PX4","html_url":"https://github.com/PX4","followers_url":"https://api.github.com/users/PX4/followers","following_url":"https://api.github.com/users/PX4/following{/other_user}","gists_url":"https://api.github.com/users/PX4/gists{/gist_id}","starred_url":"https://api.github.com/users/PX4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PX4/subscriptions","organizations_url":"https://api.github.com/users/PX4/orgs","repos_url":"https://api.github.com/users/PX4/repos","events_url":"https://api.github.com/users/PX4/events{/privacy}","received_events_url":"https://api.github.com/users/PX4/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/PX4/Firmware","description":"PX4 Autopilot Software","fork":false,"url":"https://api.github.com/repos/PX4/Firmware","forks_url":"https://api.github.com/repos/PX4/Firmware/forks","keys_url":"https://api.github.com/repos/PX4/Firmware/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PX4/Firmware/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PX4/Firmware/teams","hooks_url":"https://api.github.com/repos/PX4/Firmware/hooks","issue_events_url":"https://api.github.com/repos/PX4/Firmware/issues/events{/number}","events_url":"https://api.github.com/repos/PX4/Firmware/events","assignees_url":"https://api.github.com/repos/PX4/Firmware/assignees{/user}","branches_url":"https://api.github.com/repos/PX4/Firmware/branches{/branch}","tags_url":"https://api.github.com/repos/PX4/Firmware/tags","blobs_url":"https://api.github.com/repos/PX4/Firmware/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PX4/Firmware/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PX4/Firmware/git/refs{/sha}","trees_url":"https://api.github.com/repos/PX4/Firmware/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PX4/Firmware/statuses/{sha}","languages_url":"https://api.github.com/repos/PX4/Firmware/languages","stargazers_url":"https://api.github.com/repos/PX4/Firmware/stargazers","contributors_url":"https://api.github.com/repos/PX4/Firmware/contributors","subscribers_url":"https://api.github.com/repos/PX4/Firmware/subscribers","subscription_url":"https://api.github.com/repos/PX4/Firmware/subscription","commits_url":"https://api.github.com/repos/PX4/Firmware/commits{/sha}","git_commits_url":"https://api.github.com/repos/PX4/Firmware/git/commits{/sha}","comments_url":"https://api.github.com/repos/PX4/Firmware/comments{/number}","issue_comment_url":"https://api.github.com/repos/PX4/Firmware/issues/comments{/number}","contents_url":"https://api.github.com/repos/PX4/Firmware/contents/{+path}","compare_url":"https://api.github.com/repos/PX4/Firmware/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PX4/Firmware/merges","archive_url":"https://api.github.com/repos/PX4/Firmware/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PX4/Firmware/downloads","issues_url":"https://api.github.com/repos/PX4/Firmware/issues{/number}","pulls_url":"https://api.github.com/repos/PX4/Firmware/pulls{/number}","milestones_url":"https://api.github.com/repos/PX4/Firmware/milestones{/number}","notifications_url":"https://api.github.com/repos/PX4/Firmware/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PX4/Firmware/labels{/name}","releases_url":"https://api.github.com/repos/PX4/Firmware/releases{/id}","deployments_url":"https://api.github.com/repos/PX4/Firmware/deployments","created_at":"2012-08-04T21:19:36Z","updated_at":"2018-10-29T14:17:11Z","pushed_at":"2018-10-30T00:38:14Z","git_url":"git://github.com/PX4/Firmware.git","ssh_url":"git@github.com:PX4/Firmware.git","clone_url":"https://github.com/PX4/Firmware.git","svn_url":"https://github.com/PX4/Firmware","homepage":"http://px4.io","size":103551,"stargazers_count":2053,"watchers_count":2053,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":6067,"mirror_url":null,"archived":false,"open_issues_count":652,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":6067,"open_issues":652,"watchers":2053,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/PX4/Firmware/pulls/10733"},"html":{"href":"https://github.com/PX4/Firmware/pull/10733"},"issue":{"href":"https://api.github.com/repos/PX4/Firmware/issues/10733"},"comments":{"href":"https://api.github.com/repos/PX4/Firmware/issues/10733/comments"},"review_comments":{"href":"https://api.github.com/repos/PX4/Firmware/pulls/10733/comments"},"review_comment":{"href":"https://api.github.com/repos/PX4/Firmware/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/PX4/Firmware/pulls/10733/commits"},"statuses":{"href":"https://api.github.com/repos/PX4/Firmware/statuses/5642b57643dee84765633b9ef19283278e038594"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"priseborough"}}