Skip to content
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

Add Teensy35_36_SIMPLE on LulzBot Mini2_Hibiscus and Mini2_Hibiscus_Experimental #752

Merged
merged 9 commits into from
Jul 27, 2022

Conversation

xxxajk
Copy link
Contributor

@xxxajk xxxajk commented Jun 16, 2022

See Configuration.h for details.

Requirements

As listed in Configuration.h:

/**
 * NOTE! This config file is a bare-bones starting point for replacing
 * the RAMBO board in the LULZBOT Mini2 (Hibiscus_Experimental)
 *
 * NOTE! The hardware for this particular config is for a LULZBOT Mini 2 Hibiscus,
 * with an CecropiaSilk_SingleExtruderAeroV2 and the TEENSY35_36_SIMPLE layout.
 * *ANY* board/cpu can be used with the same config file
 *        *providing the following conditions are met*
 * The original 24V power supply, SingleExtruderAeroV2, 2.85mm as the toolhead and
 * the Z Axis is using a belt and belt-brake remain, and that you use TMC2130 stepper drivers.
 * The same config has been used with an AVR 2560 and RAMPS 6+.
 *
 * NOTE!
 * You *WILL LOSE THE LCD DISPLAY*, this is intentional, so that you can add
 * whatever LCD you want to.
 * The largest difference overall is the resolution for this printer has been doubled.
 * The reason is because I like to sometimes print using 0.2 and 0.1mm nozzles.
 */

Description

See above.

Benefits

Allows replacement of AVR with something better.

Related Issues

None.

…xperimental See Configuration.h for details.
@thisiskeithb
Copy link
Member

thisiskeithb commented Jun 16, 2022

Did you start with a fresh / default config from the import-2.1.x branch? You're missing these lines for example:

#error "Don't build with import-2.1.x configurations!"
#error "Use the 'bugfix...' or 'release...' configurations matching your Marlin version."

Also, Configs are also sorted by OEM -> Model, so these should be moved under /config/examples/LulzBot folder.

This also needs MarlinFirmware/Marlin#24318 to be merged first.

@xxxajk
Copy link
Contributor Author

xxxajk commented Jun 16, 2022

Yes, it's from a fresh pull, but the config isn't, I'll fix it

@xxxajk
Copy link
Contributor Author

xxxajk commented Jun 16, 2022

This config also directly fits into 2.1-bugfix

@thisiskeithb
Copy link
Member

Bugfix strips out those errors automatically.

They need to be there in the import branches.

Please fix it.

@xxxajk
Copy link
Contributor Author

xxxajk commented Jun 16, 2022

:-) Didn't know that. Nice! and Done!

@thisiskeithb
Copy link
Member

It is important that you start with a fresh/clean copy of import-2.1.x because you're missing these from Configuration.h:

//
// CR-6 OEM touch screen. A DWIN display with touch.
//
//#define DWIN_CREALITY_TOUCHLCD

and

//
// PanelDue touch controller by Escher3D
// http://escher3d.com/pages/order/products/product2.php
//
//#define PANELDUE

You're also missing these from Configuration_adv.h:

/**
* By default the framework is responsible for the shared media I/O.
* Enable this if you need Marlin to take care of the shared media I/O.
* Useful if shared media isn't working properly on some boards.
*/
#if ENABLED(SDSUPPORT) && DISABLED(NO_SD_HOST_DRIVE)
//#define DISKIO_HOST_DRIVE
#endif

and

/**
* CNC Drilling Cycle - UNDER DEVELOPMENT
*
* Enables G81 to perform a drilling cycle.
* Currently only supports a single cycle, no G-code chaining.
*/
//#define CNC_DRILLING_CYCLE

and

// Continue unloading if sensor detects filament after the initial unload move
//#define MMU_IR_UNLOAD_MOVE

@xxxajk
Copy link
Contributor Author

xxxajk commented Jun 16, 2022

I'll have to hand patch those manually, not a big deal. I'll push those changes shortly. Thanks for finding these.
I actually started with the 2.1-bugfix configs... So I don't know why they would be out of date, unless the zip file was behind.

@cp2004
Copy link

cp2004 commented Jun 16, 2022

It is important that you start with a fresh/clean copy of import-2.1.x

I actually started with the 2.1-bugfix configs...

The import-2.1.x configs are different to bugfix-2.1.x

@xxxajk
Copy link
Contributor Author

