For 284 2022/11/14 * Compiled against Mach4 4999 RC2, and is based upon the 284 D release * I modified the "WARNING: A motor seems to be stuck backing off of a home switch!" message to include more details. It also takes 4 plugin main loop cycles to appear now instead of 2. * Tweaked Homing Log messages to change from "Approached, Waiting for Other Motors" to "ON switch & Waiting for Other Motors". Same for index. Easier to read this way. * Added "ESS/Laser/Raster/Ignore_Motor_X_Secondary" which (if set to 1) will ignore the presence of a secondary (slaved) X motor and only run the Primary motor during rastering. In the ESS laser software, the lower numbered motor will be considered the X Primary, and Higher numbered motor will be considered the secondary. When using this the higher numbered X motor will be ignored. For 283 2022/06/07 * Compiled against Mach4 4809 * Added some pop up box notifications if something is wrong with Homing configuration/setup. * This has a rebuild of the previous micro controller application, using an updated version of the IDE. There should be no change, other than updating to lmbin_v10g * This has an updated FPGA ESS_v15h24 bit file to allow the laser gate signal to chop the laser PWM signal for finer control. * Laser 5 kHz tickle mode was causing a crash if a laser log file was not being used... * Thee ESS Homing tab field 'Final Position' has been renamed 'After Backoff Move', and is the distance to move immediately after back off completes. This will give you some space from your home switch. * ESS After Back Off move (option in the ESS Config -> Homing tab -> last column), now moves at the Homing Approach speed instead of G0 speed. You should disable the wx.wxMessageBox('Referencing is complete') pop up box line in your screen set's Screen Load Script * The ESS now disables Mach4, if Stop is pressed while homing, because Mach4 sometimes decides to try and home the next axis is we don't. * Fixed the M62 not working for the torch in THC and other M62/M63 commands not related to lasers... * mm laser pictures should be burned the correct size now. For 282 2022/03/15 * Compiled against Mach4 4809 * ESS_v15h23_bitfile.ufp (N+ test builds) switched the Vector/Raster mode selection from the laser setup command to the velocity FIFO fill command. * Fixed an initializer for Backlash Comp, that prevented the motors from moving upon startup. * Adding two new commands for m2003(...), to allow for servo lag compensation. When servos run fast, the laser shuts off at the end of the G0\G1\G2\G3 command, but the servo is lagging behind, and the shape will not be completed. Once a M63 command is received, this delay time will keep the laser on for ### more milliseconds so your circles or squares can be completed. You can now turn this on and off in your GCode and specify desired time lengths. o (M63_DELAY_ENABLE=1) //This turns ON the delay enable, sent to ESS register "Laser\Vector\Laser_Delay_M63_OFF_Enabled" o (M63_DELAY_ENABLE=0) //This turns OFF the delay enable, sent to ESS register "Laser\Vector\Laser_Delay_M63_OFF_Enabled" o M63_DELAY_MS=### //This sets the time in ms that the laser should stay on after the M63P# command is received to turn the laser off. Sent to ESS register "Laser\Vector\Laser_Delay_M63_OFF_Time_ms" * For Laser Raster acceleration and deceleration, you can now chose if you want the laser burning a zero (off-off), or if you want it to burn the Raster PWM Min value (with an optional percentage [from 100%} subtracted off of the PWM MIN value). The PWM MIN value option is necessary so that CO2 gas tube lasers can be full stimulated and ready to lase when we start the row of pixels. * Fixed laser raster image alignment issues, where we were puling from the wrong starting index position for each row of pixels. All 4 corners are now respecting the start and stop positions on the row. * Fixed some laser raster FIFO errors, and hanging due to the Start Raster window * Fixed the Y axis scaling issue changing on repeated passes, and X creeping issues in corners 2 and 3 * If a bitmap pixel value is 0, it was setting the laser to 0 PWM instead of the minimum PWM. Now if the adjusted pixel value ever drops below the minimum value it is pulled up to the floor level. * DPI should no longer affect the alignment of the rastering passes * For CO2 lasers, you can use the PWM MIN on the acceleration/deceleration ramps so the laser stays warmed up all the time. Diode laser users can set this to 0. * Probably a bunch of other little laser rastering issues... For 281 2022/01/26 * Compiled against Mach4 4809 * Finished bug hunts in Laser rastering. Significant changes here. * SmoothStepper.cpp still has some variables at the top that need to move into the Cmd class before laser rastering and backlash comp can work successfully on both ESS (although it should work fine on a single ESS). * --> Warp9_Mach4.cpp still has an issue with the timer call back function that will probably not let multiple instances run correctly at a specified frequency. <--- o --> CALLBACK TimerProc(...) <--- Line 1603 * Modified the way we access the CmdBuffer from the Warp9Mach4 project, to support the other class changes. For 280 2022/01/06 * Compiled against Mach4 4809 * NOT FOR RELEASE OR GENERAL USE * SmoothStepper.cpp still has some variables at the top that need to move into the Cmd class before laser rastering and backlash comp can work successfully on both ESS (although it should work fine on a single ESS). * --> Warp9_Mach4.cpp still has an issue with the timer call back function that will probably not let multiple instances run correctly at a specified frequency. <--- o --> CALLBACK TimerProc(...) <--- Line 1603 * Added support for OSIG_GCODE_COMPLETE (new in 4802) * Modified the code base, so the plugin is almost multi instance capable when run with Mach4 Expert mode (i.e. two ESSs can be run at the same time, each with up to 6 motors). For 279 2022/01/06 Was v. B4 * Compiled against Mach4 4720 (Mach4 Recommended 4720 or 4612) * This is the last build before a significant codebase change to allow multiple simultaneous ESSs to run in Mach4 Expert mode. * Added the CmdBuffer.Append_ResetAllHomeProbe_Cmd(); back into the Spindle Set Speed sections so that the spindle would work after homing, without needing to press RESET. TY J! * New FPGA firmware ESS_v15h22_bitfile.ufp which changes the positive motor direction to CCW (to follow the right hand rule) and more importantly make them count steps the same as Step Dir motors. Since more than 99.9% of people use Step/Dir motors, this should be a non-issue for most people. * If you currently use CW/CCW motors, jog slowly when you first try this new plugin version - your motors may move in the opposite direction that you are use to! * If so, you would fix this by going to the ESS Config -> Output Signals tab. In there you would swap the CW and CCW output pins for each CW/CCW motor. Or you could swap those two wires on the BOB or motor driver. * Probing status message now include the position that Mach is telling us to probe to. This is just a sampling of the data points, so many positions are omitted from this list including the final step position. * B.C. messages now show the current and previous (ESS step) positions commanded. * Major Laser Raster update. Updated to the new trajectory planner, and modified how the acceleration Ramp Up keeps the gate signal tickling the CO2 lasers. * "C:\Mach4Hobby\Laser_Files\__Adjust_Raster_Image_Alignment.txt": This file is used to make your images come into alignment at different velocities (3rd variable per line). * WarpRunner/TMC3in1 updated to MA6.1.0.0 * Fixed AD1 so it would count while AD2 is enabled. * Modified Z Accel/Velocity to eliminate possibility of stalls For 278 2021/06/24 * Compiled against Mach4 4720 (Mach4 Recommended 4720 or 4612) * Added analog output support using M67 first enabled in Mach4 4446 with mcMotionGetSyncOutputEx(...) Think Vectric in line S###s for laser rastering, but M67 Q1 E### instead. * Updated Logos * The ESS Config Window -> Output Signals tab, expects all of the assigned pins to be in the left most column possible. The plugin will now do that for you automatically, and tell you this: "One or more ESS Config -> Output Signals, had a blank column to their left.\nThey were moved to the left automatically.\nThere is nothing more for you to do." * Changing the value in the ESS section of Machine.ini "iDisplayStuckBackingOffOfAHomeSwitchWarnings" from 1 to 0 will stop those messages from appearing in the History bar at the bottom of the screen set. For 277 2021/07/15 This release was delayed until now so Avid could do a LTS release against this. * Compiled against Mach4 4720 (Mach4 Recommended) * Changed solution name to ESS from Warp9Mach4-vc15 * Fixed an issue where a spurious probe event (noise or user bump) will mess things up for the next G31. This is fixed now. * Changed register name handles used by the TMC3in1 (v021) and WarpRunner (v001) to support both of the new plugins. "W9_HC" now instead of "TMC3in1" * This means the TMC3in1 v21 and WarpRunner v01 and can ONLY run with ESS v277 or newer. * This means the TMC3in1 v20 can ONLY run with ESS v276 or older. * m2020 commands are as follow now: HC_WORK_Z_ZEROED HC_Z_VELOCITY_UP_SPEED_PERCENTAGE HC_Z_VELOCITY_DOWN_SPEED_PERCENTAGE HC_ON HC_Z_MAX_VALUE HC_Z_MIN_VALUE ESS_TORCH_TOGGLE ESS_TORCH_RESUME_WAIT_FOR_ARC_OKAY ESS_TORCH_RESUME_USE_PIERCE_DELAY_WAIT_FOR_ARC_OKAY ESS_TORCH_STATE ESS_DELAY_AFTER_ARC_OKAY W9_HC_LOAD_DEFAULT_CONFIG_VALUES TARGET_TIP_VOLTS TARGET_BAND_VOLTS LINEAR_RESPONSE_BAND_VOLTS_ABOVE LINEAR_RESPONSE_BAND_VOLTS_BELOW OFFSET_VOLTS AD1_DELAY_ENABLED AD1_DELAY_VALUE AD2_M62_M63_ENABLED AD3_VELOCITY_ENABLED AD3_VELOCITY_PERCENT VOLTAGE_AD_ENABLED VOLTAGE_AD_ATV_BUFFER_SIZE VOLTAGE_AD_PRECONDITION_WINDOW_PERCENT VOLTAGE_AD_AD4_THC_THROTTLING_PERCENT VOLTAGE_AD_AD5_ATV_PERCENT_ABOVE_CURRENT_TIP_VOLTS VOLTAGE_AD_AD6_ATV_PERCENT_BELOW_CURRENT_TIP_VOLTS These are deprecated, so your post processor should not use these anymore (but they will still work for a while...) TMC3IN1_LOAD_DEFAULT_CONFIG_VALUES TMC3IN1_TARGET_TIP_VOLTS TMC3IN1_TARGET_BAND_VOLTS TMC3IN1_LINEAR_RESPONSE_BAND_VOLTS_ABOVE TMC3IN1_LINEAR_RESPONSE_BAND_VOLTS_BELOW TMC3IN1_OFFSET_VOLTS TMC3IN1_AD1_DELAY_ENABLED TMC3IN1_AD1_DELAY_VALUE TMC3IN1_AD2_M62_M63_ENABLED TMC3IN1_AD3_VELOCITY_ENABLED TMC3IN1_AD3_VELOCITY_PERCENT TMC3IN1_VOLTAGE_AD_ENABLED TMC3IN1_VOLTAGE_AD_ATV_BUFFER_SIZE TMC3IN1_VOLTAGE_AD_PRECONDITION_WINDOW_PERCENT TMC3IN1_VOLTAGE_AD_AD4_THC_THROTTLING_PERCENT TMC3IN1_VOLTAGE_AD_AD5_ATV_PERCENT_ABOVE_CURRENT_TIP_VOLTS TMC3IN1_VOLTAGE_AD_AD6_ATV_PERCENT_BELOW_CURRENT_TIP_VOLTS For 276 2021/06/14 * Compiled against Mach4 4720 (Mach4 Recommended) * Support for the WarpRunner boards has been introduced. It can use the same plugin as the TMC3in1 for the time being. Updated the master processor app to rev 6.0.0.4 and changed the number of lines. * Added ESS signals to support the new Mach4 output signals OSIG_FH_NOT_ALLOWED, OSIG_FRO_NOT_ALLOWED and OSIG_SRO_NOT_ALLOWED * Homing now explicitly states in the log file the Axis #, Motor # and step position that is being reported to Mach4 after each motor homes. * Removed the Software FIFO error message option, since it is really just a informative notice for the developer and not an issue for the end users. * Switched back to SV_FEEDRATE from InterpreterInfo (v263) because InterpreterInfo works off of work ahead and that causes it to change too soon unless lookahead is set to 1. SV_FEEDRATE is not affected by lookahead. * Fixed an issue where you could be plasma cutting with the torch on, feed hold, stop, rewind, and then Cycle Start; which would result in the torch turning on again with another separate M62 command. * Laser Raster now supports Gray scale RGB image formats. * Laser Raster now exports a BMP of the image it imported and possibly inverted, so you can see what we are trying to raster. C:\Mach4Hobby\Laser_Files\__Auto_Generated_Image_to_Raster.bmp * Laser Raster mode will now let you see the image specified by m2000 and/or the image processed by the plugin (read in and inverted {if commanded}, but not flipped). * Laser Raster displayed laser power now displays from 0% to 100% instead of 0 to 255. This is so the Laser Current PWM scale will always be in terms of 0% to 100% * Laser Raster will now let you specify which row in your image you want to start rastering on. This is useful if you stopped rastering at the end of a row or if there was a power outage part way through a previous raster. Homing is critical for this feature! * Laser Raster now has an option to check soft limits just before rastering your image, to make sure your image won't exceed the soft limit boundaries. * Laser Vector Linear Speed Comp is working and fully automatic on adjusting the laser power from 0% to 100% of commanded based upon the instantaneous X-Y velocity / commanded feed rate * Laser Vector (presumably) Non Linear Speed Compensation is working and is based off of the __Vector_Speed_Comp.txt file, which is auto generated with instructions and an example linear data file. For 275 2021/04/24 * Compiled against Mach4 4612 (Mach4 Recommended) * Adjusted the code processing the M2000, M2001 and M2002 laser raster macros to prevent the potential for data loss and so that 2000 and 2001 would be fully processed before m2002's start command is acted upon. * I recommend this addition to the M2002 macro, which will absolutely prevent race conditions.: mc.mcCntlGcodeExecuteWait(inst, "G04 P0.5\n") -- THIS IS THE NEW LINE YOU SHOULD ADD TO m2002 JUST BEFORE THIS NEXT LINE mc.mcRegSetValue(hregStartLaser, 1) -- This will tell the SmoothStepper to start the Laser Raster process * I also adjusted the code processing the Laser Vector setup macros and the Height Control setup macros to prevent the potential for data loss. * You can now suppress warnings from the ESS plugin saying that the Mach build is too old, uncheck the checkbox on the opening tab of the ESS config window. * The new version of Mach4 that we check for is now 4612 or newer instead of at least 4517. * After waiting for the Arc Okay input signal to activate, and the ESS waited for it's commanded internal pierce delay time, the ESS was writing to the log file saying "Waiting for Arc Okay" which it had just done. It now says " Internal Pierce Delay after Arc Okay finished." and "Resuming commanded GCode after Arc Okay and its delay." * Fixed it so that the input signals will no longer disappear from the ESS Config. * Working on Laser Vector Speed Compensation..... For 274 2021/03/31 * Compiled against Mach4 4612 (Mach4 Recommended) * Laser Raster now waits to drain the FIFO of all previous motion before it starts a new image raster, and at the end of the raster fully drains the motion FIFO. This helps to prevent issues where multiple rasters were told to operate successively with no regular motion between them. * Laser Raster return to starting point has been fully rewritten. This should eliminate the return to an incorrect position noted by some users. * Laser Raster now verifies it's ending position against it's starting position and will notify if position loss occurred. * Split the Laser config tab into two tabs, to more clearly organize the material. For 273 2021/03/17 * Compiled against Mach4 4612 (Mach4 Recommended) * Added new register "ESS/Laser/Raster/Start_Raster_On_Line_Number". If your raster job gets interrupted, restart the job, set this to the line you want to start on, and then this will fast walk to it and start rastering there. * Added a couple of new ATR messages for the crypto memory. * Fixed Z Sync with DRO reporting ints instead of floats issue * New ESS/HC/Z_DRO_Synced_With_Mach register is set to 1 when the Z Aux DRO is synced into the Z Main DRO * Added new Laser Raster option to make the Y axis travel in the reverse Y direction (from what it normally would) after a laser raster operation to get back to the starting point of the laser raster. I would normally fix the code directly, but I am afraid that action would break things for a lot of existing laser raster users. For 272 2021/02/24 * Compiled against Mach4 4612 (Mach4 Recommended) * The ESS will now back off the home switch and then move an additional distance if specified. You can find this on the ESS Homing tab * OMITTED from original release notes: Added register "ESS/Probe_Failure_Occurred" This will tell you when a probing error occurred. A 0 means it is fine. A -1 or -2 means that the probing failed. After you find a -1 or -2, you need to set it to 0 so you know that particular error instance has been cleared. You can then continue with your probing script. For 271 2021/02/11 * Compiled against Mach4 4580 * Added two new checkboxes in the ESS General tab to allow prompting (of to just do) the Forced re-activation of outputs that were suspended during a feed hold event. * Added two new checkboxes in the ESS Motors tab so you may suppress warnings regarding motors not being configured correctly For 270 2021/01/21 * Compiled against Mach4 4580 * 4580 removed the profile save on exit, which caused a New Profile creation to make a profile without [Motor0] through [Motor5] existing, which is why motors 0-5 don't appear in Mach4 for a new profile. This ESS plugin fixes that problem. For 269 2021/01/15 * Compiled against Mach4 4580 * Aux DROs are now populated by the ESS * G76 works correctly with build 4580 * New Warp9 Logo * Homing now shows much more detailed messages in the log window, telling you what it is doing. * Homing will now pop up messages that tell you the axis is stuck backing off, and that you might need to check the active High/Low level for your home switches. * Laser raster can now run exactly at the max X motor tuning velocity, instead of needing to at least slightly under. * A lot of laser code cleanup. More laser code improvements coming For 268 2020/12/24 * Compiled against Mach4 4571 * Fixed the Do Not Report Spindle RPM, so when the Index is the source and the index pin is not enabled, it won't report the RPM. * First release of SS Motor Spindle Control. PID should work, but I have not tested it yet. You must assign motor tuning values to Motor 5, and assign step and dir pins to motor 5 in the ESS outputs. * If the probing operation had just failed, the PROBE_STATE register and the Probe 0-3 registers are now cleared to zero when Cycle start is pressed. For 267 2020/12/01 * Compiled against Mach4 4571 * Dry run compatible with TMC3in1 build 19 For 266 2020/11/26 * I forgot to check 266 in right away, so it has all the Dry run changes from 267 added into it as well! Ooooppppsies.... * Compiled against Mach4 4563 * Added in Motor positions in the ESS Register for Gorf: ESS/Pos/M# The values will be zeroed at power up and after homing. The values are in steps, not units, so divide by your steps per to get positions. Values will have fractional step positions as dictated by your GCode, but we will be at the nearest full step. * Changed the way that the Z Axis Aux DRO is synced back to the main Z Axis DRO... i.e. never while GCode is running. For 265 2020/11/04 * Compiled against Mach4 4.2.0.4517 * Added the ESS and Mach4 builds to the ESS portion of the Machine.ini file * Added Mach4 build info to the ESS Register too * Added in fix from Steve M. for the Warp9Mach4-vc15.vcxproj.user * Fixed the CC_Build version to warn about versions newer than 4408 * Fixed the Servo Anti Clunk code to update after you make changes to motor tuning, instead of after restarting Mach4. * In the Spindle Config Window tab, the Encoder section window had one of the multiplicands changed from "Index PPR" to "Effective PPR" * Output to the log file the Mach4 and ESS version when Cycle Start is pressed 264 264 will not be exist in order to synchronize repository build number check-ins For 263 2020/09/24 * Compiled against Mach4 4.2.0.4517 * You may now Enable or Disable Spindle PID from GCode: - Enable Spindle PID with a GCode command of: m2010 (USE_SPINDLE_PID=1) - Disable Spindle PID with a GCode command of: m2010 (USE_SPINDLE_PID=0) - Either way you will need m2010.mcs added to your profile's macro folder * Added register "ESS/Probing_Failure_Disables_Mach" to control Probe failing calling Cycle Stop. It is recommended that this be left enabled whenever you are running GCode! - You may allow Mach to continue running with a GCode command of: m2010 (PROBE_FAILURE_DISABLES_MACH=0) - Or preferably CycleStop() GCode on a probe failure with a GCode command of: m2010 (PROBE_FAILURE_DISABLES_MACH=1) - Either way you will need m2010.mcs added to your profile's macro folder * Fixed the case where the ESS plugin would cause Mach4 to crash if the ESS was disabled (not selected as the Motion device) but you tried to enter the ESS config or diagnostics window. Now you can enter the config window and change settings. * Bunch of other little cleanup items For 262 2020/07/28 * Compiled against Mach4 4.2.0.4517 * Switched the XY PWM Feed Rate signal from SV_FEEDRATE to InterpreterInfo * Fixed the XY PWM Feed Rate signal from how I broke it in 261 * Added pop up boxes to inform of various crypto memory errors at start up * Fixed issues for CC. Working version for CC but needs to compile and run with 4408 For 261 2020/07/20 * Compiled against Mach4 4.2.0.4517 * When Mach4 configuration is closed with an "Okay", it would regenerate all of its input signals with their states set to Off. I now have the ESS plugin forcing an input signal state sync immediately after a Mach4 config update to ensure Mach is aware of the state of all input signals. * Fixed an issue where even though laser vector had been stopped with an M63P#, the laser remained on. This was because the H.C. option for X-Y Velocity PWM signal was also active, and it uses the same output signal as the Laser Vector PWM, since it shares the same PWM generator. The code was changed so that if the X-Y Velocity PWM output is assigned and the laser gate output number is assigned, then an error is thrown when exiting the config. * Added laser air assist functionality with the new register "ESS/Laser/Air_Assist" and the ESS laser screen set v3. The Air Assist screen set button will toggle the Laser Air Assist relay (Output #x) On and Off. You should have your GCode turn the Air ON with M62P# and OFF with M63P3 (followed by a G0/G1/G2/G3 motor move). You may need to include a short delay (like G4P1.0) for the air to get up to volume. * Laser Test Arm is disabled by Laser Raster and Laser Vector modes * Laser and Height Control output ports can now be set to -1 for no output number associated (it will be cleared out the next time you open the config window). For 260 2020/07/07 * Compiled against Mach4 4.2.0.4517 * This plugin will warn you that you should only be using it with 4517 or newer. * 4517 changed #var numbers compared to 4470. 260 is a specific compilation against 4517 and you need ESS 260 for 4517 (and higher) to work right and ESS 258 for 4470 and lower to work right. * ESS Register ESS/HC/FeedHoldPressed if you add it to the Feed Hold Button in the screen set, will deactivate the Torch and Laser right away. This is also necessary for HC Z DRO syncing. For 259 2020/07/07 * Compiled against Mach4 4.2.0.4470 * Same as 258 other than it will warn you if you are using newer than Mach4 4470 * ESS Register ESS/HC/FeedHoldPressed if you add it to the Feed Hold Button in the screen set, will deactivate the Torch and Laser right away. This is also necessary for HC Z DRO syncing. For 258 2020/07/01 * Compiled against Mach4 4.2.0.4498 (this build is buggy), but will work fine with 4470 * New FPGA image * Fixed stability issue that was present since 254 (253 was the last version before this bug was introduced). There should not be a need to increase buffer size, and the ESS should just respond instead of stalling out or stuttering. * Fixed reported Feed Rates with averaging. * Added code to stop the TMC3in1 HANDLE FAILURE messages from spamming the log window if you don't have a TMC3in1 * Spindle RPM will now display when the Spindle encoder is selected as the source, even if the Spindle Index pin is not enabled nor assigned * Homing shows motion for both Z main and Z AUX DROs (useful for Height Control users) * Fixed an issue with Homing where it would tell you to check your home and limit switches when everything was really fine (it was a state timing issue) I loosened it some more * More TMC3in1 updates for stability and bug fixes * Prevent probing when an invalid probe number (like -1) if called by Mach * Probe failure will force a Cycle Stop. (Documented with 262) For 257 2020/06/04 * Compiled against Mach4 4.2.0.4470 * Forcing the use of Mach4 build 4470 since that fixed more issues for correct THC and laser operation. * Support for the CC X Comp code * Fixed an issue with Homing where it would tell you to check your home and limit switches when everything was really fine (it was a state timing issue) * Trajectory planner is working for commanded distance moves. * Updated FPGA to include fix for CW/CCW motors where it was not reporting steps taken back to the plugin. * You can now open the ESS config, even if the message window pops up. Added EStop details. * Added support for TMC3in1 build 16 improvements * Finished integration of Z HC data being sent to the Aux Z DRO, and then having it synced back to the main Z DRO at the end of a normal G0/G1 move. * Added smoothing for Feed Rate reporting * Fixed Output Column 3 so it would function like columns 1 and 2 (on port 3 pins) * Mach was not populating all of the input and output signals we had assigned, and that was causing those non-populated signals to get deleted from OUR input and output signal lists... Now fixed, so our signals will not mysteriously just disappear. * Added "Report Spindle RPM" (Checked by default) box to the ESS Spindle tab, so the ESS will not report the RPM speed if you are using a Modbus spindle or some other source. * Added Laser Raster error message pop up windows *Added support for the new Mach4 Output Signals: - ISIG_HEAD2: Path Selection 2 (Head2) *Added support for the new Mach4 Output Signals: - OSIG_MACHINE_IDLE: Machine Idle - OSIG_MACHINE_PROBING: Machine Probing - OSIG_HOMED_OB1: Axis OB1 Homed - OSIG_HOMED_OB2: Axis OB2 Homed - OSIG_HOMED_OB3: Axis OB3 Homed - OSIG_HOMED_OB4: Axis OB4 Homed - OSIG_HOMED_OB5: Axis OB5 Homed - OSIG_HOMED_OB6: Axis OB6 Homed - OSIG_FH_DISABLED: Feed Hold Disabled - OSIG_FRO: Feed Rate Override - OSIG_FRO_DISABLED: Feed Rate Override Disabled - OSIG_SRO: Spindle Rate Override - OSIG_SRO_DISABLED: Spindle Rate Override Disabled - OSIG_RRO: Rapid Rate Override For 256 2020/04/02 * Compiled against Mach4 4.2.0.4453 <--- Version change! * Forcing the use of Mach4 build 4446 since that fixed issues with M62 and M63 commands not being sent to us. * Updated the "you should upgrade" message to tell you where to find the new Mach4 builds * Fixed a bug present in versions newer than ESS 250 where the ESS config window would not open for some PCs. * We now process the last line in the _Laser_Raster_Config.txt file to compensate for Speed, Motor Delay Distance, and Precomp OFfset values * Addressed starting corner issues: 1: No changes to code, Upper Left corner is the starting position 2: Flipped the X axis so the image will burn without needing to use the mirroring option, Upper Right corner is the starting position 3: Flipped the X axis and Y axis so the image will burn without needing to use the mirroring options, Lower Right corner is the starting position 4: Flipped the y axis so the image will burn without needing to use the mirroring option, Lower Left corner is the starting position * Fixed starting corners 3 & 4 so that the Y axis would return to the starting corner of the image after the burn process was completed. * Enabled the processing of the following command which had been disabled: IMAGE_STARTING_CORNER * Height Control will no longer sync the Actual Z height (Z Aux DRO) to the Z main DRO (where Mach4 commanded the Z to be) when a Feed Hold is pressed. This Z Height Sync only works in Height Control Mode (ESS -> HC tab), never in No Height Control mode. * Still working on bug where the laser will stop rastering at lower speeds and support for soft limits For 255 2020/02/20 * Compiled against Mach4 4.2.0.4410 <--- Version change! * Fixed issues with the H.C. On/Off button * Fixed reporting issues with Z Height Mach, Z Height Actual (includes H.C. movement) and Z Delta values) * OB Step/Dir Spindle no longer stops while waiting for an index pulse when a G32 or G76 threading pass is about to start (must be assigned to ESS motor 5) For 254 2020/01/30 * Compiled against Mach4 4.2.0.4322 * Spindle RPM Speed averaging is working now. The register for it is: "ESS/Spindle_RPM_Avg" if you want to point your screen set to it for a more stable RPM display * "ESS/Spindle_RPM_Index" is the instantaneous Spindle RPM calculated every (1/ plugin frequency) seconds, and can be from the Spindle Index input signal or Spindle Encoder A input signal (depending on which one you have checked) * The Spindle Encoder Prescalar and Index PPR (pulses per rev) should be set to 1 when only using an index signal. When using an Encoder A Channel for the RPM source, set an integer prescalar value and an integer Index Pulses Per Rev value that will multiply together so that the Total Encoder Pulses Per Rev value matches the pulses per rev of your encoder. * Fixed Laser M2001 functions: IMAGE_INVERT_INTENSITIES, IMAGE_FLIP_X, IMAGE_FLIP_Y, SHOW_WINDOW_TO_START * You can now set your laser test mode power level (just to the right of Allow Laser Test Mode) in the ESS plugin -> Laser * OB axis motors will no longer complain about Step and Dir pins not being assigned. We still warn if the motor mapped to the OB axis doesn't have motor tuning enabled. * We now update Mach4 with our current signal (pin) values 10 RX packets after a ESS Config Window update. * Requires TMC3in1 build 15. Voltage based Anti Dive was overhauled and uses new TMC3in1\Registers. * THC now reports back the Mach4 commanded Z position at all times on the Main Z DRO, but reports back the true Z position on the Aux Z DRO. Whenever a set still(motor stopped request) is requested (end of your program and other places where all movement stops) the Z DRO Mach, will be synced to the Real Z position including THC. * The TMC3in1 Log File now starts with the Cycle Start, and ends at the end of your GCode program or on a Cycle Stop * The HC On/Off button state is resent to the ESS every time you press Cycle Start, just to ensure we are using the correct state. For 253 2019/11/27 * Compiled against Mach4 4.2.0.4322 * Switched compilers and upgraded to wxWidgets 3.1.2 (LTS) * Bunch of code base changes to support previous upgrade * Added mcMotionSetHomePos() after homing * Changed the Spindle Speed RPM Source in the Config to a combo box for Index and Encoder options * Added an RPM reported speed, averaging option (Not fully implemented until build 254) * Added History and log messages that will tell the user that "The Inhibit Motion input signal is active! Mach will not generate motion! (ESS)" * Added register "HC/Limit_Switches_Inhibited_for_Pierce" * ESS Config -> HC tab -> added "Inhibit Limit Switches during a pierce, and for *.*** Seconds after Arc Okay'" * Worked on the Stop stuff to ensure that the Torch is always shut off and stays off when a feed hold event occurs or the stop button is pressed. * Not functional until build 254: ESS Config -> HC tab -> added "Show HC Motion on Separate Z DROs" For 251 & 252 2019/11/teens * Steve updated the project for VS2017 For 250 2019/10/23 * Compiled against Mach4 4.2.0.4322 * New ESS Register: Connected. This one will tell you if the plugin is currently connected to the ESS * Fixed an issue with the new motor and axis checking code, so the first time a profile is run it won't report random non-existent issues. This is due to Mach still generating the data (since it had to generate all of the data from scratch) as I was pulling from it. * We will now tell you if you are using an old version of Mach4, every time you start up. You can click okay if you want, or upgrade to the currently recommended version of Mach4. In this case 4322. For 249 2019/10/11 * Compiled against Mach4 4.2.0.4322 * The ESS plugin will now inform you (at start up and after configuration changes) if your profile has any of these issues: - You have no Axes assigned in Mach4's config - You have no motors assigned to an Axis in the Mach4 config - A motor assigned to a Mach4 axis, is not enabled in Mach4's Motor Tuning tab - A motor assigned to a Mach4 axis, is not enabled in the ESS Output Signals tab, or it does not have its Step and Dir pins assigned * Flipping the image vertically (Y) in laser mode works correctly now. For 248 2019/10/04 * Compiled against Mach4 4.2.0.4310 * THC Log file now says "Using M62 M63" instead of "Using M11 M10" * Fixed Laser Rastering to handle indefinite file sizes. Required new FPGA image * Height Control is turned ON by default instead of OFF by default (per Avid CNC's request and it will help with my debugging). For 247 2019/09/09 * Compiled against Mach4 4.2.0.4300 * Fixed laser Vector log messages to not mention clipping to limit when it wasn't . For 246 2019/07/31 * Compiled against Mach4 4.2.0.4162 * Added more diagnostics regarding the state of the torch when cutting to aid restarting it after it goes out. Improved the code to restart the torch if it loses arc okay. For 245 2019/07/18 * Compiled against Mach4 4.2.0.4162 * New FPGA image. In 232 and before the step pulse width was 10 us for step signals. In 233 it changed to 5 us. Now it is back to 10 us. This was due to the H2206 AC Hybrid servos having issues with the 5 us pulse times. For 244 2019/07/10 * Compiled against Mach4 4.2.0.4162 * Added M2020() command "M2020(HC_ON=1)" to turn Height Control on from GCode and "M2020(HC_ON=0)" to turn Height Control off from GCode * Added H.C. On/Off Button state to the THC log file in column D For 243 2019/07/09 * Compiled against Mach4 4.2.0.4162 * The initial release of 242 caused clunking with some PCs but not others, due to logging of the 1 kHz position point file. The 242 DLLs should not be used. The 242 version source has been corrected. 243 is the same source but with an updated rev. For 242 2019/06/26 * Compiled against Mach4 4.2.0.4162 * Fixed the issue with multiple outputs pins assigned to a single output signal not working for all pin numbers * Backed out the laser change that has laser raster look at the pin active hi/low state. The person who caused that change must have had their mach4 motor tuning "Reversed" box checked * Fixed the saved pierced counts counter value code on exit for torches. * Added ability to save HC Z Max and Min values on exit * Fixed issue where torch may get stuck waiting for the arc okay to turn back on when "resume Cutting" button is pressed. * New FPGA image to fix an issue where GCode Z movement was ignored once Arc Okay was active along with Height Control enabled. * The screen set will tell you which Probe is actively probing * The Screen set will tell you which axis just started homing. For 241 2019/05/20 * Compiled against Mach4 4.2.0.4162 * Fixed Keyboards inputs Manual H.C. Mode, so they will provide screen set notifications. * Separated the ESS Config "Hardware Controller" option for Height Control Mode Type into "Hardware Controller: Up Down Pins" and "Hardware Controller: Serial" * If you don't have the TMC3in1, it should not spam your log file anymore with TMC3in1 Register Handle Failures... * ESS Register ESS/Laser/Raster/Line_Feed_Hold is now set to 0 on a Stop or Disable event For 240 2019/05/15 * Compiled against Mach4 4.2.0.4162 * Laser Raster now returns to the correct Y position starting point * Fixed some notifications for Manual H.C. Mode For 239 2019/05/08 * Compiled against Mach4 4.2.0.4162 * Forces the TMC3in1 to update the Screen Set data to a disabled state when disabled For 238 2019/05/08 * Compiled against Mach4 4.2.0.4162 * Added Probe config tab option to monitor specified probe inputs for activation while to torch is on (i.e. Collision Detection). If the collision is detected, Feed Hold is activated. * Added the code that allows you to resume a Torch cut by pressing a button, after a feed hold occurs (Arc Okay goes out or Probe collision detection event occurs). * Added Laser Vector Speed Compensation (linear) (Nonlinear will come soon). * Added in Manual Up/Down Height Control Mode, and fixed it so you could switch between it and the other Height Control Modes * Added in an ESS pierce counter. * Fixed the Laser Raster starting corner dialog so it would stay where you set it For 237 2019/04/24 * Compiled against Mach4 4.2.0.4162 * Added Laser Raster Starting Corner to the Config * Started the implementation of (but not ready yet) where Spindles that use Step/Dir, CW/CCW or quadrature mode no longer need to use the convoluted OB setup method. SS_Motor mode is now available, and it allows for PID control and the fix of a few other problems. * Fixed an IP address verification issue for "192.168.0.20" and leading or trailing white spaces. * ESS Registers had some renaming done so that they can collapse into groups. If you are using scripts that call for ESS registers or screen sets that do, you will need to make some minor changes to use the new names. Older versions of Mach4 will still work, but the register will not show groups, only names with / in them. * [ and ] are now forbidden pin (alias) name characters For 236 2019/04/19 * Compiled against Mach4 4.2.0.4132 * Updated FPGA image * When creating a new profile from scratch, if the user decides to set the ESS as the Motion Device and enable the ESS plugin, it will also enable the mcLua, mcRegfile and TMC3in1 (if present) plugins. It will also disable the Sim plugin. * A bunch more Height Control (HC/H.C.) stuff added and it is ready for the initial release. * Fixed a bug that would sometimes cause the ESS to not respond after Disable/Enable being pressed but then work after Disable/Enable was pressed again. * Fixed the config issue where clicking on an output signal with a bad alias name would cause it to lock up. * A bunch of other little code cleanup. For 235 2019/04/01 * Compiled against Mach4 4.2.0.4132 * Improved some of the Error messages that could be shown while homing. * Homing will not home if the motor's Enable signal is not active from Mach4. * The log file now shows which axes and motors are currently homing and their states. * Changed output signal name "Laser PWM" to "Laser PWM/XY Vel PWM" * Bunch of THC improvements * Added PID Ceiling * Pin alias names when used in signals are now PrePended with "(PN-M)" where N is the Port number and M is the Pin Number. i.e. (P3-17) * Modified the order of the Input Signals to make locating them faster and easier. Changed Motion Inhibit to Inhibit Motion. * Output Signal names for axes A, B and C changed to A/U, B/V and C/W (A, B and C are rotational, U, V and W are linear axes). * Added in the new Mach4 output signals - OSIG_CUT_RECOVERY and OSIG_SPEED_CHECK * Fixed a laser raster issue when the Master and slave motors for an axis had opposing Active High states for the motor Dir pins. For 234 2019/03/06 * Compiled against Mach4 4.2.0.3882 * I redid most of the plugin's (Mach4 plugin level) internal logic regarding homing (FPGA level is unchanged). Homing now supports homing of OB axes in Mach. * More HC (THC) bug fixes and implementation. For 233 2019/02/26 * Compiled against Mach4 4.2.0.3882 * Redesigned ESS Config window to support 100% to 150% Windows magnification for text! * New diagnostics window! I still need to support up to 150% magnification, but this window is much smaller now! * New FPGA image! * Merging in changes for the upcoming THC release * Added optional PID Floor which is a percentage of the commanded RPM. This helps prevent undershoot that can lead to massive overshoot. This is particularly useful for situations where the spindle/material takes a long time to slow down on its own, or it takes a long time to spin up. * The plugin now passes THC Up, THC Down and THC On (Arc Okay) signals into Mach4 Core so that they appear on the Mach Diagnostic tab. * Fixed the single pixel of data that was written in Laser Raster mode just before rastering the picture. * When a Laser Raster bitmap is in the wrong format and a pop up box is displayed. I added some information on how to generate the correct bitmap images. For 232 2018/12/05 * Compiled against Mach4 4.2.0.3882 * Added Probing status information to the registers: - The beginning of any G31 xxx, G31.0 xxx, G31.1 xxx, G31.2 xxx and G31.3 xxx command would reset all these registers Probe_0, Probe_1, Probe_2 and Probe_3 to 0 (PROBE_STATE_RESET), and then the commanded probe and Probing_State to 1 (PROBE_STATE_PROBING) - During the probe, any probe that activates would be set to (PROBE_STATE_CONTACTED), even if it was a noise glitch or not the probe that was commanded. - If the probing completes successfully, then the commanded probe and Probing_State will be set to 3 (PROBE_STATE_FINALIZED) - If the commanded probe never completes, then the commanded probe and Probing_State will be set to -1 (PROBE_STATE_FAILED) - If probing is aborted, the individual probes will be left as is and Probing_State will be set to -2 (PROBE_STATE_ABORTED) For 231 2018/11/30 * Compiled against Mach4 4.2.0.3882 * The 230 release fixed the issue for when GCode move was shorter than the backlash comp move, but proceeded to break things for if there was an all stop backlash pullout at the end of it. It now works correctly for all the variations of those cases. For 230 2018/11/29 * Compiled against Mach4 4.2.0.3882 * Found and fixed bug from when a GCode move was shorter than the backlash comp move, and another GCode reversal occurred causing the Backlash comp moves to overlap. A Clunk would occur due to the discontinuity, but that is now fixed. For 229 2018/11/29 * Compiled against Mach4 4.2.0.3882 (updated from 3835 in SVN commit) * Modified Splash Screen Options For 228 2018/11/05 * Compiled against Mach4 4.2.0.3882 (updated from 3835 in SVN commit) * Added ability for scripting update reconfigurations for an OEM * Added the plugin version to the title of the ESS Diagnostics window. For 227 2018/11/01 * Compiled against Mach4 4.2.0.3882 (updated from 3835 in SVN commit) * Added Laser Vector THC mode active support * Added Laser Vector Test Fire support * Fixed Laser Raster so it can run at arbitrarily slow feed rates (required FPGA update) * Laser Information in registers now works with screen set sliders and meters when using Mach4 build 3882 (2018_10_30 for a release date) or later. For 226 2018/10/22 * Compiled against Mach4 4.2.0.3835 * Fixed the Hardware Ran Dry message while threading... * Added Reg File positions for Buffer_Empty_Count and Stalled_Sequence_Count * Significant overhaul of the Laser Raster software to allow for arbitrary feed rates, it is no longer tied to one pixel per motion command (every 1/1024 of a second). You may specify faster feed rates, but slower feed rates will not function until the next release. * Changing the "Charge Pump Runs in EStop" option no longer prompts for a restart. * Changing the "Laser Raster Even Rows Only" option no longer prompts for a restart. For 225 2018/10/02 * Compiled against Mach4 4.2.0.3835 * Added Spindle Encoder as a RPM source, so that you can get better results while turning/threading. You will still need an index signal. * Major overhaul in the FPGA internals for Laser Raster For 224 2018/09/28 * Compiled against Mach4 4.2.0.3835 * In the ESS Homing Config tab, I moved the Approach and Back Off velocity columns to the left, and the Index Pin columns to the right (since not everyone homes to an index pin). * Added the option to set Spindle PWM 0% Duty Cycle to occur at current Range Min RPM (compatibility mode for Mach3 VFDs), instead of the Mach4 ESS default of Spindle PWM 0% Duty Cycle to occur at 0 RPM. * Fixed the issue where a "Cycle Stop" button press would cause Mach4 to lock up when the "Controlled Cycle Stop" option was checked in the Mach4 config. * Fixed the "Reset Velocity N - Disabling Mach" issue for 95%+ of the cases, especially when "Cycle Stop" is pressed. * Fixed the threading issue to compensate for your spindle running at a different RPM than commanded by Mach4/GCode * Split the Velocity FIFO Ran Dry messages into two groups: Hardware and Software. Hardware should be enabled and the Software should not be. The Software version is a diagnostic tool for dealing with Ethernet issues. * Added Advanced Logging in the General Config for advanced diagnostics... The file is saved at Mach4 Folder \Plugins\_ESS_Advanced_LOG.csv For 223 2018/09/06 * Compiled against Mach4 4.2.0.3835 * Fixed the threading sync issue where Z positional steps were lost, which caused the threads to not form correctly. * Added compensation code to fix the error between the commanded Spindle rate and the actual Spindle rate during a threading pass. Kinda... Actually fixed in 224. * Added code to use five speed samples to reduce some measurement error due to noise. For 222 2018/08/31 * Compiled against Mach4 4.2.0.3835 * If Mach starts up with one of the Limit Switches active, Homing will not start, and a message will pop up telling you to press 'Stop', 'Axes Limit Override' and then jog off the switch before trying to home again. This will only happen with an active limit switch at start up. * If you have multiple axes set to home at once, and press stop during homing, the plugin would not let you home again until you restarted Mach4. This has been fixed. For 221 2018/08/27 * Compiled against Mach4 4.2.0.3804 and 4.2.0.3835 * Added in an ESS General Tab option to allow the Charge Pump to run while the ESS is in EStop. * Added in two more fields in the ESS Diagnostics window for Buffer under runs and Stalled Sequence IDs (communication issues). * Worked on Threading Sync issues, and they appear to be solved (as best as I can tell without a lathe). * Added in a new Laser PWM module to the FPGA. This is totally separate from the spindle. * Added in support for Laser Vector and Laser Raster PWM images. Currently only tested with machines using base units of Inches. mm unit machines should work, since they appear to on my system. * Since Raster mode puts the ESS in control instead of Mach4, in the Motors tab. This is only seen with servo motors, and was necessary while developing the Laser Rastering code. It may help occasionally with other servo motor issues. * MSG_REWIND_FILE will cause the SmoothStepper to Cycle Stop all of its outputs. * "ShowWarp9SplashScreen" is now saved when changing the ESS config file. * Updated the Info tab of the ESS config and added Hyper Links For v220 2018/05/16: * Compiled against Mach4 4.2.0.3663 * This should fix the Backlash Compensation bugs previously noted. For v219 2018/03/05: * Compiled against Mach4 4.2.0.3663 * The ESS minimum PID setting has been removed on the Spindle tab. PID minimum speeds are now based upon the Mach4 minimum RPM setting for the current Spindle range and are now based as a RPM value. This RPM may not match perfectly with the measured RPM due to tolerance errors in your analog circuitry or the VFD itself. * Column 2 and Column 3 output pins now work as they should. Whenever an "Output #" is Activated or Deactivated, it is now logged also. While Motor Pins and PWM (etc...) can be duplicated as well, these signals are not logged. For v218 2018/02/18: *This will bring the SVN up to 218 For v218 2018/02/07: * Still one last bug in Backlash Comp that I am working on and as such, B.C. is not recommended for use at the moment. * Threading Index Sync work is occurring in a separate code branch. Not yet ready for prime time... * I released to many 217 Dev versions, so I am just releasing this 218 version instead... Look at the 217 notes to see what I changed... * Tested against Mach4 build 3485. I will upgrade to the newest Mach4 dev build as I work on 219 now For v217 2017/12/01 (initial release of 8 dev releases): * I NEVER released an official 217 release, but I had enough dev versions that I just wanted to jump to an official 218 release. * Backlash Comp will now pull out the backlash before commanded movement occurs when an axis is reversing but not stopped (assuming the others axes are reversing or stopped too) "STATIC REVERSAL". * Backlash Comp messages are now suppressed from the log file by default, but a check box is now available. * Backlash Comp "Affects Calculations" is now an option. It allows you to exclude a specific motor (since it is a spindle or a conveyor belt) and it does not affect the motion of the normal linear axes. * Changed the ESS Homing Config Tab some * Tweaked the ESS Diagnostic window to have more efficient display loops * Made the ESTOP signal notification in the log file clearer * If you are in PWM mode but you have not assigned a PWM output pin, I made that notification tell you that "Axis Motion and the Spindle MAY NOT WORK!" Since it will likely cause Mach4 to hang in a motion command. * Added plugin side support for the Spindle Index signal/pin to support multiple pulses per revolution.... Not released * Added back off amounts after homing.... Not Released * Added ability to suppress the Warp9TD splash screen at launch... in the profile's Machine.ini, change the last line from "ShowWarp9SplashScreen=1" to "ShowWarp9SplashScreen=0" * Added current RPM to the PID data log and deleted some other fields. This now updates every 2.5 seconds in the diagnostics log file in Mach4 * Option to create SS_PID_LOG.csv log file in your C:\Mach4Hobby\ or C:\Mach4Industrial\ folder. This file records every iteration of the Spindle PID function so you can graph the response. * Fixed a bug in the PID code * If your spindle index pin is not capturing new data, the plugin will detect that the data is going stale in half a second, and set the displayed RPM to 0.0 For v216 2017/11/16: * Fixed an issues when probing completed and the plugin issue a series of super fast pulses that were way too fast to generate any movement (which is why we never noticed them before). For v215 2017/11/15: * Added Spindle PID functionality * Added the ESS's Spindle Speed to a register (It gets updated every pass through the main loop). For v214 2017/10/30: * On the forums, this was released as Build 214 Backlash Test Rev #3 * Commented out some of the more mundane log messages from the ESS ("Motor n Still" and "Motor n Report Stop Set") * More Backlash work * The ESS has a noise filter delay time of 1.85 us not 1.43 us like the USS. This change in the ESS code (1.43 to 1.85) will cause the delay times of your noise filter values to decrease by approximately 25% * Tested against Mach4 3485 For v213 2017/09/20: * Fixed the #of Rows issues in wx for InputSignals and Output Signals tabs of the Config Dialog * In 211/212 I had turned up the warning and error reporting on the ESS's velocity buffer to a really high level (and it would disable Mach4 at the first sign of anything wrong), while I was trying to diagnose and fix the negative limit issue. - This change made it overly sensitive to the successful completion of the probing command resetting the velocity buffer on the ESS, at which point the ESS would report that it was empty, and the plugin would disable Mach4. - This didn't happen every time, which is why I missed it in the original testing. - I have modified the code so it will continue to report the velocity buffer being empty if it happens. However, it will not disable Mach4 until it is apparent that there is another issue happening, not just a velocity buffer reset after probing completion. * Threading Mode (Time Warp) should now be working correctly! The ESS Will measure the time periods on the Spindle Index pin at the start of the threading command. - The ESS will then speed up/slow down the feed rate on the other axes to match the decrease/increase of the spindle's RPMs. This compensation occurs inside the FPGA. - You need to have your Spindle enabled and running at speed before the threading command is issued. - You need to have the input pin for Spindle Index signal enabled and receiving data from an index slot or uniformly slotted wheel (or similar so you get a consistent time period between pulses at a constant RPM). * More Backlash Comp code, but it is not yet functional. * Fixed it so no spindle feedback would show as 0 RPM instead of an enormous number, and also fixed the Spindle RPM code in the ESS Diagnostics window. * Tested against Mach4 3485 For v212 2017/09/13: * The ESS Config Dialog will now check Noise Filtering values and ensure that they don't exceed the maximum value of 93622 us or 93.622 ms or 0.093622 seconds * Tested against Mach4 3485 For v211 2017/09/12: * Fixed the issue of when a -limit is held active for more than a second, which would cause lockups. * Fixed a few other small bugs that could cause lockups with limits. * Tested against Mach4 3485 For v210 2017/09/07: * You can now group multiple M62/M63 commands in a row (each on a separate line) followed immediately by a G00, G01, G02 or G03 command that creates motion. * Fixed some small errors for when a Home/Limit was active at startup, and it was inhibiting Axis Jog Override * Updated some of the GUI stuff in ESS Config * Inactive code related to Backlash Comp * Tested against Mach4 3485 For v209 2017/08/24: * Spindle PWM messages will not appear for those who use Relay mode or OB mode spindles, OR people not using Spindles. * Cleaned up the Spindle dialog window * The Register window was overwriting the Encoder_(0, 1, 2) with Encoder_Aux(0, 1, 2) data by mistake. It now correlates with the Diagnostic window correctly. * Tested against Mach4 3485 For v208 2017/08/22: * Support for plugins is under development... * Support for THC is close to done... * Spindle and threading stuff started... * Backlash stuff started... * If Mach tells the ESS to home an axis, but the ESS does not have a home pin (signal) assigned or enabled, a message window pop up is now displayed telling the user to Modify Mach's 'Homing' tab to home this axis in place -OR- modify the ESS config 'Input Signals' so this axis has an Enabled homing pin." * Tested against Mach4 3485 For v207, 2017/07/13: * Fixed how we report the positions of motors after Mach4 requested a SetStill. The misreporting had caused other axes to move slightly (one step) once in a while when a different axis was moved. i.e. you could jog X and Y or Z *might* move by a single step. * We can now catch intermediate Stop Requests in jogs may have been missed previously. * Improved the error reporting for when a non used axis is trying to be homed. i.e. You have motors assigned for X, Y and Z and you are trying to home them. However, if your mach config is trying to home A, B and or C too (which you do not have motors assigned for and you don't have motor parameters assigned for), you will a pop up box from the ESS. This pop up box warns you the axis in question may not be enabled, or has approach or backoff velocity issues. I think this will be improved on in 208 some more. For v206: * Fixed the issue where you could not move off the limit switch at startup, even with Axis Limit Override enabled. * Added the following Input Signals to the ESS that are supported by Mach4 - JOG Inhibit - MPG Inhibit - Tool Skip - Tool Life Override - Tool Group Reset - User Interrupt - Tool Retract - Path Selection (Head) - No Wait - Jog OB 1+ - Jog OB 1- - Jog OB 2+ - Jog OB 2- - Jog OB 3+ - Jog OB 3- - Jog OB 4+ - Jog OB 4- - Jog OB 5+ - Jog OB 5- - Jog OB 6+ - Jog OB 6- * Added the following Output Signals to the ESS that are supported by Mach4 - Tool Change B - Waiting On Tool Signal - Retract Signal - OB1 ++ (Plus Limit) - OB1 -- (Minus Limit) - OB1 Home - OB2 ++ - OB2 -- - OB2 Home - OB3 ++ - OB3 -- - OB3 Home - OB4 ++ - OB4 -- - OB4 Home - OB5 ++ - OB5 -- - OB5 Home - OB6 ++ - OB6 -- - OB6 Home * The input and output signals had their orders revised some on their respective tabs. Commonly used signals are grouped together nearer the top, and other signals are alphabetized. Inputs/outputs 0-63 are at the end of each list. This will not affect the mapping of pin/signal assignments on existing profiles, but you may see the placement in the list change slightly. For v205: * I had to remove "wxInterface\wxMachGridResetStateCell.cpp" and "wxInterface\wxMachGridResetStateCell.h" from the project panel in VS2013, even though they were not used in the project. * Never released a plugin for this build. For v204: * The Splash Screen now automatically updates with the Build Version information * The ESS Config Dialog Window now has its Style set to 'Stay On Top' so it will never get lost behind other Mach4 windows! * The ESS Diagnostics Window had its update rate slowed down from the plugin frequency to 1/3 the plugin frequency (typically 40 Hz to 13.3 Hz) * Changed the Event Handlers names for the Config window Grids. * Added a bunch of new ESS Registers: - THC Signals (which is still in development) - ESS Pin information for general info (read only) and to support M62/M63 (since these output changes are not reflected in Mach4's output signals, we are giving you read only access to them at the FPGA level so you can see what the actual pin output state is). - This information is listed by PortX-PinY, with the following details: ~ Pin Alias Name (String or "" if no alias is assigned) ~ Pin Direction (String) "Input" or "Output" ~ Pin Direction (int) 1 = In and 0 = Out ~ Pin Value (int) 1 = On and 0 = Off * In the ESS Config window, there are 2 new Output State columns in the 'Pins Config' tab, one for Stop Events (Stop, EStop, Disable button or Limit Switch) and another for Feed Hold. - This is ignored by: ~ Motor signal Pins (Step/Dir, CW/CCW and Quad) ~ Spindle PWM Pin ~ All Input Signal Pins - This only works on Output Signal Pins (output signals 0 to 63, Mist, Coolant, etc...) - The two new columns allow you to set the actions that will occur for a Feed Hold event or an Stop event for each Output Signal Pin to 'Force ON', 'Force OFF', or 'No Change'. 'No Change' means that the output is controlled by Mach4, and no change will be made to the current state of the output. With 'Force ON' and 'Force OFF' the ESS will Force that desired state, which may be needed for a laser or spindle to shut them off. This change of state information is passed back into Mach4. - When pressing Cycle Start after an Stop Event, we will not change output states (but your G-Code can). - When pressing Cycle Start after an Feed Hold Event (as long as you did not press Disable or Stop), the plugin will prompt you to resume the previous output state of any output signals that were modified by the Feed Hold Event. You may decline to resume the previous state. - The log file will document all of the events as they are occurring - If the ESS loses communications with Mach4, the Stop States will not have any effect. This requires a FPGA change which will be included in a future plugin (and then a loss of communications will force the Stop State values). - These two new columns are software based, and for anything safety critical, YOU SHOULD HAVE A HARDWARE APPROACH to safely handle events for motors, spindles, lasers, etc... * Built with Mach4 build 3402 * Tested against Mach4 build 3390 For v203: * We were checking to make sure you had your probe signal mapped, we are now also checking to make sure that it is ENABLED too. * Reduced the output speed of the ESS Homing loop line in the the log file to 2x per second now * Found a bug in Homing, where homing will not issue any axis movements if the Approach or Backoff velocities are too small! We now throw a message about the required minimum velocity for that axis, and bump you up to that velocity (for just that time) so homing will complete. * If the Mach4 does not receive any packets from the ESS for 120 plugin cycles, it throws a message. I added more details to that message and asked what the status LEDS were doing on the ESS. * In the ESS Config window, I changed A) to 1) , B) to 2), etc... for clarity over more languages. * Built with Mach4 build 3379 For v202: * For Spindle control, Step/Dir, CW/CCW and Quadrature all changed to OB mode. * All of the Spindle documentation in the config window was updated. * Implemented Spindle Motor Step/Dir. It had always been set to 0 previously. * The application will now gracefully close the config window (discarding changes) if the config window was left open during a Mach4 shutdown. * The Config window is much more intelligent now about trying to open if it was already open or if the main loop couldn't enter the configuration state. * The Config window has the ability to close previous instances (that didn't load properly). * The Config Window can now close (hide) the Diagnostics window, and continue launching the Config window without you needing to do it yourself. * The Config and Diagnostics windows now show the plugin version in their titles. * Added more History/Error window messages to inform the user of serious configuration issues. * Improved some logging messages to be more informative * Probing was working okay, but made a bunch of changes to make it clean and easier to understand what it was doing... For v201: * Fixed the Multi probing so it works correctly now... * Flushed out details on the Spindle PWM setup, in the config window For v200: * Added M62/M63 support * Split the Motors and Spindle into two separate tabs in the Config window. For v199: * We now have spindle ranges! * We now retry the ESS a couple more times if it can't connect right away (gives the ESS more time to reboot) * We now have a version ID shown in the menu name for the plugin's Config and Diagnostic windows * Reduced the number of times per second that we report the waiting for probe hit during probing. For v197 and 198 were version control manipulations... no code changes For v196: * Added notices to check your Firewall to a couple of the ESS messages about not being able to connect, and cleaned those messages up. They will now try 2 additional times to connect to your ESS, before showing up. * Fixed the ESS diagnostic window so that the always on top is checked by default, and added so text so it is apparent. Removed the useless menu to save some space. * We now have icons for our config and diagnostic windows! * In the config window, there is now a probe tab, so that you may chose to have the other enabled probes (that were not called) act like limit switches and stop all movement and disable Mach if they are activated while probing on another probe. * We now kick out an Error and Log message if you are trying to change spindle speeds, without an output pin assigned to the spindle * The splash screen now only appears if the ESS Plugin is enabled. * A probe turning off no longer activates an Emergency signal from Mach4!