Max number of virtual extruders

Hello,
I am very satisfied of the Repetier FW and I am experimenting new things like a mixing extruder with more than 3 pla filaments.
To test it I would need to exceed the max number of virtual extruders in M163 and M164 gcode commands.
Unfortunately when I exceed the 15 the mixing alghorithm does not work any more. Example:

This sequence works
; Cyan
M163 S0 P0
M163 S1 P0
M163 S2 P0
M163 S3 P1
M163 S4 P0
M163 S5 P0
M164 S0

while this doesn't work
; Cyan2
M163 S0 P0
M163 S1 P0
M163 S2 P0
M163 S3 P1
M163 S4 P0
M163 S5 P0
M164 S16

Thanks for your answer.

Walter

Comments

  • The number of virtual extruders is fixed at 16 with numbers 0-15, so any other virtual extruder will not work. Reason is limited space in eeprom for extruders and 16 is already a lot. I guess in V2 it will be more flexible, but currently it does not even have virtual extruders.
  • I currently do not use the eprom storing (EPROM MODE DISABLED) and to change a configuration parameter I prefer to reflash the FW. The reason is to be sure every time of what is the booting configuration.

    In this condition is there a way to modify the max number of virtual extruders to 32 for example ?

    The alternative would be to reload one of 2 Virtual Extruders config in the middle of a print..

    The reason is to foresee preset shades of colour (for example mixing white and black or red and white)
    Thanks.

    Walter
  • Firmware is not prepared for flexible virtual extruders. If you find the arrays and check if there are range checks in c++ code you can modify it of course.

    The other thing is how many colors/extruders do host and slicer softwares support. I know we support 16. Don't think you can use more there.
  • Apparently Slic3r supports more than 16 extruders. I have tried to config them and it accepts such setup.

    Can you please indicate which files to modify to increase the virtual extruders to 32 while in EPROM MODE DISABLED ?
    Thanks.

    Walter
  • Actually only in extruder.h the line
    #define VIRTUAL_EXTRUDER \
    16 // don't change this to more then 16 without modifying the eeprom positions

    needs to be changed. As said eeprom will not work - it will still try to write the extra extruders but that will overwrite other settings since eeprom.h defines
    #define EEPROM_EXTRUDER_LENGTH 100
    for all extruder variables. You will need to increase that but then you overwrite variables stored after extruder which you then also must move. Or disable eeprom that it's all you need to do.
  • Thanks a lot !
    I will keep EPROM MODE DISABLED.

    Walter
Sign In or Register to comment.