Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b7de32a0ea | |||
| 865129b04b | |||
| 5ce820df8d | |||
| 2f6a5b7104 | |||
| 4dbfdbc9ac | |||
| e1e80e2cbe |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -9,6 +9,10 @@
|
|||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Resources\\RP2040\\main.py||{8B382828-6202-11D1-8870-0000F87579D2}",
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Resources\\RP2040\\main.py||{8B382828-6202-11D1-8870-0000F87579D2}",
|
||||||
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Resources\\RP2040\\main.py||{8B382828-6202-11D1-8870-0000F87579D2}"
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Resources\\RP2040\\main.py||{8B382828-6202-11D1-8870-0000F87579D2}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Releases\\CHANGE LOG.txt||{8B382828-6202-11D1-8870-0000F87579D2}",
|
||||||
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Releases\\CHANGE LOG.txt||{8B382828-6202-11D1-8870-0000F87579D2}"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"DocumentGroupContainers": [
|
"DocumentGroupContainers": [
|
||||||
@@ -32,11 +36,23 @@
|
|||||||
"RelativeDocumentMoniker": "rp2040_Loader.py",
|
"RelativeDocumentMoniker": "rp2040_Loader.py",
|
||||||
"ToolTip": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\rp2040_Loader.py",
|
"ToolTip": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\rp2040_Loader.py",
|
||||||
"RelativeToolTip": "rp2040_Loader.py",
|
"RelativeToolTip": "rp2040_Loader.py",
|
||||||
"ViewState": "AgIAAFQAAAAAAAAAAAAAAIIAAAASAAAAAAAAAA==",
|
"ViewState": "AgIAAHUAAAAAAAAAAAAAwKUAAAAAAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.002457|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.002457|",
|
||||||
"WhenOpened": "2025-07-10T14:11:57.024Z",
|
"WhenOpened": "2025-07-10T14:11:57.024Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 2,
|
||||||
|
"Title": "CHANGE LOG.txt",
|
||||||
|
"DocumentMoniker": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Releases\\CHANGE LOG.txt",
|
||||||
|
"RelativeDocumentMoniker": "Releases\\CHANGE LOG.txt",
|
||||||
|
"ToolTip": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Releases\\CHANGE LOG.txt",
|
||||||
|
"RelativeToolTip": "Releases\\CHANGE LOG.txt",
|
||||||
|
"ViewState": "AgIAAAYAAAAAAAAAAAAAACUAAAA+AAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003109|",
|
||||||
|
"WhenOpened": "2025-10-06T12:33:48.161Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 1,
|
"DocumentIndex": 1,
|
||||||
@@ -45,13 +61,9 @@
|
|||||||
"RelativeDocumentMoniker": "Resources\\RP2040\\main.py",
|
"RelativeDocumentMoniker": "Resources\\RP2040\\main.py",
|
||||||
"ToolTip": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Resources\\RP2040\\main.py",
|
"ToolTip": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Resources\\RP2040\\main.py",
|
||||||
"RelativeToolTip": "Resources\\RP2040\\main.py",
|
"RelativeToolTip": "Resources\\RP2040\\main.py",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAABqAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.002457|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.002457|",
|
||||||
"WhenOpened": "2025-07-23T11:07:29.706Z"
|
"WhenOpened": "2025-07-23T11:07:29.706Z"
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Bookmark",
|
|
||||||
"Name": "ST:0:0:{cce594b6-0c39-4442-ba28-10c64ac7e89f}"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,6 @@
|
|||||||
"Version": 1,
|
"Version": 1,
|
||||||
"WorkspaceRootPath": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\",
|
"WorkspaceRootPath": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\",
|
||||||
"Documents": [
|
"Documents": [
|
||||||
{
|
|
||||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Releases\\CHANGE LOG.txt||{8B382828-6202-11D1-8870-0000F87579D2}",
|
|
||||||
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Releases\\CHANGE LOG.txt||{8B382828-6202-11D1-8870-0000F87579D2}"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\rp2040_Loader.py||{8B382828-6202-11D1-8870-0000F87579D2}",
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\rp2040_Loader.py||{8B382828-6202-11D1-8870-0000F87579D2}",
|
||||||
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:rp2040_Loader.py||{8B382828-6202-11D1-8870-0000F87579D2}"
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:rp2040_Loader.py||{8B382828-6202-11D1-8870-0000F87579D2}"
|
||||||
@@ -13,6 +9,10 @@
|
|||||||
{
|
{
|
||||||
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Resources\\RP2040\\main.py||{8B382828-6202-11D1-8870-0000F87579D2}",
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Resources\\RP2040\\main.py||{8B382828-6202-11D1-8870-0000F87579D2}",
|
||||||
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Resources\\RP2040\\main.py||{8B382828-6202-11D1-8870-0000F87579D2}"
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Resources\\RP2040\\main.py||{8B382828-6202-11D1-8870-0000F87579D2}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Releases\\CHANGE LOG.txt||{8B382828-6202-11D1-8870-0000F87579D2}",
|
||||||
|
"RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Releases\\CHANGE LOG.txt||{8B382828-6202-11D1-8870-0000F87579D2}"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"DocumentGroupContainers": [
|
"DocumentGroupContainers": [
|
||||||
@@ -31,25 +31,12 @@
|
|||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 0,
|
"DocumentIndex": 0,
|
||||||
"Title": "CHANGE LOG.txt",
|
|
||||||
"DocumentMoniker": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Releases\\CHANGE LOG.txt",
|
|
||||||
"RelativeDocumentMoniker": "Releases\\CHANGE LOG.txt",
|
|
||||||
"ToolTip": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Releases\\CHANGE LOG.txt",
|
|
||||||
"RelativeToolTip": "Releases\\CHANGE LOG.txt",
|
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAACEAAAAAAAAAAAAAAA==",
|
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003109|",
|
|
||||||
"WhenOpened": "2025-10-06T12:33:48.161Z",
|
|
||||||
"EditorCaption": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$type": "Document",
|
|
||||||
"DocumentIndex": 1,
|
|
||||||
"Title": "rp2040_Loader.py",
|
"Title": "rp2040_Loader.py",
|
||||||
"DocumentMoniker": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\rp2040_Loader.py",
|
"DocumentMoniker": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\rp2040_Loader.py",
|
||||||
"RelativeDocumentMoniker": "rp2040_Loader.py",
|
"RelativeDocumentMoniker": "rp2040_Loader.py",
|
||||||
"ToolTip": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\rp2040_Loader.py",
|
"ToolTip": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\rp2040_Loader.py",
|
||||||
"RelativeToolTip": "rp2040_Loader.py",
|
"RelativeToolTip": "rp2040_Loader.py",
|
||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAIIAAAASAAAAAAAAAA==",
|
"ViewState": "AgIAAHIAAAAAAAAAAAAAwKUAAAAAAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.002457|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.002457|",
|
||||||
"WhenOpened": "2025-07-10T14:11:57.024Z",
|
"WhenOpened": "2025-07-10T14:11:57.024Z",
|
||||||
"EditorCaption": ""
|
"EditorCaption": ""
|
||||||
@@ -57,15 +44,26 @@
|
|||||||
{
|
{
|
||||||
"$type": "Document",
|
"$type": "Document",
|
||||||
"DocumentIndex": 2,
|
"DocumentIndex": 2,
|
||||||
|
"Title": "CHANGE LOG.txt",
|
||||||
|
"DocumentMoniker": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Releases\\CHANGE LOG.txt",
|
||||||
|
"RelativeDocumentMoniker": "Releases\\CHANGE LOG.txt",
|
||||||
|
"ToolTip": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Releases\\CHANGE LOG.txt",
|
||||||
|
"RelativeToolTip": "Releases\\CHANGE LOG.txt",
|
||||||
|
"ViewState": "AgIAAAYAAAAAAAAAAAAAACUAAAA+AAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003109|",
|
||||||
|
"WhenOpened": "2025-10-06T12:33:48.161Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 1,
|
||||||
"Title": "main.py",
|
"Title": "main.py",
|
||||||
"DocumentMoniker": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Resources\\RP2040\\main.py",
|
"DocumentMoniker": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Resources\\RP2040\\main.py",
|
||||||
"RelativeDocumentMoniker": "Resources\\RP2040\\main.py",
|
"RelativeDocumentMoniker": "Resources\\RP2040\\main.py",
|
||||||
"ToolTip": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Resources\\RP2040\\main.py",
|
"ToolTip": "C:\\Users\\william\\Documents\\Git\\RP2040_UPS_Loader\\Resources\\RP2040\\main.py",
|
||||||
"RelativeToolTip": "Resources\\RP2040\\main.py",
|
"RelativeToolTip": "Resources\\RP2040\\main.py",
|
||||||
"ViewState": "AgIAAGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAABqAAAAAAAAAA==",
|
||||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.002457|",
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.002457|",
|
||||||
"WhenOpened": "2025-07-23T11:07:29.706Z",
|
"WhenOpened": "2025-07-23T11:07:29.706Z"
|
||||||
"EditorCaption": ""
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+16
-1
@@ -26,8 +26,23 @@ Improvements:
|
|||||||
Bug Fixes:
|
Bug Fixes:
|
||||||
- Fixed `mpremote`
|
- Fixed `mpremote`
|
||||||
|
|
||||||
RP Loader V1.1.2 - 06/10/2025
|
RP Loader V1.1.0 - 06/10/2025
|
||||||
|
|
||||||
Improvements:
|
Improvements:
|
||||||
- Added support for the RP2350-ETH (Pico 2 platform)
|
- Added support for the RP2350-ETH (Pico 2 platform)
|
||||||
|
|
||||||
|
RP Loader V1.1.1 - 08/10/2025
|
||||||
|
|
||||||
|
Improvements:
|
||||||
|
- Included the firmware for the RP2350-ETH (Pico 2 platform) in the Firmware folder
|
||||||
|
- Updated firmwares to latest version of MicroPython (V1.26.1)
|
||||||
|
- Removed various unnecessary parts of the program to make it even faster to run :)
|
||||||
|
|
||||||
|
Bug Fixes:
|
||||||
|
- Fixed support for the RP2350-ETH (Pico 2 platform)
|
||||||
|
|
||||||
|
RP Loader V1.2.0 - 08/10/2025
|
||||||
|
|
||||||
|
Improvements:
|
||||||
|
- Automatic reset of the microcontroller once the code is loaded
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -5,7 +5,6 @@ from ch9120 import CH9120
|
|||||||
import ujson
|
import ujson
|
||||||
import math
|
import math
|
||||||
|
|
||||||
start_time = time.time()
|
|
||||||
|
|
||||||
# --- CH9120 Network Configuration ---
|
# --- CH9120 Network Configuration ---
|
||||||
MODE = 0
|
MODE = 0
|
||||||
@@ -135,12 +134,6 @@ def update_ip_configuration(ip, gateway, subnet):
|
|||||||
|
|
||||||
save_network_config(ip, gateway, subnet)
|
save_network_config(ip, gateway, subnet)
|
||||||
|
|
||||||
def get_uptime():
|
|
||||||
seconds = int(time.time() - start_time)
|
|
||||||
hrs = seconds // 3600
|
|
||||||
mins = (seconds % 3600) // 60
|
|
||||||
secs = seconds % 60
|
|
||||||
return f"{hrs:02d}:{mins:02d}:{secs:02d}"
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
ch9120_configure()
|
ch9120_configure()
|
||||||
|
|||||||
+19
-3
@@ -1,6 +1,7 @@
|
|||||||
import os
|
import os
|
||||||
import json
|
import json
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import time
|
||||||
import tkinter as tk
|
import tkinter as tk
|
||||||
from tkinter import ttk
|
from tkinter import ttk
|
||||||
from tkinter import filedialog, messagebox
|
from tkinter import filedialog, messagebox
|
||||||
@@ -55,7 +56,7 @@ class RP2040UploaderApp:
|
|||||||
# List of supported boards (VID, PID, Name)
|
# List of supported boards (VID, PID, Name)
|
||||||
supported_boards = [
|
supported_boards = [
|
||||||
(0x239A, 0x80F2, "RP2040"),
|
(0x239A, 0x80F2, "RP2040"),
|
||||||
(0x2E8A, 0x0009, "RP2350"),
|
(0x2E8A, 0x0005, "RP2350"),
|
||||||
]
|
]
|
||||||
|
|
||||||
ports = serial.tools.list_ports.comports()
|
ports = serial.tools.list_ports.comports()
|
||||||
@@ -119,6 +120,21 @@ class RP2040UploaderApp:
|
|||||||
sys.argv = original_argv # Always restore original argv
|
sys.argv = original_argv # Always restore original argv
|
||||||
|
|
||||||
if success:
|
if success:
|
||||||
|
|
||||||
|
# --- NEW: Soft reset the board ---
|
||||||
|
self.label.config(text="Resetting board...")
|
||||||
|
print("Resetting board...")
|
||||||
|
self.master.update()
|
||||||
|
|
||||||
|
original_argv = sys.argv
|
||||||
|
sys.argv = ["mpremote", "connect", self.port, "reset"]
|
||||||
|
try:
|
||||||
|
mpremote_main()
|
||||||
|
except SystemExit:
|
||||||
|
pass
|
||||||
|
finally:
|
||||||
|
sys.argv = original_argv
|
||||||
|
time.sleep(0.4)
|
||||||
self.label.config(text="DONE")
|
self.label.config(text="DONE")
|
||||||
self.master.update()
|
self.master.update()
|
||||||
messagebox.showinfo("Success", "All files uploaded successfully!")
|
messagebox.showinfo("Success", "All files uploaded successfully!")
|
||||||
@@ -128,7 +144,7 @@ class RP2040UploaderApp:
|
|||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
root = tk.Tk()
|
root = tk.Tk()
|
||||||
app = RP2040UploaderApp(root)
|
app = RP2040UploaderApp(root)
|
||||||
root.title("RP Loader V1.1.0")
|
root.title("RP Loader V1.2.0")
|
||||||
|
|
||||||
root.iconbitmap(r'Resources/icon1.ico')
|
root.iconbitmap(r'Resources/icon1.ico')
|
||||||
|
|
||||||
@@ -143,7 +159,7 @@ if __name__ == "__main__":
|
|||||||
# Footer label in bottom right
|
# Footer label in bottom right
|
||||||
footer_frame = tk.Frame(root)
|
footer_frame = tk.Frame(root)
|
||||||
footer_frame.pack(side=tk.BOTTOM, fill=tk.X)
|
footer_frame.pack(side=tk.BOTTOM, fill=tk.X)
|
||||||
footer_label = tk.Label(footer_frame, text="Made by Hendo 06/10/2025", anchor="e", justify="right", font=("TkDefaultFont", 7, "bold"))
|
footer_label = tk.Label(footer_frame, text="Made by Hendo 08/10/2025", anchor="e", justify="right", font=("TkDefaultFont", 7, "bold"))
|
||||||
footer_label.pack(side=tk.RIGHT, padx=10, pady=5)
|
footer_label.pack(side=tk.RIGHT, padx=10, pady=5)
|
||||||
|
|
||||||
root.mainloop()
|
root.mainloop()
|
||||||
|
|||||||
Reference in New Issue
Block a user