micropython-stubber 1.20.0__py3-none-any.whl → 1.20.1__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: micropython-stubber
3
- Version: 1.20.0
3
+ Version: 1.20.1
4
4
  Summary: Tooling to create and maintain stubs for MicroPython
5
5
  Home-page: https://github.com/Josverl/micropython-stubber#readme
6
6
  License: MIT
@@ -18,16 +18,16 @@ Classifier: Programming Language :: Python :: Implementation :: MicroPython
18
18
  Classifier: Topic :: Software Development :: Build Tools
19
19
  Classifier: Topic :: Text Editors :: Integrated Development Environments (IDE)
20
20
  Requires-Dist: autoflake (>=1.7,<3.0)
21
- Requires-Dist: black (>=22.10,<23.0)
21
+ Requires-Dist: black (>=22.10,<25.0)
22
22
  Requires-Dist: cachetools (>=5.3.0,<6.0.0)
23
23
  Requires-Dist: click (>=8.1.3,<9.0.0)
24
24
  Requires-Dist: executing (>=2.0.1,<3.0.0)
25
25
  Requires-Dist: importlib-metadata (>=1.0,<2.0) ; python_version < "3.8"
26
26
  Requires-Dist: libcst (>=1.1.0,<2.0.0)
27
27
  Requires-Dist: loguru (>=0.6,<0.8)
28
- Requires-Dist: mpflash (>=0.6.0)
28
+ Requires-Dist: mpflash (>=0.7.4,<0.8.0)
29
29
  Requires-Dist: mpremote (>=1.22.0,<2.0.0)
30
- Requires-Dist: mypy (==1.7.0)
30
+ Requires-Dist: mypy (==1.9.0)
31
31
  Requires-Dist: mypy-gitlab-code-quality (>=1.1.0,<2.0.0)
32
32
  Requires-Dist: packaging (>=21.3,<24.0)
33
33
  Requires-Dist: pipx (>=1.1.0,<2.0.0)
@@ -1,14 +1,14 @@
1
- mpflash/libusb_flash.ipynb,sha256=sw5MVQvPmH-DJy9kOdXyO80BSjEPMEXf_GJsGk3usrc,6428
1
+ mpflash/libusb_flash.ipynb,sha256=7RGtGg1mPPMWrfJOobOfYYwAAhsFpykpTJtfNwevY9o,6631
2
2
  mpflash/mpflash/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- mpflash/mpflash/ask_input.py,sha256=NGjCcOx49gW8xuDZK1BQXNOMPy7fUQ5pQamasez1wHI,7793
4
- mpflash/mpflash/cli_download.py,sha256=9Rxwo-j7h9_rwMeAgITmfkdiNVi-Wunr1vpx2VjjUNM,3090
5
- mpflash/mpflash/cli_flash.py,sha256=Hld8SGNTJWKB0CTjfG8wGZh8RaC7CtVxhw4--LKTkig,5760
3
+ mpflash/mpflash/ask_input.py,sha256=_LlatVyrWbY1Q4TDn8TWXJO5s22q_bGl3NXmdt13jxU,8442
4
+ mpflash/mpflash/cli_download.py,sha256=RNEsk1eMqzKCf9_sUPZQkDnzw6w-8L0Jnl6gDQup2Tc,3266
5
+ mpflash/mpflash/cli_flash.py,sha256=DTZ1mQSL31aEr3ROGIGWzzkiir4MRSqXdwq2p4ArDWE,5847
6
6
  mpflash/mpflash/cli_group.py,sha256=nL3H06PHm_XUDlMuRyjgmTYeLnkrLa9mKDdahYw-KRo,1967
7
- mpflash/mpflash/cli_list.py,sha256=uxTRPdjFWv5ev4E_pz1JYv8DSFLOtZvTKmVmCiRpEC4,1005
8
- mpflash/mpflash/cli_main.py,sha256=VxIpmvk3-2Sr1uB1AMT5bRa0TlrbY28ZaYd6NGZnEe0,632
7
+ mpflash/mpflash/cli_list.py,sha256=KIlEeqcIIBf0g-emS43fzKspUy6fn9TUuFl0u00XaK8,1024
8
+ mpflash/mpflash/cli_main.py,sha256=BgqkDeEV0LBdT_Xn_Ay3zQOVJ-73pWSA4ngRf9KxGpw,656
9
9
  mpflash/mpflash/common.py,sha256=lucFGMLl03qz-5Ic2XVv4g5XVt6hloUU6N5v0tSaUYE,1049
