esptool 5.2.dev3__tar.gz → 5.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. {esptool-5.2.dev3/esptool.egg-info → esptool-5.3.0}/PKG-INFO +2 -1
  2. {esptool-5.2.dev3 → esptool-5.3.0}/esp_rfc2217_server/__init__.py +7 -1
  3. {esptool-5.2.dev3 → esptool-5.3.0}/esp_rfc2217_server/esp_port_manager.py +8 -7
  4. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/__init__.py +19 -8
  5. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/cli_util.py +4 -5
  6. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/base_fields.py +427 -171
  7. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/base_operations.py +47 -20
  8. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/emulate_efuse_controller_base.py +3 -5
  9. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32/fields.py +22 -91
  10. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c2/emulate_efuse_controller.py +3 -5
  11. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c2/fields.py +33 -111
  12. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c2/operations.py +3 -2
  13. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c3/fields.py +37 -158
  14. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c3/operations.py +9 -3
  15. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c5/fields.py +35 -179
  16. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c5/operations.py +9 -2
  17. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c6/fields.py +40 -180
  18. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c6/operations.py +10 -3
  19. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c61/fields.py +35 -173
  20. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c61/operations.py +10 -3
  21. esptool-5.3.0/espefuse/efuse/esp32e22/__init__.py +5 -0
  22. esptool-5.3.0/espefuse/efuse/esp32e22/emulate_efuse_controller.py +97 -0
  23. esptool-5.3.0/espefuse/efuse/esp32e22/fields.py +306 -0
  24. esptool-5.3.0/espefuse/efuse/esp32e22/mem_definition.py +156 -0
  25. esptool-5.3.0/espefuse/efuse/esp32e22/operations.py +301 -0
  26. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32h2/fields.py +37 -163
  27. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32h2/operations.py +10 -3
  28. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32h21/fields.py +32 -170
  29. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32h21/operations.py +10 -12
  30. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32h4/fields.py +48 -173
  31. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32h4/operations.py +10 -3
  32. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32p4/fields.py +40 -178
  33. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32p4/operations.py +10 -3
  34. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32s2/fields.py +35 -158
  35. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32s2/operations.py +9 -3
  36. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32s3/fields.py +39 -161
  37. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32s3/operations.py +10 -4
  38. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32s31/emulate_efuse_controller.py +4 -7
  39. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32s31/fields.py +56 -188
  40. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32s31/operations.py +10 -3
  41. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/mem_definition_base.py +2 -1
  42. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/util.py +19 -0
  43. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse_defs/esp32c5.yaml +35 -34
  44. esptool-5.3.0/espefuse/efuse_defs/esp32e22.yaml +78 -0
  45. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse_defs/esp32h21.yaml +76 -86
  46. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse_defs/esp32h4.yaml +53 -12
  47. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse_defs/esp32p4_v3.0.yaml +1 -1
  48. esptool-5.3.0/espefuse/efuse_defs/esp32s31.yaml +138 -0
  49. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse_interface.py +7 -6
  50. {esptool-5.2.dev3 → esptool-5.3.0}/espsecure/__init__.py +4 -6
  51. {esptool-5.2.dev3 → esptool-5.3.0}/espsecure/esp_hsm_sign/__init__.py +3 -1
  52. {esptool-5.2.dev3 → esptool-5.3.0}/espsecure/esp_hsm_sign/exceptions.py +1 -2
  53. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/__init__.py +267 -45
  54. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/bin_image.py +21 -4
  55. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/cli_util.py +65 -5
  56. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/cmds.py +1128 -226
  57. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/loader.py +339 -58
  58. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/logger.py +34 -27
  59. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/reset.py +52 -14
  60. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/__init__.py +3 -2
  61. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/esp32.py +7 -7
  62. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/esp32c2.py +2 -2
  63. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/esp32c3.py +1 -21
  64. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/esp32c5.py +14 -10
  65. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/esp32c6.py +1 -4
  66. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/esp32c61.py +2 -15
  67. esptool-5.3.0/esptool/targets/esp32e22.py +249 -0
  68. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/esp32h2.py +1 -4
  69. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/esp32h21.py +21 -4
  70. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/esp32h4.py +78 -24
  71. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/esp32p4.py +38 -43
  72. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/esp32s2.py +1 -12
  73. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/esp32s3.py +1 -21
  74. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/esp32s31.py +74 -41
  75. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/stub_flasher/2/README.md +1 -1
  76. esptool-5.3.0/esptool/targets/stub_flasher/2/esp32.json +8 -0
  77. esptool-5.3.0/esptool/targets/stub_flasher/2/esp32c2.json +8 -0
  78. esptool-5.3.0/esptool/targets/stub_flasher/2/esp32c3.json +8 -0
  79. esptool-5.3.0/esptool/targets/stub_flasher/2/esp32c5.json +8 -0
  80. esptool-5.3.0/esptool/targets/stub_flasher/2/esp32c6.json +8 -0
  81. esptool-5.3.0/esptool/targets/stub_flasher/2/esp32c61.json +8 -0
  82. esptool-5.3.0/esptool/targets/stub_flasher/2/esp32h2.json +8 -0
  83. esptool-5.3.0/esptool/targets/stub_flasher/2/esp32h4.json +8 -0
  84. esptool-5.3.0/esptool/targets/stub_flasher/2/esp32p4-rev1.json +8 -0
  85. esptool-5.3.0/esptool/targets/stub_flasher/2/esp32p4.json +8 -0
  86. esptool-5.3.0/esptool/targets/stub_flasher/2/esp32s2.json +8 -0
  87. esptool-5.3.0/esptool/targets/stub_flasher/2/esp32s3.json +30 -0
  88. esptool-5.3.0/esptool/targets/stub_flasher/2/esp32s31.json +8 -0
  89. esptool-5.3.0/esptool/targets/stub_flasher/2/esp8266.json +8 -0
  90. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/util.py +30 -1
  91. {esptool-5.2.dev3 → esptool-5.3.0/esptool.egg-info}/PKG-INFO +2 -1
  92. {esptool-5.2.dev3 → esptool-5.3.0}/esptool.egg-info/SOURCES.txt +11 -3
  93. {esptool-5.2.dev3 → esptool-5.3.0}/pyproject.toml +4 -3
  94. {esptool-5.2.dev3 → esptool-5.3.0}/setup.py +1 -0
  95. esptool-5.2.dev3/espefuse/efuse_defs/esp32s31.yaml +0 -122
  96. esptool-5.2.dev3/esptool/targets/stub_flasher/1/esp32c61.json +0 -8
  97. esptool-5.2.dev3/esptool/targets/stub_flasher/1/esp32p4.json +0 -8
  98. esptool-5.2.dev3/esptool/targets/stub_flasher/2/esp32.json +0 -5
  99. esptool-5.2.dev3/esptool/targets/stub_flasher/2/esp32c2.json +0 -5
  100. esptool-5.2.dev3/esptool/targets/stub_flasher/2/esp32c3.json +0 -5
  101. esptool-5.2.dev3/esptool/targets/stub_flasher/2/esp32c5.json +0 -5
  102. esptool-5.2.dev3/esptool/targets/stub_flasher/2/esp32c6.json +0 -5
  103. esptool-5.2.dev3/esptool/targets/stub_flasher/2/esp32c61.json +0 -5
  104. esptool-5.2.dev3/esptool/targets/stub_flasher/2/esp32h2.json +0 -5
  105. esptool-5.2.dev3/esptool/targets/stub_flasher/2/esp32p4.json +0 -5
  106. esptool-5.2.dev3/esptool/targets/stub_flasher/2/esp32s2.json +0 -5
  107. esptool-5.2.dev3/esptool/targets/stub_flasher/2/esp32s3.json +0 -5
  108. esptool-5.2.dev3/esptool/targets/stub_flasher/2/esp8266.json +0 -5
  109. {esptool-5.2.dev3 → esptool-5.3.0}/LICENSE +0 -0
  110. {esptool-5.2.dev3 → esptool-5.3.0}/MANIFEST.in +0 -0
  111. {esptool-5.2.dev3 → esptool-5.3.0}/README.md +0 -0
  112. {esptool-5.2.dev3 → esptool-5.3.0}/esp_rfc2217_server/__main__.py +0 -0
  113. {esptool-5.2.dev3 → esptool-5.3.0}/esp_rfc2217_server/redirector.py +1 -1
  114. {esptool-5.2.dev3 → esptool-5.3.0}/esp_rfc2217_server.py +0 -0
  115. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/__main__.py +0 -0
  116. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/__init__.py +0 -0
  117. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/csv_table_parser.py +0 -0
  118. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32/__init__.py +0 -0
  119. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32/emulate_efuse_controller.py +3 -3
  120. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32/mem_definition.py +1 -1
  121. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32/operations.py +3 -3
  122. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c2/__init__.py +0 -0
  123. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c2/mem_definition.py +1 -1
  124. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c3/__init__.py +0 -0
  125. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c3/emulate_efuse_controller.py +3 -3
  126. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c3/mem_definition.py +1 -1
  127. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c5/__init__.py +0 -0
  128. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c5/emulate_efuse_controller.py +3 -3
  129. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c5/mem_definition.py +1 -1
  130. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c6/__init__.py +0 -0
  131. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c6/emulate_efuse_controller.py +3 -3
  132. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c6/mem_definition.py +1 -1
  133. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c61/__init__.py +0 -0
  134. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c61/emulate_efuse_controller.py +3 -3
  135. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32c61/mem_definition.py +1 -1
  136. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32h2/__init__.py +0 -0
  137. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32h2/emulate_efuse_controller.py +3 -3
  138. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32h2/mem_definition.py +1 -1
  139. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32h21/__init__.py +0 -0
  140. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32h21/emulate_efuse_controller.py +3 -3
  141. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32h21/mem_definition.py +1 -1
  142. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32h4/__init__.py +0 -0
  143. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32h4/emulate_efuse_controller.py +3 -3
  144. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32h4/mem_definition.py +1 -1
  145. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32p4/__init__.py +0 -0
  146. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32p4/emulate_efuse_controller.py +3 -3
  147. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32p4/mem_definition.py +1 -1
  148. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32s2/__init__.py +0 -0
  149. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32s2/emulate_efuse_controller.py +3 -3
  150. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32s2/mem_definition.py +1 -1
  151. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32s3/__init__.py +0 -0
  152. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32s3/emulate_efuse_controller.py +3 -3
  153. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32s3/mem_definition.py +1 -1
  154. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32s31/__init__.py +0 -0
  155. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse/esp32s31/mem_definition.py +1 -1
  156. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse_defs/esp32.yaml +0 -0
  157. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse_defs/esp32c2.yaml +0 -0
  158. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse_defs/esp32c3.yaml +0 -0
  159. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse_defs/esp32c6.yaml +0 -0
  160. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse_defs/esp32c61.yaml +0 -0
  161. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse_defs/esp32h2.yaml +0 -0
  162. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse_defs/esp32h2_v0.0_v1.1.yaml +0 -0
  163. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse_defs/esp32p4.yaml +0 -0
  164. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse_defs/esp32s2.yaml +0 -0
  165. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse/efuse_defs/esp32s3.yaml +0 -0
  166. {esptool-5.2.dev3 → esptool-5.3.0}/espefuse.py +0 -0
  167. {esptool-5.2.dev3 → esptool-5.3.0}/espsecure/__main__.py +0 -0
  168. {esptool-5.2.dev3 → esptool-5.3.0}/espsecure.py +0 -0
  169. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/__main__.py +0 -0
  170. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/config.py +0 -0
  171. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/esp8266.py +0 -0
  172. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/stub_flasher/1/README.md +0 -0
  173. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/stub_flasher/1/esp32.json +0 -0
  174. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/stub_flasher/1/esp32c2.json +0 -0
  175. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/stub_flasher/1/esp32c3.json +0 -0
  176. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/stub_flasher/1/esp32c5.json +0 -0
  177. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/stub_flasher/1/esp32c6.json +0 -0
  178. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/stub_flasher/1/esp32h2.json +0 -0
  179. /esptool-5.2.dev3/esptool/targets/stub_flasher/1/esp32p4rc1.json → /esptool-5.3.0/esptool/targets/stub_flasher/1/esp32p4-rev1.json +0 -0
  180. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/stub_flasher/1/esp32s2.json +0 -0
  181. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/stub_flasher/1/esp32s3.json +0 -0
  182. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/stub_flasher/1/esp8266.json +0 -0
  183. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/stub_flasher/2/LICENSE-APACHE +0 -0
  184. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/targets/stub_flasher/2/LICENSE-MIT +0 -0
  185. {esptool-5.2.dev3 → esptool-5.3.0}/esptool/uf2_writer.py +0 -0
  186. {esptool-5.2.dev3 → esptool-5.3.0}/esptool.egg-info/dependency_links.txt +0 -0
  187. {esptool-5.2.dev3 → esptool-5.3.0}/esptool.egg-info/entry_points.txt +0 -0
  188. {esptool-5.2.dev3 → esptool-5.3.0}/esptool.egg-info/requires.txt +0 -0
  189. {esptool-5.2.dev3 → esptool-5.3.0}/esptool.egg-info/top_level.txt +0 -0
  190. {esptool-5.2.dev3 → esptool-5.3.0}/esptool.py +0 -0
  191. {esptool-5.2.dev3 → esptool-5.3.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: esptool
3
- Version: 5.2.dev3
3
+ Version: 5.3.0
4
4
  Summary: A serial utility for flashing, provisioning, and interacting with Espressif SoCs.
5
5
  Author: Fredrik Ahlberg (themadinventor), Angus Gratton (projectgus), Espressif Systems
6
6
  License: GPLv2+
@@ -22,6 +22,7 @@ Classifier: Programming Language :: Python :: 3.10
22
22
  Classifier: Programming Language :: Python :: 3.11
23
23
  Classifier: Programming Language :: Python :: 3.12
24
24
  Classifier: Programming Language :: Python :: 3.13
25
+ Classifier: Programming Language :: Python :: 3.14
25
26
  Requires-Python: >=3.10
26
27
  Description-Content-Type: text/markdown
27
28
  License-File: LICENSE
@@ -15,6 +15,7 @@
15
15
  import logging
16
16
  import socket
17
17
  import sys
18
+
18
19
  import serial
19
20
 
20
21
  from esp_rfc2217_server.redirector import Redirector
@@ -93,7 +94,12 @@ def main():
93
94
  srv.listen(1)
94
95
  logging.info(f"TCP/IP port: {args.localport}")
95
96
 
96
- host_ip = socket.gethostbyname(socket.gethostname())
97
+ try:
98
+ host_ip = socket.gethostbyname(socket.gethostname())
99
+ except OSError:
100
+ # CI/minimal containers often have no DNS for gethostname(); the server
101
+ # is still reachable on loopback.
102
+ host_ip = "127.0.0.1"
97
103
  wait_msg = (
98
104
  "Waiting for connection ... use the 'rfc2217://"
99
105
  f"{host_ip}:{args.localport}?ign_set_control' as a PORT"
@@ -4,13 +4,7 @@
4
4
  # SPDX-License-Identifier: BSD-3-Clause
5
5
  import os
6
6
  import threading
7
- from esptool.reset import (
8
- ClassicReset,
9
- CustomReset,
10
- DEFAULT_RESET_DELAY,
11
- HardReset,
12
- UnixTightReset,
13
- )
7
+
14
8
  import serial
15
9
  import serial.rfc2217
16
10
  from serial.rfc2217 import (
@@ -23,6 +17,13 @@ from serial.rfc2217 import (
23
17
  )
24
18
 
25
19
  from esptool.config import load_config_file
20
+ from esptool.reset import (
21
+ DEFAULT_RESET_DELAY,
22
+ ClassicReset,
23
+ CustomReset,
24
+ HardReset,
25
+ UnixTightReset,
26
+ )
26
27
 
27
28
  cfg, _ = load_config_file(verbose=True)
28
29
  cfg = cfg["esptool"]
@@ -7,20 +7,19 @@ import sys
7
7
  import rich_click as click
8
8
 
9
9
  import esptool
10
- from esptool.cli_util import BaudRateType, ChipType, ResetModeType, SerialPortType
11
- from esptool.logger import log
12
-
13
10
  from espefuse.cli_util import Group
14
11
  from espefuse.efuse.base_operations import BaseCommands
15
12
  from espefuse.efuse_interface import (
16
13
  DEPRECATED_COMMANDS,
17
- get_esp,
18
- init_commands,
19
- SUPPORTED_COMMANDS,
20
14
  SUPPORTED_BURN_COMMANDS,
21
- SUPPORTED_READ_COMMANDS,
22
15
  SUPPORTED_CHIPS,
16
+ SUPPORTED_COMMANDS,
17
+ SUPPORTED_READ_COMMANDS,
18
+ get_esp,
19
+ init_commands,
23
20
  )
21
+ from esptool.cli_util import BaudRateType, ChipType, ResetModeType, SerialPortType
22
+ from esptool.logger import log
24
23
  from esptool.util import check_deprecated_py_suffix
25
24
 
26
25
  __all__ = [
@@ -73,6 +72,13 @@ __all__ = [
73
72
  default="default-reset",
74
73
  help="Which reset to perform before connecting to the chip.",
75
74
  )
75
+ @click.option(
76
+ "--after",
77
+ "-a",
78
+ type=ResetModeType(["hard-reset", "soft-reset", "no-reset", "watchdog-reset"]),
79
+ default="no-reset",
80
+ help="Which reset to perform after operation is finished.",
81
+ )
76
82
  @click.option(
77
83
  "--debug", "-d", is_flag=True, help="Show debugging information (loglevel=DEBUG)."
78
84
  )
@@ -110,6 +116,7 @@ def cli(
110
116
  baud,
111
117
  port,
112
118
  before,
119
+ after,
113
120
  debug,
114
121
  virt,
115
122
  path_efuse_file,
@@ -144,8 +151,12 @@ def cli(
144
151
  )
145
152
 
146
153
  def close_port():
147
- if not external_esp and not virt and esp._port:
154
+ if virt:
155
+ return
156
+ if not external_esp and esp._port:
148
157
  esp._port.close()
158
+ if after != "no-reset":
159
+ esptool.reset_chip(esp, after)
149
160
 
150
161
  ctx.call_on_close(close_port)
151
162
 
@@ -6,17 +6,16 @@ from typing import Any
6
6
 
7
7
  import rich_click as click
8
8
  from click.parser import OptionParser, ParsingState, _unpack_args
9
- from esptool.cli_util import Group as EsptoolGroup
10
- from esptool.logger import log
11
9
 
12
10
  from espefuse.efuse_interface import (
13
11
  DEPRECATED_COMMANDS,
14
- init_commands,
15
12
  SUPPORTED_BURN_COMMANDS,
16
- SUPPORTED_READ_COMMANDS,
17
13
  SUPPORTED_COMMANDS,
14
+ SUPPORTED_READ_COMMANDS,
15
+ init_commands,
18
16
  )
19
-
17
+ from esptool.cli_util import Group as EsptoolGroup
18
+ from esptool.logger import log
20
19
 
21
20
  click.rich_click.USE_CLICK_SHORT_HELP = True
22
21
  click.rich_click.COMMAND_GROUPS = {