mpflash 0.8.7__py3-none-any.whl → 0.8.8__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.
mpflash/cli_flash.py CHANGED
@@ -103,7 +103,7 @@ from .worklist import (WorkList, full_auto_worklist, manual_worklist,
103
103
  )
104
104
  @click.option(
105
105
  "--bootloader",
106
- "-b",
106
+ "-bl",
107
107
  "bootloader",
108
108
  type=click.Choice([e.value for e in BootloaderMethod]),
109
109
  default="mpy",
mpflash/downloaded.py CHANGED
@@ -4,7 +4,7 @@ from typing import Dict, List, Optional
4
4
  import jsonlines
5
5
  from loguru import logger as log
6
6
 
7
- from mpflash.common import FWInfo
7
+ from mpflash.common import PORT_FWTYPES, FWInfo
8
8
  from mpflash.vendor.versions import clean_version
9
9
 
10
10
  from .config import config
@@ -109,7 +109,7 @@ def filter_downloaded_fwlist(
109
109
  log.trace(f"Filtering firmware for {version} : {len(fw_list)} found.")
110
110
  # filter by port
111
111
  if port:
112
- fw_list = [fw for fw in fw_list if fw.port == port]
112
+ fw_list = [fw for fw in fw_list if fw.port == port and Path(fw.firmware).suffix in PORT_FWTYPES[port]]
113
113
  log.trace(f"Filtering firmware for {port} : {len(fw_list)} found.")
114
114
 
115
115
  if board_id:
@@ -120,6 +120,7 @@ def filter_downloaded_fwlist(
120
120
  # the firmware variant should match exactly the board_id
121
121
  fw_list = [fw for fw in fw_list if fw.variant == board_id]
122
122
  log.trace(f"Filtering firmware for {board_id} : {len(fw_list)} found.")
123
+
123
124
  if selector and port in selector:
124
125
  fw_list = [fw for fw in fw_list if fw.filename.endswith(selector[port])]
125
126
  return fw_list
mpflash/flash_stm32.py CHANGED
@@ -11,7 +11,6 @@ from mpflash.mpremoteboard import MPRemoteBoard
11
11
 
12
12
  def flash_stm32(mcu: MPRemoteBoard, fw_file: Path, *, erase: bool, stm32_dfu: bool = True):
13
13
  # sourcery skip: lift-return-into-if
14
- log.info("Using dfu-util")
15
14
  dfu_init()
16
15
  updated = flash_stm32_dfu(mcu, fw_file=fw_file, erase=erase)
17
16
  # if stm32_dfu:
@@ -39,6 +39,7 @@ def dfu_init():
39
39
  log.error("pydfu not found")
40
40
  return None
41
41
  if platform.system() == "Windows":
42
+ log.debug("Initializing libusb backend on Windows...")
42
43
  init_libusb_windows()
43
44
 
44
45
 
@@ -59,6 +60,8 @@ def flash_stm32_dfu(
59
60
  Returns:
60
61
  Optional[MPRemoteBoard]: The flashed remote board if successful, None otherwise.
61
62
  """
63
+ log.info("Using pydfu to flash STM32 boards")
64
+
62
65
  if not pydfu:
63
66
  log.error("pydfu not found, please install it with 'pip install pydfu' if supported")
64
67
  return None
mpflash/worklist.py CHANGED
@@ -3,7 +3,7 @@ from typing import Dict, List, Optional, Tuple
3
3
 
4
4
  from loguru import logger as log
5
5
 
6
- from mpflash.common import FWInfo, filtered_comports
6
+ from mpflash.common import FWInfo, filtered_comports, PORT_FWTYPES
7
7
  from mpflash.errors import MPFlashError
8
8
 
9
9
  from .downloaded import find_downloaded_firmware
@@ -54,8 +54,9 @@ def auto_update(
54
54
  if not board_firmwares:
55
55
  log.error(f"No {target_version} firmware found for {mcu.board} on {mcu.serialport}.")
56
56
  continue
57
+
57
58
  if len(board_firmwares) > 1:
58
- log.debug(f"Multiple {target_version} firmwares found for {mcu.board} on {mcu.serialport}.")
59
+ log.warning(f"Multiple {target_version} firmwares found for {mcu.board} on {mcu.serialport}.")
59
60
 
60
61
  # just use the last firmware
61
62
  fw_info = board_firmwares[-1]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mpflash
3
- Version: 0.8.7
3
+ Version: 0.8.8
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
@@ -6,7 +6,7 @@ mpflash/bootloader/manual.py,sha256=tebIE2YBYvsWx2YmAcUcWnTnSjCqR1AwkXKVHJvnQkA,
6
6
  mpflash/bootloader/micropython.py,sha256=of9OuCchiGoczXPi6i0NT9LZHB9FgvigtZxWWvAcb2Q,399
7
7
  mpflash/bootloader/touch1200.py,sha256=D9yB1n2bSR-nyQDdQXJtCsNknSfHhI6hRziBqOv_HJI,1466
8
8
  mpflash/cli_download.py,sha256=qKZzHmuHazw5fhj_EGDu4DsqYCan41BK99nk1YWELFE,3527
9
- mpflash/cli_flash.py,sha256=9udC74150-T96duaJzBUyzmxVANJBFCcVzLIpvfaDgk,7135
9
+ mpflash/cli_flash.py,sha256=IQfloZM1UK4VO4bo-8OxQkwH-RTGUFs7IWb-m4gFJJg,7136
10
10
  mpflash/cli_group.py,sha256=s180-nyUVNEwA5bPlkIum4mZPEW0Udf6oBAElnrjsvQ,2236
11
11
  mpflash/cli_list.py,sha256=AvYq5_Z7l0Z4rkbr23TwFNzstuZsQgopFpdcrTLwUvs,1965
12
12
  mpflash/cli_main.py,sha256=nFe30fOZZoz4zl3VkLUNoGv478etVtEEN-ccBmok9Tk,1093
@@ -14,13 +14,13 @@ mpflash/common.py,sha256=ZfJR8dKKUy4VDZUgnDTILzuaem2o1Ix2haLxHQ47Z0o,5765
14
14
  mpflash/config.py,sha256=PsP-VzZkFOYcxyI_FiNyvlRyTOeHteO8n4oMQnCHm_8,1119
15
15
  mpflash/connected.py,sha256=vzQ6heV7w5Mnu76nR2dr9FiQ7Ja1x1Q_k0TGgdV1lT8,2955
16
16
  mpflash/download.py,sha256=EL17R88QO4TaiX-80GjjlEd6CNZ0vDOcWPuwewZ0_zs,13875
17
- mpflash/downloaded.py,sha256=j662_mCvGqiLnSQv6RuKxuPQ2KTp7t8GOfRMXzKHh0A,4741
17
+ mpflash/downloaded.py,sha256=n2iSVv3pS6rZmUr5ry8tOh-jSCZJdI-g_QJG8N5R1As,4815
18
18
  mpflash/errors.py,sha256=6lUhVtECY3syV2bBGKzegGH4pPKXhevvhYQZd74sy6o,238
19
19
  mpflash/flash.py,sha256=C9lrtJBQnkVojJ-W6vnkR16S6zhPEwdRR7GEbYbnd1E,1875
20
20
  mpflash/flash_esp.py,sha256=j-VdSAKzNQZRVVO7oM9NcRAJWPDHsUianOien8rnYE8,2252
21
- mpflash/flash_stm32.py,sha256=x80yyLSe29YuPMZ0KyykPWUr0_DiuVxDVttMM-0M3LQ,799
21
+ mpflash/flash_stm32.py,sha256=vAZu_C9Ceb6939bLRHWA26lFtYUsaWJXqIV8GaGF7HM,768
22
22
  mpflash/flash_stm32_cube.py,sha256=TnLNqmJcdwRXWj_t0W4o-NmwBjd3z94qpjuyz77oP9o,3859
23
- mpflash/flash_stm32_dfu.py,sha256=oag6eTnhmztKqskmEm7MAjXW_tS854ALvZqc4C2RXgY,2871
23
+ mpflash/flash_stm32_dfu.py,sha256=GUJTU6bmxu4m9cK_wQKRCXPKSIf7F8BAxKMSDs59TwQ,2985
24
24
  mpflash/flash_uf2.py,sha256=VxUruch2pz8JgIbrOylA6gBCyx9C3Z4hoPMPaRQNN4g,2396
25
25
  mpflash/flash_uf2_boardid.py,sha256=2s4K3QiKWK5HKFKWYsDV3hI8alfWSxEOMeurER3eZtM,408
26
26
  mpflash/flash_uf2_linux.py,sha256=Aj9qTEvZvJK-RBccvTBHMRwydMl29D6ynuBHHJXdfa4,3932
@@ -44,9 +44,9 @@ mpflash/vendor/dfu.py,sha256=jGsiD3lbSV1Ar9qJubhoY_hy-L8FI-K55aow8vgwoYQ,5590
44
44
  mpflash/vendor/pydfu.py,sha256=1ObubGsPFrQ7T9M3JRlIPNIG2xx8uYffaEe0Y6bdf_g,19937
45
45
  mpflash/vendor/readme.md,sha256=ZVg7kuUYyXcWcrWkaSJ0CunwebCqu2SiS2sqDadwrT8,84
46
46
  mpflash/vendor/versions.py,sha256=osv5yFyg47_BZ85k3LRrzjyPu6T4psx56rgBN3YXMyM,3885
47
- mpflash/worklist.py,sha256=WtVcofHXeJEZZ3sucGh9vi2CeY8brpRKbhz6N3hqmgo,5792
48
- mpflash-0.8.7.dist-info/LICENSE,sha256=xHwgxGNkI0R2iN4KNfbPbQSzRomWyRz7bJnR1O2mln8,1057
49
- mpflash-0.8.7.dist-info/METADATA,sha256=wofCYFdkciI_M9LsY8fZ6RBQtaui69sAFuy6D03cLvA,15275
50
- mpflash-0.8.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
51
- mpflash-0.8.7.dist-info/entry_points.txt,sha256=Jk_visOhYOsZIcSP2Ms9hKqfKy1iorR-6dYltSoWCpY,52
52
- mpflash-0.8.7.dist-info/RECORD,,
47
+ mpflash/worklist.py,sha256=j64PVJXm8jhLzPUQt3rnJXCbT1JEczTax46mRWID9bM,5809
48
+ mpflash-0.8.8.dist-info/LICENSE,sha256=xHwgxGNkI0R2iN4KNfbPbQSzRomWyRz7bJnR1O2mln8,1057
49
+ mpflash-0.8.8.dist-info/METADATA,sha256=Lms0kNjsI7PfGfx41lCphz9QnDj5VNu0LoQ2-BMWF78,15275
50
+ mpflash-0.8.8.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
51
+ mpflash-0.8.8.dist-info/entry_points.txt,sha256=Jk_visOhYOsZIcSP2Ms9hKqfKy1iorR-6dYltSoWCpY,52
52
+ mpflash-0.8.8.dist-info/RECORD,,