{"action":"created","issue":{"url":"https://api.github.com/repos/cleanflight/cleanflight/issues/1302","labels_url":"https://api.github.com/repos/cleanflight/cleanflight/issues/1302/labels{/name}","comments_url":"https://api.github.com/repos/cleanflight/cleanflight/issues/1302/comments","events_url":"https://api.github.com/repos/cleanflight/cleanflight/issues/1302/events","html_url":"https://github.com/cleanflight/cleanflight/issues/1302","id":105949261,"number":1302,"title":"In flight adjustments responds to smoothing channels by smearing adjustment across multiple things","user":{"login":"dustin","id":1779,"avatar_url":"https://avatars.githubusercontent.com/u/1779?v=3","gravatar_id":"","url":"https://api.github.com/users/dustin","html_url":"https://github.com/dustin","followers_url":"https://api.github.com/users/dustin/followers","following_url":"https://api.github.com/users/dustin/following{/other_user}","gists_url":"https://api.github.com/users/dustin/gists{/gist_id}","starred_url":"https://api.github.com/users/dustin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dustin/subscriptions","organizations_url":"https://api.github.com/users/dustin/orgs","repos_url":"https://api.github.com/users/dustin/repos","events_url":"https://api.github.com/users/dustin/events{/privacy}","received_events_url":"https://api.github.com/users/dustin/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-09-11T05:48:19Z","updated_at":"2015-09-11T17:48:42Z","closed_at":null,"body":"Sorry for the lack of brevity as I try to explain.  The short story is that I've built a config that lets me send both the adjustment condition channel as well as the value to apply at the same time.\r\n\r\nBasically, I've got a single switch (SD on the taranis in my case) controlling whether I'm configuring P, I, or D.  Then I use the trim controls to increment or decrement roll, pitch, or yaw.  This makes a very intuitive interface (e.g. need more I on pitch?  Put switch in middle and hit pitch trim up).\r\n\r\nHowever, because of the way the channels are smoothed, the adjustment channel triggers before the selection channel arrives, which causes adjustments to bleed onto nearby selections.\r\n\r\nI can mitigate this partially by injecting a delay in the adjustment pulse, but it just picks it up on the far side (and is slightly worse).  I haven't figured out how to easily tell the taranis to hold a channel value longer than the input requests it.\r\n\r\nIt seems to me that if there is a smoothing of the input, the adjustment selection should have enough latency to compensate for that.  e.g. you can see in one of my delayed examples here:\r\n![cleanflight_-_configurator](https://cloud.githubusercontent.com/assets/1779/9807841/c7fbb13e-580d-11e5-9e67-d704af022662.png)\r\n\r\nIf it's possible the value is still ramping up, then cleanflight can't know the actual selection value and attempting to make adjustments will be adjusting the wrong inputs.\r\n\r\nNote that this is probably not affecting people for the most part because they're manually performing a selection and then an adjustment.  Doing them both at the same time is really nice, except for the part where it doesn't work."},"comment":{"url":"https://api.github.com/repos/cleanflight/cleanflight/issues/comments/139611505","html_url":"https://github.com/cleanflight/cleanflight/issues/1302#issuecomment-139611505","issue_url":"https://api.github.com/repos/cleanflight/cleanflight/issues/1302","id":139611505,"user":{"login":"dustin","id":1779,"avatar_url":"https://avatars.githubusercontent.com/u/1779?v=3","gravatar_id":"","url":"https://api.github.com/users/dustin","html_url":"https://github.com/dustin","followers_url":"https://api.github.com/users/dustin/followers","following_url":"https://api.github.com/users/dustin/following{/other_user}","gists_url":"https://api.github.com/users/dustin/gists{/gist_id}","starred_url":"https://api.github.com/users/dustin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dustin/subscriptions","organizations_url":"https://api.github.com/users/dustin/orgs","repos_url":"https://api.github.com/users/dustin/repos","events_url":"https://api.github.com/users/dustin/events{/privacy}","received_events_url":"https://api.github.com/users/dustin/received_events","type":"User","site_admin":false},"created_at":"2015-09-11T17:48:42Z","updated_at":"2015-09-11T17:48:42Z","body":"I'm just using a normal mix here.  Logical switches are activated for various combinations of a 3pos and particular trim.  That logical switch sets specific outputs on aux7.  The trim sets output on aux8.\r\n\r\nI could possibly do the same thing with lua, but I'm not entirely sure it solve all the problems.  I actually implemented lots of this directly on the taranis, so that's nice.\r\n\r\nThe taranis currently sends the values I want, but they don't seem to be consistently interpreted correctly on the FC side."}}