2019-04-29 10:37:02 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								@ echo  off
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								if  defined  MSYSTEM  ( 
							 
						 
					
						
							
								
									
										
										
										
											2021-11-09 13:10:56 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    echo  This .bat file is for Windows CMD.EXE shell only.
							 
						 
					
						
							
								
									
										
										
										
											2019-04-29 10:37:02 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    goto  : eof 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-03-09 12:53:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								: : Missing requirements check 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								set  MISSING_REQUIREMENTS = 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								python.exe --version > NUL 2 > NUL
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								if  %errorlevel%  neq  0 set  " MISSING_REQUIREMENTS=  python &echo\ " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								git.exe --version > NUL 2 > NUL
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								if  %errorlevel%  neq  0 set  " MISSING_REQUIREMENTS= %MISSING_REQUIREMENTS%   git " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-10-06 13:48:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								if  not  " %MISSING_REQUIREMENTS% "  ==  " "  goto  : __error_missing_requirements 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-09 12:53:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-04-29 10:37:02 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								: : Infer IDF_PATH from script location 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								set  IDF_PATH = %~dp0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								set  IDF_PATH = %IDF_PATH:~0,-1% 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-02-15 18:36:46 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								echo  Checking Python compatibility
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								python.exe " %IDF_PATH% \tools\python_version_checker.py " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-10-06 11:06:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								set  " IDF_TOOLS_PY_PATH= %IDF_PATH% \tools\idf_tools.py " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								set  " IDF_TOOLS_JSON_PATH= %IDF_PATH% \tools\tools.json " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								set  " IDF_TOOLS_EXPORT_CMD= %IDF_PATH% \export.bat " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								set  " IDF_TOOLS_INSTALL_CMD= %IDF_PATH% \install.bat " 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-29 10:37:02 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								echo  Setting IDF_PATH: %IDF_PATH% 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								echo .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								set  " OLD_PATH= %PATH% " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								echo  Adding ESP-IDF tools to PATH...
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								: : Export tool paths and environment variables. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								: : It is possible to do this without a temporary file (running idf_tools.py from for /r command), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								: : but that way it is impossible to get the exit code of idf_tools.py. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								set  " IDF_TOOLS_EXPORTS_FILE= %TEMP% \idf_export_vars.tmp " 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-06 11:06:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								python.exe " %IDF_PATH% \tools\idf_tools.py "  export --format key-value > " %IDF_TOOLS_EXPORTS_FILE% " 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-06 13:48:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								if  %errorlevel%  neq  0 goto  : __end 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-29 10:37:02 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								for  /f  " usebackq tokens=1,2 eol=# delims== "  %% a in  ( " %IDF_TOOLS_EXPORTS_FILE% " )  do  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      call  set  " %% a= %% b " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								: : This removes OLD_PATH substring from PATH, leaving only the paths which have been added, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								: : and prints semicolon-delimited components of the path on separate lines 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								call  set  PATH_ADDITIONS = %% PATH:%OLD_PATH% =%% 
							 
						 
					
						
							
								
									
										
										
										
											2021-10-06 13:48:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								if  " %PATH_ADDITIONS% " == " "  call  : __print_nothing_added 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-29 10:37:02 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								if  not  " %PATH_ADDITIONS% " == " "  echo      %PATH_ADDITIONS:;=&echo.    % 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-10-06 11:06:22 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								DOSKEY idf.py=python.exe " %IDF_PATH% \tools\idf.py "  $*
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								DOSKEY esptool.py=python.exe " %IDF_PATH% \components\esptool_py\esptool\esptool.py "  $*
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								DOSKEY espefuse.py=python.exe " %IDF_PATH% \components\esptool_py\esptool\espefuse.py "  $*
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								DOSKEY otatool.py=python.exe " %IDF_PATH% \components\app_update\otatool.py "  $*
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								DOSKEY parttool.py=python.exe " %IDF_PATH% \components\partition_table\parttool.py "  $*
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-04-29 10:37:02 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								echo  Checking if Python packages are up to date...
							 
						 
					
						
							
								
									
										
										
										
											2021-09-16 16:48:03 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								python.exe " %IDF_PATH% \tools\idf_tools.py "  check-python-dependencies
							 
						 
					
						
							
								
									
										
										
										
											2021-10-06 13:48:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								if  %errorlevel%  neq  0 goto  : __end 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-29 10:37:02 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-12-13 16:45:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								python.exe " %IDF_PATH% \tools\idf_tools.py "  uninstall --dry-run >  UNINSTALL_OUTPUT
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								SET  /p  UNINSTALL = < UNINSTALL_OUTPUT
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								DEL  UNINSTALL_OUTPUT
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								if  NOT  " %UNINSTALL% " == " "  call  : __uninstall_message 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-04-29 10:37:02 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								echo .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								echo  Done! You can now compile ESP-IDF projects.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								echo  Go to the project directory and run:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								echo .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								echo    idf.py build
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								echo .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-10-06 13:48:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								goto  : __end 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-29 10:37:02 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-10-06 13:48:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								: __print_nothing_added 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-29 10:37:02 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    echo  No directories added to PATH:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  %PATH% 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    goto  : eof 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-10-06 13:48:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								: __error_missing_requirements 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-09 12:53:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    echo .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  Error^:  The following tools are not installed in your environment.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  %MISSING_REQUIREMENTS% 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  Please use the Windows Tool installer for setting up your environment.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  Download link: https://dl.espressif.com/dl/esp-idf/
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  For more details please visit our website: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/windows-setup.html
							 
						 
					
						
							
								
									
										
										
										
											2021-10-06 13:48:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    goto  : __end 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-29 10:37:02 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-12-13 16:45:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								: __uninstall_message 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  Detected installed tools that are not currently used by active ESP-IDF version.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  %UNINSTALL% 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  For free up even more space, remove installation packages of those tools. Use option 'python.exe %IDF_PATH% \tools\idf_tools.py uninstall --remove-archives'.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-10-06 13:48:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								: __end 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-29 10:37:02 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								: : Clean up 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								if  not  " %IDF_TOOLS_EXPORTS_FILE% " == " "  ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    del  " %IDF_TOOLS_EXPORTS_FILE% "  1 > nul 2 > nul
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								set  IDF_TOOLS_EXPORTS_FILE = 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								set  IDF_TOOLS_EXPORT_CMD = 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								set  IDF_TOOLS_INSTALL_CMD = 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								set  IDF_TOOLS_PY_PATH = 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								set  IDF_TOOLS_JSON_PATH = 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								set  OLD_PATH = 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								set  PATH_ADDITIONS = 
							 
						 
					
						
							
								
									
										
										
										
											2021-03-09 12:53:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								set  MISSING_REQUIREMENTS = 
							 
						 
					
						
							
								
									
										
										
										
											2021-12-13 16:45:11 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								set  UNINSTALL =