10
10
  mpflash/mpflash/config.py,sha256=G6TxliEGxoYXy1SHQYBKgywnKccz9QzD3mGq_Vv1frg,419
11
- mpflash/mpflash/download.py,sha256=HhL97PFTts_QhI1121QcWS7Z2nbfqvJ7mof_KFARx6k,10765
11
+ mpflash/mpflash/download.py,sha256=_yYENI7oew4tD51xEer1Ohv2B3LHrGg1lIF98LWDMCY,10991
12
12
  mpflash/mpflash/downloaded.py,sha256=ADMJqZn7WVcU-Rm2X6RqA8ejtBNBYXcpwxVyT3v7r6s,3803
13
13
  mpflash/mpflash/errors.py,sha256=Q5LR12Wo8iUCg5n_qq4GjdBdBflbvCOdKsRJ5InYRfI,96
14
14
  mpflash/mpflash/flash.py,sha256=YGYXuNNbjro4QvZmpwpLCo86nFsh4UxWrOJHOowUYDY,2490
@@ -20,40 +20,40 @@ mpflash/mpflash/flash_uf2.py,sha256=KvNPk1zDwQexJfPI5MlIoR7zTD0u-pQQwSHuFQjuMXg,
20
20
  mpflash/mpflash/flash_uf2_boardid.py,sha256=WZKucGu_hJ8ymb236uuZbiR6pD6AA_l4LA-7LwtQhq8,414
21
21
  mpflash/mpflash/flash_uf2_linux.py,sha256=LAGkzTImVq-wKo7LGUNlwkUHv1L4rGO7igR5dwxY07o,4298
22
22
  mpflash/mpflash/flash_uf2_windows.py,sha256=dcmA-koavH7duOuNwI0n2aDDbhF1_5ZZ-mXFAXgj8z4,1072
23
- mpflash/mpflash/list.py,sha256=G35Pjc8Aw3qqY4dCi-0QtRRZEiJF5EPwyuU7Jx5S63Q,3186
23
+ mpflash/mpflash/list.py,sha256=R3upYux3mEltpqfrt467Ufs4hVatW1NE40jjhN7Ei1g,3252
24
24
  mpflash/mpflash/logger.py,sha256=dI_H_a7EOdQJyvoeRHQuYeZuTKYVUS3DUPTLhE9rkdM,1098
25
25
  mpflash/mpflash/mpboard_id/__init__.py,sha256=JYGe7VwpBV4ig2M9a6vJUQrMtgdNjZKHt_Z5N13Ycrs,3509
26
- mpflash/mpflash/mpboard_id/board_id.py,sha256=NjKkIUv3sw6X60qy--mieQWrle3WNKw5NwAepMenTHI,2230
26
+ mpflash/mpflash/mpboard_id/board_id.py,sha256=G2oW969pqDuLbQS7UrFNmbWNdDIXfWBAoZMt1EWHLak,2361
27
27
  mpflash/mpflash/mpboard_id/board_info.csv,sha256=KPWDo-zHWfrPGQn9oInsDH-5IdCzhBCs6K_YAmqqSpQ,96983
28
28
  mpflash/mpflash/mpboard_id/board_info.json,sha256=JtVyOMIO1O7vLKzJ0hyXQ4JSxXiQBJyay2hjdNLnZM0,674442
29
29
  mpflash/mpflash/mpremoteboard/__init__.py,sha256=DxlO_7LiyWDz5hNRI77fzp3sI3fZQ9Sd23dnGLx4Zl0,7017
30
30
  mpflash/mpflash/mpremoteboard/mpy_fw_info.py,sha256=6AQbN3jtQgllqWQYl4e-63KeEtV08EXk8_JnM6XBkvo,4554
31
- mpflash/mpflash/mpremoteboard/runner.py,sha256=H3W_xGJvjz7TLtlkDQrCLibgegRWGfsaBOABNbAfP_U,4783
31
+ mpflash/mpflash/mpremoteboard/runner.py,sha256=-PgzAeBGbyXaAUlwyiw4mcINsP2U1XRRjP1_QdBrxpg,4786
32
32
  mpflash/mpflash/vendor/dfu.py,sha256=oK_MRSOyDJrUuS6D24IMIsfL7oLcrvUq0yp_h4WIY2U,5739
