93 lines
2.0 KiB
Bash
93 lines
2.0 KiB
Bash
#!/bin/bash
|
|
|
|
# ESP32 LittleFS Upload Script
|
|
# Usage: ./scripts/upload-littlefs.sh [--env ENV] [--port PORT] [--auto]
|
|
|
|
# Default values
|
|
ENV="waveshare"
|
|
PORT=""
|
|
AUTO=false
|
|
HELP=false
|
|
|
|
# Parse command line arguments
|
|
while [[ $# -gt 0 ]]; do
|
|
case $1 in
|
|
-e|--env)
|
|
ENV="$2"
|
|
shift 2
|
|
;;
|
|
-p|--port)
|
|
PORT="$2"
|
|
shift 2
|
|
;;
|
|
-a|--auto)
|
|
AUTO=true
|
|
shift
|
|
;;
|
|
-h|--help)
|
|
HELP=true
|
|
shift
|
|
;;
|
|
*)
|
|
echo "Unknown option: $1"
|
|
echo "Use --help for usage information"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# Show help
|
|
if [ "$HELP" = true ]; then
|
|
echo "ESP32 LittleFS Upload Script"
|
|
echo ""
|
|
echo "Usage: $0 [OPTIONS]"
|
|
echo ""
|
|
echo "Options:"
|
|
echo " -e, --env ENV PlatformIO environment (default: waveshare)"
|
|
echo " -p, --port PORT Serial port (default: auto-detect)"
|
|
echo " -a, --auto Use PlatformIO-built LittleFS image"
|
|
echo " -h, --help Show this help message"
|
|
echo ""
|
|
echo "Examples:"
|
|
echo " $0 --auto # Upload PlatformIO-built LittleFS"
|
|
echo " $0 --auto --env waveshare # Upload from specific environment"
|
|
echo " $0 --auto --port COM17 # Upload to specific port"
|
|
echo ""
|
|
exit 0
|
|
fi
|
|
|
|
echo "=== ESP32 LittleFS Upload ==="
|
|
echo "Environment: $ENV"
|
|
echo "Port: ${PORT:-auto-detect}"
|
|
echo ""
|
|
|
|
# Build command arguments
|
|
CMD_ARGS=(
|
|
"scripts/upload_littlefs.py"
|
|
"--env" "$ENV"
|
|
)
|
|
|
|
# Add auto flag
|
|
if [ "$AUTO" = true ]; then
|
|
CMD_ARGS+=("--auto")
|
|
fi
|
|
|
|
# Add port if specified
|
|
if [ -n "$PORT" ]; then
|
|
CMD_ARGS+=("--port" "$PORT")
|
|
fi
|
|
|
|
# Execute upload
|
|
echo "Command: python ${CMD_ARGS[*]}"
|
|
echo ""
|
|
|
|
python "${CMD_ARGS[@]}"
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo ""
|
|
echo "✅ LittleFS upload completed successfully!"
|
|
else
|
|
echo ""
|
|
echo "❌ LittleFS upload failed!"
|
|
exit 1
|
|
fi |