so most of the time teams are not sending a voltage to the motor but rather a requested velocity. Even when the motor is told to stop, it may be using a significant amount of power depending on the brake mode of the motor.
The current limiting happens inside each motor, even when we limit continuous current to 2.5A, the transient current can be much more than that and the motor needs to respond quickly to these changes. Individual motors don’t have knowledge of what all the other motors are doing, communicating that data back to the brain and then out to all motors is not something we can easily do and there would be significant latency.
so we have moved some of the current management to the code the VexU teams write, if they know that one motor is being used and 19 others will not, they can set the current limit for those 19 to be very low and then the remaining motor will have full power available. This is easier for a team to control than having vexos guess how and when motors will be run. There is a limit to how often this can be updated, but that’s up to VexU teams to determine. We could have allowed a little more motor power, however, our testing showed that there was a possibility of the battery going into a protection mode and shutting down the brain, seems that’s not something a VexU team would want to happen.