33
33
  mpflash/mpflash/vendor/pydfu.py,sha256=_MdBRo1EeNeKDqFPSTB5tNL1jGSBJgsVeVjE5e7Pb8s,20542
34
34
  mpflash/mpflash/vendor/readme.md,sha256=iIIZxuLUIGHQ0KODzYVtMezsztvyxCXcNJp_AzwTIPk,86
35
35
  mpflash/mpflash/vendor/versions.py,sha256=ooRZjeeYepQHwp12hMu2m0p8nZXQ5s942w5mGkKmgeI,3629
36
36
  mpflash/mpflash/worklist.py,sha256=qZsqF3Lf5Bl7QQ31ZLVHewP6WC8fmwQPMbyNgbG7LB4,5299
37
- mpflash/poetry.lock,sha256=IFlzAMe4-gKB5OJHkbm7vnGBmJGBI3vcasHkQmiNz7I,120389
38
- mpflash/pyproject.toml,sha256=Pv5rFYNPI8K6vH9Fd9JwOi6B-07To0uKPijmTh-bLmc,1628
39
- mpflash/README.md,sha256=q_vVktLk3C_3L5nZT6SfiKs7l4zOSYG03zXrHinOLig,12253
37
+ mpflash/poetry.lock,sha256=9dYWM12d3iPBuZ6Mqf2qRRRM6eECbonLY6xFJKokrpE,120389
38
+ mpflash/pyproject.toml,sha256=nsRtomDdZGoYDejdi17PSz6mrEVxygGEj98bZJuxYDw,1630
39
+ mpflash/README.md,sha256=uxCY6m2gIWsdruD78ftesQzGdfdpCWbkZF4yQuVyvio,13159
40
40
  mpflash/stm32_udev_rules.md,sha256=uxvC8FvU7K0R1QQUqCIvVfW9yfWYlIHhIVtirAjQVHE,2684
41
- stubber/__init__.py,sha256=o1qcasRklnxYGOP3EFPV2_p14ofWGqNiABgcOKra5-8,49
41
+ stubber/__init__.py,sha256=z5jowDKZq7kcJXHn0znrH5iWaaETNkTGF_MiwaaJko0,49
42
42
  stubber/basicgit.py,sha256=sflgCv7apLbV2w8F6gmhc-3kuqDnnS4tdGol6JT2uTM,9545
43
43
  stubber/board/board_info.csv,sha256=K2VSmfR013fN-oJWkQUmiQ19w09dVwJHDquPy6QmMhY,8627
44
44
  stubber/board/boot.py,sha256=XjWlKErU5nI1HJSugXIP_3hlwgRQboE6sJrpcbSygnk,1120
45
- stubber/board/createstubs.py,sha256=UEsqCBrXA9ipSjwI7FMr2nsZ0HtNBW2LN1kfSnK1bEw,32723
46
- stubber/board/createstubs_db.py,sha256=BTaGBSVVIz1SzeRCFGgMeShYd6SdtBV3J8ZHi8iy_Zw,30445
47
- stubber/board/createstubs_db_min.py,sha256=Gm1tcNzQ9zcPRt_bHYrUoKLXicHWxUxsOsqHI3TqjPk,11473
48
- stubber/board/createstubs_db_mpy.mpy,sha256=0P0crBWixxVHvpPwB2C1kXTK6g7KuEtzE_4EYJDs1M4,9536
45
+ stubber/board/createstubs.py,sha256=W3h-okYdGkHxus6aPBHV57DW0C-8K83GF0NjdFzPry8,32723
46
+ stubber/board/createstubs_db.py,sha256=U2PN4UDri5-zRfadKELaIh7NP73VB4ncw8NHKjkDoE4,30445
47
+ stubber/board/createstubs_db_min.py,sha256=U2PN4UDri5-zRfadKELaIh7NP73VB4ncw8NHKjkDoE4,30445
48
+ stubber/board/createstubs_db_mpy.mpy,sha256=CdE7teLLvyKAd4ptwKSEKSQ4A35nPN5_ul8sJqu0tH8,9238
49
49
  stubber/board/createstubs_lvgl.py,sha256=CTe7eq1ACRK_JJxavaqDD8znn29nSWJiHHTZ_ps6EhM,27217