xxxajk commented Jun 16, 2022

Right, Not a big deal, they're patched, updating them...

@xxxajk
Copy link
Contributor Author

xxxajk commented Jun 16, 2022

Let me know if I missed/messed up anything else, but the UUID is required, which is why it's in a deeply nested directory specifically naming the machine.

@thisiskeithb
Copy link
Member

The import-2.1.x configs are different to bugfix-2.1.x

@cp2004 That is correct and intentional.

Through the magic of scripting/deployment, pending features & “Do not build with…” lines are removed when changes are deployed to bugfix.

@thisiskeithb
Copy link
Member

but the UUID is required, which is why it's in a deeply nested directory specifically naming the machine

This still needs to be moved to the main Lulzbot folder.

@xxxajk
Copy link
Contributor Author

xxxajk commented Jun 16, 2022

Is there one? Problem is that it's no longer really a lulzbot machine... it's Teensy based now, just uses the lulzbot frame, and none of the electronics except for the wiring harness, and steppers/sensors.

@xxxajk
Copy link
Contributor Author

xxxajk commented Jun 16, 2022

Oh yeah, and worse, it was a prototype, never released! Notice that I disabled any use of the display too, so a regular user is going to be very confused as to why it no longer displays anything... the driver for the display must be heavily patched, because of the software spi implementation trying to move data at 30MHz on this particular board... and I'm not going to be using that anyway.

@thisiskeithb
Copy link
Member

thisiskeithb commented Jun 16, 2022

Is there one?

Yes: https://github.com/MarlinFirmware/Configurations/tree/import-2.1.x/config/examples/LulzBot/

Problem is that it's no longer really a lulzbot machine...

See the Ender-3 config folder (or any other Creality config) where it has the most configs/upgrades: https://github.com/MarlinFirmware/Configurations/tree/import-2.1.x/config/examples/Creality/Ender-3

The standard patten is OEM -> Model -> Boards/Upgrades

It would also help to add a README.md in the same folder as your new configs explaining the differences over a stock machine so we aren't stuck trying to troubleshoot it if/when something doesn't work down the road.

@thisiskeithb
Copy link
Member

Oh yeah, and worse, it was a prototype, never released!

So should this config really be added then or is this just a one-off for your personal use?

@xxxajk
Copy link
Contributor Author

xxxajk commented Jun 16, 2022

Good idea, I'll add the readme, I'm sure others out there who want to upgrade easily DIY.
Currently I have the only machine with the hardware replaced, however, there's no real examples at all for Teensy, and that ends up making this modification difficult for the average user. they've got no place to start! TAZ-4 != the Mini2.
I'm sure many others have tried to replace the board, only to be disappointed, and this opens up the avenue for the replacement. I'll also at some point have a board offering that allows this modification anyway, posted on github...

So... the TLDR is:
Basically this isn't an "approved modification" and isn't anything that will ever be commercially supplied. The config does give others a starting point, and increases the resolution on the X/Y/Z axis over the stock old firmware in any case. there isn't one single Teensy anything example, so my goal here is to give a starting point for others.

@thisiskeithb
Copy link
Member

TAZ-4 != the Mini2.

I never said it was. I am saying that you need to move your config to the Lulzbot folder.

@xxxajk
Copy link
Contributor Author

xxxajk commented Jun 16, 2022

That's fine, but won't it cause confusion? Are there any other taz-4's that have the guts torn out and replaced?
I'm guessing not... It's already 32bit :-) As long as you think it won't cause owners of the Mini2 any confusion as to why it doesn't work on the stock RAMBO or einsy retro board, I'm fine with the move... and No, I can't do the mods for that board, since the whole reason I'm replacing it is that the AVR is too slow for double resolution, and the RAMBO board fried, and I can't justify the cost of replacment, especially since I can build my own hardware...

@xxxajk
Copy link
Contributor Author

xxxajk commented Jun 16, 2022

Hopefully this won't cause any confusion, I'll put a README.md for Teensy (and name it Teensy boards) so that people can at least locate an example for the board if you think that would be a good idea.

@thinkyhead thinkyhead merged commit c0141b2 into MarlinFirmware:import-2.1.x Jul 27, 2022
@thinkyhead
Copy link
Member

@xxxajk — This one still doesn't build because there's no BOARD_TEENSY35_36_SIMPLE existing. Where can we acquire the pins definition for this board, or should we use one of the existing board definitions?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants