Archim 1.0a Compile Error

Hi. I pulled the latest firmware for the Archim 1.0a (dual endstops) but have run into issue compiling. Any idea if there is a known issue or if the firmware is outdated?

what are you using to compile?

Arduino doesn’t work as of 509. 508 still does. Platformio should work with 509, 510. They have to compile, or it won’t get published to the release page.

1 Like

Thanks! Saw this note in the change log and was able to flash via platform.io. now trying to figure out wrong direction movement with another thread

Thanks. Saw the changelog mentioning the need to use platform.io. up and running again

This is but a single data point, but I was able to successfully compile and flash 510 from Arduino 1.8.13 on macOS 10.15.7.

Is there something in particular which manifests itself as broken, or is it just that generally Marlin is moving away from Arduino and so 507 is the last “guaranteed” firmware?

That’s weird. The builder runs in linux, and it was failing the arduino build for the archims a while ago. I don’t remember exactly, but it was some files that looked like they were being compiled and they shouldnt have.

We had just spent a bunch of time of the archims and I don’t even have one and Ryan has one or zero. So neither of us had much of a stomach for fixing it. Ryan did test that it worked from vscode (which was previously broken). I think I came to the conclusion that it was not going to be supported any longer. But Ryan wanted to keep it if it was working in vscode/pio.

But v510 didn’t change the version of Marlin from v509. So I am surprised it worked. Did you make any changes?

1 Like

So I am surprised it worked. Did you make any changes?

I was surprised as well. I made no changes and my Arduino env. is pretty bog standard. I simply double-clicked on the .ino and pushed the “compile” button.

Arduino is in general a toolchain mess. (That’s fine, messy things can be very fun sometimes, esp. when they don’t take themselves too seriously). Was your build server starting from a virgin copy of everything and chrooted into its own sandbox? Arduino can be distressingly resourceful at pulling in libs you thought were completely out of its reach. I had to spend a long time getting Arduino CI to work in an industrial setting.

I don’t blame you for bowing out. The kind of platforms you want to support are the ones you can get up and running in a CI and then they stay fixed for forever. I’m not sure what kind of extensions V1 has made to Marlin, but I imagine they’re very small and could almost live in a separate branch to be git merged --onto every time the upstream project releases new code. If Archim is failing even with this small ask, then I can only imagine the heartache in store years down the road.

MarlinBuilder checks out a vanilla marlin from Marlins github. It then uses bash scripts (mostly sed) to edit the configuration and configuration_adv files. It deletes some extra hal files. It sets some environment variables for platformio.

Then it goes through the build, which is installing the arduino cli and asking it to compile the code. It also installs platformio and builds with that (the command line tool, no vscode). Then it copies the .bin or .hex and zips up the source. If it is a release triggered build, it uploads it to the release pages.

It does all these things in a single docker container for each build. There are a few dozen builds.

Somehow, github is willing to do all of this for free. We just have to maintain it :slight_smile:

1 Like