50
50
  stubber/board/createstubs_lvgl_min.py,sha256=jLkWYmeboI2A8feMC7pT7cYWttLejQTuX7WAEZCylhw,27207
51
51
  stubber/board/createstubs_lvgl_mpy.mpy,sha256=ex-nlq2V5e8anQBJvRWEEc-FzU7nlwg5NSrZ8vOadIA,9267
52
- stubber/board/createstubs_mem.py,sha256=2DKVzQEt2qyh9s6iS_mo3u5YZ1htS0xn5ycCFIjQWLQ,28779
53
- stubber/board/createstubs_mem_min.py,sha256=mMxSu3TYPmsh_olGJ83b_OBojwwxDeFbVm96H4nJ8WM,11019
54
- stubber/board/createstubs_mem_mpy.mpy,sha256=KdYmiWuaqzPMFpOirTpE7uJTyk1k384f87MQtTaL0NM,9118
55
- stubber/board/createstubs_min.py,sha256=n5IQQLlxt8AIUplS3onjuekm2H4WAlU2fmYMldpf-rc,13564
56
- stubber/board/createstubs_mpy.mpy,sha256=QBmLdLJnPDJJBRZrR27ss6slwUGzredY1f_HrA17f9g,12228
52
+ stubber/board/createstubs_mem.py,sha256=y_h7EvgmCmAxo1a_PmaXe9nV3YjmCPtHfGl7kriYaFw,28779
53
+ stubber/board/createstubs_mem_min.py,sha256=y_h7EvgmCmAxo1a_PmaXe9nV3YjmCPtHfGl7kriYaFw,28779
54
+ stubber/board/createstubs_mem_mpy.mpy,sha256=yo4ePyPsY2_tVPCz1Su-zqkullidt-seIbYDzYpBPzQ,8851
55
+ stubber/board/createstubs_min.py,sha256=W3h-okYdGkHxus6aPBHV57DW0C-8K83GF0NjdFzPry8,32723
56
+ stubber/board/createstubs_mpy.mpy,sha256=PxMv6ARUjMLYOp2K47rLFIztuJJ8-FHyw9rPnEKCFzo,12076
57
57
  stubber/board/fw_info.py,sha256=6AQbN3jtQgllqWQYl4e-63KeEtV08EXk8_JnM6XBkvo,4554
58
58
  stubber/board/info.py,sha256=b7SOPZHVsVhaayKCwVkFZlYu0BW-UFI7LuG1Eop9480,5629
59
59
  stubber/board/main.py,sha256=f6V3tdt6sPZVLuwemT-NLuK9GySfW2c2J6PJMOOWQQw,413
@@ -140,8 +140,8 @@ stubber/utils/stubmaker.py,sha256=qld_Wfm9f4EuzedXlX1Ky0i0BJdR75oOOTha13_ekz0,52
140
140
  stubber/utils/typed_config_toml.py,sha256=ikifCIZGNhS_uqsfp6IwIpxdtZqbLtywprjWG_Q0y8o,2629
141
141
  stubber/utils/versions.py,sha256=R65PAlUCAs9uvTxA6Frco2tHx6ADZCn59JOWI59ZhOo,3790
142
142
  stubber/variants.py,sha256=-o4TgotbKaCcYBdXkutPaBSR1JdxWmOAiuNT1UlahYc,3784
