Modes: default: reinstalls non-interactively with no delays, logouts, or reboots `bash reinstall-esp-idf.sh` test: tests the script. very fast. minimal actions taken. no reinstall is done `bash reinstall-esp-idf.sh test` retool: reinstalls bins and export.sh, nothing else `bash reinstall-esp-idf.sh retool` cron: runs noninteractively with forced user logout and automatic reboot, plus delays `bash reinstall-esp-idf.sh cron` interactive: interactively installs/reinstalls esp-idf `bash reinstall-esp-idf.sh interactive` clearlogs: clear logs `bash reinstall-esp-idf.sh clearlogs` help: display this help text `bash reinstall-esp-idf.sh help` Usage: Once installed for the first time, restart your shell. to activate esp-idf with the custom additions, run: `get_idf` Features: `build` idf.py build `changebaud` prompts to enter a new baud `changeesp` prompts to type in esp32s3, esp32c6, etc `changeport` opens a menu to select a serial port `clean` idf.py clean `fullclean` fully resets a project, 'idf.py fullclean' plus remove the build dir and delete some temp and backup files `rebuildfull` does a `fullclean` but also an `erase-flash` and also `setup` `setup` same as running `idf.py set-target $ESPTARGET; idf.py menuconfig; idf.py build` `flash` idf.py flash `monitor` idf.py monitor `erase-flash` idf.py erase-flash `save-defconfig` idf.py save-defconfig `step-flash-monitor` attempt clean, build, flash, then monitor, dying on error Helpful Stuff: cron: reinstall from master everyday at 8pm, logging out users with warn delays and rebooting after `crontab -e` 0 8 * * * bash $HOME/esp/esp-install-custom/reinstall-esp-idf.sh cron manually wipe logs: `rm $ESPIDF_INSTALLDIR/install.log; rm $ESPIDF_INSTALLDIR/version-data.txt; touch $ESPIDF_INSTALLDIR/install.log; touch $ESPIDF_INSTALLDIR/version-data.txt;` monitor log file during install: `tail -n 75 $ESPIDF_INSTALLDIR/install.log;`