-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FR] [2.0.x] Ultimachine Archim (SAM3X8E) work-in-progress #7776
Comments
Is this a formal request from UltiMachine with possible sponsoring of a test board or is the developer required to purchase one on his own to get started? |
Just an other type of Due hardware, isn't it? If so it should work right out of the box with the given pin definitions .... if the Due code gets usable. Right at the moment there are still some issues preventing it from being used on a productive printer. |
Archim uses a customized Due core (see
https://github.com/ultimachine/Archim/wiki) which needs to be installed as
a new board in Arduino IDE. I looked, but I do not see PlatformIO support
for Archim, so it would need to be added to PlatformIO to build with that.
…On 28 September 2017 at 15:49, RalphSch ***@***.***> wrote:
Just an other type of Due hardware, isn't it? If so it should work right
out of the box with the given pin definitions .... if the Due code gets
usable. Right at the moment there are still some issues preventing it from
being used on a productive printer.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#7776 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AA7VR10Q0GnkooTgGHRn2fx9rp0di3Fnks5sm7H8gaJpZM4PmL-Z>
.
|
UltiMachine would like to provide+sponsor test boards to Marlin developers. We can also provide samples of a new variant with tmc2130 drivers. If you are interested then send an email request with a link to this discussion to info@ultimachine.com |
You've said the magic word "Trinamic" right there. Email sent. Hopefully I'll hear something back from you guys. |
I recently came into possession of an archim board (Won a contest @Allted ran on the MPCNC forums) so with one on hand to play with I started looking into this. I'm going off of @teemuatlut's #8190 and the pin defs on the ultimachine wiki along with the marlin4due port. I haven't got it to compile yet so I haven't done a PR, but my branch is here: https://github.com/jhitesma/Marlin-Folger/tree/jth-archim If anyone wanted to take a peek and warn me of any major mistakes I'm making or give me any tips. |
What would your PR be about exactly? |
For the archim1.0a - basically just another pins file (and line in pins.h to reference it) and example config files since the pins are different than the archim2.0. So the big thing is just the different pins defs, and the different config files since it doesn't have those sexy trinamic's ;) The other other changes are already in your PR - so I'd wait for that to merge first. It wouldn't be that hard to add to your PR but that would make your PR less atomic so I was hesitant to suggest it. |
(I found the info about installing @teemuatlut's tmc2130 arduino library and was able to solve some of the issues I was experiencing. Just missed that the last few dozen times I read the Config files somehow) I see that #8190 merged... I rebased my work on archim1.0 this morning and found a few other things that have me scratching my head.
On archim1.0 I looked at the marlin4due port and brought over the pin definitions for current control - but they broke compilation. Looking at the code it appears current Marlin2.0 only supports 3 channels of current control, a combined XY channel, Z, and a single extruder. Marlin4Due was using 5 channels (X,Y,X,E0,E1). I'm looking into modifying 2.0 to support this - but the way current control is handled has changed substantially and I'm still trying to figure out the best way to approach that. I was able to build for archim1.0a with current control disabled - but I'm not about to try it on a board without that! BTW - if there's a better place to discuss this please let me know. (I can be reached through my same username on gmail if someone wanted to discuss anything in email) I could open a PR with my work so far but I assume it's prefered that it be more or less complete before I do that so I haven't yet. |
I think here is fine. The TMC2130 current control is handled by the library and Marlin makes use of that. The digipot or pwm current controls are seperate from anything Trinamic and you may need to expand their functionality. |
Is anyone working on this aspect or is there any work-around to support compiling in PlatformIO ? Without that part, the board cannot be included for regression testing since TravisCI for 2.0.x branch currently uses PlatformIO (see #8798) |
I started to look into that last month but have been crazy busy with life stuff and didn't have any time to even try. But there is info on adding a custom board here: |
@tonokip Care to weigh in on this? It's possible that just for compile test purposes all it needs is the compile time definition for |
Just to chime in on this thread, we are working on a printer release using the Archim 2. So we would be willing to provide assistance. This thread hasn't been updated since December, so curious as to what the status currently is. |
I'm using the board on a CoreXY build. There hasn't been updates because everything should be alright. |
That's good to hear. Are there any timelines for an initial Marlin 2.0 release? What are the major issues holding it back? Is it still bleeding edge, or just slightly-give-you-a-bruise edge? |
@thinkyhead can probably give you a better answer. But what I know is that v1.1.9 should be the next release and is intended to be the last one in v1.1.x series. Supposedly there are some issues that Scott would like to fix first so it's possible that the plan will change. The bugfix-2.0.x branch should be on par with 1.1.x as far as AVR is concerned and I believe that is the primary goal. From there we can again focus on one branch only and better test the 32bit platforms. My hope actually is that the developers would already be running the v2 branch on their machines and I have not seen issues on my main machine which is running a standard ATMega. |
The initial 2.0 release will be done when there's a critical mass of boards and features at least at beta status. Some features won't be available for some platforms until we have 32-bit support for their top-level APIs (e.g., Neopixel). Keep an eye on #7076 for which boards are beta and which are far from completion. |
@thinkyhead : Should the Archim 2.0 be added to the list? This is the board I am working with for our printers. |
If I didn't mention it elsewhere, the board is now on the list. |
Might want to update the list to clarify Archim vs. Archim 2.0 support. I know there's been a lot of work on archim 2.0 but I haven't seen anything on the original Archim yet. 1.0 is almost the same but instead of tmc2130 drivers it has drv8825's and last time I tried to get mine going ran into an issue with setting current (though it looks like Marlin2.0 may have changed that enough since I last checked that it will no longer be a roadblock...previously there was only a way to set a single x/y current not separate x/y as archim needed) Hopefully next week I'll have some time to see if I can make progress on my 1.0 board again. |
@jhitesma — Well, do keep us posted on things that need to be fixed. We'd like to get as many common boards supported as possible. |
I'm doing a little investigative work trying to get this board up and running on @Allted 's MPCNC branch. The build from the Arduino GUI is giving a different output then the platformio build see my branch. My initial review of the code seems to indicate that the fastIO pin defs for this board differ from the UltiMachine add-on configuration available in the UI. It seems that the Arduino GUI uses the board configuration from UltiMachine and produces a working build whereas the fastIO defs used by platformIO generate an incorrect output. |
So attempting to build this in a fresh VSCode copy of the main 2.0.x branch for Archim 1.0, I used ENV:DUE as labelled. However, it would appear there is no definition of ARDUINO_SAM_ARCHIM when building via platformIO and therefore some pins are left undefined for fastio.h and the build fails. Is this intended behavior? Am I supposed to modify the environment to include this define? I notice a few other options that switch based on hardware variant archim in the makefile, and I'm wondering if those also need to be created. It also appears there is a redefine for STEP_TIME_NUM and HAL_STEP_TIMER_ISR that happens for the board, and I assume this is intended. |
Based on recent changes from a couple users I believe Archim boards are currently working. I'm closing this feature request. Please reply with details if you feel this was incorrect. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
I've received a request to include formal support for this board.
This is a 32-bit RAMBo board. https://ultimachine.com/products/archim-1-0a
Pins definitions can be found at https://github.com/ultimachine/Marlin4Due/tree/Archim/Marlin
The text was updated successfully, but these errors were encountered: