From af4cb392304c244db8b93775398a2287b4595ec2 Mon Sep 17 00:00:00 2001 From: Erick Ahmed Date: Tue, 13 May 2025 11:29:15 +0200 Subject: [PATCH] Add ATmega build and flash script Use Dockerfile for firmware compilation and avrdude for flashing to ATmega328p via usbasp. --- src/atmega/build-atmega.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100755 src/atmega/build-atmega.sh diff --git a/src/atmega/build-atmega.sh b/src/atmega/build-atmega.sh new file mode 100755 index 0000000..34851f1 --- /dev/null +++ b/src/atmega/build-atmega.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +set -e + +IMAGE_NAME="plant-manager-builder" +SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) +IMAGE_NAME="plant-manager-builder" +DOCKERFILE="$SCRIPT_DIR/Dockerfile" +BUILD_CTX="$SCRIPT_DIR" +DEST_HEX="$SCRIPT_DIR/build/moisture.hex" +MCU="atmega328p"; PRG="usbasp"; AVR_FLAGS="-B 10" + +docker build -t "$IMAGE_NAME" -f "$DOCKERFILE" "$BUILD_CTX" + +mkdir -p "$(dirname "$DEST_HEX")" + +docker run --rm "$IMAGE_NAME" \ + cat /usr/src/build/moisture.hex > "$DEST_HEX" + +command -v avrdude >/dev/null || { echo "Install avrdude"; exit 1; } +avrdude -v -p "$MCU" -c "$PRG" $AVR_FLAGS -D -U flash:w:"$DEST_HEX":i