Update for the evening… big changes tonight throughout the evening.
Final results are the new updated pid controller is in. I will explain a bit more about how to use it after getting some rest but the gist is I have added setpoint weight and transition similar to betaflight in the pid.c page. I call setpoint weight something different though - stick accelerator. Cause that is basically what this particular setpoint weight is doing inside of the pid sum. Anyway, where I differ from betaflight aside from naming - is that I have broken out separate adjustablility on all three axis. So you can change them individually. And as if that were not enough … I have added a second profile that is selectible on an aux switch (currently set to CHAN_9). So if you just can’t decide what to do with the numbers to change the feel… or you like two different setups - you can have 2.
Range of safe values for stick accelerator is 0 to 1, but I have tested to about 2 and it seems ok (mega crisp). A value of 1 equates to the old test mode for error D term. Value of zero equates to classic silverware.
Range of safe values for stick transition is 0 to 1 where zero indicates no transition will take place and your stick acceleration will remain constant across the stick throw range… and a value of one indicates that a 100% transition will take place which will reduce your stick acceleration to zero at center stick.
I have actually coded transition to be safe for negative values as well which would equate to more stick acceleration at center stick than you have set by the stick acceleration variable that then fades down to your set acceleration value at 100% throw … but that gets pretty confusing to follow and goes totally against the grain of every other flight controller firmware so just ignore that for now unless you are into pid controller theory. I happen to like it… and that’s what having your own fork is all about. I put in some fun defaults for you to try out… classic silverware on profile A, and a basic blend of classic silverware and error D term on profile B. As I test more, I will probably update profile B to whatever my favorite is, but leave profile A as classic silverware.
I do still need to update commented notes inside the firmware… but this has all been tested across 3 different targets and in every flight mode. It is all 100% working.
Last thing… with these changes the fork is going to settle down for a bit. I’ve got just about everything i want in there feature wise so there will not be anything new to get used to for a while probably. I am going to focus next on DSMX support and maybe telemetry for sbus, and start cleaning out code that I consider bloat for the purpose of this fork. IE… old filters that I don’t use or support, the auto flip sequencer that flips for you like a toy quad… stuff like that. I probably need to go back and re-tune all my boss series in light of the new features since I’ve just been focused on whoops, and will continue to make minor tweaks to my preferred settings. My goal with this fork is to create the most ripping out of the box micro brushed experience that exists!