I thought I suggested requiring all commands should have fully-parameterized options. (That is to say, --option value
style parameters.) The intended benefits would be that scripts would always work, even if positional arguments change, thus allowing scripts to be written in future-proof form.
However, I didn’t have a simple way to enable both parameterized options and positional options, and the benefits of muscle memory and typing shortcuts outweighed the above potential benefits.
Note: Making this type of change is a HUGE undertaking, as it affects all commands (even if you change one at a time). I think the cost to have a fully-parameterized API is worth it for a long-lived project, but I also understand the huge costs (testing more than writing). So …
Seems like we have a new bug that I didn’t see during earlier testing. There appears to be a situation where turning off the PSU from core 0 triggers undervoltage error on core 1.
Looking at the loop, it probably spends most of the time in the PSU efuse monitor taking ADC measurements which take so long that they’re stale by the time the PSU is disabled.
There is a mutex on the ADC, so maybe we can use that as a proxy to halt ADC measurements when manually disabling.