Create ESP32 project
This commit is contained in:
		
							
								
								
									
										47
									
								
								esp32_device/.devcontainer/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								esp32_device/.devcontainer/Dockerfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
				
			|||||||
 | 
					FROM espressif/idf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ARG DEBIAN_FRONTEND=nointeractive
 | 
				
			||||||
 | 
					ARG CONTAINER_USER=esp
 | 
				
			||||||
 | 
					ARG USER_UID=1050
 | 
				
			||||||
 | 
					ARG USER_GID=$USER_UID
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN apt-get update \
 | 
				
			||||||
 | 
					  && apt install -y -q \
 | 
				
			||||||
 | 
					  cmake \
 | 
				
			||||||
 | 
					  git \
 | 
				
			||||||
 | 
					  libglib2.0-0 \
 | 
				
			||||||
 | 
					  libnuma1 \
 | 
				
			||||||
 | 
					  libpixman-1-0 \
 | 
				
			||||||
 | 
					  && rm -rf /var/lib/apt/lists/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# QEMU
 | 
				
			||||||
 | 
					ENV QEMU_REL=esp_develop_8.2.0_20240122
 | 
				
			||||||
 | 
					ENV QEMU_SHA256=e7c72ef5705ad1444d391711088c8717fc89f42e9bf6d1487f9c2a326b8cfa83
 | 
				
			||||||
 | 
					ENV QEMU_DIST=qemu-xtensa-softmmu-${QEMU_REL}-x86_64-linux-gnu.tar.xz
 | 
				
			||||||
 | 
					ENV QEMU_URL=https://github.com/espressif/qemu/releases/download/esp-develop-8.2.0-20240122/${QEMU_DIST}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENV LC_ALL=C.UTF-8
 | 
				
			||||||
 | 
					ENV LANG=C.UTF-8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN wget --no-verbose ${QEMU_URL} \
 | 
				
			||||||
 | 
					  && echo "${QEMU_SHA256} *${QEMU_DIST}" | sha256sum --check --strict - \
 | 
				
			||||||
 | 
					  && tar -xf $QEMU_DIST -C /opt \
 | 
				
			||||||
 | 
					  && rm ${QEMU_DIST}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENV PATH=/opt/qemu/bin:${PATH}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN groupadd --gid $USER_GID $CONTAINER_USER \
 | 
				
			||||||
 | 
					  && adduser --uid $USER_UID --gid $USER_GID --disabled-password --gecos "" ${CONTAINER_USER} \
 | 
				
			||||||
 | 
					  && usermod -a -G root $CONTAINER_USER && usermod -a -G dialout $CONTAINER_USER
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN chmod -R 775 /opt/esp/python_env/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					USER ${CONTAINER_USER}
 | 
				
			||||||
 | 
					ENV USER=${CONTAINER_USER}
 | 
				
			||||||
 | 
					WORKDIR /home/${CONTAINER_USER}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN echo "source /opt/esp/idf/export.sh > /dev/null 2>&1" >> ~/.bashrc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRYPOINT [ "/opt/esp/entrypoint.sh" ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CMD ["/bin/bash", "-c"]
 | 
				
			||||||
							
								
								
									
										36
									
								
								esp32_device/.devcontainer/devcontainer.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								esp32_device/.devcontainer/devcontainer.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
						"name": "ESP-IDF QEMU",
 | 
				
			||||||
 | 
						"build": {
 | 
				
			||||||
 | 
							"dockerfile": "Dockerfile"
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						"customizations": {
 | 
				
			||||||
 | 
							"vscode": {
 | 
				
			||||||
 | 
								"settings": {
 | 
				
			||||||
 | 
									"terminal.integrated.defaultProfile.linux": "bash",
 | 
				
			||||||
 | 
									"idf.espIdfPath": "/opt/esp/idf",
 | 
				
			||||||
 | 
									"idf.customExtraPaths": "",
 | 
				
			||||||
 | 
									"idf.pythonBinPath": "/opt/esp/python_env/idf5.4_py3.12_env/bin/python",
 | 
				
			||||||
 | 
									"idf.toolsPath": "/opt/esp",
 | 
				
			||||||
 | 
									"idf.gitPath": "/usr/bin/git"
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
								"extensions": [
 | 
				
			||||||
 | 
									"espressif.esp-idf-extension"
 | 
				
			||||||
 | 
								]
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							"codespaces": {
 | 
				
			||||||
 | 
								"settings": {
 | 
				
			||||||
 | 
									"terminal.integrated.defaultProfile.linux": "bash",
 | 
				
			||||||
 | 
									"idf.espIdfPath": "/opt/esp/idf",
 | 
				
			||||||
 | 
									"idf.customExtraPaths": "",
 | 
				
			||||||
 | 
									"idf.pythonBinPath": "/opt/esp/python_env/idf5.4_py3.12_env/bin/python",
 | 
				
			||||||
 | 
									"idf.toolsPath": "/opt/esp",
 | 
				
			||||||
 | 
									"idf.gitPath": "/usr/bin/git"
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
								"extensions": [
 | 
				
			||||||
 | 
									"espressif.esp-idf-extension",
 | 
				
			||||||
 | 
									"espressif.esp-idf-web"
 | 
				
			||||||
 | 
								]
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						"runArgs": ["--privileged"]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										1
									
								
								esp32_device/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								esp32_device/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					build
 | 
				
			||||||
							
								
								
									
										23
									
								
								esp32_device/.vscode/c_cpp_properties.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								esp32_device/.vscode/c_cpp_properties.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "configurations": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "name": "ESP-IDF",
 | 
				
			||||||
 | 
					            "compilerPath": "${config:idf.toolsPath}/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc",
 | 
				
			||||||
 | 
					            "compileCommands": "${config:idf.buildPath}/compile_commands.json",
 | 
				
			||||||
 | 
					            "includePath": [
 | 
				
			||||||
 | 
					                "${config:idf.espIdfPath}/components/**",
 | 
				
			||||||
 | 
					                "${config:idf.espIdfPathWin}/components/**",
 | 
				
			||||||
 | 
					                "${workspaceFolder}/**"
 | 
				
			||||||
 | 
					            ],
 | 
				
			||||||
 | 
					            "browse": {
 | 
				
			||||||
 | 
					                "path": [
 | 
				
			||||||
 | 
					                    "${config:idf.espIdfPath}/components",
 | 
				
			||||||
 | 
					                    "${config:idf.espIdfPathWin}/components",
 | 
				
			||||||
 | 
					                    "${workspaceFolder}"
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                "limitSymbolsToIncludedHeaders": true
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    "version": 4
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										15
									
								
								esp32_device/.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								esp32_device/.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "version": "0.2.0",
 | 
				
			||||||
 | 
					  "configurations": [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "type": "gdbtarget",
 | 
				
			||||||
 | 
					      "request": "attach",
 | 
				
			||||||
 | 
					      "name": "Eclipse CDT GDB Adapter"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "type": "espidf",
 | 
				
			||||||
 | 
					      "name": "Launch",
 | 
				
			||||||
 | 
					      "request": "launch"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										10
									
								
								esp32_device/.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								esp32_device/.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "C_Cpp.intelliSenseEngine": "default",
 | 
				
			||||||
 | 
					  "idf.port": "/dev/ttyUSB0",
 | 
				
			||||||
 | 
					  "idf.adapterTargetName": "esp32",
 | 
				
			||||||
 | 
					  "idf.flashType": "UART",
 | 
				
			||||||
 | 
					  "idf.openOcdConfigs": [
 | 
				
			||||||
 | 
					    "interface/ftdi/esp32_devkitj_v1.cfg",
 | 
				
			||||||
 | 
					    "target/esp32.cfg"
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										259
									
								
								esp32_device/.vscode/tasks.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										259
									
								
								esp32_device/.vscode/tasks.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,259 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "version": "2.0.0",
 | 
				
			||||||
 | 
					  "tasks": [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "label": "Build - Build project",
 | 
				
			||||||
 | 
					      "type": "shell",
 | 
				
			||||||
 | 
					      "command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py build",
 | 
				
			||||||
 | 
					      "windows": {
 | 
				
			||||||
 | 
					        "command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py build",
 | 
				
			||||||
 | 
					        "options": {
 | 
				
			||||||
 | 
					          "env": {
 | 
				
			||||||
 | 
					            "PATH": "${env:PATH};${config:idf.customExtraPaths}"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "options": {
 | 
				
			||||||
 | 
					        "env": {
 | 
				
			||||||
 | 
					          "PATH": "${env:PATH}:${config:idf.customExtraPaths}"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "problemMatcher": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "owner": "cpp",
 | 
				
			||||||
 | 
					          "fileLocation": [
 | 
				
			||||||
 | 
					            "autoDetect",
 | 
				
			||||||
 | 
					            "${workspaceFolder}"
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					          "pattern": {
 | 
				
			||||||
 | 
					            "regexp": "^(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
 | 
				
			||||||
 | 
					            "file": 1,
 | 
				
			||||||
 | 
					            "line": 2,
 | 
				
			||||||
 | 
					            "column": 3,
 | 
				
			||||||
 | 
					            "severity": 4,
 | 
				
			||||||
 | 
					            "message": 5
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "group": {
 | 
				
			||||||
 | 
					        "kind": "build",
 | 
				
			||||||
 | 
					        "isDefault": true
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "label": "Set ESP-IDF Target",
 | 
				
			||||||
 | 
					      "type": "shell",
 | 
				
			||||||
 | 
					      "command": "${command:espIdf.setTarget}",
 | 
				
			||||||
 | 
					      "problemMatcher": {
 | 
				
			||||||
 | 
					        "owner": "cpp",
 | 
				
			||||||
 | 
					        "fileLocation": [
 | 
				
			||||||
 | 
					          "autoDetect",
 | 
				
			||||||
 | 
					          "${workspaceFolder}"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "pattern": {
 | 
				
			||||||
 | 
					          "regexp": "^(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
 | 
				
			||||||
 | 
					          "file": 1,
 | 
				
			||||||
 | 
					          "line": 2,
 | 
				
			||||||
 | 
					          "column": 3,
 | 
				
			||||||
 | 
					          "severity": 4,
 | 
				
			||||||
 | 
					          "message": 5
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "label": "Clean - Clean the project",
 | 
				
			||||||
 | 
					      "type": "shell",
 | 
				
			||||||
 | 
					      "command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py fullclean",
 | 
				
			||||||
 | 
					      "windows": {
 | 
				
			||||||
 | 
					        "command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py fullclean",
 | 
				
			||||||
 | 
					        "options": {
 | 
				
			||||||
 | 
					          "env": {
 | 
				
			||||||
 | 
					            "PATH": "${env:PATH};${config:idf.customExtraPaths}"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "options": {
 | 
				
			||||||
 | 
					        "env": {
 | 
				
			||||||
 | 
					          "PATH": "${env:PATH}:${config:idf.customExtraPaths}"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "problemMatcher": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "owner": "cpp",
 | 
				
			||||||
 | 
					          "fileLocation": [
 | 
				
			||||||
 | 
					            "autoDetect",
 | 
				
			||||||
 | 
					            "${workspaceFolder}"
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					          "pattern": {
 | 
				
			||||||
 | 
					            "regexp": "^(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
 | 
				
			||||||
 | 
					            "file": 1,
 | 
				
			||||||
 | 
					            "line": 2,
 | 
				
			||||||
 | 
					            "column": 3,
 | 
				
			||||||
 | 
					            "severity": 4,
 | 
				
			||||||
 | 
					            "message": 5
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "label": "Flash - Flash the device",
 | 
				
			||||||
 | 
					      "type": "shell",
 | 
				
			||||||
 | 
					      "command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py -p ${config:idf.port} -b ${config:idf.flashBaudRate} flash",
 | 
				
			||||||
 | 
					      "windows": {
 | 
				
			||||||
 | 
					        "command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py flash -p ${config:idf.portWin} -b ${config:idf.flashBaudRate}",
 | 
				
			||||||
 | 
					        "options": {
 | 
				
			||||||
 | 
					          "env": {
 | 
				
			||||||
 | 
					            "PATH": "${env:PATH};${config:idf.customExtraPaths}"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "options": {
 | 
				
			||||||
 | 
					        "env": {
 | 
				
			||||||
 | 
					          "PATH": "${env:PATH}:${config:idf.customExtraPaths}"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "problemMatcher": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "owner": "cpp",
 | 
				
			||||||
 | 
					          "fileLocation": [
 | 
				
			||||||
 | 
					            "autoDetect",
 | 
				
			||||||
 | 
					            "${workspaceFolder}"
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					          "pattern": {
 | 
				
			||||||
 | 
					            "regexp": "^(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
 | 
				
			||||||
 | 
					            "file": 1,
 | 
				
			||||||
 | 
					            "line": 2,
 | 
				
			||||||
 | 
					            "column": 3,
 | 
				
			||||||
 | 
					            "severity": 4,
 | 
				
			||||||
 | 
					            "message": 5
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "label": "Monitor: Start the monitor",
 | 
				
			||||||
 | 
					      "type": "shell",
 | 
				
			||||||
 | 
					      "command": "${config:idf.pythonBinPath} ${config:idf.espIdfPath}/tools/idf.py -p ${config:idf.port} monitor",
 | 
				
			||||||
 | 
					      "windows": {
 | 
				
			||||||
 | 
					        "command": "${config:idf.pythonBinPathWin} ${config:idf.espIdfPathWin}\\tools\\idf.py -p ${config:idf.portWin} monitor",
 | 
				
			||||||
 | 
					        "options": {
 | 
				
			||||||
 | 
					          "env": {
 | 
				
			||||||
 | 
					            "PATH": "${env:PATH};${config:idf.customExtraPaths}"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "options": {
 | 
				
			||||||
 | 
					        "env": {
 | 
				
			||||||
 | 
					          "PATH": "${env:PATH}:${config:idf.customExtraPaths}"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "problemMatcher": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "owner": "cpp",
 | 
				
			||||||
 | 
					          "fileLocation": [
 | 
				
			||||||
 | 
					            "autoDetect",
 | 
				
			||||||
 | 
					            "${workspaceFolder}"
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					          "pattern": {
 | 
				
			||||||
 | 
					            "regexp": "^(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
 | 
				
			||||||
 | 
					            "file": 1,
 | 
				
			||||||
 | 
					            "line": 2,
 | 
				
			||||||
 | 
					            "column": 3,
 | 
				
			||||||
 | 
					            "severity": 4,
 | 
				
			||||||
 | 
					            "message": 5
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "dependsOn": "Flash - Flash the device"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "label": "OpenOCD: Start openOCD",
 | 
				
			||||||
 | 
					      "type": "shell",
 | 
				
			||||||
 | 
					      "presentation": {
 | 
				
			||||||
 | 
					        "echo": true,
 | 
				
			||||||
 | 
					        "reveal": "never",
 | 
				
			||||||
 | 
					        "focus": false,
 | 
				
			||||||
 | 
					        "panel": "new"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "command": "openocd -s ${command:espIdf.getOpenOcdScriptValue} ${command:espIdf.getOpenOcdConfigs}",
 | 
				
			||||||
 | 
					      "windows": {
 | 
				
			||||||
 | 
					        "command": "openocd.exe -s ${command:espIdf.getOpenOcdScriptValue} ${command:espIdf.getOpenOcdConfigs}",
 | 
				
			||||||
 | 
					        "options": {
 | 
				
			||||||
 | 
					          "env": {
 | 
				
			||||||
 | 
					            "PATH": "${env:PATH};${config:idf.customExtraPaths}"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "options": {
 | 
				
			||||||
 | 
					        "env": {
 | 
				
			||||||
 | 
					          "PATH": "${env:PATH}:${config:idf.customExtraPaths}"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "problemMatcher": {
 | 
				
			||||||
 | 
					        "owner": "cpp",
 | 
				
			||||||
 | 
					        "fileLocation": [
 | 
				
			||||||
 | 
					          "autoDetect",
 | 
				
			||||||
 | 
					          "${workspaceFolder}"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "pattern": {
 | 
				
			||||||
 | 
					          "regexp": "^(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
 | 
				
			||||||
 | 
					          "file": 1,
 | 
				
			||||||
 | 
					          "line": 2,
 | 
				
			||||||
 | 
					          "column": 3,
 | 
				
			||||||
 | 
					          "severity": 4,
 | 
				
			||||||
 | 
					          "message": 5
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "label": "adapter",
 | 
				
			||||||
 | 
					      "type": "shell",
 | 
				
			||||||
 | 
					      "command": "${config:idf.pythonBinPath}",
 | 
				
			||||||
 | 
					      "isBackground": true,
 | 
				
			||||||
 | 
					      "options": {
 | 
				
			||||||
 | 
					        "env": {
 | 
				
			||||||
 | 
					          "PATH": "${env:PATH}:${config:idf.customExtraPaths}",
 | 
				
			||||||
 | 
					          "PYTHONPATH": "${command:espIdf.getExtensionPath}/esp_debug_adapter/debug_adapter"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "problemMatcher": {
 | 
				
			||||||
 | 
					        "background": {
 | 
				
			||||||
 | 
					          "beginsPattern": "\bDEBUG_ADAPTER_STARTED\b",
 | 
				
			||||||
 | 
					          "endsPattern": "DEBUG_ADAPTER_READY2CONNECT",
 | 
				
			||||||
 | 
					          "activeOnStart": true
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "pattern": {
 | 
				
			||||||
 | 
					          "regexp": "(\\d+)-(\\d+)-(\\d+)\\s(\\d+):(\\d+):(\\d+),(\\d+)\\s-(.+)\\s(ERROR)",
 | 
				
			||||||
 | 
					          "file": 8,
 | 
				
			||||||
 | 
					          "line": 2,
 | 
				
			||||||
 | 
					          "column": 3,
 | 
				
			||||||
 | 
					          "severity": 4,
 | 
				
			||||||
 | 
					          "message": 9
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "args": [
 | 
				
			||||||
 | 
					        "${command:espIdf.getExtensionPath}/esp_debug_adapter/debug_adapter_main.py",
 | 
				
			||||||
 | 
					        "-e",
 | 
				
			||||||
 | 
					        "${workspaceFolder}/build/${command:espIdf.getProjectName}.elf",
 | 
				
			||||||
 | 
					        "-s",
 | 
				
			||||||
 | 
					        "$OPENOCD_SCRIPTS",
 | 
				
			||||||
 | 
					        "-dn",
 | 
				
			||||||
 | 
					        "esp32",
 | 
				
			||||||
 | 
					        "-om",
 | 
				
			||||||
 | 
					        "connect_to_instance",
 | 
				
			||||||
 | 
					        "-t",
 | 
				
			||||||
 | 
					        "xtensa-esp32-elf-"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "windows": {
 | 
				
			||||||
 | 
					        "command": "${config:idf.pythonBinPathWin}",
 | 
				
			||||||
 | 
					        "options": {
 | 
				
			||||||
 | 
					          "env": {
 | 
				
			||||||
 | 
					            "PATH": "${env:PATH};${config:idf.customExtraPaths}",
 | 
				
			||||||
 | 
					            "PYTHONPATH": "${command:espIdf.getExtensionPath}/esp_debug_adapter/debug_adapter"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										8
									
								
								esp32_device/CMakeLists.txt
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								esp32_device/CMakeLists.txt
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					# For more information about build system see
 | 
				
			||||||
 | 
					# https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/build-system.html
 | 
				
			||||||
 | 
					# The following five lines of boilerplate have to be in your project's
 | 
				
			||||||
 | 
					# CMakeLists in this exact order for cmake to work correctly
 | 
				
			||||||
 | 
					cmake_minimum_required(VERSION 3.16)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include($ENV{IDF_PATH}/tools/cmake/project.cmake)
 | 
				
			||||||
 | 
					project(main)
 | 
				
			||||||
							
								
								
									
										3
									
								
								esp32_device/README.md
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								esp32_device/README.md
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					# ESP32 device
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ESP32 client device, using `W32-ETH01` device
 | 
				
			||||||
							
								
								
									
										2
									
								
								esp32_device/main/CMakeLists.txt
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								esp32_device/main/CMakeLists.txt
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					idf_component_register(SRCS "main.c"
 | 
				
			||||||
 | 
					                    INCLUDE_DIRS ".")
 | 
				
			||||||
							
								
								
									
										9
									
								
								esp32_device/main/main.c
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								esp32_device/main/main.c
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					#include "esp_system.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void app_main(void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    printf("\n\n\nhello world and bye\n\n\n");
 | 
				
			||||||
 | 
					    fflush(stdout);
 | 
				
			||||||
 | 
					    esp_restart();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										1913
									
								
								esp32_device/sdkconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1913
									
								
								esp32_device/sdkconfig
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1913
									
								
								esp32_device/sdkconfig.old
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1913
									
								
								esp32_device/sdkconfig.old
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user