6034a9648be27acfc8b4fdea616442bcc719d7b4
esp-idf Tools and Installer/Reinstaller
installs/reinstalls full esp-idf with my own additions on linux.
pulls from master so its the very latest
built for debian-like systems only currently tested on zsh some features require user to have passwordless sudo rights
Literally the most schizophrenically overengineered thing I have ever made. idk why I did that
Quick start
git clone https://github.com/PrincessPi3/esp-idf-tools.git ~/esp-idf-toolsbash ~/esp-idf-tools/esp-idf-tools-cmd.shsource ~/.zshrcget-esp-tools
Usage
Some take optional [branch] paramater
[branch] is the esp-idf branch you desire, defaults to master if not specified.
default:
reinstalls non-interactively with no delays, logouts, or reboots
`run-esp-cmd`
test:
tests the script. very fast. minimal actions taken. no reinstall is done
`run-esp-cmd test [branch]`
`run-esp-cmd t [branch]`
retool:
reinstalls bins and export.sh, nothing else
`run-esp-cmd retool`
`run-esp-cmd rt`
cron:
runs noninteractively with forced user logout and automatic reboot, plus delays
`run-esp-cmd cron [branch]`
`run-esp-cmd c [branch]`
update:
updates and installs latest without reboot or user logout
`run-esp-cmd update [branch]`
`run-esp-cmd u [branch]`
interactive:
interactively installs/reinstalls esp-idf
`run-esp-cmd interactive`
`run-esp-cmd i`
nuke:
full delete and re-download and install
`run-esp-cmd nuke [branch]`
`run-esp-cmd n [branch]`
nukereboot
full delete and re-download and install, then reboot
`run-esp-cmd nukereboot [branch]`
`run-esp-cmd nr [branch]`
clearlogs:
clear logs
`run-esp-cmd clearlogs`
`run-esp-cmd clear`
`run-esp-cmd cl`
help:
display this help text
`run-esp-cmd help`
`run-esp-cmd h`
`run-esp-cmd -h`
`run-esp-cmd --help`
`help-esp-tools`
uninstall:
uninstall esp-idf
`run-esp-cmd uninstall`
Features
get-idf-toolsenter esp-idfhelp-esp-toolsshow this helpexit-esp-toolsexit esp-idf and reset terminalbuildidf.py buildchangebaudalone prompts to enter baudratechangebaud <baudrate>sets baudrate manually- ex.
changebaud 115200
- ex.
changeespchange esp devicechangeespalone prompts to enterchangeesp <esp device>manually changes to- ex.
changeesp esp32p4
changeportchange serial portchangeportalone prompts to selectchangeport <tty device path>manually specifies path- ex.
changeport /dev/ttyUSB0changes to /dev/ttyUSB0
- ex.
cleanidf.py cleanfullcleanfully resets a project, 'idf.py fullclean' plus remove the build dir and delete some temp and backup filesrebuildfulldoes afullcleanbut also anerase-flashand alsosetupsetupsame as runningidf.py set-target $ESPTARGET; idf.py menuconfig; idf.py buildflashidf.py flashmonitoridf.py monitorerase-flashidf.py erase-flashsave-defconfigidf.py save-defconfigstep-flash-monitorattempt clean, build, flash, then monitor, dying on errorimagesizeget binary size, broken down in various ways including total, by componant, and by filechipinfoget information from the esp chipespinfoget detailed information from the esp chipmenuconfigrunidf.py menuconfigcreate-projectalone prompts for a project namecreate-project <project name>creates a project with- ex.
create-project hello-world
- ex.
esp-install-monitormonitors install.log. alias fortail -n 75 -f $ESPIDF_INSTALLDIR/install.logesp-install-logsdisplays full text of install.log and version-data.txt$examplesis a shortcut for examples directory in esp-idf- ex. cd
$examples
- ex. cd
Cronjob
reinstall from master everyday at 4am, logging out users with warn delays and rebooting after
crontab -eadd below to bottom of file:0 4 * * * bash $HOME/esp/esp-install-custom/esp-idf-tools-cmd.sh cron
Description
Languages
Shell
100%