Duet Wifi 2-3.3 Beta2-Can run only 1 spindle at a time.
-
I installed v3.3Beta2 on Duet Wifi2 solely for the addition of variables to meta commands. I can now run only 1 spindle at a time. I used to be able to run at least 2 at a time. I think this may be because of the NIST compliance re-write, but if there is a work around or if this is a bug, I would be very grateful for advice.
Also noticed: When controlling spindles from the Dashboard of the Web Interface, if you request a speed change on the non-active spindle either by typing in the speed or using the drop down menu, the active spindle accepts the command and the spindle truly rotates. (no big deal but it certainly does seem like a bug, maybe a safety issue)
Also, I can no longer display capitol letters on spindle/tool names on Dashboard (another trivial issue but I mention it just in case it's part of a larger issue.)
;CNC SETTINGS
M453 ;SET SYSTEM TO CNC MODE
M950 R0 C"bedheat" Q100 L12000 ;CREATE "SPINDLE" FOR KILL SYSTEM
M950 R1 C"fan0+fan1+fan2" Q2000 L24000 ;CREATE "SPINDLE" FOR SPINDLE 1M563 P0 S"KILL SYSTEM" R0
M563 P1 S"MAIN SPINDLE" R1
T0
M3 S12000 ;INITIATE KILL SYSTEM. THIS WILL TURN ON MOSFET WHICH WILL TURN ON THE 24VDC CONTACTOR IN THE PRIMARY POWER BOX -
@jonpeltier, have you tried running M98 P"config.g" to check whether those commands provoke an error message?
The tool name issue has already been fixed in the 3.3beta3 source code.
-
@dc42, I have run this test, M98 P"config.g", and see no errors. I will simply retrograde the firmware for now, unless this is a necessary feature of NISC compliance, in which case I will use pre 3.3Beta2 for as long as possible. Thank you for such a fast response, and thank you for your tireless diligence. In the year I have used this forum to solve problem after problem, this is the first time I have ever had to ask a question as either you or others have already provided an answer. You and your fellow developers have provided truly amazing devices and for a tiny price at that. Thank you.
-
@dc42, I added "gb.MustSee('S');" to RepRapFirmware\src\GCodes/GCodes2.cpp at key area of Case3 ( the section for M3, near line 539) and the subsequent Case 4.
I also commented out line 669 of file /src/tools/tools.cpp
" if (reprap.GetCurrentTool() == this) " AND when I tried to make these changes to 3.3RC1, I discovered a reinstatement of line 100 that was commented out in previous versions in file \src\Tools/spindle.cpp
The reinstatement of line 100 "if (updateCurrentRpm)" was problematic for what I was trying to do, so I commented it back out.Up until 2 weeks ago, I have never compiled source code. I have no experience with writing in any kind of true application language, just scripting like Gcode, windows batch files, and other superficial stuff like that. After noticing the message " Error: M3: internal error at file ../src/GCodes/GCodeBuffer/StringParser.cpp(1362) " when I tried to control a spindle that was not active (like I was able to in previous versions) I decided to take a crack at this. Now I am like a kid in a candy store and have significantly changed Case 3 and Case 4 (M3 and M4 section). Of course, someone who knows what they are doing could probably do what I did much more efficiently, but this is fun for me. It took me hours upon hours just to figure out how to compile anything and then many more hours figuring out how to compile something that did not brick the Duet2. I am now very familiar with the erase pins on the board.