esptool 4.11.dev2__tar.gz → 4.12.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 (179) hide show
  1. {esptool-4.11.dev2/esptool.egg-info → esptool-4.12.dev1}/PKG-INFO +1 -1
  2. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/__init__.py +17 -4
  3. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/loader.py +0 -3
  4. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp32p4.py +4 -2
  5. {esptool-4.11.dev2 → esptool-4.12.dev1/esptool.egg-info}/PKG-INFO +1 -1
  6. {esptool-4.11.dev2 → esptool-4.12.dev1}/pyproject.toml +1 -1
  7. {esptool-4.11.dev2 → esptool-4.12.dev1}/LICENSE +0 -0
  8. {esptool-4.11.dev2 → esptool-4.12.dev1}/MANIFEST.in +0 -0
  9. {esptool-4.11.dev2 → esptool-4.12.dev1}/README.md +0 -0
  10. {esptool-4.11.dev2 → esptool-4.12.dev1}/esp_rfc2217_server/__init__.py +0 -0
  11. {esptool-4.11.dev2 → esptool-4.12.dev1}/esp_rfc2217_server/__main__.py +0 -0
  12. {esptool-4.11.dev2 → esptool-4.12.dev1}/esp_rfc2217_server/esp_port_manager.py +0 -0
  13. {esptool-4.11.dev2 → esptool-4.12.dev1}/esp_rfc2217_server/redirector.py +0 -0
  14. {esptool-4.11.dev2 → esptool-4.12.dev1}/esp_rfc2217_server.py +0 -0
  15. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/__init__.py +0 -0
  16. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/__main__.py +0 -0
  17. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/__init__.py +0 -0
  18. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/base_fields.py +0 -0
  19. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/base_operations.py +0 -0
  20. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/csv_table_parser.py +0 -0
  21. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/emulate_efuse_controller_base.py +0 -0
  22. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32/__init__.py +0 -0
  23. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32/emulate_efuse_controller.py +0 -0
  24. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32/fields.py +0 -0
  25. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32/mem_definition.py +0 -0
  26. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32/operations.py +0 -0
  27. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c2/__init__.py +0 -0
  28. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c2/emulate_efuse_controller.py +0 -0
  29. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c2/fields.py +0 -0
  30. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c2/mem_definition.py +0 -0
  31. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c2/operations.py +0 -0
  32. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c3/__init__.py +0 -0
  33. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c3/emulate_efuse_controller.py +0 -0
  34. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c3/fields.py +0 -0
  35. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c3/mem_definition.py +0 -0
  36. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c3/operations.py +0 -0
  37. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c5/__init__.py +0 -0
  38. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c5/emulate_efuse_controller.py +0 -0
  39. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c5/fields.py +0 -0
  40. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c5/mem_definition.py +0 -0
  41. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c5/operations.py +0 -0
  42. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c5beta3/__init__.py +0 -0
  43. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c5beta3/emulate_efuse_controller.py +0 -0
  44. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c5beta3/fields.py +0 -0
  45. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c5beta3/mem_definition.py +0 -0
  46. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c5beta3/operations.py +0 -0
  47. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c6/__init__.py +0 -0
  48. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c6/emulate_efuse_controller.py +0 -0
  49. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c6/fields.py +0 -0
  50. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c6/mem_definition.py +0 -0
  51. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c6/operations.py +0 -0
  52. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c61/__init__.py +0 -0
  53. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c61/emulate_efuse_controller.py +0 -0
  54. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c61/fields.py +0 -0
  55. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c61/mem_definition.py +0 -0
  56. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32c61/operations.py +0 -0
  57. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h2/__init__.py +0 -0
  58. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h2/emulate_efuse_controller.py +0 -0
  59. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h2/fields.py +0 -0
  60. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h2/mem_definition.py +0 -0
  61. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h2/operations.py +0 -0
  62. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h21/__init__.py +0 -0
  63. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h21/emulate_efuse_controller.py +0 -0
  64. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h21/fields.py +0 -0
  65. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h21/mem_definition.py +0 -0
  66. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h21/operations.py +0 -0
  67. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h2beta1/__init__.py +0 -0
  68. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h2beta1/emulate_efuse_controller.py +0 -0
  69. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h2beta1/fields.py +0 -0
  70. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h2beta1/mem_definition.py +0 -0
  71. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h2beta1/operations.py +0 -0
  72. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h4/__init__.py +0 -0
  73. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h4/emulate_efuse_controller.py +0 -0
  74. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h4/fields.py +0 -0
  75. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h4/mem_definition.py +0 -0
  76. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32h4/operations.py +0 -0
  77. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32p4/__init__.py +0 -0
  78. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32p4/emulate_efuse_controller.py +0 -0
  79. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32p4/fields.py +0 -0
  80. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32p4/mem_definition.py +0 -0
  81. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32p4/operations.py +0 -0
  82. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32s2/__init__.py +0 -0
  83. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32s2/emulate_efuse_controller.py +0 -0
  84. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32s2/fields.py +0 -0
  85. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32s2/mem_definition.py +0 -0
  86. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32s2/operations.py +0 -0
  87. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32s3/__init__.py +0 -0
  88. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32s3/emulate_efuse_controller.py +0 -0
  89. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32s3/fields.py +0 -0
  90. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32s3/mem_definition.py +0 -0
  91. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32s3/operations.py +0 -0
  92. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32s3beta2/__init__.py +0 -0
  93. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32s3beta2/emulate_efuse_controller.py +0 -0
  94. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32s3beta2/fields.py +0 -0
  95. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32s3beta2/mem_definition.py +0 -0
  96. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/esp32s3beta2/operations.py +0 -0
  97. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/mem_definition_base.py +0 -0
  98. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse/util.py +0 -0
  99. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse_defs/esp32.yaml +0 -0
  100. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse_defs/esp32c2.yaml +0 -0
  101. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse_defs/esp32c3.yaml +0 -0
  102. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse_defs/esp32c5.yaml +0 -0
  103. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse_defs/esp32c5beta3.yaml +0 -0
  104. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse_defs/esp32c6.yaml +0 -0
  105. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse_defs/esp32c61.yaml +0 -0
  106. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse_defs/esp32h2.yaml +0 -0
  107. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse_defs/esp32h21.yaml +0 -0
  108. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse_defs/esp32h2_v0.0_v1.1.yaml +0 -0
  109. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse_defs/esp32h4.yaml +0 -0
  110. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse_defs/esp32p4.yaml +0 -0
  111. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse_defs/esp32p4_v3.0.yaml +0 -0
  112. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse_defs/esp32s2.yaml +0 -0
  113. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse/efuse_defs/esp32s3.yaml +0 -0
  114. {esptool-4.11.dev2 → esptool-4.12.dev1}/espefuse.py +0 -0
  115. {esptool-4.11.dev2 → esptool-4.12.dev1}/espsecure/__init__.py +0 -0
  116. {esptool-4.11.dev2 → esptool-4.12.dev1}/espsecure/__main__.py +0 -0
  117. {esptool-4.11.dev2 → esptool-4.12.dev1}/espsecure/esp_hsm_sign/__init__.py +0 -0
  118. {esptool-4.11.dev2 → esptool-4.12.dev1}/espsecure/esp_hsm_sign/exceptions.py +0 -0
  119. {esptool-4.11.dev2 → esptool-4.12.dev1}/espsecure.py +0 -0
  120. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/__main__.py +0 -0
  121. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/bin_image.py +0 -0
  122. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/cmds.py +0 -0
  123. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/config.py +0 -0
  124. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/reset.py +0 -0
  125. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/__init__.py +0 -0
  126. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp32.py +0 -0
  127. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp32c2.py +0 -0
  128. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp32c3.py +0 -0
  129. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp32c5.py +0 -0
  130. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp32c5beta3.py +0 -0
  131. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp32c6.py +0 -0
  132. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp32c61.py +0 -0
  133. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp32c6beta.py +0 -0
  134. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp32h2.py +0 -0
  135. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp32h21.py +0 -0
  136. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp32h2beta1.py +0 -0
  137. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp32h2beta2.py +0 -0
  138. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp32h4.py +0 -0
  139. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp32s2.py +0 -0
  140. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp32s3.py +0 -0
  141. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp32s3beta2.py +0 -0
  142. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/esp8266.py +0 -0
  143. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/README.md +0 -0
  144. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/esp32.json +0 -0
  145. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/esp32c2.json +0 -0
  146. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/esp32c3.json +0 -0
  147. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/esp32c5.json +0 -0
  148. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/esp32c5beta3.json +0 -0
  149. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/esp32c6.json +0 -0
  150. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/esp32c61.json +0 -0
  151. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/esp32c6beta.json +0 -0
  152. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/esp32h2.json +0 -0
  153. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/esp32h2beta1.json +0 -0
  154. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/esp32h2beta2.json +0 -0
  155. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/esp32p4.json +0 -0
  156. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/esp32p4rc1.json +0 -0
  157. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/esp32s2.json +0 -0
  158. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/esp32s3.json +0 -0
  159. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/esp32s3beta2.json +0 -0
  160. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/1/esp8266.json +0 -0
  161. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/2/LICENSE-APACHE +0 -0
  162. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/2/LICENSE-MIT +0 -0
  163. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/2/README.md +0 -0
  164. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/2/esp32.json +0 -0
  165. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/2/esp32c2.json +0 -0
  166. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/2/esp32c3.json +0 -0
  167. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/2/esp32c6.json +0 -0
  168. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/2/esp32h2.json +0 -0
  169. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/2/esp32s2.json +0 -0
  170. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/targets/stub_flasher/2/esp32s3.json +0 -0
  171. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/uf2_writer.py +0 -0
  172. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool/util.py +0 -0
  173. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool.egg-info/SOURCES.txt +0 -0
  174. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool.egg-info/dependency_links.txt +0 -0
  175. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool.egg-info/requires.txt +0 -0
  176. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool.egg-info/top_level.txt +0 -0
  177. {esptool-4.11.dev2 → esptool-4.12.dev1}/esptool.py +0 -0
  178. {esptool-4.11.dev2 → esptool-4.12.dev1}/setup.cfg +0 -0
  179. {esptool-4.11.dev2 → esptool-4.12.dev1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: esptool
3
- Version: 4.11.dev2
3
+ Version: 4.12.dev1
4
4
  Summary: A serial utility to communicate & flash code to Espressif chips.
5
5
  Author: Fredrik Ahlberg (themadinventor), Angus Gratton (projectgus), Espressif Systems
6
6
  License: GPLv2+
@@ -29,7 +29,7 @@ __all__ = [
29
29
  "write_mem",
30
30
  ]
31
31
 
32
- __version__ = "4.11.dev2"
32
+ __version__ = "4.12.dev1"
33
33
 
34
34
  import argparse
35
35
  import inspect
@@ -898,9 +898,6 @@ def main(argv=None, esp=None):
898
898
  value = (hd << 24) | (cs << 18) | (d << 12) | (q << 6) | clk
899
899
  return spi_config_txt, value
900
900
 
901
- if not esp.secure_download_mode:
902
- esp.power_on_flash()
903
-
904
901
  # Override the common SPI flash parameter stuff if configured to do so
905
902
  if hasattr(args, "spi_connection") and args.spi_connection is not None:
906
903
  spi_config = args.spi_connection
@@ -1015,6 +1012,22 @@ def main(argv=None, esp=None):
1015
1012
  except FatalError as e:
1016
1013
  esp.trace(f"Unable to perform XMC flash chip startup sequence ({e}).")
1017
1014
 
1015
+ if not esp.secure_download_mode:
1016
+ try:
1017
+ """
1018
+ The flash state in the application has become increasingly complex,
1019
+ which can cause the ROM to run with residual states when reflashing
1020
+ after the application has been running. Since the ROM code is very
1021
+ simple and does not have the capability to handle these states,
1022
+ this adds a reset mechanism to the flash to cleanly reset its state,
1023
+ allowing the ROM to boot successfully (e.g. 120M boot up).
1024
+ """
1025
+ esp.run_spiflash_command(0x66) # Reset enable
1026
+ esp.run_spiflash_command(0x99) # Reset
1027
+ time.sleep(0.001)
1028
+ except FatalError as e:
1029
+ esp.trace(f"Unable to reset flash chip ({e}).")
1030
+
1018
1031
  if hasattr(args, "flash_size"):
1019
1032
  print("Configuring flash size...")
1020
1033
  if args.flash_size == "detect":
@@ -1182,9 +1182,6 @@ class ESPLoader(object):
1182
1182
 
1183
1183
  return "USB-Serial/JTAG" if usb_jtag_serial else "USB-OTG" if usb_otg else None
1184
1184
 
1185
- def power_on_flash(self):
1186
- pass # The flash chip needs to be powered on only in special cases
1187
-
1188
1185
  @classmethod
1189
1186
  def parse_flash_size_arg(cls, arg):
1190
1187
  try:
@@ -242,6 +242,8 @@ class ESP32P4ROM(ESP32ROM):
242
242
  self.ESP_RAM_BLOCK = self.USB_RAM_BLOCK
243
243
  if not self.sync_stub_detected: # Don't run if stub is reused
244
244
  self.disable_watchdogs()
245
+ if not self.secure_download_mode:
246
+ self.power_on_flash() # Needs to be powered on before attach_flash()
245
247
 
246
248
  def uses_usb_otg(self):
247
249
  """
@@ -307,8 +309,8 @@ class ESP32P4ROM(ESP32ROM):
307
309
  if self.secure_download_mode:
308
310
  raise NotSupportedError(self, "Powering on flash in secure download mode")
309
311
 
310
- if self.get_chip_revision() <= 300: # <=ECO5
311
- # The flash chip is powered off by default on >=ECO6, when the default flash
312
+ if self.get_chip_revision() != 301: # !=ECO6
313
+ # The flash chip is powered off by default on ECO6, when the default flash
312
314
  # voltage changed from 1.8V to 3.3V. This is to prevent damage to 1.8V flash
313
315
  # chips. Board designers must set the appropriate voltage level in eFuse.
314
316
  return
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: esptool
3
- Version: 4.11.dev2
3
+ Version: 4.12.dev1
4
4
  Summary: A serial utility to communicate & flash code to Espressif chips.
5
5
  Author: Fredrik Ahlberg (themadinventor), Angus Gratton (projectgus), Espressif Systems
6
6
  License: GPLv2+
@@ -76,7 +76,7 @@
76
76
  version = {attr = "esptool.__init__.__version__"}
77
77
 
78
78
  [tool.commitizen]
79
- version = "4.10.0"
79
+ version = "4.11.0"
80
80
  update_changelog_on_bump = true
81
81
  tag_format = "v$version"
82
82
  changelog_start_rev = "v4.2.1"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes