mirror of
https://github.com/Klipper3d/klipper.git
synced 2025-07-07 06:57:38 -06:00
flash_usb: use sudo for rp2040 flashing
The rp2040 can be flashed without sudo when using udev rules to give the user permission, but in a standard configuration sudo is required. Here we make it possible for flash_usb to use sudo for the rp2040 target, and make it the default when using `make flash` for the rp2040. As for other targets, one can set `NOSUDO=1` to not call through sudo. Signed-off-by: Lasse Dalegaard <dalegaard@gmail.com>
This commit is contained in:
parent
15ffa85954
commit
a7b01857f5
2 changed files with 6 additions and 4 deletions
|
@ -163,7 +163,7 @@ def flash_atsamd(options, binfile):
|
|||
sys.exit(-1)
|
||||
|
||||
# Look for an rp2040 and flash it with rp2040_flash.
|
||||
def rp2040_flash(devpath, binfile):
|
||||
def rp2040_flash(devpath, binfile, sudo):
|
||||
args = ["lib/rp2040_flash/rp2040_flash", binfile]
|
||||
if len(devpath) > 0:
|
||||
with open(devpath + "/busnum") as f:
|
||||
|
@ -172,6 +172,8 @@ def rp2040_flash(devpath, binfile):
|
|||
addr = f.read().strip()
|
||||
args += [bus, addr]
|
||||
sys.stderr.write(" ".join(args) + '\n\n')
|
||||
if sudo:
|
||||
args.insert(0, "sudo")
|
||||
res = subprocess.call(args)
|
||||
if res != 0:
|
||||
raise error("Error running rp2040_flash")
|
||||
|
@ -268,7 +270,7 @@ device as a usb drive, and copy klipper.uf2 to the device.
|
|||
def flash_rp2040(options, binfile):
|
||||
try:
|
||||
if options.device.lower() == "first":
|
||||
rp2040_flash("", binfile)
|
||||
rp2040_flash("", binfile, options.sudo)
|
||||
return
|
||||
|
||||
buspath, devpath = translate_serial_to_usb_path(options.device)
|
||||
|
@ -276,7 +278,7 @@ def flash_rp2040(options, binfile):
|
|||
devpath = os.path.dirname(devpath)
|
||||
enter_bootloader(options.device)
|
||||
wait_path(devpath)
|
||||
rp2040_flash(devpath, binfile)
|
||||
rp2040_flash(devpath, binfile, options.sudo)
|
||||
|
||||
except error as e:
|
||||
sys.stderr.write(RP2040_HELP % (options.device, str(e)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue