mpflash 1.0.0__py3-none-any.whl → 1.0.2__py3-none-any.whl

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 (52) hide show
  1. mpflash/add_firmware.py +98 -98
  2. mpflash/ask_input.py +236 -236
  3. mpflash/basicgit.py +284 -284
  4. mpflash/bootloader/__init__.py +2 -2
  5. mpflash/bootloader/activate.py +60 -60
  6. mpflash/bootloader/detect.py +82 -82
  7. mpflash/bootloader/manual.py +101 -101
  8. mpflash/bootloader/micropython.py +12 -12
  9. mpflash/bootloader/touch1200.py +36 -36
  10. mpflash/cli_download.py +129 -129
  11. mpflash/cli_flash.py +224 -216
  12. mpflash/cli_group.py +111 -111
  13. mpflash/cli_list.py +87 -87
  14. mpflash/cli_main.py +39 -39
  15. mpflash/common.py +210 -166
  16. mpflash/config.py +44 -44
  17. mpflash/connected.py +104 -77
  18. mpflash/download.py +364 -364
  19. mpflash/downloaded.py +130 -130
  20. mpflash/errors.py +9 -9
  21. mpflash/flash/__init__.py +55 -55
  22. mpflash/flash/esp.py +59 -59
  23. mpflash/flash/stm32.py +19 -19
  24. mpflash/flash/stm32_dfu.py +104 -104
  25. mpflash/flash/uf2/__init__.py +88 -88
  26. mpflash/flash/uf2/boardid.py +15 -15
  27. mpflash/flash/uf2/linux.py +136 -130
  28. mpflash/flash/uf2/macos.py +42 -42
  29. mpflash/flash/uf2/uf2disk.py +12 -12
  30. mpflash/flash/uf2/windows.py +43 -43
  31. mpflash/flash/worklist.py +170 -170
  32. mpflash/list.py +106 -106
  33. mpflash/logger.py +41 -41
  34. mpflash/mpboard_id/__init__.py +93 -93
  35. mpflash/mpboard_id/add_boards.py +251 -251
  36. mpflash/mpboard_id/board.py +37 -37
  37. mpflash/mpboard_id/board_id.py +86 -86
  38. mpflash/mpboard_id/store.py +43 -43
  39. mpflash/mpremoteboard/__init__.py +266 -266
  40. mpflash/mpremoteboard/mpy_fw_info.py +141 -141
  41. mpflash/mpremoteboard/runner.py +140 -140
  42. mpflash/vendor/click_aliases.py +91 -91
  43. mpflash/vendor/dfu.py +165 -165
  44. mpflash/vendor/pydfu.py +605 -605
  45. mpflash/vendor/readme.md +2 -2
  46. mpflash/versions.py +135 -135
  47. {mpflash-1.0.0.dist-info → mpflash-1.0.2.dist-info}/LICENSE +20 -20
  48. {mpflash-1.0.0.dist-info → mpflash-1.0.2.dist-info}/METADATA +1 -1
  49. mpflash-1.0.2.dist-info/RECORD +53 -0
  50. mpflash-1.0.0.dist-info/RECORD +0 -53
  51. {mpflash-1.0.0.dist-info → mpflash-1.0.2.dist-info}/WHEEL +0 -0
  52. {mpflash-1.0.0.dist-info → mpflash-1.0.2.dist-info}/entry_points.txt +0 -0
mpflash/vendor/readme.md CHANGED
@@ -1,3 +1,3 @@
1
- These modules are vendored from the following repositories:
2
-
1
+ These modules are vendored from the following repositories:
2
+
3
3
  micropython/micropython
