43 lines
855 B
Bash
43 lines
855 B
Bash
#!/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!"
|
|
wait_bootloader
|
|
sudo make KEYMAP=${KMAP} dfu ${THREADS}
|
|
else
|
|
echo "make failed"
|
|
exit 77
|
|
fi
|