bug fixes pre release version
This commit is contained in:
@@ -20,7 +20,7 @@ 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`
|
||||
`run-esp-cmd`
|
||||
|
||||
test:
|
||||
tests the script. very fast. minimal actions taken. no reinstall is done
|
||||
@@ -77,41 +77,40 @@ Some take optional [branch] paramater
|
||||
```
|
||||
|
||||
## Features
|
||||
```
|
||||
`get-idf-tools` enter esp-idf
|
||||
`help-esp-tools` show this help
|
||||
`exit-esp-tools` exit esp-idf and reset terminal
|
||||
`build` idf.py build
|
||||
`changebaud` prompts to enter a new baud
|
||||
`changeesp` change esp device
|
||||
`changeesp` alone prompts to enter
|
||||
`changeesp <esp device>` manually changes to <esp device>
|
||||
ex. `changeesp esp32p4`
|
||||
`changeport` change serial port
|
||||
`changeport` alone prompts to select
|
||||
`changeport <tty device path>` manually specifies path
|
||||
ex. `changeport /dev/ttyUSB0` changes to /dev/ttyUSB0
|
||||
`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
|
||||
`imagesize` get binary size, broken down in various ways including total, by componant, and by file
|
||||
`chipinfo` get information from the esp chip
|
||||
`espinfo` get detailed information from the esp chip
|
||||
`menuconfig` run `idf.py menuconfig`
|
||||
`create-project <project name>` same as idf.py create-project <proejct name>
|
||||
ex. `create-project hello-world`
|
||||
`esp-install-monitor` monitors install.log. alias for `tail -n 75 -f $ESPIDF_INSTALLDIR/install.log`
|
||||
`esp-install-logs` displays full text of install.log and version-data.txt
|
||||
```
|
||||
* `get-idf-tools` enter esp-idf
|
||||
* `help-esp-tools` show this help
|
||||
* `exit-esp-tools` exit esp-idf and reset terminal
|
||||
* `build` idf.py build
|
||||
* `changebaud` prompts to enter a new baud
|
||||
* `changeesp` change esp device
|
||||
* `changeesp` alone prompts to enter
|
||||
* `changeesp <esp device>` manually changes to <esp device>
|
||||
* ex. `changeesp esp32p4`
|
||||
* `changeport` change serial port
|
||||
* `changeport` alone prompts to select
|
||||
* `changeport <tty device path>` manually specifies path
|
||||
* ex. `changeport /dev/ttyUSB0` changes to /dev/ttyUSB0
|
||||
* `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
|
||||
* `imagesize` get binary size, broken down in various ways including total, by componant, and by file
|
||||
* `chipinfo` get information from the esp chip
|
||||
* `espinfo` get detailed information from the esp chip
|
||||
* `menuconfig` run `idf.py menuconfig`
|
||||
* `create-project <project name>` same as idf.py create-project <proejct name>
|
||||
* ex. `create-project hello-world`
|
||||
* `esp-install-monitor` monitors install.log. alias for `tail -n 75 -f $ESPIDF_INSTALLDIR/install.log`
|
||||
* `esp-install-logs` displays full text of install.log and version-data.txt
|
||||
|
||||
### Cronjob
|
||||
reinstall from master everyday at 4am, logging out users with warn delays and rebooting after
|
||||
`crontab -e`
|
||||
add below to bottom of file:
|
||||
`0 4 * * * bash $HOME/esp/esp-install-custom/esp-idf-tools-cmd.sh cron
|
||||
|
||||
reinstall from master everyday at 4am, logging out users with warn delays and rebooting after
|
||||
* `crontab -e`
|
||||
add below to bottom of file:
|
||||
* `0 4 * * * bash $HOME/esp/esp-install-custom/esp-idf-tools-cmd.sh cron`
|
||||
@@ -64,17 +64,14 @@ echo -e "\nSetting alias"
|
||||
alias changeport="source $binDir/changeport.sh"
|
||||
alias changebaud="source $binDir/changebaud.sh"
|
||||
alias changeesp="source $binDir/changeesp.sh"
|
||||
alias exit-esp-tools="source $binDir/exit-idf.sh"
|
||||
alias monitor="idf.py monitor"
|
||||
alias flashmonitor="idf.py flash monitor"
|
||||
alias menuconfig="idf.py menuconfig"
|
||||
alias exit-esp-tools="source $binDir/exit-esp-tools.sh"
|
||||
|
||||
# echo -e "Changing dir to $ESPIDF_INSTALLDIR"
|
||||
cd $ESPIDF_INSTALLDIR
|
||||
|
||||
echo -e "\nesp-idf version: $ESP_IDF_VERSION commit $commitHash from branch $branchData"
|
||||
|
||||
echo -e "\nrun with `run_esp_cmd`"
|
||||
echo -e "\nrun with 'run_esp_cmd'"
|
||||
|
||||
echo -e "\nWelcome to esp-idf!\nAll done :3\n"
|
||||
|
||||
|
||||
@@ -14,8 +14,12 @@ subprocess() {
|
||||
return $selection
|
||||
}
|
||||
|
||||
subprocess
|
||||
ret=$?
|
||||
if [ ! -z $1 ]; then
|
||||
ret="$1"
|
||||
else
|
||||
ret=''
|
||||
subprocess ret
|
||||
fi
|
||||
|
||||
export ESPBAUD=$ret
|
||||
echo "\nBaudrate set to $ESPBAUD\n"
|
||||
|
||||
+12
-11
@@ -1,12 +1,13 @@
|
||||
echo "esp-idf install dir: $ESPIDF_INSTALLDIR"
|
||||
echo "esp-idf-tools install dir: $ESPIDF_INSTALLDIR"
|
||||
echo "esp-idf-tools last install: $(tail -1 $ESPIDF_INSTALLDIR/version-data.log)"
|
||||
echo "esp-idf path: $IDF_PATH"
|
||||
echo "esp-idf version: $ESP_IDF_VERSION"
|
||||
echo "esp-idf python path: $IDF_PYTHON_ENV_PATH
|
||||
echo "openocd scripts: $OPENOCD_SCRIPTS"
|
||||
echo "esp-idf rom elf dir: $ESP_ROM_ELF_DIR"
|
||||
echo "esp-idf-deactivate file path $IDF_DEACTIVATE_FILE_PATH"
|
||||
echo "esp-idf tools install cmd: $IDF_TOOLS_INSTALL_CMD"
|
||||
echo "esp-idf-tools export cmd: $IDF_TOOLS_EXPORT_CMD"
|
||||
echo "port: $ESPPORT"
|
||||
echo "baud: $ESPBAUD"
|
||||
echo "target device $SPTARGET"
|
||||
echo "esp-idf version: $ESP_IDF_VERSION"
|
||||
echo "esp-idf python path: $IDF_PYTHON_ENV_PATH"
|
||||
echo "openocd scripts: $OPENOCD_SCRIPTS"
|
||||
echo "esp-idf rom elf dir: $ESP_ROM_ELF_DIR"
|
||||
echo "esp-idf-deactivate file path $IDF_DEACTIVATE_FILE_PATH"
|
||||
echo "esp-idf install cmd: $IDF_TOOLS_INSTALL_CMD"
|
||||
echo "esp-idf export cmd: $IDF_TOOLS_EXPORT_CMD"
|
||||
echo "port: $ESPPORT"
|
||||
echo "baud: $ESPBAUD"
|
||||
echo "target device: $ESPTARGET"
|
||||
@@ -0,0 +1 @@
|
||||
idf.py flash monitor
|
||||
@@ -0,0 +1 @@
|
||||
idf.py menuconfig
|
||||
@@ -0,0 +1 @@
|
||||
idf.py monitor
|
||||
+15
-51
@@ -114,6 +114,18 @@ function writeToLog() {
|
||||
echo -e "$(date '+%d/%m/%Y %H:%M:%S %Z (%s)'): $1" >> $log
|
||||
}
|
||||
|
||||
function messagePTY() {
|
||||
if [[ ! -z $1 ]]; then
|
||||
message="$1"
|
||||
else
|
||||
message="Something happening! Maybe a shutdown!"
|
||||
fi
|
||||
|
||||
for pts in $(ls -q /dev/pts); do
|
||||
sudo echo -e "$message" > /dev/pts/$pts # requires passwordless sudo
|
||||
done
|
||||
}
|
||||
|
||||
# this is not needed so long as warn doesnt god damned fucking work lmfao
|
||||
function handleSleep() {
|
||||
# writeToLog "Handling sleep hold (function ran)\n"
|
||||
@@ -353,57 +365,10 @@ function handleDownloadInstall() {
|
||||
}
|
||||
|
||||
handleReboot() {
|
||||
# writeToLog "Handling reboot: (function ran)\n"
|
||||
messagePTY "\n\nRebooting in $sleepMins minutes!!\n\n"
|
||||
sudo shutdown -r +$rebootMins
|
||||
}
|
||||
|
||||
# warning not work how i make it work fuckin ell
|
||||
handleWarnAllUsers() {
|
||||
# writeToLog "Warning all users of impending logout (function called)\n"
|
||||
warningString="\nWARNING:\n\tReinstalling esp-idf:\n\tForce logut in $sleepMins minutes!!\n\tSave and log out!\n\tmonitor with \`esp+monitor\`\n\tterminate with \`sudo killall esp-idf-tools-cmd.sh\`\n"
|
||||
|
||||
writeToLog "$warningString"
|
||||
|
||||
|
||||
loggedIn=$(who | awk '{print $1}' | uniq)
|
||||
|
||||
if [ -z $loggedIn ]; then
|
||||
writeToLog "No users logged in to warn\n"
|
||||
return
|
||||
else
|
||||
writeToLog "Skipping warning all logged in users: $loggedIn\n"
|
||||
fi
|
||||
# writeToLog "Warning all logged in users: $loggedIn"
|
||||
# sudo wall --nobanner "$warningString"
|
||||
# returnStatus
|
||||
# warnChk=$?
|
||||
#
|
||||
# handleSleep
|
||||
|
||||
}
|
||||
|
||||
# dis one sure af be workan tho lmfao
|
||||
function handleLogoutAllUsers() {
|
||||
# writeToLog "Handling user logout (function ran)\n"
|
||||
handleWarnAllUsers
|
||||
|
||||
loggedIn=$(who | awk '{print $1}' | uniq)
|
||||
|
||||
if [ -z $loggedIn ]; then
|
||||
writeToLog "No logged in users to log out\n"
|
||||
return
|
||||
else
|
||||
writeToLog "Logging out all logged in users: $loggedIn"
|
||||
echo $loggedIn | while read line; do
|
||||
writeToLog "\tLogging out $line"
|
||||
sudo loginctl terminate-user $line
|
||||
returnStatus
|
||||
done
|
||||
returnStatus
|
||||
logoutChk=$?
|
||||
fi
|
||||
}
|
||||
|
||||
function handleCheckEspIdf() {
|
||||
if [ ! -z $IDF_PYTHON_ENV_PATH ]; then
|
||||
writeToLog "FAIL: Sanity check failed!\n\tesp-idf environment varibles found!\n\tPelase run from a fresh termnal that has not had get_idf ran!\n"
|
||||
@@ -508,7 +473,6 @@ if [[ "$arg" == "--help" || "$arg" == "help" || "$arg" == "-h" || "$arg" == "h"
|
||||
elif [[ "$arg" == "test" || "$arg" == "t" ]]; then # minimal actions taken, echo the given commands and such
|
||||
action="TEST"
|
||||
sleepMins=0
|
||||
# testExport=1
|
||||
|
||||
installCmdTemp="echo $installCmd"
|
||||
toolsInstallCmdTemp="echo $toolsInstallCmd"
|
||||
@@ -601,14 +565,13 @@ elif [[ "$arg" == "cron" || "$arg" == "c" ]]; then # full install with warn, sle
|
||||
idfGet="update"
|
||||
sleepMins=0
|
||||
|
||||
messagePTY "esp-idf-tools action $action started!\nWill reboot with $sleepMins minutes delay when complete!"
|
||||
handleStart
|
||||
handleClearInstallLog
|
||||
handleLogoutAllUsers
|
||||
handleSetupEnvironment
|
||||
handleCustomBins
|
||||
handleDownloadInstall
|
||||
handleExport
|
||||
handleLogoutAllUsers
|
||||
handleEnd
|
||||
handleReboot
|
||||
|
||||
@@ -654,6 +617,7 @@ elif [[ "$arg" == "nukereboot" || "$arg" == "nr" ]]; then
|
||||
sleepMins=1
|
||||
idfGet="download"
|
||||
|
||||
messagePTY "esp-idf-tools action $action started!\nWill reboot with $sleepMins minutes delay when complete!"
|
||||
handleStart
|
||||
handleClearInstallLog
|
||||
handleSetupEnvironment
|
||||
|
||||
Regular → Executable
+9
-27
@@ -1,28 +1,10 @@
|
||||
source $HOME/.zshrc
|
||||
|
||||
function checkAlias() {
|
||||
echo "Testing $1"
|
||||
alias $1 2>/dev/null
|
||||
ret=$?
|
||||
echo -e "\tretcode: $ret"
|
||||
if [ $ret -eq 1 ]; then
|
||||
echo "$1 not found"
|
||||
else
|
||||
echo "$1: $(alias $1)"
|
||||
fi
|
||||
|
||||
return $ret
|
||||
}
|
||||
|
||||
checkAlias get_idf
|
||||
checkAlias run_esp_reinstall
|
||||
checkAlias esp_monitor
|
||||
checkAlias esp_logs
|
||||
checkAlias notarealone
|
||||
|
||||
# if [ -z $ESPIDF_INSTALLDIR ]; then
|
||||
# echo "ESPIDF_INSTALLDIR not found"
|
||||
# else
|
||||
# echo "ESPIDF_INSTALLDIR: $ESPIDF_INSTALLDIR"
|
||||
# fi
|
||||
#!/bin/bash
|
||||
if [[ ! -z $1 ]]; then
|
||||
message="$1"
|
||||
else
|
||||
message="PTS Default Message"
|
||||
fi
|
||||
|
||||
for pts in $(ls -q /dev/pts); do
|
||||
sudo echo "$message" > /dev/pts/$pts
|
||||
done
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
test new pts messaging system
|
||||
integrate
|
||||
test espinfo
|
||||
test all for bugs
|
||||
audit readme
|
||||
maybe pretty up
|
||||
test/fix changebaud/changebaud <baud>
|
||||
test menuconfig, monitor, flashmonitor
|
||||
|
||||
mayhaps support bash?
|
||||
# mayhaps it already works mayhaps? test
|
||||
|
||||
figure out how to message users properly
|
||||
x at leastt remove sleeps if cant message ig lol
|
||||
|
||||
verbosity levels?
|
||||
less verbose on git commands and installers?
|
||||
esp_install_logs
|
||||
|
||||
Reference in New Issue
Block a user