micropython-stubber 1.23.0__py3-none-any.whl → 1.23.1.post1__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.
- {micropython_stubber-1.23.0.dist-info → micropython_stubber-1.23.1.post1.dist-info}/METADATA +32 -14
- micropython_stubber-1.23.1.post1.dist-info/RECORD +159 -0
- micropython_stubber-1.23.1.post1.dist-info/entry_points.txt +5 -0
- mpflash/README.md +40 -4
- mpflash/mpflash/add_firmware.py +1 -1
- mpflash/mpflash/ask_input.py +1 -1
- {stubber → mpflash/mpflash}/basicgit.py +3 -13
- mpflash/mpflash/bootloader/__init__.py +2 -37
- mpflash/mpflash/bootloader/activate.py +60 -0
- mpflash/mpflash/bootloader/detect.py +82 -0
- mpflash/mpflash/bootloader/manual.py +10 -11
- mpflash/mpflash/bootloader/micropython.py +2 -0
- mpflash/mpflash/bootloader/touch1200.py +13 -22
- mpflash/mpflash/cli_download.py +2 -2
- mpflash/mpflash/cli_flash.py +13 -16
- mpflash/mpflash/cli_group.py +18 -5
- mpflash/mpflash/cli_list.py +8 -2
- mpflash/mpflash/cli_main.py +3 -5
- mpflash/mpflash/common.py +3 -1
- mpflash/mpflash/config.py +2 -1
- mpflash/mpflash/connected.py +11 -8
- mpflash/mpflash/download.py +9 -5
- mpflash/mpflash/downloaded.py +1 -1
- mpflash/mpflash/{flash.py → flash/__init__.py} +3 -3
- mpflash/mpflash/{flash_esp.py → flash/esp.py} +1 -1
- mpflash/mpflash/{flash_stm32.py → flash/stm32.py} +4 -3
- mpflash/mpflash/{flash_stm32_dfu.py → flash/stm32_dfu.py} +1 -1
- mpflash/mpflash/{flash_uf2.py → flash/uf2/__init__.py} +19 -20
- mpflash/mpflash/{flash_uf2_linux.py → flash/uf2/linux.py} +12 -11
- mpflash/mpflash/{flash_uf2_macos.py → flash/uf2/macos.py} +11 -6
- mpflash/mpflash/{flash_uf2_windows.py → flash/uf2/windows.py} +11 -6
- mpflash/mpflash/{worklist.py → flash/worklist.py} +8 -9
- mpflash/mpflash/list.py +26 -9
- mpflash/mpflash/mpboard_id/__init__.py +1 -1
- mpflash/mpflash/mpboard_id/add_boards.py +3 -7
- mpflash/mpflash/mpboard_id/board_id.py +1 -1
- mpflash/mpflash/mpremoteboard/__init__.py +57 -17
- {stubber/utils → mpflash/mpflash}/versions.py +31 -24
- mpflash/poetry.lock +16 -5
- mpflash/pyproject.toml +4 -3
- stubber/__init__.py +1 -1
- stubber/board/createstubs.py +4 -4
- stubber/board/createstubs_db.py +5 -5
- stubber/board/createstubs_db_min.py +1 -1
- stubber/board/createstubs_db_mpy.mpy +0 -0
- stubber/board/createstubs_mem.py +5 -5
- stubber/board/createstubs_mem_min.py +1 -1
- stubber/board/createstubs_mem_mpy.mpy +0 -0
- stubber/board/createstubs_min.py +1 -1
- stubber/board/createstubs_mpy.mpy +0 -0
- stubber/bulk/mcu_stubber.py +28 -45
- stubber/codemod/enrich.py +1 -1
- stubber/codemod/merge_docstub.py +1 -1
- stubber/codemod/utils.py +2 -3
- stubber/commands/build_cmd.py +1 -1
- stubber/commands/cli.py +6 -12
- stubber/commands/clone_cmd.py +3 -2
- stubber/commands/config_cmd.py +1 -1
- stubber/commands/enrich_folder_cmd.py +1 -1
- stubber/commands/get_core_cmd.py +1 -1
- stubber/commands/get_docstubs_cmd.py +6 -3
- stubber/commands/get_frozen_cmd.py +6 -3
- stubber/commands/get_mcu_cmd.py +53 -12
- stubber/commands/merge_cmd.py +2 -3
- stubber/commands/publish_cmd.py +2 -3
- stubber/commands/stub_cmd.py +1 -1
- stubber/commands/switch_cmd.py +2 -2
- stubber/commands/variants_cmd.py +2 -3
- stubber/downloader.py +2 -1
- stubber/freeze/common.py +7 -3
- stubber/freeze/freeze_folder.py +2 -2
- stubber/freeze/freeze_manifest_2.py +19 -6
- stubber/freeze/get_frozen.py +8 -4
- stubber/get_cpython.py +15 -4
- stubber/minify.py +11 -6
- stubber/publish/candidates.py +20 -7
- stubber/publish/defaults.py +4 -9
- stubber/publish/merge_docstubs.py +4 -2
- stubber/publish/missing_class_methods.py +5 -3
- stubber/publish/package.py +8 -4
- stubber/publish/pathnames.py +2 -2
- stubber/publish/publish.py +2 -2
- stubber/publish/pypi.py +6 -2
- stubber/publish/stubpackage.py +39 -17
- stubber/rst/classsort.py +2 -1
- stubber/rst/lookup.py +1 -0
- stubber/rst/reader.py +12 -20
- stubber/rst/report_return.py +12 -4
- stubber/rst/rst_utils.py +2 -1
- stubber/stubs_from_docs.py +1 -1
- stubber/tools/manifestfile.py +1 -2
- stubber/update_fallback.py +2 -2
- stubber/update_module_list.py +1 -1
- stubber/utils/__init__.py +2 -1
- stubber/utils/config.py +18 -8
- stubber/utils/manifest.py +2 -4
- stubber/utils/post.py +2 -1
- stubber/utils/repos.py +4 -5
- stubber/utils/stubmaker.py +1 -1
- stubber/utils/typed_config_toml.py +5 -2
- stubber/variants.py +1 -1
- micropython_stubber-1.23.0.dist-info/RECORD +0 -159
- micropython_stubber-1.23.0.dist-info/entry_points.txt +0 -3
- mpflash/mpflash/flash_stm32_cube.py +0 -111
- mpflash/mpflash/vendor/versions.py +0 -119
- {micropython_stubber-1.23.0.dist-info → micropython_stubber-1.23.1.post1.dist-info}/LICENSE +0 -0
- {micropython_stubber-1.23.0.dist-info → micropython_stubber-1.23.1.post1.dist-info}/WHEEL +0 -0
- /mpflash/{mpflash/vendor/basicgit.py → basicgit.py} +0 -0
- /mpflash/mpflash/{flash_uf2_boardid.py → flash/uf2/boardid.py} +0 -0
- /mpflash/mpflash/{uf2disk.py → flash/uf2/uf2disk.py} +0 -0
stubber/rst/reader.py
CHANGED
@@ -67,8 +67,8 @@ import re
|
|
67
67
|
from pathlib import Path
|
68
68
|
from typing import List, Optional, Tuple
|
69
69
|
|
70
|
-
from
|
71
|
-
|
70
|
+
from mpflash.logger import log
|
71
|
+
from mpflash.versions import V_PREVIEW
|
72
72
|
from stubber.rst import (
|
73
73
|
CHILD_PARENT_CLASS,
|
74
74
|
MODULE_GLUE,
|
@@ -82,7 +82,6 @@ from stubber.rst import (
|
|
82
82
|
)
|
83
83
|
from stubber.rst.lookup import Fix
|
84
84
|
from stubber.utils.config import CONFIG
|
85
|
-
from stubber.utils.versions import V_PREVIEW
|
86
85
|
|
87
86
|
SEPERATOR = "::"
|
88
87
|
|
@@ -369,9 +368,7 @@ class RSTParser(RSTReader):
|
|
369
368
|
PARAM_RE_FIXES = [
|
370
369
|
Fix(r"\[angle, time=0\]", "[angle], time=0", is_re=True), # fix: method:: Servo.angle([angle, time=0])
|
371
370
|
Fix(r"\[speed, time=0\]", "[speed], time=0", is_re=True), # fix: .. method:: Servo.speed([speed, time=0])
|
372
|
-
Fix(
|
373
|
-
r"\[service_id, key=None, \*, \.\.\.\]", "[service_id], [key], *, ...", is_re=True
|
374
|
-
), # fix: network - AbstractNIC.connect
|
371
|
+
Fix(r"\[service_id, key=None, \*, \.\.\.\]", "[service_id], [key], *, ...", is_re=True), # fix: network - AbstractNIC.connect
|
375
372
|
]
|
376
373
|
|
377
374
|
def __init__(self, v_tag: str) -> None:
|
@@ -497,9 +494,7 @@ class RSTParser(RSTReader):
|
|
497
494
|
version = V_PREVIEW
|
498
495
|
else:
|
499
496
|
version = self.source_tag.replace("_", ".") # TODO Use clean_version(self.source_tag)
|
500
|
-
docstr[0] =
|
501
|
-
f"{docstr[0]}.\n\nMicroPython module: https://docs.micropython.org/en/{version}/library/{module_name}.html"
|
502
|
-
)
|
497
|
+
docstr[0] = f"{docstr[0]}.\n\nMicroPython module: https://docs.micropython.org/en/{version}/library/{module_name}.html"
|
503
498
|
|
504
499
|
self.output_dict.name = module_name
|
505
500
|
self.output_dict.add_comment(f"# source version: {self.source_tag}")
|
@@ -637,9 +632,7 @@ class RSTParser(RSTReader):
|
|
637
632
|
params = self.fix_parameters(params, f"{class_name}.{name}")
|
638
633
|
|
639
634
|
# parse return type from docstring
|
640
|
-
ret_type = return_type_from_context(
|
641
|
-
docstring=docstr, signature=f"{class_name}.{name}", module=self.current_module
|
642
|
-
)
|
635
|
+
ret_type = return_type_from_context(docstring=docstr, signature=f"{class_name}.{name}", module=self.current_module)
|
643
636
|
# methods have 4 flavours
|
644
637
|
# - __init__ (self, <params>) -> None:
|
645
638
|
# - classmethod (cls, <params>) -> <ret_type>:
|
@@ -685,15 +678,16 @@ class RSTParser(RSTReader):
|
|
685
678
|
|
686
679
|
parent_class += method
|
687
680
|
|
688
|
-
def lstrip_self(self, params):
|
681
|
+
def lstrip_self(self, params: str):
|
689
682
|
"""
|
690
683
|
To avoid duplicate selfs,
|
691
684
|
Remove `self,` from the start of the parameters
|
692
685
|
"""
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
686
|
+
params = params.lstrip()
|
687
|
+
|
688
|
+
for start in ["self,", "self ,", "self ", "self"]:
|
689
|
+
if params.startswith(start):
|
690
|
+
params = params[len(start) :]
|
697
691
|
return params
|
698
692
|
|
699
693
|
def parse_exception(self):
|
@@ -759,9 +753,7 @@ class RSTParser(RSTReader):
|
|
759
753
|
|
760
754
|
# deal with documentation wildcards
|
761
755
|
for name in names:
|
762
|
-
r_type = return_type_from_context(
|
763
|
-
docstring=docstr, signature=name, module=self.current_module, literal=True
|
764
|
-
)
|
756
|
+
r_type = return_type_from_context(docstring=docstr, signature=name, module=self.current_module, literal=True)
|
765
757
|
if r_type in ["None"]: # None does not make sense
|
766
758
|
r_type = "Incomplete" # Default to Incomplete/ Unknown / int
|
767
759
|
name = self.strip_prefixes(name)
|
stubber/rst/report_return.py
CHANGED
@@ -15,7 +15,7 @@ from pathlib import Path
|
|
15
15
|
from typing import List, Tuple
|
16
16
|
|
17
17
|
import stubber.utils as utils
|
18
|
-
from
|
18
|
+
from mpflash.logger import log
|
19
19
|
|
20
20
|
|
21
21
|
def process(folder: Path, pattern: str):
|
@@ -34,7 +34,9 @@ def process(folder: Path, pattern: str):
|
|
34
34
|
signature = str(item[3]).split("::")[-1].strip()
|
35
35
|
docstring = item[4]
|
36
36
|
|
37
|
-
r = utils._type_from_context(
|
37
|
+
r = utils._type_from_context(
|
38
|
+
docstring=docstring, signature=signature, module=module_name
|
39
|
+
)
|
38
40
|
report.append(
|
39
41
|
{
|
40
42
|
"signature": signature,
|
@@ -49,11 +51,17 @@ def process(folder: Path, pattern: str):
|
|
49
51
|
}
|
50
52
|
)
|
51
53
|
# isGood = r["confidence"] >= 0.5 and r["confidence"] <= 0.8 and item[2] != ""
|
52
|
-
isBad =
|
54
|
+
isBad = (
|
55
|
+
float(r["confidence"]) <= 0.5
|
56
|
+
and float(r["confidence"]) <= 0.8
|
57
|
+
and item[2] != ""
|
58
|
+
)
|
53
59
|
if isBad:
|
54
60
|
context = item[3] + ".".join((item[0], item[1], item[2]))
|
55
61
|
try:
|
56
|
-
log.debug(
|
62
|
+
log.debug(
|
63
|
+
f"{context:40} {r['type']:<15} - {r['confidence']} {r['match'].groups('return')}"
|
64
|
+
)
|
57
65
|
except Exception:
|
58
66
|
log.debug(f"{context:40} {r['type']:<15} - {r['confidence']} ")
|
59
67
|
|
stubber/rst/rst_utils.py
CHANGED
@@ -32,13 +32,14 @@ to do:
|
|
32
32
|
https://docs.microsoft.com/en-us/azure/machine-learning/quickstart-create-resources
|
33
33
|
-
|
34
34
|
"""
|
35
|
+
|
35
36
|
# ref: https://regex101.com/codegen?language=python
|
36
37
|
# https://regex101.com/r/Ni8g2z/2
|
37
38
|
|
38
39
|
import re
|
39
40
|
from typing import Dict, List, Optional, Union
|
40
41
|
|
41
|
-
from
|
42
|
+
from mpflash.logger import log
|
42
43
|
|
43
44
|
from .lookup import LOOKUP_LIST, NONE_VERBS, TYPING_IMPORT
|
44
45
|
|
stubber/stubs_from_docs.py
CHANGED
stubber/tools/manifestfile.py
CHANGED
@@ -29,7 +29,6 @@ from __future__ import print_function
|
|
29
29
|
import contextlib
|
30
30
|
import os
|
31
31
|
import sys
|
32
|
-
import glob
|
33
32
|
import tempfile
|
34
33
|
from collections import namedtuple
|
35
34
|
|
@@ -401,7 +400,7 @@ class ManifestFile:
|
|
401
400
|
self._metadata.pop()
|
402
401
|
|
403
402
|
def _require_from_path(self, library_path, name, version, extra_kwargs):
|
404
|
-
for root, dirnames, filenames in os.walk(library_path):
|
403
|
+
for root, dirnames, filenames in os.walk(library_path): # type: ignore
|
405
404
|
if os.path.basename(root) == name and "manifest.py" in filenames:
|
406
405
|
self.include(root, is_require=True, **extra_kwargs)
|
407
406
|
return True
|
stubber/update_fallback.py
CHANGED
@@ -7,9 +7,9 @@
|
|
7
7
|
# from pathlib import Path
|
8
8
|
# from typing import List, Optional, Tuple
|
9
9
|
|
10
|
-
# from
|
10
|
+
# from mpflash.logger import log
|
11
11
|
|
12
|
-
# from
|
12
|
+
# from mpflash.versions import V_PREVIEW
|
13
13
|
|
14
14
|
# # log = logging.getLogger()
|
15
15
|
|
stubber/update_module_list.py
CHANGED
stubber/utils/__init__.py
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# type: ignore
|
2
|
+
from mpflash.versions import checkedout_version, clean_version
|
3
|
+
|
2
4
|
from .manifest import make_manifest, manifest
|
3
5
|
from .post import do_post_processing
|
4
6
|
from .stubmaker import generate_pyi_files, generate_pyi_from_file
|
5
|
-
from .versions import checkedout_version, clean_version
|
stubber/utils/config.py
CHANGED
@@ -3,12 +3,12 @@
|
|
3
3
|
from pathlib import Path
|
4
4
|
from typing import List
|
5
5
|
|
6
|
-
from
|
6
|
+
from mpflash.logger import log
|
7
7
|
from typedconfig.config import Config, key, section
|
8
8
|
from typedconfig.source import EnvironmentConfigSource
|
9
9
|
|
10
|
-
import
|
11
|
-
from
|
10
|
+
import mpflash.basicgit as git
|
11
|
+
from mpflash.versions import V_PREVIEW
|
12
12
|
|
13
13
|
from .typed_config_toml import TomlConfigSource
|
14
14
|
|
@@ -17,7 +17,9 @@ from .typed_config_toml import TomlConfigSource
|
|
17
17
|
class StubberConfig(Config):
|
18
18
|
"stubber configuration class"
|
19
19
|
# relative to stubs folder
|
20
|
-
fallback_path: Path = key(
|
20
|
+
fallback_path: Path = key(
|
21
|
+
key_name="fallback-path", cast=Path, required=False, default=Path("typings/fallback")
|
22
|
+
)
|
21
23
|
"a Path to the fallback stubs directory"
|
22
24
|
|
23
25
|
# ------------------------------------------------------------------------------------------
|
@@ -25,16 +27,24 @@ class StubberConfig(Config):
|
|
25
27
|
repo_path: Path = key(key_name="repo-path", cast=Path, required=False, default=Path("./repos"))
|
26
28
|
"a Path to the repo directory"
|
27
29
|
|
28
|
-
mpy_path: Path = key(
|
30
|
+
mpy_path: Path = key(
|
31
|
+
key_name="mpy-path", cast=Path, required=False, default=Path("micropython")
|
32
|
+
)
|
29
33
|
"a Path to the micropython folder in the repos directory"
|
30
34
|
|
31
|
-
mpy_lib_path: Path = key(
|
35
|
+
mpy_lib_path: Path = key(
|
36
|
+
key_name="mpy-lib-path", cast=Path, required=False, default=Path("micropython-lib")
|
37
|
+
)
|
32
38
|
"a Path to the micropython-lib folder in the repos directory"
|
33
39
|
|
34
|
-
mpy_stubs_path: Path = key(
|
40
|
+
mpy_stubs_path: Path = key(
|
41
|
+
key_name="mpy-stubs-path", cast=Path, required=False, default=Path("micropython-stubs")
|
42
|
+
)
|
35
43
|
"a Path to the micropython-stubs folder in the repos directory (or current directory)"
|
36
44
|
|
37
|
-
stable_version: str = key(
|
45
|
+
stable_version: str = key(
|
46
|
+
key_name="stable-version", cast=str, required=False, default="1.20.0"
|
47
|
+
)
|
38
48
|
|
39
49
|
"last published stable"
|
40
50
|
|
stubber/utils/manifest.py
CHANGED
@@ -6,7 +6,7 @@ from pathlib import Path
|
|
6
6
|
from typing import Optional
|
7
7
|
|
8
8
|
from .. import __version__
|
9
|
-
from .versions import clean_version
|
9
|
+
from mpflash.versions import clean_version
|
10
10
|
|
11
11
|
# # log = logging.getLogger(__name__)
|
12
12
|
# # logging.basicConfig(level=logging.INFO)
|
@@ -65,9 +65,7 @@ def make_manifest(folder: Path, family: str, port: str, version: str, release: s
|
|
65
65
|
mod_manifest = manifest(family=family, port=port, machine=board, sysname=family, version=version, release=release, stubtype=stubtype)
|
66
66
|
try:
|
67
67
|
# list all *.py files, not strictly modules but decent enough for documentation
|
68
|
-
files = list(folder.glob("**/*.py"))
|
69
|
-
if not files:
|
70
|
-
files = list(folder.glob("**/*.pyi"))
|
68
|
+
files = list(folder.glob("**/*.py")) or list(folder.glob("**/*.pyi"))
|
71
69
|
|
72
70
|
# sort the list
|
73
71
|
for file in sorted(files):
|
stubber/utils/post.py
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
"""Pre/Post Processing for createstubs.py"""
|
2
|
+
|
2
3
|
import subprocess
|
3
4
|
import sys
|
4
5
|
from pathlib import Path
|
5
6
|
from typing import List
|
6
7
|
|
7
8
|
import autoflake
|
8
|
-
from
|
9
|
+
from mpflash.logger import log
|
9
10
|
|
10
11
|
from .stubmaker import generate_pyi_files
|
11
12
|
|
stubber/utils/repos.py
CHANGED
@@ -8,13 +8,12 @@ from collections import defaultdict
|
|
8
8
|
from pathlib import Path
|
9
9
|
from typing import Tuple
|
10
10
|
|
11
|
-
from
|
11
|
+
from mpflash.logger import log
|
12
12
|
from packaging.version import Version
|
13
13
|
|
14
|
-
import
|
15
|
-
from mpflash.
|
14
|
+
import mpflash.basicgit as git
|
15
|
+
from mpflash.versions import SET_PREVIEW, V_PREVIEW, get_stable_mp_version
|
16
16
|
from stubber.utils.config import CONFIG
|
17
|
-
from stubber.utils.versions import SET_PREVIEW, V_PREVIEW
|
18
17
|
|
19
18
|
# # log = logging.getLogger(__name__)
|
20
19
|
|
@@ -120,7 +119,7 @@ def fetch_repos(tag: str, mpy_path: Path, mpy_lib_path: Path):
|
|
120
119
|
git.switch_branch(repo=mpy_path, branch="master")
|
121
120
|
else:
|
122
121
|
if tag == "stable":
|
123
|
-
tag = get_stable_mp_version()
|
122
|
+
tag = get_stable_mp_version()
|
124
123
|
git.switch_tag(tag, repo=mpy_path)
|
125
124
|
result = match_lib_with_mpy(version_tag=tag, mpy_path=mpy_path, lib_path=mpy_lib_path)
|
126
125
|
|
stubber/utils/stubmaker.py
CHANGED
@@ -4,6 +4,7 @@ typed-config-toml
|
|
4
4
|
Extend typed-config to read configuration from .toml files
|
5
5
|
|
6
6
|
"""
|
7
|
+
|
7
8
|
# TODO : extend support for . notation in section names
|
8
9
|
|
9
10
|
from pathlib import Path
|
@@ -15,7 +16,7 @@ except ModuleNotFoundError:
|
|
15
16
|
import tomli as tomllib # type: ignore
|
16
17
|
assert tomllib
|
17
18
|
|
18
|
-
from
|
19
|
+
from mpflash.logger import log
|
19
20
|
from typedconfig.source import ConfigSource
|
20
21
|
|
21
22
|
|
@@ -69,7 +70,9 @@ class TomlConfigSource(ConfigSource):
|
|
69
70
|
# do not assume/require that all values are strings
|
70
71
|
# assert isinstance(v_v, str)
|
71
72
|
# Convert all keys to lowercase
|
72
|
-
self.data = {
|
73
|
+
self.data = {
|
74
|
+
k.lower(): {v_k.lower(): v_v for v_k, v_v in v.items()} for k, v in self.data.items()
|
75
|
+
}
|
73
76
|
|
74
77
|
def get_config_value(self, section_name: str, key_name: str) -> Optional[str]:
|
75
78
|
# Extract info from data which we read in during __init__
|
stubber/variants.py
CHANGED
@@ -10,7 +10,7 @@ from typing import List, Optional
|
|
10
10
|
|
11
11
|
import libcst as cst
|
12
12
|
import libcst.codemod as codemod
|
13
|
-
from
|
13
|
+
from mpflash.logger import log
|
14
14
|
|
15
15
|
from stubber.codemod.board import CreateStubsCodemod, CreateStubsVariant
|
16
16
|
from stubber.codemod.modify_list import ListChangeSet # type: ignore
|
@@ -1,159 +0,0 @@
|
|
1
|
-
mpflash/README.md,sha256=hV89fJ3UfE-6CpugGT_SI7I_V6vtCf5GVfzUK3POjd4,13496
|
2
|
-
mpflash/libusb_flash.ipynb,sha256=sw5MVQvPmH-DJy9kOdXyO80BSjEPMEXf_GJsGk3usrc,6428
|
3
|
-
mpflash/mpflash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
|
-
mpflash/mpflash/add_firmware.py,sha256=QXk9P1UC0xvDlWhJ3Kj-Acy2wuxxK7R0L61KKiAjk1U,3337
|
5
|
-
mpflash/mpflash/ask_input.py,sha256=GGyOOlzpvhYmxyILVuNSj7hJlAvpPFXpP95erinTyCs,8717
|
6
|
-
mpflash/mpflash/bootloader/__init__.py,sha256=AbZJVbubvgcV0bQtItS9PEAvvPOKWLZpgi8DX5a5f5A,1282
|
7
|
-
mpflash/mpflash/bootloader/manual.py,sha256=tebIE2YBYvsWx2YmAcUcWnTnSjCqR1AwkXKVHJvnQkA,3002
|
8
|
-
mpflash/mpflash/bootloader/micropython.py,sha256=of9OuCchiGoczXPi6i0NT9LZHB9FgvigtZxWWvAcb2Q,399
|
9
|
-
mpflash/mpflash/bootloader/touch1200.py,sha256=D9yB1n2bSR-nyQDdQXJtCsNknSfHhI6hRziBqOv_HJI,1466
|
10
|
-
mpflash/mpflash/cli_download.py,sha256=qKZzHmuHazw5fhj_EGDu4DsqYCan41BK99nk1YWELFE,3527
|
11
|
-
mpflash/mpflash/cli_flash.py,sha256=IQfloZM1UK4VO4bo-8OxQkwH-RTGUFs7IWb-m4gFJJg,7136
|
12
|
-
mpflash/mpflash/cli_group.py,sha256=s180-nyUVNEwA5bPlkIum4mZPEW0Udf6oBAElnrjsvQ,2236
|
13
|
-
mpflash/mpflash/cli_list.py,sha256=AvYq5_Z7l0Z4rkbr23TwFNzstuZsQgopFpdcrTLwUvs,1965
|
14
|
-
mpflash/mpflash/cli_main.py,sha256=mOkwtRAxiyZsgiG1QVQ71OaO4kL0D0REEkh-VMieC8E,1107
|
15
|
-
mpflash/mpflash/common.py,sha256=ZfJR8dKKUy4VDZUgnDTILzuaem2o1Ix2haLxHQ47Z0o,5765
|
16
|
-
mpflash/mpflash/config.py,sha256=7-IL4R9oHeSh0jO-hppw8pDv990nEI31dwBzZFD50eY,1007
|
17
|
-
mpflash/mpflash/connected.py,sha256=vzQ6heV7w5Mnu76nR2dr9FiQ7Ja1x1Q_k0TGgdV1lT8,2955
|
18
|
-
mpflash/mpflash/download.py,sha256=EL17R88QO4TaiX-80GjjlEd6CNZ0vDOcWPuwewZ0_zs,13875
|
19
|
-
mpflash/mpflash/downloaded.py,sha256=n2iSVv3pS6rZmUr5ry8tOh-jSCZJdI-g_QJG8N5R1As,4815
|
20
|
-
mpflash/mpflash/errors.py,sha256=6lUhVtECY3syV2bBGKzegGH4pPKXhevvhYQZd74sy6o,238
|
21
|
-
mpflash/mpflash/flash.py,sha256=aC1z4Jq8b8a8O6rCTX1gdGcO5yM1vGoWlZGIWgKuHro,2059
|
22
|
-
mpflash/mpflash/flash_esp.py,sha256=j-VdSAKzNQZRVVO7oM9NcRAJWPDHsUianOien8rnYE8,2252
|
23
|
-
mpflash/mpflash/flash_stm32.py,sha256=JNY1bL-VNlnaQ6AhY9drKj8EgwpGwty0WAH1JD-Ecfs,584
|
24
|
-
mpflash/mpflash/flash_stm32_cube.py,sha256=TnLNqmJcdwRXWj_t0W4o-NmwBjd3z94qpjuyz77oP9o,3859
|
25
|
-
mpflash/mpflash/flash_stm32_dfu.py,sha256=GUJTU6bmxu4m9cK_wQKRCXPKSIf7F8BAxKMSDs59TwQ,2985
|
26
|
-
mpflash/mpflash/flash_uf2.py,sha256=f9CwUaBwnmgO9q7I5-Psbd0cStxyeiu0XDcu_OHlmVc,2796
|
27
|
-
mpflash/mpflash/flash_uf2_boardid.py,sha256=2s4K3QiKWK5HKFKWYsDV3hI8alfWSxEOMeurER3eZtM,408
|
28
|
-
mpflash/mpflash/flash_uf2_linux.py,sha256=I6KYbLrnn6lFvzoG-LFETak86VHuMG3XKpdrjCGH2co,3945
|
29
|
-
mpflash/mpflash/flash_uf2_macos.py,sha256=HqQ2HjXlTYzCC5DzjNaoCOR4QKKi5UzjqJcfZVJLaKM,998
|
30
|
-
mpflash/mpflash/flash_uf2_windows.py,sha256=Pg2siQENEqLddM7KKl9PdXtP7HzBsPICxo8uVCgn57E,1050
|
31
|
-
mpflash/mpflash/list.py,sha256=pSV9WJozObPSnW-oYs2JPdmh2PtCPJUNgvrozclpnU4,2874
|
32
|
-
mpflash/mpflash/logger.py,sha256=BAVrSXMGZLfSDRFbtVBtvb7Rl0sTJxooCgBS5t-6bXo,1057
|
33
|
-
mpflash/mpflash/mpboard_id/__init__.py,sha256=yeSWAP1YJWYWB2i8KZlBK1l8loJRcDo-xdymuCv92nU,3723
|
34
|
-
mpflash/mpflash/mpboard_id/add_boards.py,sha256=JgSXbK9aKtrSWQMIMYYW9OivuWXb1LLTIAmRthi1FC8,9429
|
35
|
-
mpflash/mpflash/mpboard_id/board.py,sha256=yQ8IDHQS09AelvTvmPhpmsL4oX3L7IXGqHorkxDOkoE,1114
|
36
|
-
mpflash/mpflash/mpboard_id/board_id.py,sha256=G5s-kMKAD-LGUAuU5eYnq25-MGIQPyB-zJojjcGawa4,2878
|
37
|
-
mpflash/mpflash/mpboard_id/board_info.zip,sha256=F6YowS96DAqjten4ySe4MXgZwPtE-saZOUfY5OQkqKk,19759
|
38
|
-
mpflash/mpflash/mpboard_id/store.py,sha256=lQQgHSxcaM_ZURcfZNSUv3-ZJjUKMC_xEOOSdpzVvBU,1493
|
39
|
-
mpflash/mpflash/mpremoteboard/__init__.py,sha256=j-Cex6TlihDp125gjGB01S_zE9nIq4mdRfamWjnOJoA,7549
|
40
|
-
mpflash/mpflash/mpremoteboard/mpy_fw_info.py,sha256=BTupe4rZDTs3UHRqvs429XqWHCchSpwa05yACOiOt5U,4413
|
41
|
-
mpflash/mpflash/mpremoteboard/runner.py,sha256=YUmo5Y0aOgMaww8CXSdNdgXD-wRKncILuMZ0OB_2qRU,4646
|
42
|
-
mpflash/mpflash/uf2disk.py,sha256=dQ8_U6e3qkFOyfXZDpWAsvEBIlMr-ZzLkzTDD8SADqM,286
|
43
|
-
mpflash/mpflash/vendor/basicgit.py,sha256=b6-gdK_DT0dmW3jEY9T0cjKR-TSEQOSl9U9sRcJh538,9257
|
44
|
-
mpflash/mpflash/vendor/click_aliases.py,sha256=K98inhtze8td1dw312kexJS7OX_0ojlptPQ5Z0SHxJY,3065
|
45
|
-
mpflash/mpflash/vendor/dfu.py,sha256=jGsiD3lbSV1Ar9qJubhoY_hy-L8FI-K55aow8vgwoYQ,5590
|
46
|
-
mpflash/mpflash/vendor/pydfu.py,sha256=1ObubGsPFrQ7T9M3JRlIPNIG2xx8uYffaEe0Y6bdf_g,19937
|
47
|
-
mpflash/mpflash/vendor/readme.md,sha256=ZVg7kuUYyXcWcrWkaSJ0CunwebCqu2SiS2sqDadwrT8,84
|
48
|
-
mpflash/mpflash/vendor/versions.py,sha256=osv5yFyg47_BZ85k3LRrzjyPu6T4psx56rgBN3YXMyM,3885
|
49
|
-
mpflash/mpflash/worklist.py,sha256=j64PVJXm8jhLzPUQt3rnJXCbT1JEczTax46mRWID9bM,5809
|
50
|
-
mpflash/poetry.lock,sha256=XBX2OYxy1q5tBn9pzXQBErgOwssrx_tVhUl8p2DZwMw,117989
|
51
|
-
mpflash/pyproject.toml,sha256=sGxeBSd8LOo3l5DBlLypNW0B2kQLu-LpmdPG4ZI1lZw,1669
|
52
|
-
mpflash/stm32_udev_rules.md,sha256=LJelvFFA8w9mBcEUDA02SZ4yzNKfUFL_NWLNUb6geWY,2622
|
53
|
-
stubber/__init__.py,sha256=xZBZxZVT_tkoW2-USEDpT7Ru9I5ySVZ0FERKX_Puvk0,46
|
54
|
-
stubber/basicgit.py,sha256=CkS4YrAP1pLwfoihUZB5Y39uQjkQu_n4ukyrvbrlExs,9440
|
55
|
-
stubber/board/board_info.csv,sha256=3BBwHOtKfq_U0Xl8iWgNsN3akhbNMjb-TIeusDwtTXQ,8434
|
56
|
-
stubber/board/boot.py,sha256=TEBSaKXY_TYJy9YrTRWv22m8jZRefaRNiwM8xNAlH5M,1086
|
57
|
-
stubber/board/createstubs.py,sha256=ZgpiFhmDl9LrszoxqOG1SI22bpvR9NWmYFwhvCCVLhY,31936
|
58
|
-
stubber/board/createstubs_db.py,sha256=Gbi5LXqAorbFJ4qjb-jIAeBhE-niPr-_9scpNEXg-V8,29558
|
59
|
-
stubber/board/createstubs_db_min.py,sha256=q4CA7qs8t3dj_whlNCUrw_yebdNb_9my85snqdbiuyE,11142
|
60
|
-
stubber/board/createstubs_db_mpy.mpy,sha256=Uno7GVqRV6joDZ2UsITxv2y84Hjl75h_aqM1eRuK7MI,9536
|
61
|
-
stubber/board/createstubs_lvgl.py,sha256=LDlY2AxT5S_IZ5twi2wK9gm3SnHsDt9inrpCLOYmZIk,26476
|
62
|
-
stubber/board/createstubs_lvgl_min.py,sha256=9L9JsZUCY0E5x4F_Uyckkd8GjiB_49guU6DN-u7XhgU,26466
|
63
|
-
stubber/board/createstubs_lvgl_mpy.mpy,sha256=ex-nlq2V5e8anQBJvRWEEc-FzU7nlwg5NSrZ8vOadIA,9267
|
64
|
-
stubber/board/createstubs_mem.py,sha256=B23Xon0wm5K8hoTZWHx6j551Jqfg-zDR70_ckiEvc74,27953
|
65
|
-
stubber/board/createstubs_mem_min.py,sha256=EBMI05I-3D7f-6y6DQo5n2VfOkppKEqoJtt0huwo8v8,10713
|
66
|
-
stubber/board/createstubs_mem_mpy.mpy,sha256=cNPvlft3SH_R3Epl5Tg3zDLnlG4-YAl6neUO1wfEM34,9118
|
67
|
-
stubber/board/createstubs_min.py,sha256=mEo9F0ttyOeuhZ2bEeh4BKta4-yWfhbr20gATcaQx5g,13405
|
68
|
-
stubber/board/createstubs_mpy.mpy,sha256=eNos3gzTHQTGN_TyB2IshtTWt6iLo98hGAfaBLIBgoI,12388
|
69
|
-
stubber/board/fw_info.py,sha256=BTupe4rZDTs3UHRqvs429XqWHCchSpwa05yACOiOt5U,4413
|
70
|
-
stubber/board/info.py,sha256=0FCQZ5J3KFDbYe0D5iOuwhmZUUBVASPU7-L6fA7ZRGc,5446
|
71
|
-
stubber/board/main.py,sha256=l-5RCT-MMV93SkVwXh3guzx_kxFIJciSEgH1e4UrqT8,394
|
72
|
-
stubber/board/modulelist.txt,sha256=LH3tz0w9MxZEAoYRl0JPmVSrYlbsrhkHd9lBP9z2h88,2653
|
73
|
-
stubber/board/pyrightconfig.json,sha256=4jEkjN3pTfa8Ok5wxW0_W2mAOWIjKZPq5GRsk8oTBN4,1342
|
74
|
-
stubber/bulk/mcu_stubber.py,sha256=_iv2G3QaiGxe7L7W40KahNGyOoKTGw_yyyejMHY6O7Q,15893
|
75
|
-
stubber/codemod/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
76
|
-
stubber/codemod/_partials/__init__.py,sha256=SKt5UKja7SGdJ2PIQLp7-CURTQ-EimrswhW-ZTaRBEk,1382
|
77
|
-
stubber/codemod/_partials/db_main.py,sha256=yvl1ydyiWJDhNmuH7P_5b85Crfrh2CAroA_i_8aCqIw,3856
|
78
|
-
stubber/codemod/_partials/lvgl_main.py,sha256=ANMJr4XpWyLHhk3ZHsR0YnGe8fNtIi58YOdN6TLay1o,1887
|
79
|
-
stubber/codemod/_partials/modules_reader.py,sha256=kIYUxrCNtR7K1D0NVxePuNjhPoPkOx9qbjh-mdW1IVs,1966
|
80
|
-
stubber/codemod/add_comment.py,sha256=qGaa-sF3WyeLZwa5FPyT_Yp-ARFruKlBIIe0tayUiTk,1912
|
81
|
-
stubber/codemod/add_method.py,sha256=AbHmfwjgTYWes3XrqPGk0-FjKxnGQuDLXbE5APhApF4,2544
|
82
|
-
stubber/codemod/board.py,sha256=WVeUbVOV8MlDAyr5JLhOLdlmyFdlOpdRunjdzM_ULsM,11564
|
83
|
-
stubber/codemod/enrich.py,sha256=9hb2__De3eNkF8WKg0CLwYs0lngIDJ0M3nmx2yyuGCU,5293
|
84
|
-
stubber/codemod/merge_docstub.py,sha256=-F2P9UAD98Xt8ArsNqQJ-AM6bz9H9V9E3S2d17Jk5xg,12397
|
85
|
-
stubber/codemod/modify_list.py,sha256=_YTj3E44dwb7QaRqKaIq0IWg-BzH69AZRqTr3QMkFnY,2064
|
86
|
-
stubber/codemod/utils.py,sha256=mE4Ks7-lqnxXbjQcftO_OkJGJDZyCOR4soNJSWRtMek,2402
|
87
|
-
stubber/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
88
|
-
stubber/commands/build_cmd.py,sha256=lZfbxPyduDkLDTCGWI_nBc_3lKwZjfWPvq4nVy2v944,2381
|
89
|
-
stubber/commands/cli.py,sha256=LXeSG8-EeEb0PvlKkaRS5bscgtUsDTBLfQnqS0O6M24,1836
|
90
|
-
stubber/commands/clone_cmd.py,sha256=D8rKyiuIvGDrxCgkjmiN60RzedMTLToHoRZnKc31Yh4,2663
|
91
|
-
stubber/commands/config_cmd.py,sha256=CMFe0IngKPJYrb3kcZ6BObBOh4dW_0Wf7etAuJthB18,964
|
92
|
-
stubber/commands/enrich_folder_cmd.py,sha256=ysdd_CLdPCiEja4xuFOAX_a89telX4Da7cvkrpXP4lY,1798
|
93
|
-
stubber/commands/get_core_cmd.py,sha256=VwkZl9g81LvwWu4grrIb2Qo8M5-yXrDEX5mUWJ2uKFo,2240
|
94
|
-
stubber/commands/get_docstubs_cmd.py,sha256=93rWWKBKmt7D9UD0-c4mtVAH5hw5Z3PnWDpiKVfrWe8,2935
|
95
|
-
stubber/commands/get_frozen_cmd.py,sha256=I9Hde0n-k5e9LHrjaUp0d5WeaamntLjtEOJQ7GCLHgc,3857
|
96
|
-
stubber/commands/get_mcu_cmd.py,sha256=BzsOo1C046sRjYtS_9MM-epXF9UaElf1j23LM4aqpnI,2016
|
97
|
-
stubber/commands/merge_cmd.py,sha256=VxpYGaF7JduBr43POFviT15ZecbOW1o4vqTaKMCN0jU,1622
|
98
|
-
stubber/commands/publish_cmd.py,sha256=EiOYXVXyMru2lL6EOy7NSwHAS7TZXfehjvfY5r8gH3Y,2805
|
99
|
-
stubber/commands/stub_cmd.py,sha256=PzvCppuhY2vRJJEzKbdc87WnrVEd3jPJ7AdtQeUSpn8,1171
|
100
|
-
stubber/commands/switch_cmd.py,sha256=Aa4Q8LEc-mbHfO6h9orkIuR8wr9yOY-_bwL4HMPiWJ8,1825
|
101
|
-
stubber/commands/variants_cmd.py,sha256=IYDmR3JyPPQ8uSZURLWbCluCV85_S38F_JKZTzRE-Lg,1251
|
102
|
-
stubber/cst_transformer.py,sha256=Er9kww4hgdeQ9dARMx8lB5PLIvPaKjtKJMe8BofKOzY,6301
|
103
|
-
stubber/data/board_info.csv,sha256=3BBwHOtKfq_U0Xl8iWgNsN3akhbNMjb-TIeusDwtTXQ,8434
|
104
|
-
stubber/data/board_info.json,sha256=LbyNo3qeij8bY_PRTxWoS5nFuDv6VyaRTKGiXC_-zRQ,57210
|
105
|
-
stubber/data/micropython_tags.csv,sha256=95Y4zBefqi65QNvQy5bJXr7Fw8sVHmspeo2rnyLZECQ,1894
|
106
|
-
stubber/data/requirements-core-micropython.txt,sha256=mRQ8Sj-PqYP74lVgpWWXSYkVJilSKVsjijoLARQNAwY,1279
|
107
|
-
stubber/data/requirements-core-pycopy.txt,sha256=UKZooNXL7GbojDwmaiBTxHEQzzd-H8kI6l5eJCX-oyk,1012
|
108
|
-
stubber/downloader.py,sha256=TwvdzSdep1jtCpjocqFJdi7c-I5bZSc3dhfDE5zX-ps,1170
|
109
|
-
stubber/freeze/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
110
|
-
stubber/freeze/common.py,sha256=gY0JSlXmwZqnoosb91M7W3wy3Ej6w48dTdJP8gKOg-U,2571
|
111
|
-
stubber/freeze/freeze_folder.py,sha256=-n1w9jxzLjL1Sg-f9VHqHaxsBKDiPGHqBNgeY68pqq8,2422
|
112
|
-
stubber/freeze/freeze_manifest_2.py,sha256=uogLPLb4bAah5ULkKzhWWadvu0CswGI3TygRqOb5XYc,3948
|
113
|
-
stubber/freeze/get_frozen.py,sha256=9NItdnzfNjx0yC5q1EDgw1TQ39d58kBnIRTGRPIfjbs,5163
|
114
|
-
stubber/get_cpython.py,sha256=PEiDn2STECuKeRBSyWx7WuexUpSsyZ-76jQrBvWZY4U,3683
|
115
|
-
stubber/get_lobo.py,sha256=I6bVpcGX7TaD4CI9UID8R9brOG-bBdeL07j1WsTXQH4,1717
|
116
|
-
stubber/minify.py,sha256=QEYCqN-ApJSpZvgx0fiLi4A-jZMnMI19B-JmNqI79Us,14618
|
117
|
-
stubber/publish/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
118
|
-
stubber/publish/bump.py,sha256=M9ePaH-K1lbh-OVyPNAv6uxumDtHe3cOD2rXeAMWDqY,3176
|
119
|
-
stubber/publish/candidates.py,sha256=MGU1FKabawjcruMxyvgJnZHG-ZO2YU0Vl_Oz10GFUX8,10410
|
120
|
-
stubber/publish/database.py,sha256=fH_-Zjd_JHTEaW2Yf8kEB6DQduKrmZl9R-67mNYE3HI,605
|
121
|
-
stubber/publish/defaults.py,sha256=W37MT9NW3tucLk0oDNKeGBQEtzHORu_iut_s4x1QeQA,1591
|
122
|
-
stubber/publish/enums.py,sha256=BRzoSjLxYPLcEHySaFprY1ndLLdUetqRjYJmi5CW7xU,756
|
123
|
-
stubber/publish/helpers.py,sha256=XRN9KZgPtIEgVW6NSmZunvTiT0UqP_rr63lM69hcqbs,687
|
124
|
-
stubber/publish/merge_docstubs.py,sha256=nQJVloB_iHnsEiILCHIJrS2dgR1bP06LtiXYyaJi4Sc,5189
|
125
|
-
stubber/publish/missing_class_methods.py,sha256=TTXOid0gAhUHokLUL2SJ1Fy-YVlHWwqTPqBjVpZioEA,1774
|
126
|
-
stubber/publish/package.py,sha256=GGNUgSNsJ9yX2km-MEVx8xf8jQ3qCQanK8dVCSOjVqQ,5128
|
127
|
-
stubber/publish/pathnames.py,sha256=wfImW4HLftZ3gSV3zjOzSbxvhTdMFWOl9DDY8Uilvmc,1760
|
128
|
-
stubber/publish/publish.py,sha256=8nC7yl4R1p8A0_7yYij8Cot-Ew7O0r84vSFiSYpJvrA,3833
|
129
|
-
stubber/publish/pypi.py,sha256=fuxpVFOvvCXXjdTgEB2vWqMjhwUDDQMiHJ6N98C_JdM,1202
|
130
|
-
stubber/publish/stubpackage.py,sha256=3uDhsx5LVsgrKQC7BwiorJw14QWdN6KvIBO500PhNnw,43702
|
131
|
-
stubber/rst/__init__.py,sha256=8KUzMFNdDU9X6U1VMU1q5bGu_KGxB1XNcJhzNg7tF98,284
|
132
|
-
stubber/rst/classsort.py,sha256=jofWVYPQQUzUhN-t2qFJT6381DH46Pjy0fTp5ek5JJU,2578
|
133
|
-
stubber/rst/lookup.py,sha256=QIX0_xbXydfXgD-7ctni3QJo2hFN7BzsGz-5Bq1owKQ,19656
|
134
|
-
stubber/rst/output_dict.py,sha256=tH_32ZTNj7BndvY2YcZCa1uB-lLeyJUeltoEkTT_Np8,14354
|
135
|
-
stubber/rst/reader.py,sha256=JUcfMs-lu_Fg95bCAnLS70RSjOTIAk15nVMzjEPH8aU,32878
|
136
|
-
stubber/rst/report_return.py,sha256=r6WeysP2VygcBM-nk1Jo_iItcxsl6sWgWg6myHTjBFY,2745
|
137
|
-
stubber/rst/rst_utils.py,sha256=8wfodql00CnO57x8VeNh1yoz7yx_ONa330kWuR1JFoE,17277
|
138
|
-
stubber/stubber.py,sha256=sScRIAq7vvUZUS9Mzh4Ne6ny0qpsReGNqo0u8vtZXEc,1596
|
139
|
-
stubber/stubs_from_docs.py,sha256=jcNdbNFQ6qZiVOVzdD8nfBNTubD-jviL_KJDPqOfTxo,2743
|
140
|
-
stubber/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
141
|
-
stubber/tools/manifestfile.py,sha256=hfv_bTDytZDSndKy2GuPScH9xz_YzihDY0QmrOY9RLQ,25094
|
142
|
-
stubber/tools/readme.md,sha256=NJ_g0oeeExhiRs2lMQVekccnR_c2lGLt-snu1RnUIx0,278
|
143
|
-
stubber/update_fallback.py,sha256=Wi0dj5dly1UFmjpzh7dksb-RuHsSRC0i-E9H-dZ5AQo,4804
|
144
|
-
stubber/update_module_list.py,sha256=smeu-xSeFgtr1piJNR1JqLzHd3HZ1K5_iaKNRea6dzk,3886
|
145
|
-
stubber/utils/__init__.py,sha256=i2OXAFcw6X1xSEwh2X355lGrM0xgmZZow9z9zRwtV5A,220
|
146
|
-
stubber/utils/config.py,sha256=Xjnno__D3DEUAGmjFyECuv0cibJpCnbpFvA_fRJX3sM,4732
|
147
|
-
stubber/utils/makeversionhdr.py,sha256=65VXDavYQU5GnR8OfbFAXAq6RCAtLdbEM-a7a3UiLxc,1899
|
148
|
-
stubber/utils/manifest.py,sha256=frHSaZs_ZYLdjUl9tDSnRm6OOHjR1W7IrKMABYKaUIY,3181
|
149
|
-
stubber/utils/post.py,sha256=qoN-XiNBNMExUdHeXbkjlsvllkG2jKB-ptuApe4kjpc,2758
|
150
|
-
stubber/utils/repos.py,sha256=cQhpk_u1ZzlGdaoL3Xq7A8M7V1eyxyX1Ledp8M11gqE,5784
|
151
|
-
stubber/utils/stubmaker.py,sha256=1eMNpZZ-BWBtxLwBO-kz4CywjUe0JexN6QSyAVNICxM,5099
|
152
|
-
stubber/utils/typed_config_toml.py,sha256=6nlFgHwdCcK_0MJICsstCFgm9M6TblvF-l0_2cpw_cY,2552
|
153
|
-
stubber/utils/versions.py,sha256=56UhB49F2647jY9eWtkjjRuYYfJLEjC9daQFhgckgZM,4161
|
154
|
-
stubber/variants.py,sha256=iS3sv8cT7czdI9x4KqzTCPT6hX1CKQ-bIlWnDG6gyoU,3688
|
155
|
-
micropython_stubber-1.23.0.dist-info/LICENSE,sha256=2zsOXlYgl9W7_XGXcncAXIYfvSVlyNcVBycC6hhlKhA,1542
|
156
|
-
micropython_stubber-1.23.0.dist-info/METADATA,sha256=Km0C0eRnH4G_oYL9jOJekeNyKSDPbVfQr4rLmJm28OA,19158
|
157
|
-
micropython_stubber-1.23.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
158
|
-
micropython_stubber-1.23.0.dist-info/entry_points.txt,sha256=NQi_M36fgq5k6giSuASas3LrpF6CVdkzfvJC0ja73_g,55
|
159
|
-
micropython_stubber-1.23.0.dist-info/RECORD,,
|
@@ -1,111 +0,0 @@
|
|
1
|
-
# """
|
2
|
-
# Flash STM32 using STM32CubeProgrammer
|
3
|
-
# needs to be installed independenty from https://www.st.com/en/development-tools/stm32cubeprog.html
|
4
|
-
|
5
|
-
# On Linux needs to be run with sudo - unless udev rules are set to allow access to the device as a regular user
|
6
|
-
# """
|
7
|
-
|
8
|
-
# import subprocess
|
9
|
-
# import sys
|
10
|
-
# import time
|
11
|
-
# from pathlib import Path
|
12
|
-
# from typing import Optional
|
13
|
-
|
14
|
-
# import bincopy
|
15
|
-
# from loguru import logger as log
|
16
|
-
# from rich.progress import track
|
17
|
-
# from strip_ansi import strip_ansi
|
18
|
-
|
19
|
-
# from .mpremoteboard.mpremoteboard import MPRemoteBoard
|
20
|
-
|
21
|
-
# STM32_CLI_WIN = "C:\\Program Files\\STMicroelectronics\\STM32Cube\\STM32CubeProgrammer\\bin\\STM32_Programmer_CLI.exe"
|
22
|
-
# STM32_CLI_LINUX = "~/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/STM32_Programmer_CLI"
|
23
|
-
|
24
|
-
|
25
|
-
# def get_stm32_start_address(fw_file: Path):
|
26
|
-
# """
|
27
|
-
# Get the start address of the firmware file, to allow automatic restart from that address after flashing
|
28
|
-
# """
|
29
|
-
# try:
|
30
|
-
# fw_hex = bincopy.BinFile(str(fw_file))
|
31
|
-
# return f"0x{fw_hex.execution_start_address:08X}"
|
32
|
-
# except Exception:
|
33
|
-
|
34
|
-
# return ""
|
35
|
-
|
36
|
-
|
37
|
-
# def flash_stm32_cubecli(mcu: MPRemoteBoard, fw_file: Path, *, erase: bool = True) -> Optional[MPRemoteBoard]:
|
38
|
-
# """
|
39
|
-
# Flash STM32 devices using STM32CubeProgrammer CLI
|
40
|
-
# - Enter bootloader mode
|
41
|
-
# - wait 2s for the device to be detected
|
42
|
-
# - list the connected DFU devices
|
43
|
-
|
44
|
-
# On Linux: requires udev rules to allow access to the device as a regular user
|
45
|
-
# """
|
46
|
-
# if sys.platform == "linux":
|
47
|
-
# STM32_CLI = Path(STM32_CLI_LINUX).expanduser().as_posix()
|
48
|
-
# elif sys.platform == "win32":
|
49
|
-
# STM32_CLI = str(Path(STM32_CLI_WIN).expanduser())
|
50
|
-
# else:
|
51
|
-
# log.error(f"OS {sys.platform} not supported")
|
52
|
-
# return None
|
53
|
-
|
54
|
-
# if not Path(STM32_CLI).exists():
|
55
|
-
# log.error(
|
56
|
-
# f"STM32CubeProgrammer not found at {STM32_CLI}\nPlease install it from https://www.st.com/en/development-tools/stm32cubeprog.html"
|
57
|
-
# )
|
58
|
-
# return None
|
59
|
-
|
60
|
-
# # run STM32_Programmer_CLI.exe --list
|
61
|
-
# cmd = [
|
62
|
-
# STM32_CLI,
|
63
|
-
# "--list",
|
64
|
-
# ]
|
65
|
-
# results = subprocess.run(cmd, capture_output=True, text=True).stdout.splitlines()
|
66
|
-
# results = [strip_ansi(line) for line in results]
|
67
|
-
# if not any(["Product ID : STM32 BOOTLOADER" in l for l in results]):
|
68
|
-
# log.error("No STM32 BOOTLOADER detected")
|
69
|
-
# return None
|
70
|
-
# echo = False
|
71
|
-
# for line in results:
|
72
|
-
# if line.startswith("===== DFU Interface"):
|
73
|
-
# echo = True
|
74
|
-
# if line.startswith("===== STLink"):
|
75
|
-
# echo = False
|
76
|
-
# if echo:
|
77
|
-
# print(line)
|
78
|
-
# # Try to connect - no action
|
79
|
-
# cmd = [
|
80
|
-
# STM32_CLI,
|
81
|
-
# "--connect",
|
82
|
-
# "port=USB1",
|
83
|
-
# ]
|
84
|
-
# results = subprocess.run(cmd, capture_output=True, text=True).stdout.splitlines()
|
85
|
-
# if erase:
|
86
|
-
# log.info("Erasing flash")
|
87
|
-
# cmd = [
|
88
|
-
# STM32_CLI,
|
89
|
-
# "--connect",
|
90
|
-
# "port=USB1",
|
91
|
-
# "--erase",
|
92
|
-
# "all",
|
93
|
-
# ]
|
94
|
-
# results = subprocess.run(cmd, capture_output=True, text=True).stdout.splitlines()
|
95
|
-
# results = [strip_ansi(line) for line in results]
|
96
|
-
# log.info(f"Flashing {fw_file.name} using STM32CubeProgrammer CLI")
|
97
|
-
# start_address = get_stm32_start_address(fw_file)
|
98
|
-
|
99
|
-
# log.trace(f"STM32_Programmer_CLI --connect port=USB1 --write {str(fw_file)} --go {start_address}")
|
100
|
-
# cmd = [
|
101
|
-
# STM32_CLI,
|
102
|
-
# "--connect",
|
103
|
-
# "port=USB1",
|
104
|
-
# "--write",
|
105
|
-
# str(fw_file),
|
106
|
-
# "--go",
|
107
|
-
# start_address,
|
108
|
-
# ]
|
109
|
-
# results = subprocess.run(cmd, capture_output=True, text=True).stdout.splitlines()
|
110
|
-
# log.success("Done flashing, resetting the board and wait for it to restart")
|
111
|
-
# return mcu
|