Kurt-1
I am trying to write a general tool to perform this operation, not just permute the extruders one time.
Yeah in my article I mention that dudes AI written program that doesn't do the job properly. It just claims to randomly edit the mmu_segmentation for strings of the form ""4" "8" 0C" "1C" etc.... of course if you have the string "4C" (extruder 7 very possible in a INDX world) it would happily change the 4 first :-) if it even worked at all. Seriously the AI generated code is slop.
Whats worse is that the number 4,8,0C,1C etc are only the values for the simple case (non segmentation of the triangle, that is the case I can handle). While I dont touch the more complex lines - that AI tool does but it gets it completely wrong. See in the more complex case those low order 2 bits aren't zero, they specify (somehow) how the triangle is segmented. Thus instead of "4" "0100" you could have "5", "6", "7" ... "0101", "0110" "0111". likewise 8 could be 8,9,10,11 , 0C could be 0C 0D 0E 0F etc... to just randomly and unserializable change any substring of the form 0C but not handle all of that could lead to at best odd behavior and at worst crash the printer somehow.
Still trying to wrap my head around the representation of ""gizmo" subdivision of triangles. For example the Limit of 16 extruders shows up in the source code for PrusaSlicer, OrcaSlicer, BamboStudio which is interesting because bamboo H2C's seem to claim to be able to chain like 4 AMS units (16 colors) together, and one would think from YouTube that was on both sides, but while that may be possible there is a representation limit of 16 in the color spec. Of course I dont quite understand why the limit is 16..... It should be 17 or 18 as far as I can tell... ((For those of you who can read hex/binary see the picture)) -- I understand they say they need to reserve a value for the NULL case - but they already have that. And even if that wasn't good enough that would explain 17 not 16. Its strange that the code says 16... I mean unless they are saving a value for a future expansion like the way 3 implies the second 4 bits. But again that still seems to say 17 to me. It could just be that when they wrote the code, way back in the early MMU days no one ever thought they would have so many and they just misthought I have 4 bits and that is 16 values.... but they have 6 bits.... sigh I wish there was someone I could talk to about this.
Kurt-A
]Kurt-A