Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0359342777 |
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -32,7 +32,7 @@
|
|||||||
"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": "AgIAAAAAAAAAAAAAAAAAAG4AAAA8AAAAAAAAAA==",
|
"ViewState": "AgIAAFQAAAAAAAAAAAAAAIIAAAASAAAAAAAAAA==",
|
||||||
"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": ""
|
||||||
@@ -48,6 +48,10 @@
|
|||||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||||
"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,6 +2,10 @@
|
|||||||
"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}"
|
||||||
@@ -27,27 +31,41 @@
|
|||||||
{
|
{
|
||||||
"$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": "AgIAAAAAAAAAAAAAAAAAAHoAAAAkAAAAAAAAAA==",
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAIIAAAASAAAAAAAAAA==",
|
||||||
"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",
|
"$type": "Document",
|
||||||
"DocumentIndex": 1,
|
"DocumentIndex": 2,
|
||||||
"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": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
"ViewState": "AgIAAGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||||
"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.
@@ -24,4 +24,10 @@ Improvements:
|
|||||||
- Added logging to see which files get uploaded or skipped (if unchanged)
|
- Added logging to see which files get uploaded or skipped (if unchanged)
|
||||||
|
|
||||||
Bug Fixes:
|
Bug Fixes:
|
||||||
- Fixed `mpremote`
|
- Fixed `mpremote`
|
||||||
|
|
||||||
|
RP Loader V1.1.2 - 06/10/2025
|
||||||
|
|
||||||
|
Improvements:
|
||||||
|
- Added support for the RP2350-ETH (Pico 2 platform)
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
+23
-15
@@ -17,15 +17,14 @@ class RP2040UploaderApp:
|
|||||||
self.folder_path = os.path.join(os.getcwd(), "Resources/RP2040")
|
self.folder_path = os.path.join(os.getcwd(), "Resources/RP2040")
|
||||||
self.config_path = os.path.join(self.folder_path, "config.json")
|
self.config_path = os.path.join(self.folder_path, "config.json")
|
||||||
|
|
||||||
|
self.label = tk.Label(master, text="Searching for board...")
|
||||||
self.label = tk.Label(master, text="Searching for RP2040...")
|
|
||||||
self.label.pack(pady=10)
|
self.label.pack(pady=10)
|
||||||
|
|
||||||
self.port = self.find_rp2040_port()
|
self.port, self.board_name = self.find_supported_port()
|
||||||
if self.port:
|
if self.port:
|
||||||
self.label.config(text=f"RP2040 detected on {self.port}")
|
self.label.config(text=f"{self.board_name} detected on {self.port}")
|
||||||
else:
|
else:
|
||||||
self.label.config(text="RP2040 not found.")
|
self.label.config(text="No supported board found.")
|
||||||
|
|
||||||
# Config entry fields
|
# Config entry fields
|
||||||
self.ip_entry = self.create_labeled_entry("IP Address:")
|
self.ip_entry = self.create_labeled_entry("IP Address:")
|
||||||
@@ -34,7 +33,13 @@ class RP2040UploaderApp:
|
|||||||
|
|
||||||
self.load_config()
|
self.load_config()
|
||||||
|
|
||||||
self.upload_button = ttk.Button(master, text="Upload Files", style="Accent.TButton", command=self.upload_files, state=tk.NORMAL if self.port else tk.DISABLED)
|
self.upload_button = ttk.Button(
|
||||||
|
master,
|
||||||
|
text="Upload Files",
|
||||||
|
style="Accent.TButton",
|
||||||
|
command=self.upload_files,
|
||||||
|
state=tk.NORMAL if self.port else tk.DISABLED
|
||||||
|
)
|
||||||
self.upload_button.pack(pady=10)
|
self.upload_button.pack(pady=10)
|
||||||
|
|
||||||
def create_labeled_entry(self, label_text):
|
def create_labeled_entry(self, label_text):
|
||||||
@@ -46,17 +51,20 @@ class RP2040UploaderApp:
|
|||||||
entry.pack(side=tk.RIGHT)
|
entry.pack(side=tk.RIGHT)
|
||||||
return entry
|
return entry
|
||||||
|
|
||||||
def find_rp2040_port(self):
|
def find_supported_port(self):
|
||||||
target_vid = 0x239A
|
# List of supported boards (VID, PID, Name)
|
||||||
target_pid = 0x80F2
|
supported_boards = [
|
||||||
|
(0x239A, 0x80F2, "RP2040"),
|
||||||
|
(0x2E8A, 0x0009, "RP2350"),
|
||||||
|
]
|
||||||
|
|
||||||
ports = serial.tools.list_ports.comports()
|
ports = serial.tools.list_ports.comports()
|
||||||
for port in ports:
|
for port in ports:
|
||||||
if port.vid == target_vid and port.pid == target_pid:
|
for vid, pid, name in supported_boards:
|
||||||
return port.device
|
if port.vid == vid and port.pid == pid:
|
||||||
|
return port.device, name
|
||||||
return None
|
|
||||||
|
|
||||||
|
return None, None
|
||||||
|
|
||||||
def load_config(self):
|
def load_config(self):
|
||||||
if os.path.isfile(self.config_path):
|
if os.path.isfile(self.config_path):
|
||||||
@@ -120,7 +128,7 @@ class RP2040UploaderApp:
|
|||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
root = tk.Tk()
|
root = tk.Tk()
|
||||||
app = RP2040UploaderApp(root)
|
app = RP2040UploaderApp(root)
|
||||||
root.title("RP2040 Loader V1.0.2")
|
root.title("RP Loader V1.1.0")
|
||||||
|
|
||||||
root.iconbitmap(r'Resources/icon1.ico')
|
root.iconbitmap(r'Resources/icon1.ico')
|
||||||
|
|
||||||
@@ -135,7 +143,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 23/07/2025", anchor="e", justify="right", font=("TkDefaultFont", 7, "bold"))
|
footer_label = tk.Label(footer_frame, text="Made by Hendo 06/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