|
@@ -1,16 +1,40 @@
|
|
|
#!/bin/bash
|
|
|
# adjust for cpu
|
|
|
# -j 16 gave best result on a hyperthreaded quad core core i7
|
|
|
+
|
|
|
+LIMIT=10
|
|
|
THREADS="-j 16"
|
|
|
KMAP=iso_split_rshift
|
|
|
+
|
|
|
echo "We need sudo later"
|
|
|
sudo ls 2>&1 /dev/null
|
|
|
+
|
|
|
+function wait_bootloader {
|
|
|
+ echo "Waiting for Bootloader..."
|
|
|
+ local STARTTIME=$(date +"%s")
|
|
|
+ local REMIND=0
|
|
|
+ local EXEC=dfu-programmer
|
|
|
+ local TARGET=atmega32u4
|
|
|
+ while true
|
|
|
+ do
|
|
|
+ sudo $EXEC $TARGET get > /dev/null 2>&1
|
|
|
+ [ $? -eq 0 ] && break
|
|
|
+ ENDTIME=$(date +"%s")
|
|
|
+ DURATION=$(($ENDTIME-$STARTTIME))
|
|
|
+ if [ $REMIND -eq 0 -a $DURATION -gt $LIMIT ]
|
|
|
+ then
|
|
|
+ echo "Did you forget to press the reset button?"
|
|
|
+ REMIND=1
|
|
|
+ fi
|
|
|
+ sleep 1
|
|
|
+ done
|
|
|
+}
|
|
|
make clean
|
|
|
make KEYMAP=${KMAP} ${THREADS}
|
|
|
if [[ $? -eq 0 ]]
|
|
|
then
|
|
|
- echo "please trigger flashing! you have 5 seconds"
|
|
|
- sleep 5
|
|
|
+ echo "please trigger flashing!"
|
|
|
+ wait_bootloader
|
|
|
sudo make KEYMAP=${KMAP} dfu ${THREADS}
|
|
|
else
|
|
|
echo "make failed"
|