Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env bash
- PORT="/dev/ttyUSB0"
- BAUD="115200"
- SCRIPT_NAME="`basename ${0}`"
- usage(){
- echo -e "\nUżycie: ${SCRIPT_NAME} [nazwa_pliku_firmware]\n" && exit 0
- }
- check_file(){
- [[ ! -f "${1}" ]] && echo -e "\nBrak pliku firmware o nazwie \"${1}\".\n" && exit 1
- }
- no_file(){
- echo -e "\nBrak podanej nazwy pliku firmware.\n\nPoprawne użycie: ${SCRIPT_NAME} [nazwa_pliku_firmware]\n" && exit 1
- }
- check_port(){
- [[ ! -e "${PORT}" ]] && echo -e "\nNie można otworzyć portu \"${PORT}\". Sprawdź połączenie ESP32 z portem USB.\n" && exit 1
- }
- check_pkgs(){
- pkg=("esptool.py")
- no_pkg=""
- for (( i=0; i<${#pkg[@]}; i++ )); do
- command -v "${pkg[$i]}" &>/dev/null || {
- no_pkg="${no_pkg}${pkg[$i]}, "
- }
- done
- [[ ! -z "${no_pkg}" ]] && {
- echo -e "\n\"${SCRIPT_NAME}\" do działania wymaga pakietów: ${no_pkg::-2}\n"
- exit 1
- }
- }
- flash(){
- echo -e "\nRozpoczynam flashowanie firmware \"${1}\" ...\n"
- esptool.py --chip esp32 --port "${PORT}" erase_flash && esptool.py --chip esp32 --port "${PORT}" --baud "${BAUD}" write_flash -z 0x1000 "${1}"
- }
- check_pkgs
- case "${1}" in
- "--help") usage ;;
- "") no_file ;;
- *) check_file "${1}"; check_port ;;
- esac
- flash "${1}"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement