I’m curious if anyone has run into the same problem trying to upload code to the SparkFun Artemis on macOS Sequoia using an M3 MacBook.
I am using a MicroMod Data Logging Carrier board and the Artemis Processor. When I connect via USB C, I can view the device and the output is displayed to Serial Monitor. However, I am unable to upload code. I have tried every combination of pressing the Boot and Reset buttons to no avail.
The Artemis uses the CH340E USB-to-Serial chip, though I’m not entirely sure that’s the problem since I can already view the USB device.
Cheers,
Adam
Artemis SVL Bootloader
Script version 1.7
Phase: Setup
Cleared startup blip
Failed to enter bootload phase
Phase: Setup
Cleared startup blip
Failed to enter bootload phase
Phase: Setup
Cleared startup blip
Failed to enter bootload phase
Target failed to enter bootload mode. Verify the right COM port is selected and that your board has the SVL bootloader.
The CH34xVCPDriver.dmg driver was installed successfully but it looks like artemis_svl will need to be recompiled with the added code. I seem to recall this having to be done in the past when Apple broke previous versions of everything.
@paulvha can you remind me if there is an easy way to achieve this?
Cheers,
Adam
# ***********************************************************************************
#
# Main function
#
# ***********************************************************************************
def main():
try:
num_tries = 3
print('\n\nArtemis SVL Bootloader')
verboseprint("Script version " + SCRIPT_VERSION_MAJOR +
"." + SCRIPT_VERSION_MINOR)
if not os.path.exists(args.binfile):
print("Bin file {} does not exist.".format(args.binfile))
exit()
bl_success = False
entered_bootloader = False
for _ in range(num_tries):
with serial.Serial(args.port, args.baud, timeout=args.timeout) as ser:
# Toggle RTS to signal Artemis bootloader mode
ser.rts = False
ser.rts = True
# startup time for Artemis bootloader (experimentally determined - 0.095 sec min delay)
t_su = 0.15
time.sleep(t_su) # Allow Artemis to come out of reset
# Perform baud rate negotiation
entered_bootloader = phase_setup(ser)
if(entered_bootloader == True):
bl_success = phase_bootload(ser)
if(bl_success == True): # Bootload
#print("Bootload complete!")
break
else:
verboseprint("Failed to enter bootload phase")
if(bl_success == True):
break
if(entered_bootloader == False):
print(
"Target failed to enter bootload mode. Verify the right COM port is selected and that your board has the SVL bootloader.")
except serial.SerialException:
phase_serial_port_help()
exit()
All credits to the people that worked on that topic. As described in the last entry Unable to flash Artemis Thing Plus on macOS Sequoia - #6 by farrell
you need to download and run ‘pyinstaller’ to create a new executable function and copy that the macosx folder you indicated.