parallaxinc / Flight-Controller

Quadcopter Flight Controller
Other
24 stars 20 forks source link

Firmware expo on channels 2, 3, 4 #24

Closed MatzElectronics closed 7 years ago

MatzElectronics commented 7 years ago

This is a "tuning for beginners" concern. Most v3's are sold with DXe's, which require a separate cable, software, and are generally a PITA to alter their settings. This is a discussion about whether expo + capping/softening sudden throttle increases is needed.

JasonDorie commented 7 years ago

I have often thought expo would be nice to do in the controller itself, and it could be done reasonably easily with a lookup table. Would cost some time & memory, but maybe not too bad.

Throttle change limiting also would be relatively easy - could make it so you can't change it more than X per update. Would obviously be a beginner setting, but also worth trying.

J

On Friday, September 16, 2016, Matthew Matz notifications@github.com wrote:

This is a "tuning for beginners" concern. Most v3's are sold with DXe's, which require a separate cable, software, and are generally a PITA to alter their settings. This is a discussion about whether expo + capping/softening sudden throttle increases is needed.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/parallaxinc/Flight-Controller/issues/24, or mute the thread https://github.com/notifications/unsubscribe-auth/ANak_pXoKInTLl0UEMdFAK21VtPkwjeIks5qq3nFgaJpZM4J_gzt .

MatzElectronics commented 7 years ago

For throttle change limiting, I'd prefer limiting rapid increases only...and the amount of limiting as a settable option. For expos - would doing it by formula take too many cycles? I'm sure we could find a way that's a good balance of memory vs. cycles. I played around with some options on a spreadsheet, and this looked good:

Radio.Aile = Radio.Aile / ( 1024 / ( abs( Radio.Aile ) ) )

Just have to watch out for divide by zeros.

Another option would be two or three linear approximations with increasing slope...

JasonDorie commented 7 years ago

Your formula is fine, but it won't work without using float math, and that'll make it really slow. I was thinking a 16 or 32 entry table with linear interpolation in between, or possibly a quadratic curve function, evaluated in fixed point. Probably slower to do the latter, but I'd test both and see.

For throttle limiting what I was thinking was just limiting the amount of change from one frame to the next, but I can see value in allowing rapid cuts - I'll think about it a bit. Shouldn't be too hard.

J

On Saturday, September 17, 2016, Matthew Matz notifications@github.com wrote:

For throttle change limiting, I'd prefer limiting rapid increases only...and the amount of limiting as a settable option. For expos - would doing it by formula take too many cycles? I'm sure we could find a way that's a good balance of memory vs. cycles. I played around with some options on a spreadsheet, and this looked good:

Radio.Aile = Radio.Aile / ( 1024 / ( abs( Radio.Aile ) ) )

Just have to watch out for divide by zeros.

Another option would be two or three linear approximations with increasing slope...

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/parallaxinc/Flight-Controller/issues/24#issuecomment-247757502, or mute the thread https://github.com/notifications/unsubscribe-auth/ANak_tYQGIVD3TkqY6JKgeXPvUP6LM-Pks5qq6ZYgaJpZM4J_gzt .

MatzElectronics commented 7 years ago

I'm good with the small table and interpolation. I'll draft it and test it out. I can take a crack that the throttle up limiting too.

MatzElectronics commented 7 years ago

I tried flying with expos for the first time today - and that makes a WORLD of difference. 40% felt about right - so yes, we definately need to code this in.

JasonDorie commented 7 years ago

Yeah, there's a reason this is a standard radio feature. :)

On Saturday, September 17, 2016, Matthew Matz notifications@github.com wrote:

I tried flying with expos for the first time today - and that makes a WORLD of difference. 40% felt about right - so yes, we definately need to code this in.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/parallaxinc/Flight-Controller/issues/24#issuecomment-247822706, or mute the thread https://github.com/notifications/unsubscribe-auth/ANak_uUYsiZ3R2iwKnYv-b0mnmTlGrjwks5qrK9wgaJpZM4J_gzt .

MatzElectronics commented 7 years ago

Except setting it on the DXe is a PITA.

On Sep 17, 2016 8:40 PM, "Jason Dorie" notifications@github.com wrote:

Yeah, there's a reason this is a standard radio feature. :)

On Saturday, September 17, 2016, Matthew Matz notifications@github.com wrote:

I tried flying with expos for the first time today - and that makes a WORLD of difference. 40% felt about right - so yes, we definately need to code this in.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/parallaxinc/Flight-Controller/ issues/24#issuecomment-247822706, or mute the thread https://github.com/notifications/unsubscribe-auth/ANak_uUYsiZ3R2iwKnYv- b0mnmTlGrjwks5qrK9wgaJpZM4J_gzt .

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/parallaxinc/Flight-Controller/issues/24#issuecomment-247823200, or mute the thread https://github.com/notifications/unsubscribe-auth/AS0quDpjuvD6QWuAWkfkuAowZxbKP3yeks5qrLKRgaJpZM4J_gzt .

JasonDorie commented 7 years ago

Expo on Roll/Pitch and Yaw (two settings) is submitted.

On Sat, Sep 17, 2016 at 8:41 PM, Matthew Matz notifications@github.com wrote:

Except setting on the DXe is a PITA.

On Sep 17, 2016 8:40 PM, "Jason Dorie" notifications@github.com wrote:

Yeah, there's a reason this is a standard radio feature. :)

On Saturday, September 17, 2016, Matthew Matz notifications@github.com wrote:

I tried flying with expos for the first time today - and that makes a WORLD of difference. 40% felt about right - so yes, we definately need to code this in.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/parallaxinc/Flight-Controller/ issues/24#issuecomment-247822706, or mute the thread https://github.com/notifications/unsubscribe- auth/ANak_uUYsiZ3R2iwKnYv- b0mnmTlGrjwks5qrK9wgaJpZM4J_gzt .

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/parallaxinc/Flight-Controller/ issues/24#issuecomment-247823200, or mute the thread https://github.com/notifications/unsubscribe-auth/ AS0quDpjuvD6QWuAWkfkuAowZxbKP3yeks5qrLKRgaJpZM4J_gzt .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/parallaxinc/Flight-Controller/issues/24#issuecomment-247823250, or mute the thread https://github.com/notifications/unsubscribe-auth/ANak_qlDa0tqPvnEBltjK6A-x5wXX2_uks5qrLLngaJpZM4J_gzt .

MatzElectronics commented 7 years ago

Moving throttle change limiting to a separate issue

JasonDorie commented 7 years ago

Tested, working