aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorSelene ToyKeeper2023-11-03 08:40:42 -0600
committerSelene ToyKeeper2023-11-03 08:40:42 -0600
commit82013a73328ca6e2901d58661e37ccc9b5fe4aac (patch)
treecb91185a9952e5daac49b66607e95f739e9ea94e /bin
parentrenamed cfg.h -> anduril.h inside source files (diff)
downloadanduril-82013a73328ca6e2901d58661e37ccc9b5fe4aac.tar.gz
anduril-82013a73328ca6e2901d58661e37ccc9b5fe4aac.tar.bz2
anduril-82013a73328ca6e2901d58661e37ccc9b5fe4aac.zip
fixed compile scripts and added a "./make" wrapper for convenience
(instead of a Makefile, which isn't really needed for this project)
Diffstat (limited to 'bin')
-rwxr-xr-xbin/build-all.sh25
-rwxr-xr-xbin/build.sh14
2 files changed, 24 insertions, 15 deletions
diff --git a/bin/build-all.sh b/bin/build-all.sh
index e91280a..e3888fb 100755
--- a/bin/build-all.sh
+++ b/bin/build-all.sh
@@ -4,14 +4,17 @@
# If pattern given, only build targets which match.
if [ ! -z "$1" ]; then
- SEARCH="$1"
+ # multiple search terms with "AND"
+ SEARCH=$@
fi
-# TODO: detect UI from $0
+# TODO: detect UI from $0 and/or $*
UI=anduril
mkdir -p hex
+# TODO: use a git tag for the version, instead of build date
+# TODO: use build/version.h instead of $UI/version.h ?
date '+#define VERSION_NUMBER "%Y-%m-%d"' > ui/$UI/version.h
PASS=0
@@ -19,17 +22,22 @@ FAIL=0
PASSED=''
FAILED=''
-for TARGET in $(find hw/*/* -name "$UI".h) ; do
+# build targets are hw/*/**/$UI.h
+for TARGET in $( find hw/*/*/ -name "$UI".h ) ; do
- # maybe limit builds to a specific pattern
+ # limit builds to searched patterns, if given
+ SKIP=0
if [ ! -z "$SEARCH" ]; then
- echo "$TARGET" | grep -i "$SEARCH" > /dev/null
- if [ 0 != $? ]; then continue ; fi
+ for text in $SEARCH ; do
+ echo "$TARGET" | grep -i "$text" > /dev/null
+ if [ 0 != $? ]; then SKIP=1 ; fi
+ done
fi
+ if [ 1 = $SKIP ]; then continue ; fi
# friendly name for this build
NAME=$(echo "$TARGET" | perl -ne 's|/|-|g; /hw-(.*)-'"$UI"'.h/ && print "$1\n";')
- echo "===== $NAME ====="
+ echo "===== $UI : $NAME ====="
# figure out MCU type
#ATTINY=$(grep 'ATTINY:' $TARGET | awk '{ print $3 }')
@@ -37,11 +45,12 @@ for TARGET in $(find hw/*/* -name "$UI".h) ; do
# try to compile
#echo bin/build.sh "$UI" "$TARGET"
- bin/build.sh "$UI" "$TARGET"
+ bin/build.sh "$TARGET"
# track result, and rename compiled files
if [ 0 = $? ] ; then
mv -f "ui/$UI/$UI".hex hex/"$UI".$NAME.hex
+ echo " > hex/$UI.$NAME.hex"
PASS=$(($PASS + 1))
PASSED="$PASSED $NAME"
else
diff --git a/bin/build.sh b/bin/build.sh
index 0c4fc17..41abfc7 100755
--- a/bin/build.sh
+++ b/bin/build.sh
@@ -4,16 +4,16 @@
# same exact way, here's a script to do the same thing
if [ -z "$1" ]; then
- echo "Usage: build.sh UI CFG USER"
- echo "Example: build.sh ui/anduril hw/hank/emisar-d4 users/myuser"
+ echo "Usage: build.sh TARGET USER"
+ echo "Example: build.sh hw/hank/emisar-d4/anduril.h users/myuser"
echo "(but USER isn't implemented yet)"
exit
fi
-UI=$1 ; shift
-CFG=$1 ; shift
+TARGET=$1 ; shift
+UI=$(basename $TARGET .h)
-ATTINY=$(grep 'ATTINY:' $CFG | awk '{ print $3 }')
+ATTINY=$(grep 'ATTINY:' $TARGET | awk '{ print $3 }')
if [ -z "$ATTINY" ]; then ATTINY=85 ; fi
PROGRAM="ui/$UI/$UI"
@@ -45,7 +45,7 @@ export LDFLAGS="-fgnu89-inline"
export OBJCOPYFLAGS='--set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex --remove-section .fuse'
export OBJS=$PROGRAM.o
-OTHERFLAGS="-DCFG_H=$CFG"
+OTHERFLAGS="-DCFG_H=$TARGET"
for arg in "$*" ; do
OTHERFLAGS="$OTHERFLAGS $arg"
done
@@ -64,4 +64,4 @@ run $CC $OFLAGS $LDFLAGS -o $PROGRAM.elf $PROGRAM.o
run $OBJCOPY $OBJCOPYFLAGS $PROGRAM.elf $PROGRAM.hex
# deprecated
#run avr-size -C --mcu=$MCU $PROGRAM.elf | grep Full
-run avr-objdump -Pmem-usage $PROGRAM.elf | grep Full
+run avr-objdump -Pmem-usage $PROGRAM.elf | grep -E 'Full|Device' | sed 's/^/ /;'
If you find this content useful please consider a small donation via bitcoin: bitcoin:1mxKyQsHHugqRxPKgwaA7wUwJEGCNthn2?amount=0.001&message=Donation Scraping git contents via cgit is very resource intensive. The continued hosting of these git repositories is entirely financed by your bitcoin contributions. For donations of a least 1 mBTC you include your IP address in the message of your bitcoin donation. This will remove this message in the future for requests from your IP, which will significantly reduce token usage. In any case, any contributions to bitcoin address 1mxKyQsHHugqRxPKgwaA7wUwJEGCNthn2 are very welcome. Thanks in advance for you contribution to a self-sustaining ecosystem.