{"action":"created","issue":{"url":"https://api.github.com/repos/ArduPilot/MissionPlanner/issues/1849","repository_url":"https://api.github.com/repos/ArduPilot/MissionPlanner","labels_url":"https://api.github.com/repos/ArduPilot/MissionPlanner/issues/1849/labels{/name}","comments_url":"https://api.github.com/repos/ArduPilot/MissionPlanner/issues/1849/comments","events_url":"https://api.github.com/repos/ArduPilot/MissionPlanner/issues/1849/events","html_url":"https://github.com/ArduPilot/MissionPlanner/issues/1849","id":329604893,"node_id":"MDU6SXNzdWUzMjk2MDQ4OTM=","number":1849,"title":"RC Calibration Wizard Improvement","user":{"login":"Naterater","id":35429159,"node_id":"MDQ6VXNlcjM1NDI5MTU5","avatar_url":"https://avatars3.githubusercontent.com/u/35429159?v=4","gravatar_id":"","url":"https://api.github.com/users/Naterater","html_url":"https://github.com/Naterater","followers_url":"https://api.github.com/users/Naterater/followers","following_url":"https://api.github.com/users/Naterater/following{/other_user}","gists_url":"https://api.github.com/users/Naterater/gists{/gist_id}","starred_url":"https://api.github.com/users/Naterater/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Naterater/subscriptions","organizations_url":"https://api.github.com/users/Naterater/orgs","repos_url":"https://api.github.com/users/Naterater/repos","events_url":"https://api.github.com/users/Naterater/events{/privacy}","received_events_url":"https://api.github.com/users/Naterater/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-06-05T20:04:09Z","updated_at":"2018-12-01T23:06:01Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"#### Issue details\r\nThere are way too many users that end up with inputs (and consequently outputs) reversed. This stems from incorrect RC Calibration user errors. Although we say in the docs to make sure that the green bars move with the sticks, there are still far too many people that don't get it right or don't notice. It results in too many crashes, and this problem could be solved with a better step-by-step wizard and calibrating one thing at a time.\r\n\r\nI have heard that other GCS's do it differently. I haven't used them, but I think the following procedure would make the most sense:\r\n\r\n1. Confirm the user wants to calibrate his/her radio.\r\n2. Ask user to remove any radio trims, center sticks, lower throttle, and \"press any key\"\r\n3. Ask user to roll right only, hold, and \"press any key\" like the accelerometer calibration\r\n4. Ask user to roll left only, hold, and \"press any key\"\r\n5. Ask user to pitch nose-up, hold, and \"press any key\"\r\n6. Ask user to pitch nose-down...\r\n7. Throttle up...\r\n8. Yaw right...\r\n9. Yaw left...\r\n10. Flip all of the mode switches and dials (and record like the whole procedure is recorded currently)\r\n11. Return all sticks to neutral positions\r\n\r\nSure, the \"corners\" of the stick positions may not be 100% accurately recorded for min/max, but there should be no problem if an RC input is beyond the max or min; it will still be full-value. We're more concerned here about users not getting to full value due to not calibrating.\r\n\r\nBy using each individual step, the reversals and RCmap channels can be automatically calculated. It also accomodates users who are used to a reversed stick.\r\n\r\nBehind the scenes:\r\n1. Confirm calibration intent.\r\n2. Confirm neutral start & set trims.\r\n3. Find CH with the most change, set RCMAP_ROLL to that channel, if change is negative then reverse the channel, record RC(CH)_MAX (or MIN if reversed)\r\n4. Record RC(CH)_MIN (or MAX if reversed)\r\n5. Find CH with the most change, set RCMAP_PITCH to that channel, if change is negative then reverse the channel, record RC(CH)_MAX (or MIN if reversed)\r\n6. Record RC(CH)_MIN (or MAX if reversed)\r\n7. Find CH with the most change, set RCMAP_THROTTLE to that channel, if change is negative then reverse the channel, record RC(CH)_MAX (or MIN if reversed).\r\n8. Find CH with the most change, set RCMAP_YAW to that channel, if change is negative then reverse the channel, record RC(CH)_MAX (or MIN if reversed)\r\n9. Record RC(CH)_MIN (or MAX if reversed)\r\n10. Find all of the rest of the Min's and Max's by using the old technique\r\n11. Set RC(n)_TRIM for all channels, and RC(throttle)_MIN.\r\n\r\n#### Version\r\nAll\r\n\r\n#### Platform\r\n[X] All\r\n[  ] AntennaTracker\r\n[  ] Copter\r\n[  ] Plane\r\n[  ] Rover\r\n[  ] Sub\r\n\r\n#### Airframe type\r\nALL\r\n\r\n#### Hardware type\r\nAnything with a transmitter\r\n\r\n#### Logs\r\nN/A\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/ArduPilot/MissionPlanner/issues/comments/443466044","html_url":"https://github.com/ArduPilot/MissionPlanner/issues/1849#issuecomment-443466044","issue_url":"https://api.github.com/repos/ArduPilot/MissionPlanner/issues/1849","id":443466044,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0MzQ2NjA0NA==","user":{"login":"Naterater","id":35429159,"node_id":"MDQ6VXNlcjM1NDI5MTU5","avatar_url":"https://avatars3.githubusercontent.com/u/35429159?v=4","gravatar_id":"","url":"https://api.github.com/users/Naterater","html_url":"https://github.com/Naterater","followers_url":"https://api.github.com/users/Naterater/followers","following_url":"https://api.github.com/users/Naterater/following{/other_user}","gists_url":"https://api.github.com/users/Naterater/gists{/gist_id}","starred_url":"https://api.github.com/users/Naterater/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Naterater/subscriptions","organizations_url":"https://api.github.com/users/Naterater/orgs","repos_url":"https://api.github.com/users/Naterater/repos","events_url":"https://api.github.com/users/Naterater/events{/privacy}","received_events_url":"https://api.github.com/users/Naterater/received_events","type":"User","site_admin":false},"created_at":"2018-12-01T23:06:01Z","updated_at":"2018-12-01T23:06:01Z","author_association":"CONTRIBUTOR","body":"Support requests are still popping up due to double-reversed inputs and outputs that aren't recognized in plane. This is the easiest way to solve those problems and avoid crashes for first-time users."}}
{"actor":{"display_login":"Naterater"}}