mpflash/versions.py CHANGED
@@ -1,135 +1,135 @@
1
- """
2
- #############################################################
3
- # Version handling copied from stubber/utils/versions.py
4
- #############################################################
5
- """
6
-
7
- from pathlib import Path
8
-
9
- from cache_to_disk import NoCacheCondition, cache_to_disk
10
- from loguru import logger as log
11
- from packaging.version import parse
12
-
13
- import mpflash.basicgit as git
14
- from mpflash.common import GH_CLIENT
15
-
16
- OLDEST_VERSION = "1.16"
17
- "This is the oldest MicroPython version to build the stubs on"
18
-
19
- V_PREVIEW = "preview"
20
- "Latest preview version"
21
-
22
- SET_PREVIEW = {"preview", "latest", "master"}
23
-
24
-
25
- def clean_version(
26
- version: str,
27
- *,
28
- build: bool = False,
29
- patch: bool = False,
30
- commit: bool = False,
31
- drop_v: bool = False,
32
- flat: bool = False,
33
- ): # sourcery skip: assign-if-exp
34
- "Clean up and transform the many flavours of versions"
35
- # 'v1.13.0-103-gb137d064e' --> 'v1.13-103'
36
- if version in {"", "-"}:
37
- return version
38
- if version.lower() == "stable":
39
- _v = get_stable_mp_version()
40
- if not _v:
41
- log.warning("Could not determine the latest stable version")
42
- return "stable"
43
- version = _v
44
- log.trace(f"Using latest stable version: {version}")
45
- is_preview = "-preview" in version
46
- nibbles = version.split("-")
47
- ver_ = nibbles[0].lower().lstrip("v")
48
- if not patch and ver_ >= "1.10.0" and ver_ < "1.20.0" and ver_.endswith(".0"):
49
- # remove the last ".0" - but only for versions between 1.10 and 1.20 (because)
50
- nibbles[0] = nibbles[0][:-2]
51
- if len(nibbles) == 1:
52
- version = nibbles[0]
53
- elif build and not is_preview:
54
- # HACK: this is not always right, but good enough most of the time
55
- version = "-".join(nibbles) if commit else "-".join(nibbles[:-1])
56
- elif is_preview:
57
- version = "-".join((nibbles[0], V_PREVIEW))
58
- else:
59
- version = V_PREVIEW
60
- if flat:
61
- version = version.strip().replace(".", "_").replace("-", "_")
62
- else:
63
- version = version.strip().replace("_preview", "-preview").replace("_", ".")
64
-
65
- if drop_v:
66
- version = version.lstrip("v")
67
- elif not version.startswith("v") and version.lower() not in SET_PREVIEW:
68
- version = "v" + version
69
- if version in SET_PREVIEW:
70
- version = V_PREVIEW
71
- return version
72
-
73
-
74
- @cache_to_disk(n_days_to_cache=1)
75
- def micropython_versions(minver: str = "v1.20", reverse: bool = False):
76
- """Get the list of micropython versions from github tags"""
77
- cache_it = True
78
- try:
79
- gh_client = GH_CLIENT
80
- repo = gh_client.get_repo("micropython/micropython")
81
- versions = [tag.name for tag in repo.get_tags() if parse(tag.name) >= parse(minver)]
82
- # Only keep the last preview
83
- versions = [v for v in versions if not v.endswith(V_PREVIEW) or v == versions[-1]]
84
- except Exception:
85
- versions = [
86
- "v9.99.9-preview",
87
- "v1.22.2",
88
- "v1.22.1",
89
- "v1.22.0",
90
- "v1.21.1",
91
- "v1.21.0",
92
- "v1.20.0",
93
- "v1.19.1",
94
- "v1.19",
95
- "v1.18",
96
- "v1.17",
97
- "v1.16",
98
- "v1.15",
99
- "v1.14",
100
- "v1.13",
101
- "v1.12",
102
- "v1.11",
103
- "v1.10",
104
- ]
105
- cache_it = False
106
- versions = [v for v in versions if parse(v) >= parse(minver)]
107
- # remove all but the most recent (preview) version
108
- versions = versions[:1] + [v for v in versions if "preview" not in v]
109
- versions = sorted(versions, reverse=reverse)
110
- if cache_it:
111
- return versions
112
- # returns - but does not cache
113
- raise NoCacheCondition(function_value=versions)
114
-
115
-
116
- def get_stable_mp_version() -> str:
117
- # read the versions from the git tags
118
- all_versions = micropython_versions(minver=OLDEST_VERSION)
119
- return [v for v in all_versions if not v.endswith(V_PREVIEW)][-1]
120
-
121
-
122
- def get_preview_mp_version() -> str:
123
- # read the versions from the git tags
124
- all_versions = micropython_versions(minver=OLDEST_VERSION)
125
- return [v for v in all_versions if v.endswith(V_PREVIEW)][-1]
126
-
127
-
128
- # Do not cache , same path will have different versions checked out
129
- def checkedout_version(path: Path, flat: bool = False) -> str:
130
- """Get the checked-out version of the repo"""
131
- version = git.get_local_tag(path.as_posix())
132
- if not version:
133
- raise ValueError("No valid Tag found")
134
- version = clean_version(version, flat=flat, drop_v=False)
135
- return version
1
+ """
2
+ #############################################################
3
+ # Version handling copied from stubber/utils/versions.py
4
+ #############################################################
5
+ """
6
+
7
+ from pathlib import Path
8
+
9
+ from cache_to_disk import NoCacheCondition, cache_to_disk
10
+ from loguru import logger as log
11
+ from packaging.version import parse
12
+
13
+ import mpflash.basicgit as git
14
+ from mpflash.common import GH_CLIENT
15
+
16
+ OLDEST_VERSION = "1.16"
17
+ "This is the oldest MicroPython version to build the stubs on"
18
+
19
+ V_PREVIEW = "preview"
20
+ "Latest preview version"
21
+
22
+ SET_PREVIEW = {"preview", "latest", "master"}
23
+
24
+
25
+ def clean_version(
26
+ version: str,
27
+ *,
28
+ build: bool = False,
29
+ patch: bool = False,
30
+ commit: bool = False,
31
+ drop_v: bool = False,
32
+ flat: bool = False,
33
+ ): # sourcery skip: assign-if-exp
34
+ "Clean up and transform the many flavours of versions"
35
+ # 'v1.13.0-103-gb137d064e' --> 'v1.13-103'
36
+ if version in {"", "-"}:
37
+ return version
38
+ if version.lower() == "stable":
39
+ _v = get_stable_mp_version()
40
+ if not _v:
41
+ log.warning("Could not determine the latest stable version")
42
+ return "stable"
43
+ version = _v
44
+ log.trace(f"Using latest stable version: {version}")
45
+ is_preview = "-preview" in version
46
+ nibbles = version.split("-")
47
+ ver_ = nibbles[0].lower().lstrip("v")
48
+ if not patch and ver_ >= "1.10.0" and ver_ < "1.20.0" and ver_.endswith(".0"):
49
+ # remove the last ".0" - but only for versions between 1.10 and 1.20 (because)
50
+ nibbles[0] = nibbles[0][:-2]
51
+ if len(nibbles) == 1:
52
+ version = nibbles[0]
53
+ elif build and not is_preview:
54
+ # HACK: this is not always right, but good enough most of the time
55
+ version = "-".join(nibbles) if commit else "-".join(nibbles[:-1])
56
+ elif is_preview:
57
+ version = "-".join((nibbles[0], V_PREVIEW))
58
+ else:
59
+ version = V_PREVIEW
60
+ if flat:
61
+ version = version.strip().replace(".", "_").replace("-", "_")
62
+ else:
63
+ version = version.strip().replace("_preview", "-preview").replace("_", ".")
64
+
65
+ if drop_v:
66
+ version = version.lstrip("v")
67
+ elif not version.startswith("v") and version.lower() not in SET_PREVIEW:
68
+ version = "v" + version
69
+ if version in SET_PREVIEW:
70
+ version = V_PREVIEW
71
+ return version
72
+
73
+
74
+ @cache_to_disk(n_days_to_cache=1)
75
+ def micropython_versions(minver: str = "v1.20", reverse: bool = False):
76
+ """Get the list of micropython versions from github tags"""
77
+ cache_it = True
78
+ try:
79
+ gh_client = GH_CLIENT
80
+ repo = gh_client.get_repo("micropython/micropython")
81
+ versions = [tag.name for tag in repo.get_tags() if parse(tag.name) >= parse(minver)]
82
+ # Only keep the last preview
83
+ versions = [v for v in versions if not v.endswith(V_PREVIEW) or v == versions[-1]]
84
+ except Exception:
85
+ versions = [
86
+ "v9.99.9-preview",
87
+ "v1.22.2",
88
+ "v1.22.1",
89
+ "v1.22.0",
90
+ "v1.21.1",
91
+ "v1.21.0",
92
+ "v1.20.0",
93
+ "v1.19.1",
94
+ "v1.19",
95
+ "v1.18",
96
+ "v1.17",
97
+ "v1.16",
98
+ "v1.15",
99
+ "v1.14",
100
+ "v1.13",
101
+ "v1.12",
102
+ "v1.11",
103
+ "v1.10",
104
+ ]
105
+ cache_it = False
106
+ versions = [v for v in versions if parse(v) >= parse(minver)]
107
+ # remove all but the most recent (preview) version
108
+ versions = versions[:1] + [v for v in versions if "preview" not in v]
109
+ versions = sorted(versions, reverse=reverse)
110
+ if cache_it:
111
+ return versions
112
+ # returns - but does not cache
113
+ raise NoCacheCondition(function_value=versions)
114
+
115
+
116
+ def get_stable_mp_version() -> str:
117
+ # read the versions from the git tags
118
+ all_versions = micropython_versions(minver=OLDEST_VERSION)
119
+ return [v for v in all_versions if not v.endswith(V_PREVIEW)][-1]
120
+
121
+
122
+ def get_preview_mp_version() -> str:
123
+ # read the versions from the git tags
124
+ all_versions = micropython_versions(minver=OLDEST_VERSION)
125
+ return [v for v in all_versions if v.endswith(V_PREVIEW)][-1]
126
+
127
+
128
+ # Do not cache , same path will have different versions checked out
129
+ def checkedout_version(path: Path, flat: bool = False) -> str:
130
+ """Get the checked-out version of the repo"""
131
+ version = git.get_local_tag(path.as_posix())
132
+ if not version:
133
+ raise ValueError("No valid Tag found")
134
+ version = clean_version(version, flat=flat, drop_v=False)
135
+ return version
@@ -1,20 +1,20 @@
1
- Copyright (c) 2024 Jos Verlinde
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining a copy
4
- of this software and associated documentation files (the "Software"), to deal
5
- in the Software without restriction, including without limitation the rights
6
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- copies of the Software, and to permit persons to whom the Software is
8
- furnished to do so, subject to the following conditions:
9
-
10
- The above copyright notice and this permission notice shall be included in all
11
- copies or substantial portions of the Software.
12
-
13
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
- SOFTWARE.
20
-
1
+ Copyright (c) 2024 Jos Verlinde
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
20
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mpflash
3
- Version: 1.0.0
3
+ Version: 1.0.2
4
4
  Summary: Flash and download tool for MicroPython firmwares
