ATR Firmware 101 (OBSOLETE)

interesting - I added a feature to warn me if I accidentally left an erpm limit in place that’s too low, you must have an erpm limit of 10,000 or less. This is dangerous, increase it

1 Like

Thanks. It was set right at 10,000. What is a safe value to have it at? I have a stock FM XR battery and hub.

I now have it set at 12,000 and it starts up great. I am glad that you put the beeps in there. I didn’t know that it was set too low. Thanks.

1 Like

2k is about 4mph, so 10k is equivalent to 20mph, 12k is 24mph - even that limit can be dangerous because with a stock battery you could reach 24mph on a full charge and if you’re daring enough, the last thing you want is to limit your speed by causing nosedives - I’d set this limit to at least 15k

use tiltback settings to limit your speed

3 Likes

Thanks for the help. I have adjusted the value tp 15000.

Hey surf, the “100_250” fw is compatible with the ubox 100A/100V units, correct? Mine is reporting HW ID as UBOX_SINGLE_100. Thanks.

I don’t understand the question. I know nothing about 100_250 - there’s a Ubox Single 100 firmware if you have a UBox100

Ah ok, google drive just wasn’t showing all of the binaries in the zip! Sorry!

Hi @surfdado, I really appreciate the work you’ve done on this. I just started messing with it on 6 and it feels amazing. I have been trying to tune it so that it has very little reaction while I am street riding (relatively flat) but when I am trail riding I like it to be very reactive with an uphill/downhill strength of 2. Carving aggressively on the street makes it feel a little wacky on my setup.

Do you think the following change to my float package would achieve this goal? Around line 1225 I would add: if (d->accel_gap < some number) {d->accel_gap=0}. Right before the float new_atr_target = atr_strength * d->accel_gap; statement. My intention is that this would add a minimum threshold for ATR activation. Does this make sense or is there a better way to get what I want? Could you suggest an accel_gap threshold that I might start testing from? Thank you!

Edit: Realized it should probably be the absolute value of accel_gap since it can be negative

You could give that a try, sure - but the downside is that it then might kick in quite abruptly, and there will be certain slopes where you will be right on the cusp of that threshold and your nose will end up going up and down due to this, won’t it?

and you’ve verified that it is indeed ATR that kicks in when you’re carving?

Yes, that makes sense. That would probably feel awkward. I am pretty sure it is ATR since I have deactivated all the tune modifiers. I’m keeping an eye on the status and the new UI with all the setpoints is really helpful. I’m using a tire that is heavily treaded and a very round profile so that might be adding to my situation. I’ve messed with the offset but adding too much seems to shift the curve into the negative, if that makes sense.

I think what I am looking for might be an offset on the back end of the calcs instead of the front end. Decrease acceleration gap to zero for values below this offset and subtract the offset from everything else and scale it. Perhaps I can even apply a polynomial instead of a linear relationship to get a stronger reaction at higher accel gaps.

I appreciate your answer. I’m still learning the code and the math. I’ll let you know if I come up with something worthwhile.

you’re on the right track - you could ignore the accel gap below a threshold as initially proposed, but then subtract the threshold from all the values so it starts from 0

the linear ATR we have today is certainly not perfect, so adding exponential behavior may indeed improve things