diff options
Diffstat (limited to 'util')
-rw-r--r-- | util/1-setup-path-win.bat | 66 | ||||
-rw-r--r-- | util/2-setup-environment-win.bat | 72 | ||||
-rw-r--r-- | util/ELEVATE_LICENSE.md | 25 | ||||
-rw-r--r-- | util/Win_Check.bat | 208 | ||||
-rw-r--r-- | util/activate_wsl.sh | 17 | ||||
-rw-r--r-- | util/add-paths.bat | 30 | ||||
-rw-r--r-- | util/bootloader_at90usb128x_1_0_1.hex | 282 | ||||
-rw-r--r-- | util/bootloader_atmega16u4_1_0_1.hex | 258 | ||||
-rwxr-xr-x | util/bootloader_atmega32u4_1_0_0.hex | 253 | ||||
-rw-r--r-- | util/drivers.txt | 46 | ||||
-rw-r--r-- | util/elevate.exe | bin | 0 -> 79360 bytes | |||
-rwxr-xr-x | util/install_dependencies.sh | 114 | ||||
-rwxr-xr-x | util/new_project.sh | 32 | ||||
-rw-r--r-- | util/travis_build.sh | 33 | ||||
-rw-r--r-- | util/travis_compiled_push.sh | 70 | ||||
-rw-r--r-- | util/wsl_install.sh | 159 |
16 files changed, 1665 insertions, 0 deletions
diff --git a/util/1-setup-path-win.bat b/util/1-setup-path-win.bat new file mode 100644 index 0000000000..699aee2152 --- /dev/null +++ b/util/1-setup-path-win.bat @@ -0,0 +1,66 @@ +@SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION +@ECHO OFF +SET CMDLINERUNSTR=%SystemRoot%\system32\cmd.exe + +DEL script1.log > NUL 2>&1 +DEL add-paths.log > NUL 2>&1 +DEL add-paths-detail.log > NUL 2>&1 +DEL UPDATE > NUL 2>&1 + +ELEVATE -wait add-paths.bat >> script1.log 2>&1 + +IF ERRORLEVEL 1 ( + ECHO You denied admin access. Rerun the script, and be sure to press the yes button this time. +) ELSE ( + TYPE add-paths.log 2> NUL +) +ECHO. + +:: Branch to UpdateEnv if we need to update +IF EXIST UPDATE ( + DEL UPDATE + GOTO UpdateEnv +) + +GOTO ExitBatch + +:: ----------------------------------------------------------------------------- + +:UpdateEnv +ECHO Making updated PATH go live . . . +REG delete HKCU\Environment /F /V TEMPVAR > NUL 2>&1 +setx TEMPVAR 1 > NUL +REG delete HKCU\Environment /F /V TEMPVAR > NUL 2>&1 +IF NOT !cmdcmdline! == !CMDLINERUNSTR! (CALL :KillExplorer) +GOTO ExitBatch + +:: ----------------------------------------------------------------------------- + +:ExitBatch +ENDLOCAL +PAUSE +EXIT /b + +:: ----------------------------------------------------------------------------- + +:KillExplorer +ECHO. +ECHO. +ECHO Your desktop will be restarted. +ECHO. +ECHO All file explorer windows except for the one you launched this script from WILL BE CLOSED. +ECHO. +ECHO Press enter when ready, or close this window if you would rather do a full restart of your computer at a later time. +ECHO. +PAUSE +ping -n 5 127.0.0.1 > NUL 2>&1 +ECHO Killing process Explorer.exe. . . +ECHO. +taskkill /f /im explorer.exe > NUL +ECHO. +ECHO Your desktop is now loading. . . +ECHO. +ping -n 5 127.0.0.1 > NUL 2>&1 +START explorer.exe +START explorer.exe %CD% +EXIT /b
\ No newline at end of file diff --git a/util/2-setup-environment-win.bat b/util/2-setup-environment-win.bat new file mode 100644 index 0000000000..3e54cc776c --- /dev/null +++ b/util/2-setup-environment-win.bat @@ -0,0 +1,72 @@ +@SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION +@ECHO OFF + +CD %~dp0 + +SET STARTINGDIR=%CD% +echo %STARTINGDIR% + +:: Check for admin privilages +SETX /M test test > nul 2>&1 +IF NOT ["%ERRORLEVEL%"]==["0"] ( + ELEVATE -wait 2-setup-environment-win.bat & goto :EOF +) + +DEL %STARTINGDIR%\environment-setup.log + +:: Make sure path to MinGW exists - if so, CD to it +SET MINGWPATH="C:\MinGW\bin" +IF NOT EXIST !MINGWPATH! (ECHO Path not found: %MINGWPATH%. Did you install MinGW to the default location? && GOTO ExitBatch) +CD /D %MINGWPATH% + +ECHO. +ECHO ------------------------------------------ +ECHO Installing wget and unzip +ECHO ------------------------------------------ +ECHO. +mingw-get install msys-wget-bin msys-unzip-bin + +MKDIR temp +CD temp + +ECHO. +ECHO ------------------------------------------ +ECHO Installing dfu-programmer. +ECHO ------------------------------------------ +ECHO. +wget 'http://downloads.sourceforge.net/project/dfu-programmer/dfu-programmer/0.7.2/dfu-programmer-win-0.7.2.zip' >> %STARTINGDIR%\environment-setup.log +unzip -o dfu-programmer-win-0.7.2.zip >> %STARTINGDIR%\environment-setup.log +COPY dfu-programmer.exe .. >> %STARTINGDIR%\environment-setup.log + +ECHO ------------------------------------------ +ECHO Downloading driver +ECHO ------------------------------------------ +wget http://downloads.sourceforge.net/project/libusb-win32/libusb-win32-releases/1.2.6.0/libusb-win32-bin-1.2.6.0.zip >> %STARTINGDIR%\environment-setup.log +unzip -o libusb-win32-bin-1.2.6.0.zip >> %STARTINGDIR%\environment-setup.log +COPY libusb-win32-bin-1.2.6.0\bin\x86\libusb0_x86.dll ../libusb0.dll >> %STARTINGDIR%\environment-setup.log + +ECHO. +ECHO ------------------------------------------ +ECHO Installing driver. Accept prompt. +ECHO ------------------------------------------ +ECHO. +IF EXIST "%WinDir%\System32\PnPUtil.exe" (%WinDir%\System32\PnPUtil.exe -i -a dfu-prog-usb-1.2.2\atmel_usb_dfu.inf && GOTO PNPUTILFOUND) +IF EXIST "%WinDir%\Sysnative\PnPUtil.exe" (%WinDir%\Sysnative\PnPUtil.exe -i -a dfu-prog-usb-1.2.2\atmel_usb_dfu.inf && GOTO PNPUTILFOUND) + +ECHO FAILED. Could not find PnPUtil.exe in "%WinDir%\System32" or "%WinDir%\Sysnative". + +:PNPUTILFOUND + +:: Wait then delete directory +ping -n 5 127.0.0.1 > NUL 2>&1 +CD .. +RD /s /q temp + +ECHO ------------------------------------------ +ECHO Finished! + +:ExitBatch +CD /D %STARTINGDIR% +ENDLOCAL +PAUSE +EXIT /b
\ No newline at end of file diff --git a/util/ELEVATE_LICENSE.md b/util/ELEVATE_LICENSE.md new file mode 100644 index 0000000000..1cf4fda917 --- /dev/null +++ b/util/ELEVATE_LICENSE.md @@ -0,0 +1,25 @@ +Elevate was downloaded from [here](https://jpassing.com/2007/12/08/launch-elevated-processes-from-the-command-line/). + +### LICENSE + +The MIT License (MIT) + +Copyright (c) <year> <copyright holders> + +Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE.
\ No newline at end of file diff --git a/util/Win_Check.bat b/util/Win_Check.bat new file mode 100644 index 0000000000..3fdb656f9c --- /dev/null +++ b/util/Win_Check.bat @@ -0,0 +1,208 @@ +@setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION +@echo OFF +set BAT_VERSION=v1.0 +set REPORT_NAME=Win_Check_Output.txt + +:: ----------------------------------------------------------------------------- + +cls + +echo QMK Windows Check Output %BAT_VERSION% +echo QMK Windows Check Output %BAT_VERSION%.>%REPORT_NAME% + +:: ----------------------------------------------------------------------------- + +set MINGW_BASE_DIR=C:\MinGW + +set KEYMAP=atomic-pvc +set KEYMAP_CLEAN=atomic-pvc-clean + +:: ----------------------------------------------------------------------------- + +if /I "%1" EQU VERBOSE (goto :Verbose_Make) else (goto :Normal_Make) + +:Normal_Make +set MAKE_CMD_LEVEL_0=make -r -f Makefile COLOR=FALSE +set MAKE_CMD_LEVEL_1=make -r -f ../Makefile COLOR=FALSE +set MAKE_CMD_LEVEL_2=make -r -f ../../Makefile COLOR=FALSE +goto :Start_Report + +:Verbose_Make +echo Verbose Mode +set MAKE_CMD_LEVEL_0=make -r -d -f Makefile COLOR=FALSE VERBOSE=TRUE +set MAKE_CMD_LEVEL_1=make -r -d -f ../Makefile COLOR=FALSE VERBOSE=TRUE +set MAKE_CMD_LEVEL_2=make -r -d -f ../../Makefile COLOR=FALSE VERBOSE=TRUE +goto :Start_Report + +:Start_Report + + +:: ----------------------------------------------------------------------------- + +set HEADER=CURRENT DIRECTORY & call :ReportHeader + +echo %CD%>>%REPORT_NAME% 2>&1 + +echo.>>%REPORT_NAME% 2>&1 + +:: ----------------------------------------------------------------------------- + +set HEADER=CURRENT PATHS & call :ReportHeader + +for %%A in ("%path:;=";"%") do (echo %%~A>>%REPORT_NAME% 2>&1) + +echo.>>%REPORT_NAME% 2>&1 + +:: ----------------------------------------------------------------------------- + +rem set HEADER=CURRENT ENVIRONMENTAL SETTINGS & call :ReportHeader + +rem set>>%REPORT_NAME% 2>&1 +rem echo.>>%REPORT_NAME% 2>&1 + +:: ----------------------------------------------------------------------------- + +set HEADER=KEY EXECUTABLE LOCATIONS - GENERAL & call :ReportHeader + +set FILENAME=make.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU Make" & call :ReportVersion +set FILENAME=git.exe & set VERSION_CMD=--version & set VERSION_FIND="git" & call :ReportVersion +set FILENAME=cmp.exe & set VERSION_CMD=--version & set VERSION_FIND="cmp" & call :ReportVersion + +:: ----------------------------------------------------------------------------- + +set HEADER=EXECUTABLE LOCATIONS - AVR MCU COMPILERS & call :ReportHeader + +set FILENAME=avr-gcc.exe & set VERSION_CMD=--version & set VERSION_FIND="avr" & call :ReportVersion +set FILENAME=avr-objcopy.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objcopy" & call :ReportVersion +set FILENAME=avr-objdump.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objdump" & call :ReportVersion +set FILENAME=avr-size.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU size" & call :ReportVersion +set FILENAME=avr-ar.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU ar" & call :ReportVersion +set FILENAME=avr-nm.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU nm" & call :ReportVersion + +:: ----------------------------------------------------------------------------- + +set HEADER=EXECUTABLE LOCATIONS - ARM MCU COMPILERS & call :ReportHeader + +set FILENAME=arm-none-eabi-gcc.exe & set VERSION_CMD=--version & set VERSION_FIND="arm-none-eabi-gcc" & call :ReportVersion +set FILENAME=arm-none-eabi-objcopy.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objcopy" & call :ReportVersion +set FILENAME=arm-none-eabi-objdump.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objdump" & call :ReportVersion +set FILENAME=arm-none-eabi-size.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU size" & call :ReportVersion +set FILENAME=arm-none-eabi-ar.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU ar" & call :ReportVersion +set FILENAME=arm-none-eabi-nm.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU nm" & call :ReportVersion + +:: ----------------------------------------------------------------------------- + +set HEADER=EXECUTABLE LOCATIONS - NATIVE COMPILERS & call :ReportHeader + +set FILENAME=gcc.exe & set VERSION_CMD=--version & set VERSION_FIND="gcc" & call :ReportVersion +set FILENAME=objcopy.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objcopy" & call :ReportVersion +set FILENAME=objdump.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objdump" & call :ReportVersion +set FILENAME=size.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU size" & call :ReportVersion +set FILENAME=ar.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU ar" & call :ReportVersion +set FILENAME=nm.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU nm" & call :ReportVersion + +:: ----------------------------------------------------------------------------- + +set HEADER=EXECUTABLE LOCATIONS - PROGRAMMERS & call :ReportHeader + +set FILENAME=dfu-programmer.exe & set VERSION_CMD=--version & set VERSION_FIND="dfu" & call :ReportVersion +set FILENAME=batchisp.exe & set VERSION_CMD=-version & set VERSION_FIND="batchisp" & call :ReportVersion +set FILENAME=dfu-util.exe & call :Report +set FILENAME=teensy_loader_cli.exe & call :Report +set FILENAME=hid_bootloader_cli.exe & call :Report +set FILENAME=avrdude.exe & call :Report + +:: ----------------------------------------------------------------------------- + +set HEADER=EXECUTABLE LOCATIONS - OPTIONAL & call :ReportHeader +set FILENAME=cppcheck.exe & call :Report +set FILENAME=doxygen.exe & call :Report +set FILENAME=gdb-config.exe & call :Report +set FILENAME=wget.exe & call :Report +set FILENAME=unzip.exe & call :Report + +:: ----------------------------------------------------------------------------- + +set HEADER=MINGW CHECK - OPTIONAL & call :ReportHeader +if exist %MINGW_BASE_DIR% (echo Expected MinGW Base Dir = %MINGW_BASE_DIR%>>%REPORT_NAME% 2>&1) else (echo Expected MinGW Base Dir = %MINGW_BASE_DIR% - Not Found>>%REPORT_NAME% 2>&1) +echo.>>%REPORT_NAME% 2>&1 +set FILENAME=mingw32-make.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU Make" & call :ReportVersion +if exist %MINGW_BASE_DIR%\bin\make.exe (ECHO It is not recommended to have make.exe in mingw/bin.>>%REPORT_NAME% 2>&1 & echo.>>%REPORT_NAME% 2>&1) + +:: ----------------------------------------------------------------------------- + +set HEADER=MAKE CHECK & call :ReportHeader +if exist Makefile (set MAKE_CMD=%MAKE_CMD_LEVEL_0% & goto MakeFound) +if exist ..\Makefile (set MAKE_CMD=%MAKE_CMD_LEVEL_1% & goto MakeFound) +if exist ..\..\Makefile (set MAKE_CMD=%MAKE_CMD_LEVEL_2% & goto MakeFound) + +echo No Makfile Found.>>%REPORT_NAME% 2>&1 +echo.>>%REPORT_NAME% 2>&1 +echo ------------------------------------------------------------------------->>%REPORT_NAME% 2>&1 + +goto :ContinueAfterMake + +:MakeFound +call :RunMake + +:ContinueAfterMake +goto :ExitBatch + +:ExitBatch + echo Done! + echo. + rem type %REPORT_NAME% + echo. + echo See %REPORT_NAME% for the report. + endlocal +exit /b + +:: ----------------------------------------------------------------------------- + +:RunMake + + echo Makfile Found.>>%REPORT_NAME% 2>&1 + echo.>>%REPORT_NAME% 2>&1 + set HEADER=MAKE CLEAN & call :ReportHeader + echo Make Command = %MAKE_CMD% %KEYMAP_CLEAN%>>%REPORT_NAME% 2>&1 + echo.>>%REPORT_NAME% 2>&1 + %MAKE_CMD% %KEYMAP_CLEAN%>>%REPORT_NAME% 2>&1 + set HEADER=MAKE & call :ReportHeader + echo Make Command = %MAKE_CMD% %KEYMAP%>>%REPORT_NAME% 2>&1 + echo.>>%REPORT_NAME% 2>&1 + %MAKE_CMD% %KEYMAP%>>%REPORT_NAME% 2>&1 + echo ------------------------------------------------------------------------->>%REPORT_NAME% 2>&1 + echo.>>%REPORT_NAME% 2>&1 +exit /b + +:ReportHeader + echo ------------------------------------------------------------------------->>%REPORT_NAME% 2>&1 + echo.>>%REPORT_NAME% 2>&1 + echo %HEADER%>>%REPORT_NAME% 2>&1 + echo.>>%REPORT_NAME% 2>&1 +exit /b + +:Report + echo Filename = %FILENAME% >>%REPORT_NAME% 2>&1 + <nul set /p output="Location = " >>%REPORT_NAME% 2>&1 + where %FILENAME% >>%REPORT_NAME% 2> NUL + if ERRORLEVEL 1 (echo Not Found >>%REPORT_NAME% 2>&1 & goto :EndReport) + + :EndReport + echo.>>%REPORT_NAME% 2>&1 + <nul set /p output="." +exit /b + +:ReportVersion + echo Filename = %FILENAME% >>%REPORT_NAME% 2>&1 + <nul set /p output="Location = " >>%REPORT_NAME% 2>&1 + where %FILENAME% >>%REPORT_NAME% 2> NUL + if ERRORLEVEL 1 (echo Not Found >>%REPORT_NAME% 2>&1 & goto :EndReportVersion) + <nul set /p output ="Version = " >>%REPORT_NAME% 2>&1 + + (%FILENAME% %VERSION_CMD% | find %VERSION_FIND%) >>%REPORT_NAME% 2>&1 + + :EndReportVersion + echo.>>%REPORT_NAME% 2>&1 + <nul set /p output="." +exit /b
\ No newline at end of file diff --git a/util/activate_wsl.sh b/util/activate_wsl.sh new file mode 100644 index 0000000000..e2312b56d4 --- /dev/null +++ b/util/activate_wsl.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +function export_variables { + local util_dir=~/qmk_utils + local download_dir=$util_dir/wsl_downloaded + + export DFU_PROGRAMMER=$download_dir/dfu-programmer/dfu-programmer.exe + export DFU_UTIL=$download_dir/dfu-util-0.9-win64/dfu-util.exe + export TEENSY_LOADER_CLI=$download_dir/teensy_loader_cli.exe + export BATCHISP=batchisp.exe +} + +export_variables + + + + diff --git a/util/add-paths.bat b/util/add-paths.bat new file mode 100644 index 0000000000..ab3d91da17 --- /dev/null +++ b/util/add-paths.bat @@ -0,0 +1,30 @@ +@SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION +@ECHO off + +SET NEWPATH1="C:\MinGW\msys\1.0\bin" +SET NEWPATH2="C:\MinGW\bin" + +CD %~dp0 + +ECHO. > add-paths.log + +CALL :AddPath %NEWPATH1% +CALL :AddPath %NEWPATH2% + +EXIT /b + +:AddPath <pathToAdd> +ECHO %PATH% | FINDSTR /C:"%~1" > nul +IF ERRORLEVEL 1 ( + REG add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /f /v PATH /t REG_SZ /d "%PATH%;%~1" >> add-paths-detail.log + IF ERRORLEVEL 0 ( + ECHO Adding %1 . . . Success! >> add-paths.log + SET "PATH=%PATH%;%~1" + COPY NUL UPDATE + ) ELSE ( + ECHO Adding %1 . . . FAILED. Run this script with administrator privileges. >> add-paths.log + ) +) ELSE ( + ECHO Skipping %1 - Already in PATH >> add-paths.log + ) +EXIT /b
\ No newline at end of file diff --git a/util/bootloader_at90usb128x_1_0_1.hex b/util/bootloader_at90usb128x_1_0_1.hex new file mode 100644 index 0000000000..90491a82a6 --- /dev/null +++ b/util/bootloader_at90usb128x_1_0_1.hex @@ -0,0 +1,282 @@ +:020000021000EC +:04E000000C94B3F6D3 +:04E028000C94BBF5A4 +:10E08C0000007CF608006BF66EF670F672F674F60D +:0DE09C0076F678F67AF6A701000100000084 +:10E0AA0012BD01BDF89A00B5089501E00895F999E5 +:10E0BA00FECF12BD01BD20BDFA9AF99AF6CFF999A1 +:10E0CA00FECF0C9455F0F8012BBF069108952297C4 +:10E0DA00F8012BBF46914983319606910883142F84 +:10E0EA0022960895A89507EF04BFE0E6F0E00081C4 +:10E0FA0008610083F08301810093000100E8018335 +:10E10A00F1830C9488F00E9452F50E9488F5FDCFA5 +:10E11A000E944FF723977CD171D1088301E0402EEA +:10E12A0001E0502E6BD1F2016CD100E0F2010587BB +:10E13A0000851185012B49F460D1FBD003850023AA +:10E14A0009F4EAC000E00387E7C00091E80002FF93 +:10E15A00FCCF54D10287A1E1B1E050D10C934ED14A +:10E16A00FD0101834BD1028349D1038347D1048343 +:10E17A00F20102850A9561F0025049F10A9509F403 +:10E18A005DC00A9509F4A1C00A9509F4BBC0C2C0D2 +:10E19A000C91013011F401E001C000E00787FD0194 +:10E1AA000181C7D00583FD010281C3D00483FD012B +:10E1BA000381BFD00783FD010481BBD027D2B9D028 +:10E1CA0006850C3F11F433D1A6C0A3D1A4C0FD012A +:10E1DA000181F2010583FD010281F2010483FD013F +:10E1EA000381F2010783FD010481F2010FD20C9130 +:10E1FA00002329F00A9539F00A95F1F08CC000E065 +:10E20A0098D0078788C0F20186819781A0E0B0E0A4 +:10E21A0064D1A040B0408F5F9F4FAF4FBF4F04C043 +:10E22A00F20162D109F477C05CD14CD10F3FC1F33E +:10E23A0005E07FD005876FC001E0E2CF0C91002393 +:10E24A0029F00250C9F30A9541F065C0E0D10E9455 +:10E25A0090F80FEF6ED006875EC0FD0101810023A2 +:10E26A0019F00A9589F057C05FD00DEF04BF6BD043 +:10E27A0049D103FFFDCF60D009B50D7F09BD50D04C +:10E28A0008E000936000FFCF4FD05DD03BD103FF81 +:10E29A00FDCF52D045D009B50D7F09BD0FEF1FE064 +:10E2AA0004C009811A810150104009831A83098127 +:10E2BA001A81012BB1F700E8009361000091000177 +:10E2CA00009361000C940000FFCFFD0111810C91B5 +:10E2DA00002319F00A9541F01EC01350E0F497D1BB +:10E2EA0002E027D0048717C0105339F01A9541F07D +:10E2FA001F52A9F31A9599F30EC002E00883EFCFD3 +:10E30A0001E0FCCFFD01228130E013D0308331835C +:10E31A00228333837CD171D02396E6E00C9460F794 +:10E32A00E8ED00810F7681C001E005BF00E005BF7E +:10E33A000895E1E0F1E0089576D05FD0F894E0EE38 +:10E34A00E2D0016072C063D158C0BA93AA9356D082 +:10E35A000A935ED0A1E0B1E051D0FD0152D0E1E1D3 +:10E36A00F1E01A960C911A97035019F00250C9F06D +:10E37A000CC00081002321F00A9569F00A9529F45E +:10E38A00FD0106850C3F29F452D02196A991B99135 +:10E39A0008955ED0FACFFD0105810093F100048152 +:10E3AA0011C011810081002319F00A9581F0EDCF87 +:10E3BA00112329F01A9529F01A9519F005C001E0E0 +:10E3CA0001C000E00093F10018D03ED0DECF105318 +:10E3DA0039F01A9539F01F5261F01A9561F0F4CFAD +:10E3EA0008E5F0CF00E010E020E030E00E94D6F728 +:10E3FA00E9CF02E0F8CF04E0F6CF21C00091F100A6 +:10E40A00089500870091F1000187E8EEF0E00BC063 +:10E41A0001D000D00091F10008830895EBEE73D08B +:10E42A0000620083E8EE0081077F00830895F6DF2B +:10E43A00E1E0F1E002E0048703E00587089566D091 +:10E44A00008100FFFDCF08955DD002FFFDCFE1C03E +:10E45A000E944DF701E0602E01E0702EF3018681E3 +:10E46A0097813BD00196A0E0B0E007C02BD0009383 +:10E47A00F100F30139D051F449D03FD099F042D09C +:10E48A0002FD10C0008100FFFDCF4424042D4394F7 +:10E49A00003291F3F3010785002323D039F30E9458 +:10E4AA0064F0E5CF2FD000FFFDCF00810E7F0083FF +:10E4BA00008100FFFDCF008102FFFDCFAAD0E8E076 +:10E4CA000C945EF720E04081518162817381400F94 +:10E4DA00511F261F8A010C9468F003D0801B910BF0 +:10E4EA000895048115810895FCDF0F5F1F4F04838F +:10E4FA00158381509040A040B040082F092B0A2B69 +:10E50A000B2B0895E8EEF0E000810895FBDF0E7F03 +:10E51A008CCF0E9449F7A1E0B1E0FD01448055800B +:10E52A0066247724A480B5800FE1A0220085118596 +:10E53A00005210400087118715C0FD01078500238E +:10E54A0089F49C01090120E04D915D916D917C91C6 +:10E55A001397480D591D621F721F900105E911E0BA +:10E56A000E9402F849D0C8F180E090E0420113C04D +:10E57A0045DFFC01EB56FE4F0083019601E0400E99 +:10E58A0000E0501E601E701E0091F200002311F080 +:10E59A0033D0C0F43CD030D080F2FC01B096E230E7 +:10E5AA00F14058F60091E80002FFFCCF0091F2001A +:10E5BA00FD0120853185201B304020873187E4CF3B +:10E5CA001DDFAA94AA20E1F70785013089F6209178 +:10E5DA00F10082010E945CF0D1CF00851185012BE8 +:10E5EA0021F090DF02FFFDCF14D090DF008100FF01 +:10E5FA00FDCFECE00C945AF7FD010681178120E06B +:10E60A0030E0041515052605370508950683E8EE5A +:10E61A00F0E000810B7F008300810F7706CFEBEEDD +:10E62A00F0E0208121602083018302810270012BA6 +:10E63A000283EDEE008102600083EEEE0081000F9E +:10E64A0000E0001F089500E00895E8EDF0E0008181 +:10E65A000F7B0083E9ED008101FF0AC0F08BEBEE2E +:10E66A00008100FD05C0F093E90010E302E0D7CF76 +:10E67A00EACF0F770132B9F5112379F11A9559F0DA +:10E68A001A9561F01A9569F01A9509F11A95D1F05F +:10E69A001A95E9F026C00E948DF022C00E94AAF1C4 +:10E6AA001FC026D000910E01018701E00187F18782 +:10E6BA00F18700910D010187F1870E9424F20E94DF +:10E6CA0029F20EC015D000910D01018707C002E0A2 +:10E6DA0000930D0100E000930E010AD00E9424F27B +:10E6EA0003C00E9413F202C001E0089500E00895F9 +:10E6FA00E8EEF0E00081077F008308950895035053 +:10E70A0021F5112339F01A9559F01A9599F01A95AD +:10E71A00B9F01BC004E01BD00AEA11EF21E004C0E3 +:10E72A0015D004E711EF21E0E9E9F2E00083118353 +:10E73A002283DACF0EE10BD000E811EF21E0F4CF0B +:10E74A0005D00EE911EF21E0EFCFD0CF0CE0009316 +:10E75A009D020895EEE9F2E031D101831091F100B2 +:10E76A00012F112359F10A9509F1025019F10250AA +:10E77A00A9F00A9549F0025069F00A9599F00A95AC +:10E78A0019F10A9529F12CC00181003809F461C0F8 +:10E79A000C943EF301810038D9F7CDC001810023E2 +:10E7AA00B9F725C00181002399F734C001810330EC +:10E7BA0078F73CC10181033058F703C10181003861 +:10E7CA0038F3033828F7CDC00181013809F73CC076 +:10E7DA000181013059F41BD0008100FD07C0FCCF34 +:10E7EA0001810E943EF3002309F42ED0089510916E +:10E7FA00E3001078E3D00F77012B0093E30007D0F2 +:10E80A00008100FFFDCFE3EE0081006820C0A0D0A8 +:10E81A0000811CC0BA93AA93D1D0023088F4E8EEE2 +:10E82A00F0E01081177F1083EEE9F2E00283A8EE90 +:10E83A00B0E00C910E7F0C9302810E9483F301C019 +:10E84A0003D0A991B9910895E8D001C00E7F008341 +:10E85A000895BA93AA932297A9E9B2E000E0FD01CC +:10E86A0003831091F100AAD0202F2A9519F02A9536 +:10E87A00E1F021C002E1048300E511EF21E00D93EC +:10E88A001D932C93129798D0088398D0098360D04F +:10E89A00FD01048110E0288139810217130798F4D9 +:10E8AA000F7179F401E0038327C002E1048302E6D1 +:10E8BA0011EF21E0E4CF0E9484F3002321F7ADD0C9 +:10E8CA0033C0138319C0248317C0008100FFFDCF12 +:10E8DA0010E0012F1395003271F0ED91FD913C91FA +:10E8EA003BBF0791FE93EE930093F100FD01048173 +:10E8FA000A95048371F75ED0FD010481002319F0A3 +:10E90A0016D002FFE2CF13D00E7F82D002FD08C0DC +:10E91A00FD010381013009F44DD009D002FFFDCF7A +:10E92A0000810B7F75D00F77008322968ACFE8EE9D +:10E93A00F0E0008108950CD00091A00201870081C7 +:10E94A000E7F0BD0008102FFFDCF00810B7F05C037 +:10E95A00E8EEF0E00081077F7ACF008300810F772D +:10E96A0076CF9D0129D056D01181105829F01A95D9 +:10E97A0019F01A9589F01CC0EBDFF18700E00093CB +:10E98A00F10018D0008102FFFDCF00810B7F40D03B +:10E99A000F770083D9010895A8EEB0E01C91177F84 +:10E9AA001C930F77E00FFB1F00810093F100E6CF65 +:10E9BA0034D0EFCFBCDF4ACF01D000D00091F100B4 +:10E9CA0008953B2F4A2F26D001810130D1F0023021 +:10E9DA00D1F45ED0B1F4F2DF0F7799F00093E90039 +:10E9EA00ABEEB0E01C9110FF0CC01C9110621C939E +:10E9FA00B093E90021E0E00FFB1F208307D00E7FD0 +:10EA0A0001C00BD00083A42FB32F089590DF077F96 +:10EA1A0000838FCFEEE9F2E00895EBEEF0E000819B +:10EA2A0000620083E8EE0081077F08953B2F6A2F7A +:10EA3A00F1DF0181002341F1013031F1023031F57A +:10EA4A0027D011F52091F1002F772093E900ABEE42 +:10EA5A00B0E00C9100FF18C079F00C9100610C93A2 +:10EA6A0001E010E0422F0E94C5F60093EA00B0933D +:10EA7A00EA000C9108600C93B093E900E20FFB1FC7 +:10EA8A00B083C4DF0E7F01C0C8DF0083A62FBCCFCE +:10EA9A0095DF1091F100002308951B2F2A2FE1EA38 +:10EAAA00F2E000E0048301E005BF02E005BF7894CC +:10EABA00A7EDB0E011D000680C93A8ED0C910069A5 +:10EACA000C930AD001600C93B083B1830CEF0093CE +:10EADA000F01A22FB12F08950C910F7B0C930C916B +:10EAEA000895E7ED0CD0E0EECDD0D5D0E2EE07D018 +:10EAFA0000810860C2D0C4D0F093A3020895F0E068 +:10EB0A0000810160C1C0BA93AA93E1EAF2E0A9EDDB +:10EB1A00B0E00C9100FF10C00281002369F401E00B +:10EB2A00028301E60383A2EE0C9108600C93A0EE27 +:10EB3A000C910E7F0C9303C00481013009F4B48355 +:10EB4A000581013041F401E00093EA00B093EA0044 +:10EB5A00B093A002B583B093E9000091E80003FFE7 +:10EB6A0002C00E94AFF3A991B9910895BA93AA93EA +:10EB7A009A938A93FA93EA933A922A921A920A9267 +:10EB8A007A936A935A934A933A932A931A930A93D3 +:10EB9A008FB79BB7A1EAB2E0EAEDD6D000FF17C063 +:10EBAA000EEF0083E9ED008100FF0CC001E0FD01DA +:10EBBA00028301E66CD0E2EEC7D00860008391DFE1 +:10EBCA005FD005C000E0FD01028302E660D0EAEDF5 +:10EBDA00BBD001FF0AC00DEF0083E9ED008101FF00 +:10EBEA0002C003E601C004E651D0ADD002FF02C064 +:10EBFA000BEF0083008100FF0CC00EEF0083E2EEF2 +:10EC0A000081006100830FEE0093E10098D005E6D1 +:10EC1A003DD099D004FF06C09AD00FEE018729D0C3 +:10EC2A0006E634D090D005FF07C023D00FED00933D +:10EC3A00E1008ED007E62AD086D003FF05C007EF91 +:10EC4A001CD008E623D005839BBF8FBF0991199179 +:10EC5A00299139914991599169917991099019901C +:10EC6A0029903990E991F99189919991A991B9914C +:10EC7A001895E2EE00810F7E07C000830C942AF3F8 +:10EC8A00E0EEF0E000810E7F00830895FD0103832A +:10EC9A0001E0048308958A9380E002C001E007BB83 +:10ECAA0052D002FD42C04BD009B50D7F09BDF09389 +:10ECBA00B100F093B000F093B20001E007BB082F57 +:10ECCA00ECE8F1E0FBBFF0EE0C9400F706E109BDB9 +:10ECDA0011C002E1FCCF0EE0FACF0AE0F8CF06E05D +:10ECEA00F6CF02E0F4CF0AE1F2CF0EE1F0CF06E16F +:10ECFA0009BD80E08395E1EB27D00560008309B563 +:10ED0A0000FD03C007B30130D1F7F083F18307B3E5 +:10ED1A00013021F21CD001E007BBE1EB0081056064 +:10ED2A00008307B30130E9F7BBCFF093B000F0934B +:10ED3A00B100F093B2000BEF008389910895E8EDDA +:10ED4A0000810062A1CFE1EEF0E000810895E8EDD4 +:10ED5A0000810F7D99CF00008895FECF06EE0DBF8A +:10ED6A0002E00EBFC7EED4E00E946DF7002311F057 +:10ED7A000E947FF70E9477F00E94B0F60C94B0F6DA +:10ED8A004A951AF0000F111FFBCF08950024112491 +:10ED9A00EFE0001F111F001C111C0416150610F0CD +:10EDAA00041A150AEA95AAF7001F111FA001009577 +:10EDBA00109508955195419550400895FF27552380 +:10EDCA0012F4F160F7DF112312F4F09507D00E94D4 +:10EDDA00CBF6F0FD03D0F1FDEDCF08951195019525 +:10EDEA00104008957791679157914791179011FABA +:10EDFA00279037900895F9DF041B10E003C0F4DF71 +:10EE0A00041B150B20E030E005C0ECDF041B150BDA +:10EE1A00260B370BB8F010FC17C047910790E00F8C +:10EE2A00F11F0417100540E02407340758F436F49C +:10EE3A0006910024F101E01BF0090994E00FF11F8B +:10EE4A0027903790F101099411F4D6F7F1CF319652 +:10EE5A000EF0319650E060E070E047914B3F48F089 +:10EE6A0089F34F3F29F04E3F11F0779167915791FF +:10EE7A004791041B150B260B370B39F318F3E7CF11 +:10EE8A00FA92EA92DA92CA92BA92AA929A928A92D8 +:10EE9A007A926A925A924A92BA93AA939A938A93C4 +:10EEAA000895FF84EE84DD84CC84BB84AA8499848B +:10EEBA0088847F806E805D804C80BB81AA81998125 +:10EECA008881F0E00FB6F894CE0FDF1F0FBE0895C9 +:10EEDA0001E0089520E008D0E9F708953BBF2791A3 +:10EEEA003BB702D0D9F708952D9301501040202F37 +:10EEFA00212B089502EA402E00EE502E01E0602EEA +:10EF0A00F201362D6BBE07911691F201EE5FFF4FAB +:10EF1A003F4F3BBFA791B691F201362DEC5FFF4FF1 +:10EF2A003F4F3BBF479157916691242F252B262BA4 +:10EF3A0021F0FA01362FD2DF01C0CCDF07E0400E04 +:10EF4A0000E0501E601EA201662D493A504E6140F3 +:10EF5A00B8F208952F930DD02F9101D0089541D082 +:10EF6A00F12FE02F2BBF45E047BFE8953AD014D0E8 +:10EF7A00089537D0F12FE02F2BBF43E047BFE89524 +:10EF8A0030D008952ED0F12FE02F2BBF43E047BF9A +:10EF9A00E89527D001D0089524D041E147BFE895EC +:10EFAA0020C01FD0F12FE02F2BBF41E247BFC895E9 +:10EFBA00002D17C016D0F12FE02F2BBF49E047BF15 +:10EFCA00C895002D0EC0F32FE22F012E102E41E01E +:10EFDA0047BFE89506C005D0002E29E027BFE8956F +:10EFEA0000C0022E27B720FDFCCF202D0895022E47 +:10EFFA0027B726FDFCCF202D08950E9445F72497B8 +:10F00A000A831B832A013B01590111C08E5F9F4F5E +:10F01A00AF4F01E0800E00E0901E00E8801600E08D +:10F02A00900608F464C0860197010E94B4F70A2D7D +:10F03A000B2909F467C0042D10E040E051E00E945A +:10F04A00E3F6652F660F660BC201D301841B950B8D +:10F05A00A60BB60B6C017D0100E8802E03C00A2DB9 +:10F06A000B2991F18C0184159505A605B705D0F0F9 +:10F07A00EA81FB813191EA83FB8339833FEFA30E57 +:10F08A00B31E3A2D3B2941F02191EA83FB83288361 +:10F09A000FEFA00EB01E1BC0F8013196ABBF069150 +:10F0AA00088315C0F801ABBF46914983AC01BD0185 +:10F0BA004F5F5F4F6F4F7F4F4415550566057705C4 +:10F0CA0059F7EA81FB81E0CF22D0088319839C019A +:10F0DA00088119810E94E8F78E5F9F4FAF4FBF4F9B +:10F0EA008A9409F0BCCFC601AE2D882499240FD08A +:10F0FA00312F0F3F3F4F09F489CF860197010E94B4 +:10F10A00BEF791CF01E02496E0E10C9456F78C010A +:10F11A002A2F0C946CF00E9451F780E090E0A0E056 +:10F12A00B0E08C019D010E94BEF780509F4FAF4F07 +:10F13A00BF4F8F3F0FED900701E0A007B80788F394 +:10F14A00E4E00C9462F712010020FE010020EB03B8 +:10F15A00FB2F0000010203010902120001010080D5 +:10F16A00320904000000000000000C0341005400B2 +:10F17A004D0045004C001E03410054003900300088 +:10F18A00550053004200310032003800200044008C +:10F19A00460055000C0331002E0030002E003000CE +:04F1AA00040309044D +:10FFE4000C94AFF70C94D6F70C94DFF70C94E8F765 +:0CFFF4000C94B4F70C94C7F70C94F0F7D1 +:040000031000E00009 +:00000001FF diff --git a/util/bootloader_atmega16u4_1_0_1.hex b/util/bootloader_atmega16u4_1_0_1.hex new file mode 100644 index 0000000000..8b4cd39152 --- /dev/null +++ b/util/bootloader_atmega16u4_1_0_1.hex @@ -0,0 +1,258 @@ +:020000020000FC
+:043000000C94B91E55
+:043028000C94C31D24
+:10302F0012010002FF010020EB03F32F0000010249
+:10303F0000010902120001010080320904000000A2
+:10304F00000000000C03410054004D0045004C00EF
+:10305F002603410054006D00310036005500340046
+:10306F0020004400460055002000560031002E007D
+:10307F0030002E0032000403090419010C01000076
+:06308F000C000001C03F2F
+:1030960012BD01BDF89A00B5089501E00895F999A9
+:1030A600FECF12BD01BD20BDFA9AF99AF6CFF99965
+:1030B600FECF0C944B18F80104910895F801149171
+:1030C6003196FACF0091610000930C0100E800935D
+:1030D600610001E00093610005BF02E005BF0C94AA
+:1030E6007D180091D70001600093D7000E94721EE0
+:1030F60001E008950E94BA1D0E94C11DFDCF78D03F
+:103106000F777BD078D074D0006177D0789408950B
+:103116006CD076D009B500FFFDCFF89469D00F7D4D
+:103126006CD05DD00091E000077F0093E0000E9424
+:103136008D1B0091E20001600093E2000091E20025
+:1031460008600093E200E2CF0091D90000FF0EC0B4
+:1031560000910D01002351F401E000930D013AD0D6
+:1031660002601183008347D0D3DF39D00091D900A4
+:1031760000FD13C000910D01013079F400E00093C9
+:103186000D010093220226D0046011830083009172
+:10319600E00001600093E00028D0E3E2F2E0008165
+:1031A600018100FF0DC0008111811E7F1183008304
+:1031B60001E00093EA0000E00093EA000093220297
+:1031C60000E00093E9000091E80003FF02C00E94BE
+:1031D600021C0895E3E2F2E0008111810895009156
+:1031E600E0000E7F0093E000089502D0006205C063
+:1031F6000091D8000895FCDF00680093D800089578
+:1032060000E00E949D1E24D000918100036000937F
+:1032160081000091600007FFFCCF00E8009360008A
+:1032260000E0009381000E94721E2091840030917C
+:1032360085000ED02D3D354002B7007F02BF02B794
+:103246000A6402BF10F002E101C002E009BD089560
+:1032560000E00093810000938000009385000093B6
+:10326600840001E006BB08950E94D91E239751D120
+:10327600A0E0B1E04BD10093040148D100930501D1
+:1032860055D100E000930901FD0104811581012B50
+:1032960051F436D100910701002309F4B8C000E0CB
+:1032A60000930701B4C056D102FFFDCF2FD106838C
+:1032B6002DD100930F012AD10093100127D100933D
+:1032C600110124D10093120121D10093130102852B
+:1032D600309113014091120150911101209110017A
+:1032E60016811A9541F01250A9F01A9591F11A9586
+:1032F60009F472C08AC010910F01113011F411E067
+:1033060001C010E0138798D00C3F11F412D17EC093
+:1033160079D17CC091D010910F01112329F01A9513
+:1033260049F01A95A1F072C010E013870C3F09F01E
+:103336006DC0ECCF5CD103C050D109F467C054D145
+:1033460049D10F3FC9F305E0009309015FC011E0C1
+:10335600ECCFD2D029F00250E1F10A9541F056C0E7
+:10336600FCD00E94CD1F0FEF00930A014FC022230D
+:1033760019F02A9579F04AC05AD00DEF04BF6BD0E8
+:10338600E9D003FFFDCF69D04CD045D000E00E94C4
+:10339600831EFFCF4CD05FD0DDD003FFFDCF5DD0C5
+:1033A6003AD03FD00FEF1FE004C009811A810150C7
+:1033B600104009831A8309811A81012BB1F700E8AD
+:1033C6000093610000910C01009361000C940000D1
+:1033D600FFCF01E003871AC08FD019F00A9539F0A4
+:1033E60015C0235098F4B9D002E000870FC02053CF
+:1033F60039F02A9541F02F52B1F32A95A1F306C070
+:1034060002E00883F0CF01E0FCCFA7D079D0239665
+:10341600E4E00C94E61E0091D8000F770093D800E4
+:10342600089509B50D7F09BD00E009BD089501E0C5
+:1034360005BF00E005BF089521835083438332838F
+:103446001091E8001B7F1093E8001091E8001F77A9
+:103456001093E800089581D053C068D051D0F894F5
+:103466000091E00001600093E0000895219751D09B
+:10347600E0E0F1E04BD0048349D0058357D00681C4
+:10348600035019F00250A1F00AC036D021F00A9577
+:1034960051F00A9521F402850C3F19F44AD0219681
+:1034A600089566D0FCCF01810093F10000810CC025
+:1034B600EFE0F1E011810081002319F00A9549F04F
+:1034C600EECF135018F400E00093F10019D03ED06F
+:1034D600E6CF105339F01A9539F01F5241F01A957C
+:1034E60041F0F4CF08E5F0CF00E00BD0EDCF02E0DD
+:1034F600FCCF04E006D0E8CF00910F010023089529
+:1035060020C010E020E030E00C943B1F0091F10059
+:10351600089500D00091F10008830091F10008831E
+:1035260008950091EB0000620093EB001ED0077F28
+:1035360019C0F7DF02E00093080103E000930901D8
+:1035460008955DD007D000FFFDCF089503D002FF98
+:10355600FDCF03C00091E800089507D00B7F02D08D
+:1035660004D00F770093E80008950091E8000895CD
+:103576000E94D81EA0E0B1E0FD0139D006C02AD0D5
+:103586000093F1002AD059F43AD0082F092BA1F064
+:10359600E1DF02FD11C0DEDF00FFFDCF4424042D74
+:1035A6004394003289F300910B0100231DD039F3B7
+:1035B60011970E945A18E4CFCDDF00FFFDCF1FD030
+:1035C600C9DF00FFFDCFC6DF02FFFDCFC6DFE5E0A6
+:1035D6000C94E51E11970C945E1806D00F5F1F4FD2
+:1035E6001C930E93019708950D911C910895828165
+:1035F6009381FADF1197801B910B01960895B5DF31
+:103606000E7FB0CF0E94D31EA0E0B1E04D905C903B
+:1036160011976D907C9011970FE16022FD01048156
+:10362600158100521040048315830AC000910B01D6
+:10363600002331F4AC01940103E911E00E94651FF7
+:1036460047D0B8F180E090E0420111C05FDFFC0195
+:10365600ED56FE4F0083019601E0400E00E0501E3D
+:103666000091F200002311F033D0B8F476DF30D0A9
+:10367600E8F2FC01B096E238F040C0F66BDF02FFDC
+:10368600FDCF0091F200FD0124813581201B3040E1
+:1036960024833583E5CF3ADF6A946620E1F700910B
+:1036A6000B01013099F62091F10082010E94521817
+:1036B600D3CF04811581012B21F04CDF02FFFDCF12
+:1036C6004CDF9DDF47DF00FFFDCFEAE00C94E01EF4
+:1036D600FD01028113810415150508952091EB0063
+:1036E60021602093EB000093EC000091ED00027046
+:1036F600012B0093ED000091ED0002600093ED00B8
+:103706001091EE00012F000F00E0001F08950093B6
+:10371600E900089500E0FBDF0091EB0000FD05C025
+:1037260000E0F5DF10E202E0D9CF00E008950F7760
+:103736000132A9F5112369F11A9559F01A9561F02C
+:103746001A9569F01A95F9F01A95C1F01A95D9F0FB
+:1037560024C00E94371920C00E94391A1DC029D0E2
+:103766000091090123D001E01FD020D0009108016B
+:103776001BD00E94A41A0E94A91A0EC01AD000914A
+:10378600080114D007C002E00093080100E000938E
+:1037960009010FD00E94A41A03C00E94941A02C005
+:1037A60001E0089500E0089501D000E00093F100E3
+:1037B60008950091E800077F0093E800089503301C
+:1037C600E9F4112329F01A9549F01A9589F016C0E3
+:1037D60004E00093190205E810E305C00CE000932D
+:1037E600190203E510E3E7E1F2E000831183D8CF85
+:1037F60006E2009319020FE510E3F5CFD3CF9A93B3
+:103806008A93E8D00B7FFAD08091F1009091F10075
+:10381600092F992349F10A9509F1025011F1025035
+:10382600A9F00A9549F0025069F00A9599F00A95AF
+:10383600F1F00A9501F124C0803811F551D000232A
+:1038460071F51EC08038E1F4C8D029C08823C1F4C0
+:1038560029D025C08823A1F438D0F1CF082F2CD148
+:10386600EECF082FFBD0EBCF082FCBD0E8CF813897
+:1038760039F461D1E4CF813019F467D1002379F4AA
+:103886008C010E949A1B002351F40091EB00006208
+:103896000093EB009FD0077F4BD100931A028991CA
+:1038A60099910895CFD00091E30000781F77012BFE
+:1038B6000093E30012D0A0D0C8D000FFFDCF009146
+:1038C600E30000680093E3000895BCD0123008F0CE
+:1038D6003AC103D01093220229C17CD0077F8EC043
+:1038E6000E94D91E229780E0ADD0E3D0202F2A95E2
+:1038F60019F02A95C9F01CC068D02FE230E3208366
+:103906003183D7D0D6D0D5D00883D3D00983E5DF8D
+:103916002091190230E0488159812417350770F447
+:103926002F7171F481E00CC050D021E430E3E7CF71
+:103936000E94E21B002329F700E040C040931902D1
+:103946002091E8002F7E03C02091E8002E7F20936F
+:10395600E800209119022223F9F034D024FD1CC07E
+:1039660031D020FD03C02ED024FFFACF30E0232F24
+:103976003395203271F0A7E1B2E0ED91FC912591EB
+:10398600FC93EE932093F100FD0122812A95228378
+:1039960071F718D024FFD8CF813039F456D004FD02
+:1039A60004C053D000FFFDCF27D04FD004FFFDCF7A
+:1039B60011D00F7E23D00ED00B7FBAD02296E4E032
+:1039C6000C94E61E2091E8000895E7E1F2E022E17A
+:1039D600228308950091E80008957FDF0091220276
+:1039E60009D0F8DF0F770AD030D002FFFDCF30D0F4
+:1039F60005C000E00093F100EDDF0E7F0093E800C4
+:103A0600089520D01FD02091F100005829F00A9582
+:103A160069F00A9571F012C060DF009121020093EF
+:103A2600F100E7DF12D002FFFDCF09C056DF00E04C
+:103A3600F6CF53DF2F776ED00081F1CF84C008D048
+:103A460077C037D01091F10008950091E8000895ED
+:103A5600C1DF0B7FD3DFBEDF0F770895002319F098
+:103A6600025019F001C025D06EC0EBDF0023E1F74C
+:103A760020D00F7731F417D01091E800177F1093FC
+:103A8600E8000093E9001091EB0010FD02C047D05A
+:103A9600EBCF09D010E01093E90021E0F801E65ED3
+:103AA600FD4F208340C01091EB0010621093EB0095
+:103AB60008950091F1000895002319F0025019F0BD
+:103AC60001C0F7DF40C0BDDF0023E1F72091F10020
+:103AD6002F772093E9000091EB0000FD02C01FD074
+:103AE600F1CFA1F00091EB0000610093EB00422FB3
+:103AF60001E010E00E94CB1E0093EA0000E0009374
+:103B0600EA000091EB0008600093EB0008D002D0B9
+:103B1600008309C0F0E0E22FE65EFD4F089500E065
+:103B26000093E900089556DF077F68DF53DF0E7FB5
+:103B360065DF01E0089513D031F4CFDE5ADF85DF6B
+:103B460002FFFDCF7CCF00E0089509D009F0FBCF3E
+:103B5600C4DEE5DF51DF79DF00FFFDCFEACFA9DF65
+:103B6600A8DF1091F1001091F10000230895009153
+:103B7600D70001600093D7000C9482180C94A71804
+:103B86008A93FA93EA933A922A921A920A927A932B
+:103B96006A935A934A933A932A931A930A938FB73E
+:103BA60088D002FF05C082D002FF02C00BEF7BD097
+:103BB6000091DA0000FF02C00091D8007AD000FF21
+:103BC6001BC074D000FF18C001E000930E016AD03C
+:103BD60081D0006264D00EEF6FD0006177D06ED0D6
+:103BE6000F7D74D00091D80000620093D80009B50B
+:103BF6000D7F09BD00E009BD5CD004FF20C056D092
+:103C060004FF1DC009B500FD05C00E94031909B5D2
+:103C160000FFFDCF0091D8000F7D0093D80042D061
+:103C260000910E01002359F04CD00FEE45D00F7EC7
+:103C360050D0006434D042D0016048D042D039D050
+:103C460005FF0FC033D005FF0CC000E000930E0146
+:103C560035D00F7E3BD00FED2FD00F7D3AD00068C8
+:103C66001ED027D003FF0AC021D003FF07C007EFED
+:103C76001AD00E948D1B2ED0116011D08FBF0991D2
+:103C8600199129913991499159916991799109909F
+:103C9600199029903990E991F99189911895118394
+:103CA600008308950FEE0093E10008950091E2006D
+:103CB60008950091E10008950093E1000091E2006B
+:103CC6000895FCDF006202D0F9DF08600093E2008D
+:103CD6000895FCDFE3E2F2E00081118108950FB759
+:103CE6000078102FF89407EF04BFA89508E1009319
+:103CF600600000E000936000112309F078940895B5
+:103D06001FB71078412FF89403FB1EF420E230E031
+:103D160002C020E030E00770202B022F0860F894E4
+:103D2600A89518E11093600000936000442309F001
+:103D3600789408951FB71078412F03FB1EF420E2F4
+:103D460030E002C020E030E00770202B022F006434
+:103D5600F894A89518E1109360000093600044233E
+:103D660009F07894089500008895FECF04E60DBF0B
+:103D760002E00EBFC5EED2E00E947418002311F0D7
+:103D86000E94FD1E0E9465180E94B61E0C94B61E67
+:103D96004A951AF0000F111FFBCF0895BA92AA9206
+:103DA6009A928A927A926A925A924A92BA93AA936B
+:103DB6009A938A930895BB84AA84998488847F8081
+:103DC6006E805D804C80BB81AA8199818881F0E0FC
+:103DD600EC0FFD1FEF01089520E006D0E9F70895E6
+:103DE600259102D0E9F708952D9301501040202F18
+:103DF600212B089589E890E3FC0105911491FC01BB
+:103E06003296A591B491FC01349625913491422FB6
+:103E1600432B19F0F901E4DF01C0DEDF069610E35B
+:103E26008539910748F308952F930CD02F9101D02F
+:103E360008953CD0F12FE02F45E047BFE89536D0F6
+:103E460012D0089533D0F12FE02F43E047BFE89515
+:103E56002DD008952BD0F12FE02F43E047BFE895F2
+:103E660025D001D0089522D041E147BFE8951EC074
+:103E76001DD0F12FE02F41E247BFC895002D16C097
+:103E860015D0F12FE02F49E047BFC895002D0EC091
+:103E9600F32FE22F012E102E41E047BFE89506C012
+:103EA60005D0002E29E027BFE89500C0022E27B7CF
+:103EB60020FDFCCF202D0895022E27B726FDFCCF2E
+:103EC600202D08950E94D11E22974801C901DA01CA
+:103ED60010C05BD001E0A00E00E0B01E00E4A0160A
+:103EE60000E0B00608F440C0830120E030E00E9404
+:103EF6001C1F0A2F0B2B09F440C0082F0F7710E068
+:103F06002C01401A510A320100E4A02E03C00A2FE8
+:103F16000B2BE1F04816590680F0F40101914F0190
+:103F26000983119729F001914F010883119711C058
+:103F3600F2013196049108830CC0F20104910983C1
+:103F46003196E817F907A1F7F401EDCF1BD00883E6
+:103F560019839201088119810E944B1F16D0AA94D9
+:103F6600B1F62301AA24BB240DD0312F0F3F3F4FBA
+:103F760009F4AFCF83011DD0B7CF01E02296ECE064
+:103F86000C94DE1E82010C94611802E0400E00E0E3
+:103F9600501E08959A938A9380E090E08C0109D090
+:103FA60080589F4F8F3F0FE29007C0F389919991F8
+:103FB600089520E030E00C94251F0000000000006A
+:063FC60000000000FC00F9
+:103FE4000C94171F0C943B1F0C94431F0C944B1FF1
+:0C3FF4000C941C1F0C942D1F0C94531FE8
+:0400000300003000C9
+:00000001FF
diff --git a/util/bootloader_atmega32u4_1_0_0.hex b/util/bootloader_atmega32u4_1_0_0.hex new file mode 100755 index 0000000000..275aeacba3 --- /dev/null +++ b/util/bootloader_atmega32u4_1_0_0.hex @@ -0,0 +1,253 @@ +:020000020000FC
+:047000000C948D3E21
+:047028000C94B73DD0
+:10702F0012010002FF010020EB03F42F0000010208
+:10703F00030109021200010100803209040000005F
+:10704F00000000000C03410054004D0045004C00AF
+:10705F001603410054006D00330032005500340018
+:10706F004400460055000C0331002E0030002E0066
+:10707F0030000403090416010C0100000C0000018C
+:02708F006C7F14
+:1070920012BD01BDF89A00B5089501E00895F9996D
+:1070A200FECF12BD01BD20BDFA9AF99AF6CFF99929
+:1070B200FECF0C944938F80104910895F8013491F7
+:1070C20031962491890108950091610000930C0189
+:1070D20000E80093610001E00093610005BF02E057
+:1070E20005BF0C9486380091D70001600093D70049
+:1070F200A89507EF04BF0091600000610093600053
+:1071020000E00093600001E008950E94AA3D0E9401
+:10711200B53DFDCF0CD00F7708D0006806D00061D6
+:1071220004D0016028D0789408950093D80000918B
+:10713200D8000895FCDF00621ED04CD009B500FFD4
+:10714200FDCFF5DF0F7D17D00091E0000E7F009399
+:10715200E0000091E000077F0093E0000091E20070
+:1071620001600093E2000091E20008600093E200F7
+:1071720078940C94743B0093D800089500910D010B
+:10718200002359F40091D90000FF07C0D0DF006846
+:10719200F2DF01E000930D01CDDFE0E2F2E00081D9
+:1071A200018100FF0DC0008111811E7F11830083C8
+:1071B20001E00093EA0000E00093EA0000931E025F
+:1071C20000E00093E9000091E80003FF02C00E9482
+:1071D200F23B0895A89539D000E40093600000E0E6
+:1071E200009381000093800010E0009385000093DB
+:1071F200840001E006BB00918100036000938100DE
+:107202000091600007FFFCCF00E80093600010933C
+:107212008100A89507EF04BF18D010936000209159
+:1072220084003091850010938100109380001093A8
+:1072320085001093840001E006BB2D3D354010F01F
+:1072420002E101C002E009BD089500916000006101
+:107252000093600008950E94AD3E239741D100E063
+:1072620000930901B5D104811581012B51F437D165
+:1072720000910701002309F4B9C000E0009307015F
+:10728200B5C058D102FFFDCF37D1068335D1009367
+:107292000F0132D1009310012FD1009311012CD193
+:1072A2000093120129D10093130102852091130149
+:1072B20030911201409111015091100116811A95DD
+:1072C20041F01250A9F01A9599F11A9509F473C078
+:1072D2008BC010910F01113011F411E001C010E0C8
+:1072E200138799D00C3F11F414D17FC077D17DC0A0
+:1072F20092D010910F01112329F01A9549F01A9595
+:10730200A9F073C010E013870C3F09F06EC0ECCFF8
+:1073120056D103C04CD109F468C00D911C9144D1DF
+:107322000F3FC1F305E0009309015FC011E0EBCF0D
+:10733200D2D029F00250E1F10A9541F056C0FDD0B9
+:107342000E94A33F0FEF00930A014FC0552319F08B
+:107352005A9579F04AC04ED00DEF04BF74D0EAD0EE
+:1073620003FFFDCF67D051D04AD008E00093600000
+:10737200FFCF40D068D0DED003FFFDCF5BD03FD03F
+:1073820044D00FEF1FE004C009811A810150104060
+:1073920009831A8309811A81012BB1F700E800934E
+:1073A200610000910C01009361000C940000FFCF7A
+:1073B20001E003871AC08FD019F00A9539F015C081
+:1073C200535098F4BAD002E000870FC0505339F0FE
+:1073D2005A9541F05F52B1F35A95A1F306C002E00B
+:1073E2000883F0CF01E0FCCFA8D079D02396E4E067
+:1073F2000C94BA3E01E005BF00E005BF089500917C
+:10740200D8000F770093D800089509B50D7F09BD04
+:1074120000E009BD08955183408333832283109194
+:10742200E8001B7F1093E8001091E8001F7710938B
+:10743200E80008955DD053D0F8940091E000016017
+:107442000093E000089579D04AC0219749D0009175
+:107452000601035019F00250B9F00BC03CD021F0E4
+:107462000A9559F00A9529F400910A010C3F19F482
+:1074720050D02196089567D0FCCF0091010100936E
+:10748200F100009100010AC01091100124D019F0FE
+:107492000A9549F0EECF135018F400E00093F10082
+:1074A2001ED044D0E6CF105339F01A9539F01F524E
+:1074B20041F01A9541F0F4CF08E5F0CF00E006D094
+:1074C200EDCF02E0FCCF04E001D0E8CF10E020E0F5
+:1074D20030E00C94113F00910F010023089521C068
+:1074E2000BD008D007D00093040106D00093050109
+:1074F20021D00BC000D008830091F10008950091C3
+:10750200EB0000620093EB0015D0077F0093E800C8
+:107512000895F5DF02E00093080103E000930901FA
+:10752200089559D007D000FFFDCF089503D002FF80
+:10753200FDCF03C00091E8000895FCDF0B7FE6DF7A
+:10754200F9DF0F77E3CF0E94AC3E42D038D006C0BD
+:107552002BD00093F1002BD059F43DD0082F092BEA
+:10756200A9F0E8DF02FD12C0E5DF00FFFDCF4424F1
+:10757200042D4394003289F300910B0100230D91F5
+:107582001C9131F311970E945838E3CFD3DF00FFEB
+:10759200FDCF21D0CFDF00FFFDCFCCDF02FFFDCF3B
+:1075A200CCDFE5E00C94B93E11970C945C380D9158
+:1075B2001C910F5F1F4F1C930E93019708958281B8
+:1075C200938100811181801B910B0196DF01089547
+:1075D200E0E0F1E00895AEDF0E7F98CF0E94A93E71
+:1075E200F7DF80819181A081B181AF710481158122
+:1075F20000521040048315830AC000910B0100233E
+:1076020031F4A301920103E911E00E943B3F47D00C
+:10761200B8F1662477242C0111C06EDFF301ED5618
+:10762200FE4F008301E0600E00E0701E01960091A3
+:10763200F200002311F033D0B8F47FDF30D0E8F24B
+:10764200F301B096E238F040C0F674DF02FFFDCFDE
+:107652000091F200BDDF24813581201B304024835C
+:107662003583E5CF49DFAA95AA23E1F700910B0103
+:10767200013099F62091F1008C010E945038D6CF4A
+:1076820004811581012B21F055DF02FFFDCF55DF6B
+:10769200A2DF50DF00FFFDCFE8E00C94B63EE0E051
+:1076A200F1E0028113810817190708952091EB0078
+:1076B20021602093EB000093EC000091ED0002703A
+:1076C200012B0093ED000091ED0002600093ED00AC
+:1076D2001091EE00012F000F00E0001F0895412FCE
+:1076E2000093E900089500E009D000FD05C000E024
+:1076F200F7DF10E202E0DACF00E00895F1DF009157
+:10770200EB0008950F770132A9F5112369F11A955B
+:1077120059F01A9561F01A9569F01A95F9F01A95CF
+:10772200C1F01A95D9F024C00E942C3920C00E94C1
+:10773200263A1DC029D00091090123D001E01FD0B3
+:1077420020D0009108011BD00E94923A0E94973AE1
+:107752000EC01AD00091080114D007C002E00093B5
+:10776200080100E0009309010FD00E94923A03C081
+:107772000E94803A02C001E0089500E0089501D01D
+:1077820000E00093F10008950091E800077F009364
+:10779200E800089508950350F9F4112339F01A9579
+:1077A20051F01A9581F01A9599F016C004E016D09E
+:1077B20001E810E703C011D003E510E7E7E1F2E0CA
+:1077C20000831183D8CF06E109D00FE510E7F6CF89
+:1077D20004D005E710E7F2CFD0CF0CE000931A02F5
+:1077E200089527D120D100931D02E1D0212F11232A
+:1077F20029F12A95E9F02250F1F0225099F02A95C8
+:1078020049F0225061F02A9581F02A95E1F02A95FB
+:10781200E9F023C0003809F44FC00C94833B0038D0
+:10782200E1F7C8C00023C9F71EC00023B1F72DC07D
+:10783200033098F744C1033080F70BC1003868F376
+:10784200033858F7C9C0013841F77BC1013051F400
+:10785200FCD0BFD000FD06C0FCCF0E94833B0023BA
+:1078620009F41ED008951091E3001078DCD00F7750
+:10787200012B0093E300E9D0ACD000FFFDCF0091D3
+:10788200E30000680093E300089591D0123040F4C1
+:107892000FD010931E02DAD000911E020C94CB3B43
+:1078A2000091EB0001D004C000620093EB00089548
+:1078B2000091E800077FC0C0BA93AA93229700E024
+:1078C2000093190274D0AFD0202F2A9519F02A956F
+:1078D200E9F022C002E100931A020FE210E7E7E1A9
+:1078E200F2E0008311839DD008839DD00983E0DFFD
+:1078F20000911A0210E02881398102171307A8F4B7
+:107902000F7181F401E00093190211C002E10093AA
+:107912001A0201E410E7E3CF0E94CC3B002319F7DF
+:107922008ED040C01093190202C020931A027ED05A
+:10793200A7E1B2E001C08AD000911A02002309F146
+:1079420048D004FD1EC045D000FD03C042D004FF54
+:10795200FACF10E0012F1395003281F0ED91FC91E6
+:107962001197049133D02D913C912F5F3F4F3C935F
+:107972002E93FD0103810A95038361F72AD004FF48
+:10798200DACF00911902013039F423D004FD04C08A
+:1079920020D000FFFDCF5AD01CD004FFFDCF46D02F
+:1079A20018D00B7F49D02296A991B99108951091D0
+:1079B200F10008957DDF00911E0208D047D009D062
+:1079C2000F773AD006D002FFFDCFBFC00093F1007F
+:1079D20008950091E800089524D010911D021058D6
+:1079E20029F01A9589F01A9591F019C061DF00917A
+:1079F2001C02ECDF00E0EADF29D0EBDF02FFFDCF63
+:107A020018D0E7DF0F770CC053DF00E0F2CF51D080
+:107A12000F7710E0F801E55EFD4F0081EACF0FD04D
+:107A22000BC001D000D00091F1000895D2DF0F7E8B
+:107A320003C00091E8000B7F0093E80008950091D5
+:107A4200EB0032DFC6DF077F089532DFC2DF0E7F31
+:107A5200F3CF00911D02002329F00A9509F10A953E
+:107A620031F01EC0E0DF0A9561D0D9F41AC061D0AE
+:107A7200B9F4D9DF0F7711F416D01BD00093E900C7
+:107A82001091EB0010FF0BC00ED010E01093E90034
+:107A920021E0F801E55EFD4F20834FD003C042D0C4
+:107AA20045D0CFDFC9CF1091EB0010621093EB00ED
+:107AB20008951091E800177F1093E800089500914F
+:107AC2001D02002311F4AFDF02C0013011F4B7DF51
+:107AD200B3CF023031F52DD019F52091F1002F7777
+:107AE2002093E90023D000FF19C081F01FD000616C
+:107AF200DCDE01E010E0422F0E949F3E0093EA008C
+:107B020000E00093EA0012D00860CFDE0BD030E034
+:107B1200F901E55EFD4F008310D0DACF03D0D7CF55
+:107B2200BFDE089500E00093E90008950091EB00A4
+:107B3200089579DF3CDF00230895BADE4ADF0E7F25
+:107B4200089583DF46DF02FFFDCF73DF42DF0F7749
+:107B520073CF0091D70001600093D7000E948B3849
+:107B620000E000931F0208950C94BF388A93FA93A1
+:107B7200EA933A922A921A920A927A936A935A93BF
+:107B82004A933A932A931A930A938FB70091DA0091
+:107B920000FF24C00091D80000FF20C00EEF009328
+:107BA200DA000091D90000FF11C001E000930D013D
+:107BB200ABD0026096D09AD00860A2D00E949B38C7
+:107BC2000091E0000E7F0093E00008C000E0009307
+:107BD2000D0100931E0298D0046083D07FD002FF73
+:107BE20005C084D002FF02C00BEF75D077D000FF32
+:107BF2001BC07CD000FF18C001E000930E016AD0C8
+:107C020083D000626ED00EEF6FD0006179D06ED05B
+:107C12000F7D76D00091D80000620093D80009B59C
+:107C22000D7F09BD00E009BD59D004FF20C05ED020
+:107C320004FF1DC009B500FD05C00E94EB3809B55F
+:107C420000FFFDCF0091D8000F7D0093D80042D0F5
+:107C520000910E01002359F04CD00FEE45D00F7E5B
+:107C620052D000643ED042D001604AD042D036D0D9
+:107C720005FF0FC03BD005FF0CC000E000930E01D2
+:107C820035D00F7E3DD00FED2FD00F7D3CD0006858
+:107C920028D024D003FF0DC029D003FF0AC000E082
+:107CA20000931F0207EF17D00E94743B2DD0116082
+:107CB20018D08FBF09911991299139914991599100
+:107CC200699179910990199029903990E991F991E6
+:107CD200899118950FEE0093E10008950091E1005B
+:107CE20008951183008308950093E1000091E2005A
+:107CF20008950091E200006203D00091E200086062
+:107D02000093E2000895FCDFE0E2F2E000811181DD
+:107D1200089500008895FECF01E60DBF02E00EBF78
+:107D2200C2EED2E00E947438002311F00E94D33ECA
+:107D32000E9465380E948A3E0C948A3E4A951AF047
+:107D4200000F111FFBCF0895BA92AA929A928A92BB
+:107D52007A926A925A924A92BA93AA939A938A937D
+:107D62000895BB84AA84998488847F806E805D8014
+:107D72004C80BB81AA8199818881F0E00FB6F8948A
+:107D8200CE0FDF1F0FBE089520E006D0E9F7089559
+:107D9200259102D0E9F708952D9301501040202F2C
+:107DA200212B089585E890E7FC0105911491FC01CF
+:107DB2003296A591B491FC01349625913491422FCB
+:107DC200432B19F0F901E4DF01C0DEDF069610E76C
+:107DD2008139910748F308952F930CD02F9101D048
+:107DE20008953CD0F12FE02F45E047BFE89536D00B
+:107DF20012D0089533D0F12FE02F43E047BFE8952A
+:107E02002DD008952BD0F12FE02F43E047BFE89506
+:107E120025D001D0089522D041E147BFE8951EC088
+:107E22001DD0F12FE02F41E247BFC895002D16C0AB
+:107E320015D0F12FE02F49E047BFC895002D0EC0A5
+:107E4200F32FE22F012E102E41E047BFE89506C026
+:107E520005D0002E29E027BFE89500C0022E27B7E3
+:107E620020FDFCCF202D0895022E27B726FDFCCF42
+:107E7200202D08950E94A53E22974801C901DA01EA
+:107E820010C05BD001E0A00E00E0B01E00E4A0161E
+:107E920000E0B00608F440C0830120E030E00E9418
+:107EA200F23E0A2F0B2B09F440C0082F0F7710E087
+:107EB2002C01401A510A320100E4A02E03C00A2FFD
+:107EC2000B2BE1F04816590680F0F40101914F01A5
+:107ED2000983119729F001914F010883119711C06D
+:107EE200F2013196049108830CC0F20104910983D6
+:107EF2003196E817F907A1F7F401EDCF1BD00883FB
+:107F020019839201088119810E94213F16D0AA94F7
+:107F1200B1F62301AA24BB240DD0312F0F3F3F4FCE
+:107F220009F4AFCF83011DD0B7CF01E02296ECE078
+:107F32000C94B23E82010C945F3802E0400E00E0E5
+:107F4200501E08959A938A9380E090E08C0109D0A4
+:107F520080589F4F8F3F0FE69007C0F38991999108
+:107F6200089520E030E00C94FB3E00000000000089
+:067F720000000000FC000D
+:107FE4000C94ED3E0C94113F0C94193F0C94213FDA
+:0C7FF4000C94F23E0C94033F0C94293FC7
+:040000030000700089
+:00000001FF
diff --git a/util/drivers.txt b/util/drivers.txt new file mode 100644 index 0000000000..d21a748f0e --- /dev/null +++ b/util/drivers.txt @@ -0,0 +1,46 @@ +# The format is +# driver,desc,vid,pid,guid +# Use a comma as a separator without spaces +# Driver can be one of winusb,libusb,libusbk +# Use Windows Powershell and type [guid]::NewGuid() to generate guids +winusb,Kiibohd DFU Bootloader,1C11,B007,aa5a3f86-b81e-4416-89ad-0c1ea1ed63af +libusb,ATxmega16C4,03EB,2FD8,23266ee7-5423-4cc4-993b-034571c43a90 +libusb,ATxmega32C4,03EB,2FD9,d4b62886-2ac8-4534-aa24-eae0a2c3ce43 +libusb,ATxmega64C3,03EB,2FD6,08467ca7-9b5a-41d2-8d8a-4a26d0b5285b +libusb,ATxmega128C3,03EB,2FD7,1ca69799-6d95-46cf-be69-5b3d0eb915e6 +libusb,ATxmega256C3,03EB,2FDA,216ddc8b-6c67-4cc0-b934-482829a483a0 +libusb,ATxmega384C3,03EB,2FDB,0e4e3347-6025-4d49-ba80-2375ea690c28 +libusb,ATxmega64A1U,03EB,2FE8,2553d8fa-7de1-44a6-bdbf-57be8bb37e28 +libusb,ATxmega128A1U,03EB,2FED,6d9fd0ff-755d-4e29-bd29-df0a9a7544b9 +libusb,ATxmega64A4U,03EB,2FDD,bcf5e7c3-44a1-4fd1-971f-9ef9843f6291 +libusb,ATxmega128A4U,03EB,2FDE,3f976bb6-36ca-44cc-a728-844bc1d0d168 +libusb,ATxmega64B3,03EB,2FDF,de280c81-c12a-4ca7-bf34-566151786418 +libusb,ATxmega128B3,03EB,2FE0,2ad1ffeb-eb83-4e78-b34a-d5633771991f +libusb,ATxmega64B1,03EB,2FE1,002874a6-7fc7-413b-9ac4-2b52c5a230bd +libusb,ATxmega128B1,03EB,2FEA,60ea9d08-2ae6-4434-b743-ce6f73537136 +libusb,ATxmega256A3BU,03EB,2FE2,5949bd0a-8bd4-417b-b1c5-7d249836bf0d +libusb,ATxmega16A4U,03EB,2FE3,cc3172b0-e86a-4758-914e-951bca6ca7f5 +libusb,ATxmega32A4U,03EB,2FE4,f44c515f-7d17-4612-a532-ee620afb22b2 +libusb,ATxmega64A4U,03EB,2FE5,c1af4f1c-045f-40c9-893a-3ad4adb2e67d +libusb,ATxmega128A3U,03EB,2FE6,26f275f0-d6b2-46d8-8334-e4de66996c74 +libusb,ATxmega192A3U,03EB,2FE7,b7b50d98-0429-4235-8f08-5466e4f83ed4 +libusb,UC3,03EB,2FDC,972d9af7-d71b-44c7-a895-9340b362f545 +libusb,ATUC3,03EB,2FE9,d5855d0a-f82e-4df5-9c14-2b0b1dcb65bd +libusb,AT32UC3C,03EB,2FEB,1eeb52aa-fd24-47fd-8a76-056446d1a54f +libusb,ATxmega256A3U,03EB,2FEC,198fa8ea-3157-4863-b9a8-a3f6fe027367 +libusb,ATmega8U2,03EB,2FEE,14018055-46f4-4c62-aa03-e8fafeedaf72 +libusb,ATmega16U2,03EB,2FEF,007274da-b75f-492e-a288-8fc0aff8339f +libusb,ATmega32U2,03EB,2FF0,ddc2c572-cb6e-4f61-a6cc-1a5de941f063 +libusb,AT32UC3A3,03EB,2FF1,8b614283-36c0-46a2-890d-65f61b5b6201 +libusb,ATmega32U6,03EB,2FF2,a207dd90-2814-4418-b5b7-4b708fdf1bfd +libusb,ATmega16U4,03EB,2FF3,3180d426-bf93-4578-a693-2efbc337da8e +libusb,ATmega32U4,03EB,2FF4,5f9726fd-f9de-487a-9fbd-8b3524a7a56a +libusb,AT32UC3B,03EB,2FF6,ef90068a-277a-44db-805a-9b83a6beb29a +libusb,AT90USB82,03EB,2FF7,062fa2ab-f9d8-4a0d-83c1-df0521cfd0f6 +libusb,AT32UC3A,03EB,2FF8,24080a67-3874-4fb8-8808-fb4cc297c466 +libusb,AT90USB64,03EB,2FF9,c6a708ad-e97d-43cd-b04a-3180d737a71b +libusb,AT90USB162,03EB,2FFA,de67bff5-6e39-4e9c-8dfe-de7fce113716 +libusb,AT90USB128,03EB,2FFB,fd217df3-59d0-440a-a8f3-4c0c8c84daa3 +libusb,AT89C5130,03EB,2FFD,31b69a56-9ac0-4fab-a3ae-cd7bb7021ec5 +libusb,AT8XC5122,03EB,2FFE,395a6118-8568-41b2-913a-d16912722342 +libusb,AT89C5132,03EB,2FFF,266ca4bc-5e59-4a7b-82dc-6e8732373d40
\ No newline at end of file diff --git a/util/elevate.exe b/util/elevate.exe Binary files differnew file mode 100644 index 0000000000..fc6180ec92 --- /dev/null +++ b/util/elevate.exe diff --git a/util/install_dependencies.sh b/util/install_dependencies.sh new file mode 100755 index 0000000000..1b73a8b3bf --- /dev/null +++ b/util/install_dependencies.sh @@ -0,0 +1,114 @@ +#!/usr/bin/env bash +# This script will attempt to setup the Linux dependencies for compiling QMK/TMK + +# This could probably go much lower, but since we are including an Arch vagrant, +# making it the first match makes sense + +if [[ -n "$(type -P pacman )" ]]; then + # Arch linux and derivatives like Apricity + # Future improvements: + # Allow user to speed up package installs using powerpill/wget tweaks + # Always run the pacman mirror update script if possible when vagrant comes up + # This will ensure that users never get stalled on a horribly slow mirror + pacman -Syyu --needed --noconfirm + pacman -S --needed --noconfirm \ + base-devel \ + avr-gcc \ + avr-binutils \ + avr-libc \ + dfu-util \ + arm-none-eabi-gcc \ + arm-none-eabi-binutils \ + arm-none-eabi-newlib \ + git \ + diffutils + +elif [[ -n "$(type -P apt-get)" ]]; then + # Debian and derivatives + # This block performs completely non-interactive updates {{ + export DEBIAN_FRONTEND=noninteractive + export DEBCONF_NONINTERACTIVE_SEEN=true + echo "grub-pc hold" | dpkg --set-selections + apt-get -y update + apt-get -y --allow-unauthenticated upgrade \ + -o Dpkg::Options::="--force-confdef" \ + -o Dpkg::Options::="--force-confold" + # }} + apt-get install -y \ + build-essential \ + gcc \ + unzip \ + wget \ + zip \ + gcc-avr \ + binutils-avr \ + avr-libc \ + dfu-programmer \ + dfu-util \ + gcc-arm-none-eabi \ + binutils-arm-none-eabi \ + libnewlib-arm-none-eabi \ + git \ + diffutils + +elif [[ -n "$(type -P yum)" ]]; then + # Fedora, CentOS or RHEL and derivatives + yum -y makecache && yum -y update + yum -y install \ + gcc \ + glibc-headers \ + kernel-devel \ + kernel-headers \ + make \ + perl \ + git \ + wget \ + avr-binutils \ + avr-gcc \ + avr-libc \ + dfu-programmer \ + dfu-util \ + arm-none-eabi-gcc-cs \ + arm-none-eabi-newlib \ + git \ + diffutils + # The listed eabi pacackes do unfortunately not exist for CentOS, + # But at least in Fedora they do, so try to install them anyway + # TODO: Build them from sources, if the installation fails + +elif [[ -n "$(type -P zypper)" ]]; then + # openSUSE + zypper --non-interactive refresh && zypper --non-interactive update + zypper --non-interactive install \ + git \ + make \ + gcc \ + kernel-devel \ + patch \ + wget \ + dfu-programmer \ + git \ + diffutils + # TODO: The avr and eabi tools are not available as default packages, so we need + # another way to install them + +elif [[ -n "$(type -P pkg)" ]]; then + # FreeBSD + pkg update + pkg install -y \ + git \ + wget \ + gmake \ + gcc \ + zip \ + unzip \ + avr-binutils \ + avr-gcc \ + avr-libc \ + dfu-programmer \ + dfu-util \ + arm-none-eabi-gcc \ + arm-none-eabi-binutils \ + arm-none-eabi-newlib \ + diffutils +fi diff --git a/util/new_project.sh b/util/new_project.sh new file mode 100755 index 0000000000..18d16e560c --- /dev/null +++ b/util/new_project.sh @@ -0,0 +1,32 @@ +#!/bin/sh +# Script to make a new quantum project +# Jack Humbert 2015 + +if [ -z "$1" ]; then + echo "Usage: $0 <keyboard_name>" + exit 1 +fi + +cd "$(dirname "$0")/.." + +KEYBOARD=$1 +KEYBOARD_UPPERCASE=$(echo $1 | awk '{print toupper($0)}') + +mkdir keyboards/$1 +mkdir keyboards/$1/keymaps +mkdir keyboards/$1/keymaps/default +sed -e "s;%KEYBOARD%;$KEYBOARD;g" -e "s;%KEYBOARD_UPPERCASE%;$KEYBOARD_UPPERCASE;g" quantum/template/template.h > keyboards/$KEYBOARD/$KEYBOARD.h +sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/template.c > keyboards/$KEYBOARD/$KEYBOARD.c +sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/config.h > keyboards/$KEYBOARD/config.h +sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/readme.md > keyboards/$KEYBOARD/readme.md +sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/Makefile > keyboards/$KEYBOARD/Makefile +sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/rules.mk > keyboards/$KEYBOARD/rules.mk +sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/keymaps/default/config.h > keyboards/$KEYBOARD/keymaps/default/config.h +sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/keymaps/default/keymap.c > keyboards/$KEYBOARD/keymaps/default/keymap.c +sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/keymaps/default/Makefile > keyboards/$KEYBOARD/keymaps/default/Makefile +sed -e "s;%KEYBOARD%;$KEYBOARD;g" quantum/template/keymaps/default/readme.md > keyboards/$KEYBOARD/keymaps/default/readme.md + +echo "######################################################" +echo "# /keyboards/$KEYBOARD project created. To start" +echo "# working on things, cd into keyboards/$KEYBOARD" +echo "######################################################" diff --git a/util/travis_build.sh b/util/travis_build.sh new file mode 100644 index 0000000000..3243447ab6 --- /dev/null +++ b/util/travis_build.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +TRAVIS_COMMIT_MESSAGE="${TRAVIS_COMMIT_MESSAGE:-none}" +TRAVIS_COMMIT_RANGE="${TRAVIS_COMMIT_RANGE:-HEAD~1..HEAD}" + +if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then + exit_code=0 + NEFM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/)' | grep -Ev '^(docs/)' | wc -l) + BRANCH=$(git rev-parse --abbrev-ref HEAD) + if [ $NEFM -gt 0 -o "$BRANCH" = "master" ]; then + echo "Making all keymaps for all keyboards" + make all-keyboards AUTOGEN="true" + : $((exit_code = $exit_code + $?)) + else + MKB=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards\/)([a-zA-Z0-9_]+)(?=\/)' | sort -u) + for KB in $MKB ; do + KEYMAP_ONLY=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/'${KB}'/keymaps/)' | wc -l) + if [[ $KEYMAP_ONLY -gt 0 ]]; then + echo "Making all keymaps for $KB" + make ${KB}-allsp-allkm AUTOGEN=true + : $((exit_code = $exit_code + $?)) + else + MKM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards/'${KB}'/keymaps/)([a-zA-Z0-9_]+)(?=\/)' | sort -u) + for KM in $MKM ; do + echo "Making $KM for $KB" + make ${KB}-allsp-${KM} AUTOGEN=true + : $((exit_code = $exit_code + $?)) + done + fi + done + fi + exit $exit_code +fi diff --git a/util/travis_compiled_push.sh b/util/travis_compiled_push.sh new file mode 100644 index 0000000000..4936ca0ba7 --- /dev/null +++ b/util/travis_compiled_push.sh @@ -0,0 +1,70 @@ +#!/bin/bash + +set -o errexit -o nounset + +rev=$(git rev-parse --short HEAD) + +if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_PULL_REQUEST" == "false" ]] ; then + +git config --global user.name "QMK Bot" +git config --global user.email "hello@qmk.fm" + +openssl aes-256-cbc -K $encrypted_b0ee987fd0fc_key -iv $encrypted_b0ee987fd0fc_iv -in secrets.tar.enc -out secrets.tar -d +tar xvf secrets.tar + +chmod 600 id_rsa_qmk_firmware +chmod 600 qmk.fm +eval `ssh-agent -s` +ssh-add id_rsa_qmk_firmware + +increment_version () +{ + declare -a part=( ${1//\./ } ) + part[2]=$((part[2] + 1)) + new="${part[*]}" + echo -e "${new// /.}" +} + +git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} + +NEFM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/)' | grep -Ev '^(docs/)' | wc -l) +if [[ $NEFM -gt 0 ]] ; then + echo "Essential files modified." + git fetch --tags + #lasttag=$(git describe --tags $(git rev-list --tags --max-count=10) | grep -Ev '\-' | xargs -I@ git log --format=format:"%ai @%n" -1 @ | sort -V | awk '{print $4}' | tail -1) + lasttag=$(git describe --tags $(git rev-list --tags --max-count=10) | grep -Ev '\-' | sort -V | tail -1) + newtag=$(increment_version $lasttag) + git tag $newtag + git push --tags git@github.com:qmk/qmk_firmware.git +else + echo "No essential files modified." +fi + +if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then + + make ergodox-ez AUTOGEN=true + + cd .. + git clone git@github.com:qmk/qmk.fm.git + cd qmk.fm + mv ../qmk_firmware/qmk.fm qmk.fm + ssh-add qmk.fm + #git submodule update --init --recursive + #rm -rf keyboard + #rm -rf keyboards + #yes | cp -rf ../qmk_firmware/keyboards . + #mkdir keyboards/ergodox_ez/ + #cp ../qmk_firmware/util/ergodox_ez.html keyboards/ergodox_ez/index.html + #cp ../qmk_firmware/readme.md qmk_readme.md + #./generate.sh + rm -f _compiled/*.hex + for file in ../qmk_firmware/keyboards/*/keymaps/*/*.hex; do mv -v "$file" "_compiled/${file##*/}"; done + for file in ../qmk_firmware/keyboards/*/*/keymaps/*/*.hex; do mv -v "$file" "_compiled/${file##*/}"; done + + git add -A + git commit -m "generated from qmk/qmk_firmware@${rev}" + git push git@github.com:qmk/qmk.fm.git + +fi + +fi
\ No newline at end of file diff --git a/util/wsl_install.sh b/util/wsl_install.sh new file mode 100644 index 0000000000..8999da8a46 --- /dev/null +++ b/util/wsl_install.sh @@ -0,0 +1,159 @@ +#!/bin/bash + +download_dir=wsl_downloaded + +function install_utils { + rm -f -r $download_dir + mkdir $download_dir + + pushd $download_dir + + echo "Installing dfu-programmer" + wget 'http://downloads.sourceforge.net/project/dfu-programmer/dfu-programmer/0.7.2/dfu-programmer-win-0.7.2.zip' + unzip -d dfu-programmer dfu-programmer-win-0.7.2.zip + + echo "Installing dfu-util" + wget 'http://dfu-util.sourceforge.net/releases/dfu-util-0.9-win64.zip' + unzip dfu-util-0.9-win64.zip + + echo "Installing teensy_loader_cli" + wget 'https://www.pjrc.com/teensy/teensy_loader_cli_windows.zip' + unzip teensy_loader_cli_windows.zip + + echo "Installing Atmel Flip" + wget 'http://www.atmel.com/images/Flip%20Installer%20-%203.4.7.112.exe' + mv Flip\ Installer\ \-\ 3.4.7.112.exe FlipInstaller.exe + + echo "Downloading the QMK driver installer" + wget -qO- https://api.github.com/repos/qmk/qmk_driver_installer/releases | grep browser_download_url | head -n 1 | cut -d '"' -f 4 | wget -i - + + rm -f *.zip + + popd > /dev/null +} + +function install_drivers { + pushd $download_dir + cmd.exe /C qmk_driver_installer.exe $1 $2 ../drivers.txt + popd > /dev/null +} + +dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P) + +if [[ $dir != /mnt/* ]]; +then + echo + echo "You need to clone the qmk_firmware repository outside the linux filesystem." + echo "Otherwise the windows executables can't be run." + exit 1 +fi + +pushd "$dir" + +while true; do + echo + echo "Do you want to install all toolchain dependencies needed for compiling QMK?" + echo "This will run install_dependencies.sh, which calls apt-get upgrade." + echo "If you don't want that, you can install the dependencies manually." + read -p "(Y/N) " res + case $res in + [Yy]* ) sudo ./install_dependencies.sh; break;; + [Nn]* ) break;; + * ) echo "Invalid answer";; + esac +done + +echo "Installing dependencies needed for the installation (unzip, wget)" +echo "This will ask for the sudo password" +sudo apt-get install unzip wget + + +if [ ! -d "$download_dir" ]; then + install_utils +else + while true; do + echo + read -p "The utils seem to already be downloaded, do you want to re-download them and update to the newest version (Y/N) " res + case $res in + [Yy]* ) install_utils; break;; + [Nn]* ) break;; + * ) echo "Invalid answer";; + esac + done +fi + +while true; do + echo + read -p "Flip need to be installed if you want to use that for programming, do you want to install it now? (Y/N) " res + case $res in + [Yy]* ) cmd.exe /c $download_dir\\FlipInstaller.exe; break;; + [Nn]* ) break;; + * ) echo "Invalid answer";; + esac +done + + +while true; do + echo + echo "Which USB drivers do you want to install?" + echo "(A)all - All supported drivers will be installed" + echo "(C)onnected - Only drivers for connected keyboards (in bootloader/flashing mode) will be installed" + echo "(F)force - Like all, but will also override existing drivers for connected keyboards" + echo "(N)one - No drivers will be installed, flashing your keyboard will most likely not work" + read -p "(A/C/F/N)? " res + case $res in + [Aa]* ) install_drivers --all; break;; + [Cc]* ) install_drivers; break;; + [Ff]* ) install_drivers --all --force; break;; + [Nn]* ) break;; + * ) echo "Invalid answer";; + esac +done + +echo +echo "Creating a softlink to the utils directory as ~/qmk_utils." +echo "This is needed so that the the make system can find all utils it need." +read -p "Press any key to continue (ctrl-c to abort)" +ln -sfn "$dir" ~/qmk_utils + +if grep "^source ~/qmk_utils/activate_wsl.sh$" ~/.bashrc +then + echo + echo "The line source ~/qmk_utils/activate_wsl.sh is already added to your /.bashrc" + echo "Not adding it twice" +else + while true; do + echo + echo "Do you want to add 'source ~/qmk_utils/activate_wsl.sh' to the end of you .bashrc file?" + echo "Without this make won't find the needed utils, so if you don't want to do it automatically," + echo "then you have to do it manually." + read -p "(Y/N)? " res + case $res in + [Yy]* ) echo "source ~/qmk_utils/activate_wsl.sh" >> ~/.bashrc; break;; + [Nn]* ) break;; + * ) echo "Invalid answer";; + esac + done +fi + +while true; do + echo + echo "Do you want to add a symlink to the QMK repository in your home directory for convenience?" + echo "This will create a folder 'qmk_firmware' in your home directory." + echo "In the future you can use this folder instead of the full path on your windows file system" + read -p "(Y/N)? " res + case $res in + [Yy]* ) ln -sfn "$dir/.." ~/qmk_firmware; break;; + [Nn]* ) break;; + * ) echo "Invalid answer";; + esac +done + +echo +echo "******************************************************************************" +echo "Installation completed!" +echo "You need to open a new batch command prompt for all the utils to work properly" +echo "******************************************************************************" + +popd > /dev/null + |