5
5
  Home-page: https://github.com/Josverl/micropython-stubber/blob/main/src/mpflash/README.md
6
6
  License: MIT
@@ -0,0 +1,53 @@
1
+ mpflash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ mpflash/add_firmware.py,sha256=1h0HsA-EVi3HXLmoEvzwY_a-GuWYzPwulTYHHBB8THg,3428
3
+ mpflash/ask_input.py,sha256=RJHGGrhYniSu-bdoKnKptE3DtpiCREJGRTZmFazvG-E,8946
4
+ mpflash/basicgit.py,sha256=li6g0AsOEp2hTfGy25y-ZKvC9QFTDlv1cr6dmY_pTyY,9497
5
+ mpflash/bootloader/__init__.py,sha256=Qy3E6tETPnzMga9LgD5UgOvJ0zZIBEqhtEVb4v8CTWQ,107
6
+ mpflash/bootloader/activate.py,sha256=FlO4XQlKyoOuvmDdj_0u_mjNPhjGwB_K17jQ-8nSXRA,2361
7
+ mpflash/bootloader/detect.py,sha256=fBrILi7-ICRaregqms3PYqwiQVAJC0rXVhpyzDkoPQI,2690
8
+ mpflash/bootloader/manual.py,sha256=2IfxrTFRso78FezVMTOrXMEojamFDDTXrAM9g1SbjNA,3170
9
+ mpflash/bootloader/micropython.py,sha256=v_kZkvg0uWZDbMrT78gmiYHbD83QLdnrctvEClI8iRg,529
10
+ mpflash/bootloader/touch1200.py,sha256=hQ2Ng2zkvnCnQ4A7Sir4SuW3nlSu1ojUfHCLbIiDjrE,1119
11
+ mpflash/cli_download.py,sha256=6p83u0Iqyq-V6zS_zQbngSgnCnE0thNPR02r_12_d_Y,3660
12
+ mpflash/cli_flash.py,sha256=pVqEsDocDT3KmIMTpXdym-ZlzThLSIp6oVtYib65dys,7595
13
+ mpflash/cli_group.py,sha256=VWwYHiPVV19sQEr5lL8LlcPyZ-A6Gs79eMDJy8LLt90,2615
14
+ mpflash/cli_list.py,sha256=ja21AZ4yghGTtOHkEtV1EOmT6EYxOiU2gzJc-mZaDto,2427
15
+ mpflash/cli_main.py,sha256=5EkvzsqOUDXvNaW814oSUcPWeNhnwh78Sg0MteDv_fk,1133
16
+ mpflash/common.py,sha256=f7yOivJCXiIs5aywbPMrMjz4T4036njEp8wXvdyHTnI,7398
17
+ mpflash/config.py,sha256=tdpvAvAlpco1GfeG2evn5tAKYluLEanqwrrvkir7QcQ,1073
18
+ mpflash/connected.py,sha256=CIgd5o2wVbQMJHRBgvbqBtKeXNNQisrspApJBqZ1A-g,3779
19
+ mpflash/download.py,sha256=wE4uBSFFMAKOBH4jwHweL0wVYh4vi74t1673ku_IeoA,14305
20
+ mpflash/downloaded.py,sha256=5qrf-V1fNTTGeueXaZUAnEqa-Yqru2jLyztx0wdyeuc,4938
21
+ mpflash/errors.py,sha256=IAidY3qkZsXy6Pm1rdmVFmGyg81ywHhse3itaPctA2w,247
22
+ mpflash/flash/__init__.py,sha256=g4Fp8MiquaDZXIvRJwYRkkll1MMyRud7x6qmwCk9Lgo,2096
23
+ mpflash/flash/esp.py,sha256=_VfbyYIEaUgAjsD66tjbdgYL6ElkSAfpIMKz6q4QKig,2287
24
+ mpflash/flash/stm32.py,sha256=dqp9BZ4Vr-6GlQcF12TSmRf-5TXkov9qvCpMgeUJc7Y,574
25
+ mpflash/flash/stm32_dfu.py,sha256=W-3JsRQyf3DduoIRXDmGZ35RogqtjQgcJnk-GOtQoLE,3090
26
+ mpflash/flash/uf2/__init__.py,sha256=ucTg1pg7TruwPjecCPWYRpCwWPz-rngv7UYaQ_bMzww,2854
27
+ mpflash/flash/uf2/boardid.py,sha256=U5wGM8VA3wEpUxQCMtuXpMZZomdVH8J_Zd5_GekUMuU,423
28
+ mpflash/flash/uf2/linux.py,sha256=UgoF_GhJdxA2NvfcFNV69YuDg3v4ueLM0epsDzmfKK0,4440
29
+ mpflash/flash/uf2/macos.py,sha256=TGGijlnMJy3RDhdPS3WsPOE2lWFOQbqC3xn4cxLu8GA,1229
30
+ mpflash/flash/uf2/uf2disk.py,sha256=4_P2l-kedM7VSliA2u706LQLxvu3xWSod1-lj-xjZis,298
31
+ mpflash/flash/uf2/windows.py,sha256=v89eXA3QwZxilCazi3Z--yY8UNtZ94trNEJ6U7XUuXA,1333
32
+ mpflash/flash/worklist.py,sha256=owS3xJbWC-SzbK9z6jQER0Kat3OIV09IxnV-f-tjGlY,5998
33
+ mpflash/list.py,sha256=lP_S5xbC0Men9HsXcIxOsP0bFRlCYh5CynMLFJx8cEE,3607
34
+ mpflash/logger.py,sha256=dI_H_a7EOdQJyvoeRHQuYeZuTKYVUS3DUPTLhE9rkdM,1098
35
+ mpflash/mpboard_id/__init__.py,sha256=5xSmiAHafjT00MG30S7Uv5hufOFKJy0ZvrXuUfaCmsU,3809
36
+ mpflash/mpboard_id/add_boards.py,sha256=47TtN98FVc6PvuOr-3-g3LacYW8JvXpM5Gr_jhdUGEU,9630
37
+ mpflash/mpboard_id/board.py,sha256=CwtBux8y7GDUe7CADVxL8YefGRl9Fg8OAJBUhgaBYCI,1151
38
+ mpflash/mpboard_id/board_id.py,sha256=3Qeo9cQOfn6EQ0gr5MHsl0Nk7is_piYrz0mMbV2LC-Q,2957
39
+ mpflash/mpboard_id/board_info.zip,sha256=F6YowS96DAqjten4ySe4MXgZwPtE-saZOUfY5OQkqKk,19759
40
+ mpflash/mpboard_id/store.py,sha256=4lLEff6a30lIOb4fOYYzanE4G4qfgikfprmpV1eUf2U,1536
41
+ mpflash/mpremoteboard/__init__.py,sha256=3F6vZHM1znUOnAo0ne-FalApM6vwbTNYg4kJwkS1gNI,9521
42
+ mpflash/mpremoteboard/mpy_fw_info.py,sha256=6AQbN3jtQgllqWQYl4e-63KeEtV08EXk8_JnM6XBkvo,4554
43
+ mpflash/mpremoteboard/runner.py,sha256=-PgzAeBGbyXaAUlwyiw4mcINsP2U1XRRjP1_QdBrxpg,4786
44
+ mpflash/vendor/click_aliases.py,sha256=c853EHSlkE2DvFqeFvFpwXKuJj3_jsXDP7iotVOKaAw,3156
45
+ mpflash/vendor/dfu.py,sha256=ZXMcE6aH4-43Wh4tbQT4U-q-BU3RUiL3JAxmP_QAK2s,5755
46
+ mpflash/vendor/pydfu.py,sha256=_MdBRo1EeNeKDqFPSTB5tNL1jGSBJgsVeVjE5e7Pb8s,20542
47
+ mpflash/vendor/readme.md,sha256=iIIZxuLUIGHQ0KODzYVtMezsztvyxCXcNJp_AzwTIPk,86
48
+ mpflash/versions.py,sha256=EZtIe2RdBobhZaRIN7I-zZVNJ38CD_H8s3W8gXX9-IY,4627
49
+ mpflash-1.0.2.dist-info/entry_points.txt,sha256=Jk_visOhYOsZIcSP2Ms9hKqfKy1iorR-6dYltSoWCpY,52
50
+ mpflash-1.0.2.dist-info/LICENSE,sha256=mWpNhsIxWzetYNnTpr4eb3HtgsxGIC8KcYWxXEcxQvE,1077
51
+ mpflash-1.0.2.dist-info/METADATA,sha256=pKVd8rSiRhIsCfMRLoptT0PGsb_4tsQokBBbC4yefGs,17649
52
+ mpflash-1.0.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
53
+ mpflash-1.0.2.dist-info/RECORD,,
@@ -1,53 +0,0 @@
1
- mpflash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- mpflash/add_firmware.py,sha256=h-Nu9AnXO6ug2CurmgLoUVG1gNy6CA1NjwQl1nUoMZ4,3330
3
- mpflash/ask_input.py,sha256=EsPPlPS_wLC8j9f4o68yKIcqex0dV5tRH7k3rP3spG0,8710
4
- mpflash/basicgit.py,sha256=r_bI2U6QYFiS8ypUd6KtrjyZjK4JCANyK80L6wEzFoU,9213
5
- mpflash/bootloader/__init__.py,sha256=cRIxVRtUc4jZAgtFggRNhEn0BW-9WFpzm5xRy5B4B2U,105
6
- mpflash/bootloader/activate.py,sha256=sN2YuIuFGjLBd_PdG6P3N1yLuLyjnsVWDksrTMhzr_M,2301
7
- mpflash/bootloader/detect.py,sha256=eXL_JPcowb8g0tpZmj9DQXYbpfZFoSrzq86lScKhkT4,2608
8
- mpflash/bootloader/manual.py,sha256=qGInguhYil4v8EkUxPFlxzvs3m__KraPAj3LAKbV1Ts,3069
9
- mpflash/bootloader/micropython.py,sha256=0KDrfdZPtK7fLaxh-_4VxSO-u4IUj7qCyNVw9-LQ74M,517
10
- mpflash/bootloader/touch1200.py,sha256=tL2H4ERh0-YSdR8_v6aK_pDRPMjMevHWUGq4-TTFcWo,1083
11
- mpflash/cli_download.py,sha256=_9JGBZ0zXtHe3W61rZmsrKRLQQaF58yLsnHYarejyuM,3531
12
- mpflash/cli_flash.py,sha256=U64IAqwTVeYubXTUO6UXY9SiS_e5NsQwyPYxf1juX8s,7166
13
- mpflash/cli_group.py,sha256=JFBtp4qhakJeQkuupEoObHeSFke8eWIU1HjnOZ-JfH0,2504
14
- mpflash/cli_list.py,sha256=51iLSehG9vWOvgeovJ8UYBjKkdnZStG1gAgYa0Cheog,2340
15
- mpflash/cli_main.py,sha256=cElgh8Soq3U5TEAvrrD1sj7NDi-Eb-pei3QcMI0tlwE,1094
16
- mpflash/common.py,sha256=O-Zb8ASNmEFmBD5JVgVtS1RyGUXJI2o4WH99dr6RMRg,5884
17
- mpflash/config.py,sha256=h2Oq7kSe40tOnglpo02wkpaPHxHNVqyB3uGxreIu57U,1029
18
- mpflash/connected.py,sha256=LtyNWloEtEOKvmnTCSSNOADT0KeVbtjHpDQwu4dot2o,3053
19
- mpflash/download.py,sha256=mckR3pdMFQMYBKNmKBEJm9bJnTtQEnkuQ1vWYXcRRv8,13941
20
- mpflash/downloaded.py,sha256=YPN0LDf8DSDvdB9gbVny61bvaJHIDbUs81XUwftTb1c,4808
21
- mpflash/errors.py,sha256=6lUhVtECY3syV2bBGKzegGH4pPKXhevvhYQZd74sy6o,238
22
- mpflash/flash/__init__.py,sha256=xX2ZJGNX9xpX2s8V7SEJ1It7eOEbl8WkdFzpRd3TLzk,2041
23
- mpflash/flash/esp.py,sha256=LcOgjpE4zmPawHNwSd_6WFkaIYYazA__rf3ihGXR7I0,2228
24
- mpflash/flash/stm32.py,sha256=W8SJ2_8FGXyMS6cRcZpfOvOM8iOC_cn4vK8xd8tKzI4,555
25
- mpflash/flash/stm32_dfu.py,sha256=uTn06H0ZezzCv5O0hvry8ohBtuZXHe_GX2zNUfCxu58,2986
26
- mpflash/flash/uf2/__init__.py,sha256=PWEVxzZEca3pfLx_Qy5c4zlHH4W5fAjd0BmDTkS7s6g,2766
27
- mpflash/flash/uf2/boardid.py,sha256=2s4K3QiKWK5HKFKWYsDV3hI8alfWSxEOMeurER3eZtM,408
28
- mpflash/flash/uf2/linux.py,sha256=4azbcx_YqLZ3RyYNWljejHG_Y6SU-wREL8hhkTYqCjI,4099
29
- mpflash/flash/uf2/macos.py,sha256=sncXJsc2FVfm9rvLDjcEu7ZIyrDeHmazHiNQTUaf1Y0,1187
30
- mpflash/flash/uf2/uf2disk.py,sha256=dQ8_U6e3qkFOyfXZDpWAsvEBIlMr-ZzLkzTDD8SADqM,286
31
- mpflash/flash/uf2/windows.py,sha256=k9Yv71YswPnLx-Z5rf4KjhtVkEWr8SU8EXpeRv87h3A,1290
32
- mpflash/flash/worklist.py,sha256=1uBvn-T35Oey04g6xxNxo5t68q5_tp18eZcRAamF0tY,5828
33
- mpflash/list.py,sha256=Qt_3AUgA6LqejfGETgaa49fzqlI-m_OvsPosr6xMBMY,3464
34
- mpflash/logger.py,sha256=BAVrSXMGZLfSDRFbtVBtvb7Rl0sTJxooCgBS5t-6bXo,1057
35
- mpflash/mpboard_id/__init__.py,sha256=rQrPCN30GP-lfB2a2deA-lQ6iKvaKPK_xbtBoIavGsM,3716
36
- mpflash/mpboard_id/add_boards.py,sha256=ehQn560S0XxAD3nsUMo4o_f6w8XTVAfO0GCnfTKa6-4,9379
37
- mpflash/mpboard_id/board.py,sha256=yQ8IDHQS09AelvTvmPhpmsL4oX3L7IXGqHorkxDOkoE,1114
38
- mpflash/mpboard_id/board_id.py,sha256=wzGrxJu_ciOVT7n2861lhoKmPAjh1QjWnAdfcqNUUqc,2871
39
- mpflash/mpboard_id/board_info.zip,sha256=F6YowS96DAqjten4ySe4MXgZwPtE-saZOUfY5OQkqKk,19759
40
- mpflash/mpboard_id/store.py,sha256=lQQgHSxcaM_ZURcfZNSUv3-ZJjUKMC_xEOOSdpzVvBU,1493
41
- mpflash/mpremoteboard/__init__.py,sha256=oB0HwQOBhTtI4KR46_FvXZ_I6V5xuuxQ3MPeR6lVGVk,9240
42
- mpflash/mpremoteboard/mpy_fw_info.py,sha256=BTupe4rZDTs3UHRqvs429XqWHCchSpwa05yACOiOt5U,4413
43
- mpflash/mpremoteboard/runner.py,sha256=YUmo5Y0aOgMaww8CXSdNdgXD-wRKncILuMZ0OB_2qRU,4646
44
- mpflash/vendor/click_aliases.py,sha256=K98inhtze8td1dw312kexJS7OX_0ojlptPQ5Z0SHxJY,3065
45
- mpflash/vendor/dfu.py,sha256=jGsiD3lbSV1Ar9qJubhoY_hy-L8FI-K55aow8vgwoYQ,5590
46
- mpflash/vendor/pydfu.py,sha256=1ObubGsPFrQ7T9M3JRlIPNIG2xx8uYffaEe0Y6bdf_g,19937
47
- mpflash/vendor/readme.md,sha256=ZVg7kuUYyXcWcrWkaSJ0CunwebCqu2SiS2sqDadwrT8,84
48
- mpflash/versions.py,sha256=x5VrdVfWhZJfH7tZmwu2vVx-mPrK1iunYSpSce9VUXU,4492
49
- mpflash-1.0.0.dist-info/LICENSE,sha256=xHwgxGNkI0R2iN4KNfbPbQSzRomWyRz7bJnR1O2mln8,1057
50
- mpflash-1.0.0.dist-info/METADATA,sha256=-YRNUdXO5bC-3oFx9-82wpnP4WBeg3NXkX_HOfvUP30,17649
51
- mpflash-1.0.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
52
- mpflash-1.0.0.dist-info/entry_points.txt,sha256=Jk_visOhYOsZIcSP2Ms9hKqfKy1iorR-6dYltSoWCpY,52
53
- mpflash-1.0.0.dist-info/RECORD,,