teklektik said:
Justin-
After looking at the new B20 Setup scheme, I see that
ThrI->CntrlMode is preference-specific. This is kind of handy but brings up an issue with making
Aux->AuxFunct global to control the Preset option - it means that throttle scaling might be lost when changing presets because there is no means to make the limit type of
Aux->AuxFunct track a preset-dependent limit set in
ThrI->CntrlMode. A solution might be to add a new Aux parameter that is global and leave the Aux limit selection associated with the preferences, perhaps like this:
- Aux -> Funct = { Off | Limit | Preset } (global)
- Aux -> Limit = { Amps Lim | Speed Lim| Power Lim | Pas Level } (preset-specific)
Software Updater Failure
That, Teklektik, is a nice work around. It is turning into quite a convoluted setup menu but this change would be fairly clean and and organized.
Using the v1.1 updater I repeated got into a state where the app would report that it was downloading but seemed unable to communicate with the CA, The cursor would just flicker with an hourglass every few seconds and the flash would never proceed. I tried multiple COM ports and restarted the app many times to no avail. I then ran the older not-so-automated version (circa 2012-10-16) and had no difficulty flashing. The 1.1 version had worked previously.
Hmm, when this happened was the CA screen blank and not showing anything (so in bootloader mode?). It might be as you suggest related to a noisy power up sequence or time delayed precharger that results in the CA power cycling after the initial communication. We can try putting in more of a latency between the CA detection and initiating the write sequence as you suggest. I'll get MRVass on it for next update.
ThrO -> Down Ramp Is Global
It looks like ThrO->UpRamp is preference-specific but ThrO->DownRamp is global. No big deal, but it seems a little asymmetric. DownRamp probably isn't as generally useful as UpRamp, but I just thought I'd call this out in case it was accidental...
Nothing ever slips by you does it

This is deliberate and the asymmetry of it pains me a bit too. It's essential for the up-ramp to not be global, as some modes like PAS control without a torque sensor require a slow ramp rate, which you wouldn't want in a throttle mode. However, the ramp down will rarely if ever get used, and if so it's likely more for system reasons than ride preference, so I couldn't see any justification in using up the some of the last bytes of remaining EEPROM to store 3 different instances of a down ramp rate.
I see that the button to enter Setup has been swapped back to the V2 style (left button). I'm sure there are good reasons, but I still think using the Right button is easier (just registering a vote here in case design decisions go democratic

)
This was democracy winning but you weren't around to cast the vote! Around the shop here it was driving people crazy to break button pushing habits when switching between the CA2 to CA3, and I figured that was going to be the same for every dealer or regular user down the road too.
Ideally, I'm trying to make it so that you never need to go into the setup menu once things are sorted out for your system, that's part of the motive behind the mode and battery presets. So the fact that it's somewhat more natural to get into setup menu with a right press shouldn't come into play as much. Plus, with the current button system you can still do everything via just a single button interface.
There is an issue with the preset management where PrSt->CrntPrst is not forced to be consistent with PrSt->PresetCnt. The problem is manifest when there is more than one preset and the preset count is reduced causing PrSt->CrntPrst to be left referencing a retired preset (e.g. If Cnt=3, Crnt=3, then set Cnt=1. Crnt will still refer to 3). I might suggest simply forcing PrSt->CrntPreset to "1" with associated data shuffling prior to any value reduction of PrSt->PresetCnt, but you get the drift - just a small bookkeeping oversight.
Yup. You'll notice that this is handled with the battery presets, so if you have battery 'C' selected and then change to only enabling two batteries, it will boot you down to battery 'B'. I just hadn't decided if this was the best way to do it with the mode presets too. These kind of things will be easier to make intuitive behavior for with a PC interface for all the settings, where we could have cells that are greyed out when no longer relevant and such.
It does have some weird effects though: in one instance a combination of meddling with the preset count and changing the current preset using both Setup and the quick-change button shortcut somehow managed to overwrite all my #1 presets with copies of the #2 presets...
The way the code is written and presets are stored this is unlikely (or more like impossible). It would be more likely that you were in a different preset setting than you thought when putting in the values. But yeah, the layout for enabling different #'s of presets and then setting them leaves something to be desired.
Setup Motor Burp
When sequencing through actual setup parameters (not the section headers), my motors bark a bit on leaving each parameter. It's not necessary to actually change anything, just scrolling is enough. This doesn't seem harmful for moderate power bikes like mine, but it's a little unnerving. (Related to throttle kick issue and more noticeable on certain bikes?)
I was wondering if anyone would notice this

. The little bark that you felt is 4 MILLISECONDS of throttle output that can occasionally happen when the CA goes into sleep mode while writing to eeprom! This is a slight consequence to making the throttle output stay at the MinOutput rather than going to 0V when you are in the setup menu so that it won't engage regen in a setup so configured. I noticed it on the oscilloscope (and have it fixed in B21) but didn't think it would make it through the throttle input filter on any controllers.
Thanks as always Tekletik. Hopeful release time for B21 is this Saturday.
We've also got a V3 CA shunt in production now that passes through the throttle and speedo signals from the 6-pin connector. This is especially handy for those doing RC controller interfaces to the CA, since you can repurpose the yellow speedo wire as a 5V line and the green wire becomes the servo pulse signal, and also for using a CA3 on an ebike controller without a Cycle Analyst plug on it.
-Justin