143
- micropython_stubber-1.20.0.dist-info/entry_points.txt,sha256=NQi_M36fgq5k6giSuASas3LrpF6CVdkzfvJC0ja73_g,55
144
- micropython_stubber-1.20.0.dist-info/LICENSE,sha256=Fx9qrL45ayRXgH6QzttboqZEjKXms0w1t_b_nkOqYCU,1572
145
- micropython_stubber-1.20.0.dist-info/METADATA,sha256=Ca3hFC3I3QZKJaG2DPXrLXTNv8LB3f2BFJgpuRfhK4k,19096
146
- micropython_stubber-1.20.0.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
147
- micropython_stubber-1.20.0.dist-info/RECORD,,
143
+ micropython_stubber-1.20.1.dist-info/entry_points.txt,sha256=NQi_M36fgq5k6giSuASas3LrpF6CVdkzfvJC0ja73_g,55
144
+ micropython_stubber-1.20.1.dist-info/LICENSE,sha256=Fx9qrL45ayRXgH6QzttboqZEjKXms0w1t_b_nkOqYCU,1572
145
+ micropython_stubber-1.20.1.dist-info/METADATA,sha256=CEvJmltah3TfCSQajDxJwm_DisVNojYKTGNlyDUuAlY,19103
146
+ micropython_stubber-1.20.1.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
147
+ micropython_stubber-1.20.1.dist-info/RECORD,,
mpflash/README.md CHANGED
@@ -1,15 +1,16 @@
1
- # mpflash
2
- mpflash is a command-line tool for working with MicroPython firmware. It provides various features to help you develop, build, and manage your MicroPython projects.
1
+ # MPFLASH
3
2
 
4
- This tool was created to be used in a CI/CD pipeline to automate the process of downloading and flashing MicroPython firmware to multiple boards, but it can also be used for manual flashing and development.
3
+ `mpflash` is a command-line tool for working with MicroPython firmware. It provides features to help you flash and update Micropython on one or more .
5
4
 
6
- mpflash has been tested on Windows x64, Linux X64 and ARM64, but not (yet) macOS.
5
+ This tool was initially created to be used in a CI/CD pipeline to automate the process of downloading and flashing MicroPython firmware to multiple boards, but it has been extend with a TUI to me be used for manual downloadig, flashing and development.
6
+
7
+ `mpflash` has been tested on Windows x64, Linux X64, but not (yet) macOS.
8
+ Tested ports: `rp2`, `samd`, `esp32`, `esp32s3`, `esp32c3`, `esp8266` and `stm32`
7
9
 
8
10
  ## Features
9
11
  1. List the connected boards including their firmware details, in a tabular or json format
10
- 2. Download MicroPython firmware for specific boards and versions.
11
- 3. Flash one or all connected MicroPython boards with a specific firmware or version.
12
- Tested ports: rp2, samd, esp32, esp32s3, esp8266 and stm32
12
+ 2. Download MicroPython firmware for versions, and matching a specified board or matches your current attached board.
13
+ 3. Flash one or all connected MicroPython boards with a specific firmware or version.
13
14
 
14
15
  ## Installation
15
16
  To install mpflash, you can use pip: `pip install mpflash`
@@ -30,40 +31,40 @@ On Windows this will not be an issue, but on Linux you can use udev rules to gi
30
31
  [See the stm32_permissions documentation](./stm32_udev_rules.md) for more information.
31
32
 
32
33
 
33
- ## Advanced use
34
+ ## Detailed usage
34
35
  You can list the connected boards using the following command:
35
36
  ```bash
36
37
  $ mpflash list
37
38
  D:\MyPython\micropython-stubber> mpflash list
38
- Getting board info ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:02
39
- Connected boards
40
- ┏━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━┓
41
- ┃ Serial ┃ Family ┃ Port ┃ Board ┃ CPU ┃ Version ┃ build ┃
42
- ┡━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━┩
43
- COM11 micropython rp2 │ RPI_PICO_W │ RP2040 1.20.0
44
- COM12 micropython esp8266 ESP8266_GENERIC ESP8266 1.22.2
45
- COM18 micropython rp2 │ RPI_PICO_W │ RP2040 1.23.0-preview 155
46
- COM3 micropython samd SEEED_WIO_TERMINAL SAMD51P19A 1.23.0-preview 155
47
- COM5 micropython stm32 PYBV11 │ STM32F405RG 1.23.0-preview 166
48
- │ COM8 │ micropython │ esp32 │ ESP32_GENERIC_S3 │ ESP32S3 │ 1.23.0-preview │ 155 │
49
- └────────┴─────────────┴─────────┴────────────────────┴─────────────┴────────────────┴───────┘
39
+ Connected boards
40
+ ┏━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━┓
41
+ ┃ Serial ┃Family ┃Port ┃Board ┃CPU ┃Version ┃build ┃
42
+ ┡━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━┩
43
+ │ COM21 │micropython │rp2 │RPI_PICO │RP2040 │v1.23.0-preview │ 236 │
44
+ │ │Raspberry Pi Pico with RP2040
45
+ COM23 │micropython rp2 RPI_PICO_W RP2040 v1.23.0-preview 176
46
+ │ │Raspberry Pi Pico W with RP2040
47
+ COM9 │micropython rp2 ARDUINO_NANO_RP2040_CONNECT RP2040v1.23.0-preview 341
48
+ Arduino Nano RP2040 Connect with RP2040 │ │
49
+ └─────────┴─────────────┴──────┴───────────────────────────────────────────┴────────┴─────────────────┴──────┘
50
50
  ```
