esptool 5.2.dev4__tar.gz → 5.3.dev1__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 (189) hide show
  1. {esptool-5.2.dev4/esptool.egg-info → esptool-5.3.dev1}/PKG-INFO +2 -1
  2. {esptool-5.2.dev4 → esptool-5.3.dev1}/esp_rfc2217_server/__init__.py +6 -1
  3. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/__init__.py +13 -1
  4. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/base_fields.py +425 -165
  5. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/base_operations.py +41 -15
  6. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/emulate_efuse_controller_base.py +2 -2
  7. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32/fields.py +21 -89
  8. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c2/fields.py +31 -108
  9. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c3/fields.py +35 -155
  10. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c3/operations.py +6 -0
  11. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c5/fields.py +33 -176
  12. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c5/operations.py +6 -0
  13. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c6/fields.py +36 -176
  14. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c6/operations.py +6 -0
  15. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c61/fields.py +32 -169
  16. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c61/operations.py +6 -0
  17. esptool-5.3.dev1/espefuse/efuse/esp32e22/__init__.py +5 -0
  18. esptool-5.3.dev1/espefuse/efuse/esp32e22/emulate_efuse_controller.py +97 -0
  19. esptool-5.3.dev1/espefuse/efuse/esp32e22/fields.py +307 -0
  20. esptool-5.3.dev1/espefuse/efuse/esp32e22/mem_definition.py +156 -0
  21. esptool-5.3.dev1/espefuse/efuse/esp32e22/operations.py +301 -0
  22. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32h2/fields.py +34 -159
  23. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32h2/operations.py +6 -0
  24. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32h21/fields.py +29 -166
  25. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32h21/operations.py +6 -0
  26. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32h4/fields.py +39 -166
  27. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32h4/operations.py +6 -0
  28. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32p4/fields.py +37 -174
  29. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32p4/operations.py +6 -0
  30. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32s2/fields.py +32 -154
  31. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32s2/operations.py +6 -0
  32. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32s3/fields.py +36 -157
  33. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32s3/operations.py +6 -0
  34. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32s31/fields.py +29 -167
  35. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32s31/operations.py +6 -0
  36. esptool-5.3.dev1/espefuse/efuse_defs/esp32e22.yaml +78 -0
  37. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse_defs/esp32p4_v3.0.yaml +1 -1
  38. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse_interface.py +2 -0
  39. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/__init__.py +70 -6
  40. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/bin_image.py +12 -1
  41. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/cli_util.py +60 -0
  42. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/cmds.py +551 -205
  43. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/loader.py +72 -17
  44. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/logger.py +5 -0
  45. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/__init__.py +2 -0
  46. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/esp32c2.py +1 -1
  47. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/esp32c5.py +12 -6
  48. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/esp32c61.py +1 -1
  49. esptool-5.3.dev1/esptool/targets/esp32e22.py +260 -0
  50. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/esp32h4.py +51 -12
  51. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/esp32p4.py +37 -10
  52. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/esp32s31.py +29 -14
  53. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/stub_flasher/2/README.md +1 -1
  54. esptool-5.3.dev1/esptool/targets/stub_flasher/2/esp32.json +8 -0
  55. esptool-5.3.dev1/esptool/targets/stub_flasher/2/esp32c2.json +8 -0
  56. esptool-5.3.dev1/esptool/targets/stub_flasher/2/esp32c3.json +8 -0
  57. esptool-5.3.dev1/esptool/targets/stub_flasher/2/esp32c5.json +8 -0
  58. esptool-5.3.dev1/esptool/targets/stub_flasher/2/esp32c6.json +8 -0
  59. esptool-5.3.dev1/esptool/targets/stub_flasher/2/esp32c61.json +8 -0
  60. esptool-5.3.dev1/esptool/targets/stub_flasher/2/esp32h2.json +8 -0
  61. esptool-5.3.dev1/esptool/targets/stub_flasher/2/esp32h4.json +8 -0
  62. esptool-5.3.dev1/esptool/targets/stub_flasher/2/esp32p4-rev1.json +8 -0
  63. esptool-5.3.dev1/esptool/targets/stub_flasher/2/esp32p4.json +8 -0
  64. esptool-5.3.dev1/esptool/targets/stub_flasher/2/esp32s2.json +8 -0
  65. esptool-5.3.dev1/esptool/targets/stub_flasher/2/esp32s3.json +29 -0
  66. esptool-5.3.dev1/esptool/targets/stub_flasher/2/esp8266.json +8 -0
  67. {esptool-5.2.dev4 → esptool-5.3.dev1/esptool.egg-info}/PKG-INFO +2 -1
  68. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool.egg-info/SOURCES.txt +10 -3
  69. {esptool-5.2.dev4 → esptool-5.3.dev1}/pyproject.toml +3 -2
  70. esptool-5.2.dev4/esptool/targets/stub_flasher/1/esp32c61.json +0 -8
  71. esptool-5.2.dev4/esptool/targets/stub_flasher/1/esp32p4.json +0 -8
  72. esptool-5.2.dev4/esptool/targets/stub_flasher/2/esp32.json +0 -5
  73. esptool-5.2.dev4/esptool/targets/stub_flasher/2/esp32c2.json +0 -5
  74. esptool-5.2.dev4/esptool/targets/stub_flasher/2/esp32c3.json +0 -5
  75. esptool-5.2.dev4/esptool/targets/stub_flasher/2/esp32c5.json +0 -5
  76. esptool-5.2.dev4/esptool/targets/stub_flasher/2/esp32c6.json +0 -5
  77. esptool-5.2.dev4/esptool/targets/stub_flasher/2/esp32c61.json +0 -5
  78. esptool-5.2.dev4/esptool/targets/stub_flasher/2/esp32h2.json +0 -5
  79. esptool-5.2.dev4/esptool/targets/stub_flasher/2/esp32p4.json +0 -5
  80. esptool-5.2.dev4/esptool/targets/stub_flasher/2/esp32s2.json +0 -5
  81. esptool-5.2.dev4/esptool/targets/stub_flasher/2/esp32s3.json +0 -5
  82. esptool-5.2.dev4/esptool/targets/stub_flasher/2/esp8266.json +0 -5
  83. {esptool-5.2.dev4 → esptool-5.3.dev1}/LICENSE +0 -0
  84. {esptool-5.2.dev4 → esptool-5.3.dev1}/MANIFEST.in +0 -0
  85. {esptool-5.2.dev4 → esptool-5.3.dev1}/README.md +0 -0
  86. {esptool-5.2.dev4 → esptool-5.3.dev1}/esp_rfc2217_server/__main__.py +0 -0
  87. {esptool-5.2.dev4 → esptool-5.3.dev1}/esp_rfc2217_server/esp_port_manager.py +0 -0
  88. {esptool-5.2.dev4 → esptool-5.3.dev1}/esp_rfc2217_server/redirector.py +0 -0
  89. {esptool-5.2.dev4 → esptool-5.3.dev1}/esp_rfc2217_server.py +0 -0
  90. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/__main__.py +0 -0
  91. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/cli_util.py +0 -0
  92. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/__init__.py +0 -0
  93. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/csv_table_parser.py +0 -0
  94. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32/__init__.py +0 -0
  95. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32/emulate_efuse_controller.py +0 -0
  96. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32/mem_definition.py +0 -0
  97. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32/operations.py +0 -0
  98. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c2/__init__.py +0 -0
  99. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c2/emulate_efuse_controller.py +0 -0
  100. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c2/mem_definition.py +0 -0
  101. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c2/operations.py +0 -0
  102. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c3/__init__.py +0 -0
  103. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c3/emulate_efuse_controller.py +0 -0
  104. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c3/mem_definition.py +0 -0
  105. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c5/__init__.py +0 -0
  106. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c5/emulate_efuse_controller.py +0 -0
  107. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c5/mem_definition.py +0 -0
  108. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c6/__init__.py +0 -0
  109. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c6/emulate_efuse_controller.py +0 -0
  110. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c6/mem_definition.py +0 -0
  111. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c61/__init__.py +0 -0
  112. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c61/emulate_efuse_controller.py +0 -0
  113. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32c61/mem_definition.py +0 -0
  114. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32h2/__init__.py +0 -0
  115. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32h2/emulate_efuse_controller.py +0 -0
  116. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32h2/mem_definition.py +0 -0
  117. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32h21/__init__.py +0 -0
  118. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32h21/emulate_efuse_controller.py +0 -0
  119. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32h21/mem_definition.py +0 -0
  120. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32h4/__init__.py +0 -0
  121. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32h4/emulate_efuse_controller.py +0 -0
  122. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32h4/mem_definition.py +0 -0
  123. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32p4/__init__.py +0 -0
  124. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32p4/emulate_efuse_controller.py +0 -0
  125. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32p4/mem_definition.py +0 -0
  126. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32s2/__init__.py +0 -0
  127. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32s2/emulate_efuse_controller.py +0 -0
  128. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32s2/mem_definition.py +0 -0
  129. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32s3/__init__.py +0 -0
  130. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32s3/emulate_efuse_controller.py +0 -0
  131. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32s3/mem_definition.py +0 -0
  132. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32s31/__init__.py +0 -0
  133. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32s31/emulate_efuse_controller.py +0 -0
  134. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/esp32s31/mem_definition.py +0 -0
  135. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/mem_definition_base.py +0 -0
  136. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse/util.py +0 -0
  137. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse_defs/esp32.yaml +0 -0
  138. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse_defs/esp32c2.yaml +0 -0
  139. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse_defs/esp32c3.yaml +0 -0
  140. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse_defs/esp32c5.yaml +0 -0
  141. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse_defs/esp32c6.yaml +0 -0
  142. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse_defs/esp32c61.yaml +0 -0
  143. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse_defs/esp32h2.yaml +0 -0
  144. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse_defs/esp32h21.yaml +0 -0
  145. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse_defs/esp32h2_v0.0_v1.1.yaml +0 -0
  146. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse_defs/esp32h4.yaml +0 -0
  147. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse_defs/esp32p4.yaml +0 -0
  148. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse_defs/esp32s2.yaml +0 -0
  149. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse_defs/esp32s3.yaml +0 -0
  150. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse/efuse_defs/esp32s31.yaml +0 -0
  151. {esptool-5.2.dev4 → esptool-5.3.dev1}/espefuse.py +0 -0
  152. {esptool-5.2.dev4 → esptool-5.3.dev1}/espsecure/__init__.py +0 -0
  153. {esptool-5.2.dev4 → esptool-5.3.dev1}/espsecure/__main__.py +0 -0
  154. {esptool-5.2.dev4 → esptool-5.3.dev1}/espsecure/esp_hsm_sign/__init__.py +0 -0
  155. {esptool-5.2.dev4 → esptool-5.3.dev1}/espsecure/esp_hsm_sign/exceptions.py +0 -0
  156. {esptool-5.2.dev4 → esptool-5.3.dev1}/espsecure.py +0 -0
  157. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/__main__.py +0 -0
  158. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/config.py +0 -0
  159. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/reset.py +0 -0
  160. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/esp32.py +0 -0
  161. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/esp32c3.py +0 -0
  162. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/esp32c6.py +0 -0
  163. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/esp32h2.py +0 -0
  164. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/esp32h21.py +0 -0
  165. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/esp32s2.py +0 -0
  166. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/esp32s3.py +0 -0
  167. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/esp8266.py +0 -0
  168. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/stub_flasher/1/README.md +0 -0
  169. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/stub_flasher/1/esp32.json +0 -0
  170. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/stub_flasher/1/esp32c2.json +0 -0
  171. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/stub_flasher/1/esp32c3.json +0 -0
  172. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/stub_flasher/1/esp32c5.json +0 -0
  173. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/stub_flasher/1/esp32c6.json +0 -0
  174. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/stub_flasher/1/esp32h2.json +0 -0
  175. /esptool-5.2.dev4/esptool/targets/stub_flasher/1/esp32p4rc1.json → /esptool-5.3.dev1/esptool/targets/stub_flasher/1/esp32p4-rev1.json +0 -0
  176. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/stub_flasher/1/esp32s2.json +0 -0
  177. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/stub_flasher/1/esp32s3.json +0 -0
  178. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/stub_flasher/1/esp8266.json +0 -0
  179. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/stub_flasher/2/LICENSE-APACHE +0 -0
  180. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/targets/stub_flasher/2/LICENSE-MIT +0 -0
  181. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/uf2_writer.py +0 -0
  182. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool/util.py +0 -0
  183. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool.egg-info/dependency_links.txt +0 -0
  184. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool.egg-info/entry_points.txt +0 -0
  185. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool.egg-info/requires.txt +0 -0
  186. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool.egg-info/top_level.txt +0 -0
  187. {esptool-5.2.dev4 → esptool-5.3.dev1}/esptool.py +0 -0
  188. {esptool-5.2.dev4 → esptool-5.3.dev1}/setup.cfg +0 -0
  189. {esptool-5.2.dev4 → esptool-5.3.dev1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: esptool
3
- Version: 5.2.dev4
3
+ Version: 5.3.dev1
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
@@ -93,7 +93,12 @@ def main():
93
93
  srv.listen(1)
94
94
  logging.info(f"TCP/IP port: {args.localport}")
95
95
 
96
- host_ip = socket.gethostbyname(socket.gethostname())
96
+ try:
97
+ host_ip = socket.gethostbyname(socket.gethostname())
98
+ except OSError:
99
+ # CI/minimal containers often have no DNS for gethostname(); the server
100
+ # is still reachable on loopback.
101
+ host_ip = "127.0.0.1"
97
102
  wait_msg = (
98
103
  "Waiting for connection ... use the 'rfc2217://"
99
104
  f"{host_ip}:{args.localport}?ign_set_control' as a PORT"
@@ -73,6 +73,13 @@ __all__ = [
73
73
  default="default-reset",
74
74
  help="Which reset to perform before connecting to the chip.",
75
75
  )
76
+ @click.option(
77
+ "--after",
78
+ "-a",
79
+ type=ResetModeType(["hard-reset", "soft-reset", "no-reset", "watchdog-reset"]),
80
+ default="no-reset",
81
+ help="Which reset to perform after operation is finished.",
82
+ )
76
83
  @click.option(
77
84
  "--debug", "-d", is_flag=True, help="Show debugging information (loglevel=DEBUG)."
78
85
  )
@@ -110,6 +117,7 @@ def cli(
110
117
  baud,
111
118
  port,
112
119
  before,
120
+ after,
113
121
  debug,
114
122
  virt,
115
123
  path_efuse_file,
@@ -144,8 +152,12 @@ def cli(
144
152
  )
145
153
 
146
154
  def close_port():
147
- if not external_esp and not virt and esp._port:
155
+ if virt:
156
+ return
157
+ if not external_esp and esp._port:
148
158
  esp._port.close()
159
+ if after != "no-reset":
160
+ esptool.reset_chip(esp, after)
149
161
 
150
162
  ctx.call_on_close(close_port)
151
163