Plugin capability possible?

So, I'm not sure this is necessary/needed/prudent/intelligent, so this is more brainstorming then anything else, but to continue down the path, I need to know if repetier host can be modified the way I'd like through plugins, or if you've architected it in such a way as to make the concept easy.

The short version is, I'd like to make a "dual core" printer. Basically to get more pins, and granted, it's not many, but the idea is move thermal controls off to a second arduino due. I figure the stepper sync is too important to split, which stinks, but thermal management including heater control, fan control, heated bed, hot end heaters, and all thermistors would gain a fair amount of pins, especially on the thermal side. More analog inputs is one of my big deals. I think the best way would be to have repetier host talking to 2 serial ports. And that's the issue. I suppose I could come up with a hacky way to implement it as a new protocol but never publish any thermal controls, just send them direct to the other serial port. I'm not sure I like that though.

I figure that also frees up some cpu time and interrupts since pid control would go off to the second due. I could use spi or i2c or even rs232 and just mirror the data. It just seems then like I'm robbing time from the first arduino to make a second, sort-of defeating the purpose.

Again, it's a late night idea, not well thought out, possibly downright stupid, but I'd like to know if it's possible none-the-less :). Thoughts?

Comments

  • That is something you would need to implement in firmware. Firmware would then send all heater commands to the next board. There are already printers doing this, but heater control is only a fraction of cpu time so it is not worth the trouble and normally we also have enough pins on good boards.
  • Well, it could be firmware, it could be plugin.  Firmware would use SPI to forward commands onto the next board.  Plugin would send direct to the correct board.


    I want to keep all extruder pins available as extruder pins, servo pins as servo pins, etc.  Keeping them at default, there aren't a lot of pins left.  Thus I'd like to know if I could implement a direct send with a plugin.  I haven't had time to look at it, and haven't even been working on the delta again until today.  Had another project that took priority.  (a smaller cartesion I was building with my brother so he could 3d print.....learned repetier > marlin by a long shot doing that.  I felt to old fashioned using the default marlin that came with the kit.  I put repetier on it after just a week or two :) )

  • As long as we are speaking about temperature it is not that hard. You need a plugin that scans all send gcodes and parse them. For temp. commands send them to your second board (you need to write the communication level here yourself). On the board you would get the same commands but needs to ignore them. Then you tweak original firmware to have a extruder without temp. control so you can still move it. Output of temperatures might look wrong unless you make the original firmware not return temp. responses to M105 and inject them to temperature board.

    Quite some work to get something that is working well already.
Sign In or Register to comment.