51
+ ## Download the firmware
51
52
 
52
- Suppose you want to download the MicroPython firmware for some boards, you can use the following command:
53
+ To download the MicroPython firmware for some boards, use the following command:
54
+ - `mpflash download` download the latest stable firmware for all connected boards
55
+ - `mpflash download --version preview` download the current preview for all connected boards
56
+ - `mpflash download --board ESP8266_GENERIC --board SEEED_WIO_TERMINAL` download these specific boards
57
+ - `mpflash download --version ? --board ?` prompt to select a specific version and board to download
53
58
 
54
- ```bash
55
- # download the firmware
56
- $ mpflash download --board ESP8266_GENERIC --board SEEED_WIO_TERMINAL
57
- ```
58
- This will download the latest stable version of the MicroPython firmware for the boards and save it in the `firmware` directory.
59
+ These will try to download the prebuilt MicroPython firmware for the boards from https://micropython.org/download/ and save it in your downloads folder in the `firmware` directory.
59
60
  The stable version (default) is determined based on the most recent published release,
60
- other optionse are `--version preview` and `--version x.y.z` to download the latest preview or version x.y.z respectively.
61
+ other versions are `--version preview` and `--version x.y.z` to download the latest preview or version x.y.z respectively.
61
62
 
62
- by default the firmware will be downloaded to Downloads in a `firmware` folder in your, but you can specify a different directory using the `--dir` option.
63
+ By default the firmware will be downloaded to your OS's preferred `Downloads/firmware` folder, but you can speciy a different directory using the `--dir` option.
63
64
 
64
- ```bash
65
65
  The directory structure will be something like this:
66
- ```
66
+
67
+ ``` text
67
68
  Downloads/firmware
68
69
  | firmware.jsonl
69
70
  +---esp8266
@@ -74,9 +75,16 @@ Downloads/firmware
74
75
  \---samd
75
76
  SEEED_WIO_TERMINAL-v1.22.2.uf2
76
77
  ```
77
- You can then flash the firmware to the board using the following command: `mpflash flash`
78
+
79
+ ## Flashing the firmware
80
+ After you have downloaded a firmware you can flash the firmware to a board using the following command: `mpflash flash`
78
81
  This will (try to) autodetect the connected boards, and determine the correct firmware to flash to each board.
79
82
 
83
+ - `mpflash flash` will flash the latest stable firmware to all connected boards.
84
+ - `mpflash flash --serial ? --board ?` will prompt to select a specific serial port and board to flash. (the firmware must be dowloaded earlier)
85
+
86
+
87
+ ### Flashing all connected boards with the latest stable firmware
80
88
  ```bash
81
89
  > mpflash flash
82
90
  22:15:55 | ℹ️ - Using latest stable version: v1.22.2
@@ -158,8 +166,8 @@ Note that if no matching firmware can be found for a board, it will be skipped.
158
166
  (For example, the PYBV11 and ESP32_GENERIC_S3 boards in the example above.)
159
167
 
160
168
  ## Issues and bug reports
161
- mpflash is currently co-located in the [micropython-stubber](https://github.com/Josverl/micropython-stubber) repository.
162
- Please report any issues or bugs in the [issue tracker](https://github.com/Josverl/micropython-stubber/issues) with '[mpflash]' in the subject.
169
+ mpflash is currently co-located in the [micropython-stubber](https://github.com/Josverl/micropython-stubber) repository.
170
+ Please report any issues or bugs in the [issue tracker](https://github.com/Josverl/micropython-stubber/issues) using the MPflash feedback template.
163
171
 
164
172
  ## License
165
173
  mpflash is licensed under the MIT license. See the LICENSE file for more details.