Configure Motors every powerup

Is there a reason to configure the motors every powerup? Or, if you have a good configuration, just leave the motors as is, and never change them at powerup?

Also, do you factory reset first?

iirc most teams that configure the motors on startup do so because its not uncommon to see can configuration faults where you lose some of your configuration. So its more so a best practice thing it is by no ways a nesscity but it does improve reliability. If you are configuring make sure to factory reset first then configure your settings if you factory reset after setting those configs you will lose them.

It also saves time reconfiguring stuff if you need to swap out a motor during competition.

Ironically, I think I have the opposite problem, we see a couple misconfigurations on the CAN bus at startup, and we lost critical configs like peakOutputForward/Reverse (from Pheonix 5) so our motors only drove in 1 direction. Or last year, sometimes the motor would miss the invert command, and drive backwards all match.

I’m actually thinking about getting the motors into a happy configuration, then commenting out all the configuration stuff, and never running it again. Then we can uncomment when we have a problem later and need a reconfigure. (Maybe the Rev/Pheonix tools are the better option and you can just export configs for all the devices to replay later)

This was more bouncing ideas off, seeing what makes the most sense.

I know that rembrandts has logic to check if they currently have the correct configuration settings and if they don’t they’ll set the config, for phoniex this can be done by checking the config object with the == operand. That way they don’t over use the factory reset but saves themself from losing can config during startup if they did. This might just be personal prefrence but I like coding configs way more than setting them with the tools as it saves time and confusion. Also takes away a layer to debugging.