Major internal updates: command line, args parsing, number parsing, syntax compiler, number display

Now would be a great time to take the experimental firmware for a test drive. The past two days have focused on refactoring everything to the new args/prompt/help/validation API, as well as documenting the new API.

Almost everything “menu prompt, command line, help” has been refactored, but there’s very little real world testing of the complete migration. The only thing still relying on the old system is the c config menu because it’s a bit funky.

//TODO:

  • Document entire bp_cmd with usage examples

//Completed:

  • c configuration command not really ported, but enough to integrate the new help system
  • Regex remove dead help strings from commands.c struct.
  • PWM and Pullups need attention: done but check
  • DDR4/DDR5/dummy.c/spi_eeprom/otpdump all impacted by a change in the parser: fixed, but verify each implementation
  • Check dead code in ui_cmdln, ui_prompt.
  • Check remaining ui_prompt_float
  • Look into the unified file parser - how used, where, change underlying parser used?
  • Look into HEX viewer core arguments parsers
  • Mode command per-mode flags and parsing, using the exiting prompt definition structs in each mode.
  • Unify Y/N/exit in bp_cmd