drunken-octopus / drunken-octopus-marlin

An Alternative (Unofficial) Marlin Firmware for AlephObjects Printers
GNU General Public License v3.0
34 stars 13 forks source link

ARCHIM2 EEPROM / SPI functionality seems to be tightly coupled to the UI Layer in the FTDI_EVE_TOUCH_UI implementation preventing its use on standard reprap display configurations #22

Open SwiftNinja opened 4 years ago

SwiftNinja commented 4 years ago

Hi there,

I've got a custom built Taz 6 that uses an Archim 2 board, has Belted Z, Hemera toolhead, a USB flash interface, dual filament runout detection, a "modern" carriage, on the Taz 6 spec frame, and, otherwise, is setup like a cross between a Taz Workhorse and a Taz Pro. But this machine has the "classic" RepRap Discount controller - the blue and white screen.

I would like to be able to use the EEPROM/SPI code that you've already coded in Marlin during your tenure at Lulzbot, but it appears that it's been tightly coupled to the UI layer (FTDI_EVE_TOUCH_UI) and is otherwise unavailable when using UltraLCD/dogm.

I don't think that restriction is really necessary; any chance you could refactor this so that it's not tightly coupled, and, therefore, its functionality is accessible to those who have an Archim2 board, but NOT the FTDI FT8xx series displays? It would be nice to have the functionality available. I started to unwind it, but, since I'm not incredibly familiar with Marlin, most of the time was spent reverse engineering the existing code and after a few hours I abandoned it.

I think the change request belongs here, rather than on the main marlin repo, because the request seems in line with DrunkenOctopus' mission - keeping the older generations of machines current. And part of keeping them current can mean making hardware changes like I have done. That, and you were the original coder - so who better to ping? :)

EDIT: If it's not clear why I want this - I would like to be able to persist settings across flashes; things like Z-Offset, Backlash Settings, Bed Levelling Values, etc, as is implemented on the Taz Pro with the FTDI FT8xx displays.

Regardless, thanks for all your hard work trying to keep these machines up to date with custom firmware. It's much appreciated.

marciot commented 3 years ago

While I have thought about doing this, the whole idea was and is a horrible hack. This is why I kept it separate so I wouldn't have to justify merging it into upstream Marlin. It's a hack because it's Archim specific and making it work with other boards would be difficult, if not impossible. At the time, I made it part of the FTDI code to keep from having to integrate it with the rest of the Marlin code.

SwiftNinja commented 3 years ago

Does Marlin only accept upstream changes if they are global (eg non-platform-specific)?

I can see it being "too niche" to justify a commit for the whole FTDI Lulzbot/Syndaver display, since it'll only work with those two machines, or someone having that exact screen interface and controller.

However, providing the implementation generically, but specifically for Archim2 seems completely reasonable to me. The feature would be available for users of Archim2, if they so wanted, but not if the person is running a different motherboard. And at that point,

I figure the scope is sufficient to justify it, although I do understand that not too many printers in the market are operating on an Archim board, either, though I think its usage is increasing as older Lulzbot customers take on their own upgrades. But I agree, this might be tough to justify when there's other issues on the plate and you're likely not going to recuperate any of your time or money by making the change. But refactoring it will likely make your life easier in future times, assuming you continue to be a contributor to Lulzbot or Syndaver.

Either way, on this one, I totally understand if you say 'not happening', but it's unfortunate. If I'm going to 'fight' for anything, it's POWER_LOSS_RECOVERY, not this one. :P

If you are sure you're never going to address this, than go ahead and close the ticket :) I appreciate the response and consideration either way.

zvonka commented 7 months ago

I would very much appreciate this exact thing. I have a taz pro i'm working on at work & did significant upgrades to it but am stuck on the Firmware. I have the archim2 board, with the BL touch but i can't seem to find the right firmware source that will compile for this printer with this motherboard & retain LCD functionality, unless I'm missing something completely obvious.

marciot commented 7 months ago

@zvonka Use the Drunken Octopus firmware for the TAZ Pro with BLTouch.

https://www.drunkenoctop.us/drunken-octopus-downloader/

Firmware