3804 - 3786 Mach4GUI: Get Parent Core: Prevent rotary axis unit conversion. mcAxisSetPos() would do a units conversion on any and all axes. But mcAxisGetPos() always returned the axis position in native machine units. mcAxisSetPos() was changed to always use native machine units (the original design intent). Mach4GUI: Prevent rotary axis unit conversion. All DRO display and entry unit conversions are handled in the GUI. Core: Prevent F from being affected by a unit conversion if it is used on a line with a rotary axis ONLY. Core: Add mcMotorSet/GetCountsPerUnit API. Core: Spindle wait functions now return a timeout error code if they indeed timeout. Core: Prevent F from being affected by a unit conversion if it is used on a line with a rotary axis ONLY. Core: Fix tool path Min/Max zoom. Core: Do not overwrite parameters.ini if it exists. Update API docs. Core: Fix G10 for Lathe when it doesn't use the L word. Mach4GUI: Add operator lock menu items Mach4GUI: Add the screen object to the Mach object list so that it can be used as the parent to enumerate its' children. Mach4GUI: Fix scr.GetCtrlParent() Lua: Correct module library function signatures for ZeroBrane. Lua: Added new Lua examples and fixed any non-working examples. Screen: Tangential screen, Marcos, Profile and docs added Lua: M19 Example added to help people with Spindle Orient 3785 - r3787 Core: Prevent F from being affected by a unit conversion if it is used on a line with a rotary axis ONLY. Core: Prevent rotary axis unit conversion. mcAxisSetPos() would do a units conversion on any and all axes. But mcAxisGetPos() always returned the axis position in native machine units. mcAxisSetPos() was changed to always use native machine units (the original design intent). Mach4GUI: Prevent rotary axis unit conversion. All DRO display and entry unit conversions are handled in the GUI. Core: Add mcMotorSet/GetCountsPerUnit API. Core: Spindle wait functions now return a timeout error code if they indeed timeout. Update API docs. 3776 - 3784 Fudge Sim's velocity calculation. Core: Fix G65/G66/G66.1 Core: Add BIN[] and BCD[] functions. Core: Add G10 L50. Core: Parameters can be treated just like doubles. Core: Add mcCntlGetParameter() and mcCntlGetParameterBit() API calls. Mach4GUI: Added support for system parameters in mcDro and mcStaticText. Core: Move parameters out of system variables. Core: Change internal read_parameter_* function names to read_sysvar_*. In future builds, system parameters will be different than system variables. Core: Increase the max interpreter operation precedence level from 5 to 10. Core: If a #var is used as a value to a G code word and the value is NIL, make it a no op. (Fanuc compat). Core: Improve the CheckBit() macro. Core: Use definitions instead of numbers in Controller::SignalWait(). 3714 - 3775 Core: Added mcCntlMacroAlarm() and mcCntlMacroStop() APIs Mach4GUI: scr.Exit() now posts a message to the Mach4GUI to shutdown. This allows scr.Exit() to be used from IPC. Core: Add mcCntlErrorString() API Core: (Lathe) If no slide direction is set, default to primary. Core: Prevent ISO tool path view from spinning the path. Core: Lathe Tip comp update to allow Inc moves to use Comp. Mach4GUI: Make double clicking the tools paths go to the initial view property's setting. Core: Implement the tool path default view SANE! It never was finished and crashed on Lathe. Core: Obey parameter 6001 for clearing local and common variables. Mach4GUI: Add scr.GetScreenName() to get the root control name. Mach4GUI: Feedrate label now shows correct feed rate in metric mode. Mach4GUIR: Add Lathe TLM files Core: Update Tangential and RP interpreters for G10. Mach4GUI: Update for lathe style TLM. Mach4GUI: Added VAL_ZOOM_MAX and VAL_ZOOM_MIN to mcCntlGetValue() and mcCntlSetValue() to set the max and min amount of zoom the user can do with the mouse or by using the mouse wheel. Core: G10 fix for bad G10 W value. Core: G10 revamp for Lathe. Plus full documentation. Core: Added TLM for Lathe. G10 revamp for Mill. Plus full documentation. ZeroBrane: Update to rev .50 Mach4GUI: Apply screen element alignment patch from Mach Motion. Build: Change "Release Industrial" target name to "Industrial Release". Mach4GUI: Fix OEM icons. Core: Fix mcCntlWaitOnCycleStart() when running a file. Core: Finalize the file dounload and upload interface via IPC on the client side. Mach4GUI: Patch for adv gui buttons. (From Mach Motion) Core: File upload and download (Mach side). Core: Move tool descriptions from the setup struct to the base GcodeInterpreter class. (Drastically improves load times.) Core: Implement pub/sub RCF for GUI messages across IPC. CorConf: Add A rotation axis Core: Update RCF to 2.2.0.000. Core: Gcode from String command fix so it will not start a new line if we have a space. mcCntlLoadGcodeString is the function affected. Core: M19 clarifications. CorConf: Add A rotation axis Core: Changed G13 and G12 to do the same depth of cut for every pass.. Calculates the number of passes and changed the stepover to fit some multiple. Core: Add the table map to the project and take the OEM subs up to 100 for MM Core: Finalize cut recovery. (No cutter comp allowed. Yet...) Core: Start to the table mapping code to allow the Z axis to follow a table that is not flat. Mach4GUI: Fix RCF IPC definable port error. Mach4GUIR: Fork off Mach4GUIR. Mach4GUIR: Initial import of the remote interface. Core: Arc intersection math fixed for cut recovery Mach4GUI: Add object name and event type to button as parameters to button event scripts. Use LUA select() to access. (name, event) order. Core: Bug in the adjusting of the line width in the TangGLCanvas. Now it will use the settings rather than doing it's own thing. Core: Revamp cut recovery, again... Core: Loop to copy double values instead of memcpy() Core: Fix mcAxisIsMoving() for OOB axes/motors. Core: Added Arc to point test function for cut recovery Core: Added a function to see how close a line is to a point in controller. Core: Swap the function of VAL_DRYRUN_ENABLE and VAL_DRYRUN_RATE in the code to reflect the names. mcModbus: Add 32 bit writes and Float Reads/Writes Mach4GUI: Fix main frame icon. ZBS: Add some packages. 3709 - 3713 Core: Make multi-byte char aware. mcModbus: Make multi-byte char aware. Mach4GUI: Make multi-byte char aware. CoreConf: Make multi-byte char aware. wxMach: Add Utils.cpp/h ZBS: Update to .40 ZBS: Add some useful plugins. 3704 - 3707 Mach4GUI: fixe script file permissions. Mach4GUI: Add "Open Script Editor" to the Operator menu. Mach4GUI: Finalize screen script debugging. ZeroBrane: Update to .30 rev. 3694 - 3703 Build: Include ZeroBrane Studio. mkapi: Add ZeroBrane API template files. mkapi: Generate ZeroBrane API files. CoreConf: Implement ZeroBrane Editor mcLua: Implement ZeroBrane Editor Mach4GUI: Implement ZeroBrane Editor Mach4GUI: Fix font issue. (not saving Bold, etc...) Core: Make loading tool table a bit faster. 3664 - 3692 Core: Add option to check probe signal before a G31. Otherwise, do like Fanuc. Default is to check. Core: Add option to check probe signal before a G31. Otherwise, do like Fanuc. Core: Run G84.2/3 as trun cycles for the lathe interpreter. Core: Added the toolpath line width code to the Lathe and Tangential display's . Core: Commit jog patch from Mach Motion. Core: Clean up Brian's custom OEM G code stuff. Mach4GUI: Updates for OEM versions. Core: Changed it so only the axis lines have the width changed based on the Axis Line width. The rest of the features are done using the Path Line width . CoreConf: Made the settings so they will change the state of the Apply button. Core: Added a place to change the width of the lines in the toolpath in the config dialog. Core: Update for the screw up with the license for the OEM Subs like G65. Core: Apply AxisPlanner.cpp patch. Mach4GUI: Add option for buttons to raise the up event if the mouse is moved off of the button. Mach4GUI: Undo all lost focus/gain focus events. License: Added some more features to the license Generator Core: Added the OEM Subs to allow the OEM's to make Gcodes. Core: Add shutdown message. Core: Fix feed hold while probing. Mach4GUI: Correct event handler for generic timers. Plugins: Wait on the event loop to start. Prevents a plugin from hanging when Mach is starting. Core: Code cleanup. Core: Set the line width to the Smooth line setting rather than the AntiAliased, Test for Mach Motion Build: buildrelease-vc12.bat now uses the windows defined NUMBER_OF_PROCESSORS environment variable. Build: Add a list of build requirements. Mach4GUI: Added /m command line switch to Mach4GUI that starts with the menu hidden. Mach4GUI: Video used to Start Mach4GUI for OEM's Core: Isolate profile write memory alloc/dealloc. Core: Added mutex to config flush. CoreConf: Fixed plugin deletion. 3654-3663 Mach4GUI: Lost/Gain focus events on selected screen elements. PMC: Add core value reads/writes via scr API. Core: OpenGL Milltoolpath changed to better support newer graphics cards. Trying to get smoother and better minimum line with by using the newer calls. OpenGL 1.1 or greater so no pushing to far Core: Allow homing of an out of band axis in any state (coordinated axis must be in idle) Mach4GUI: Implement in situ DRO expression calculator. Mach4GUI: Add screen based timers. Mach4GUI: Added scr.IsLoaded() API. Mach4GUI: Prevent crashing is if the screen specified in the profile does not exist. Mach4GUI: Fix hang while closing caused by mcLuaPanels. 3644-3653 Build: Include machipc and screenipc Lua modules in the build process. LuaModules: Include mcIpc function bindings. LuaModules: Include scIpc function bindings. Core: Add screenipc Lua module. Core: Add machipc Lua module. 3631-3643 Mach4GUI: Fix in screen editor crash on scr.EditorLoadFile(). Mach4GUI: Fix register updating mcTextCtrl. Core: Add mcFeature*() APIs. Core: Prevent stepping into encrypted subs. Core: Add support for encrypted G code subs. Mach4GUI: Try and fix LUA panel closing issues. Mach4GUI: Added scr API calls for turning the AUI bar at the top off and a call to use some of the functions to do the commands in the bar. Mach4GUI: Add EditorLoadFile() in the scr API. Core: Fix auxiliary positions for user coordinates. mcLua: Fix override bindings. Core: Implement auxiliary position that DROs and tool paths may use, if required. Core: Do not allow motion with G28.1 when loading a file. 3523-3630 Mach4GUI: More efficient fix for the advgui toggle button image not clearing if the image has a transparency. Mach4GUI: Fix advgui toggle button image not clearing if the image has a transparency. Mach4GUI: Add scr.EditorGetFileName() Core: Fix register hang. Mach4GUI: Fix debug assertion with fonts. Mach4GUI: Fix mcTextCtrl LUA memory leak. Core: Newline consistency. Core: Registers are no longer capped for string lengths. Core: Reduce memory requirements. Core: Fix MST blocking for conditional Macro B statements (IF/WHILE). wxWidgets: Fix GDI handle error in tool tips. Core: Make IPC base port configurable. It now defaults to 48000 and can be set with Preferences/BaseIpcPort in the profile. mcLuaEditor: Prevent thread messages at shutdown by preventing multiple call to shut down the debugger threads. Mach4GUI: Make popup alpha keyboard work with text controls. Core: Dummy motor on axes are now automatically removed if a real motor is mapped to that axis. Mach4GUI: Remove "Text" from uninitialized static text controls. Mach4GUI: Add scrGetCtrlType() scrAPI. Mach4GUI: Add scr API calls to get parent and children of a control. Mach4GUI: Fix over-converting units (mm/in) in DROs. Modbus: Use registry to enumerate com ports in Windows. Core: log mcSignalWait() API LicenseApp: Add OEMIcon16 Update wxNumberFormater to 3.1.0 Mach4GUI: Fix header define. Mach4GUI: Build with new wxPropertyGrid. Mach4IPC: Add memory leak checking. wxWidgets: Upgrade wxPropertyGrid to 3.1.0 Mach4GUI: Lua Panel improvements. Mach4GUI: Add background image scale methods to mcPage, mcGroup, and mcNotebookPage. mcLuaEditor: Debugger update. mcLuaEditor: Fix crash at end of debugging session. Core: Make IPC errors graceful. Shorten IPC connection timeout when executing on the local host. mcLuaEditor: Auto load needed files during debugging. mcLuaEditor: Use the graceful IPC error handling. Core: Added a call in the Gcode interpreter for a Stop function Comp position. Vars are now flushed when a Stop is issued. Reset will set comp back to OFF and flush all vars Mach: Add BuildingBlocks CCDK libraries. Core: Fix for cutter comp with full circles Core: Probe number added for DEV_TYPE_PROBE2 Mach4GUI: Fix DRO editing when it is mapped to a G code. Core: Fix the bug introduced when adding the mutex on the G code file operations. Core: Added a mutex to protect the memory mapped file operations. Core: Added code to allow Gcode from a script with a probe move to run after the G31 Command. It would stop before and not execute anything after if it was part of the same string (multi line) Core: Added the tools to allow more than one tool call on a line of Gcode for Drill bank heads in Industrial. Core: Added a way to put scripts in to the config menu to help with support. Sim: Fix mcNativeParentHelper.h with regards to the size message. Mach4GUI: Fix Plugin Panel Window Messages. Build: PDBs to SDK Mach4GUI: Fix static text label/register bug. Mach4GUI: Add G code variables to static text labels. Core: General cleanup to find Axis NAN problem. Sim: New plugin panel interface implemented. MUCH easier! 3486-3522 Core: New plugin panel interface implemented. MUCH easier! Mach4GUI: New plugin panel interface implemented. MUCH easier! Sim: New plugin panel interface implemented. MUCH easier! Core: Added the over ride for the mcMpgGetShuttlePercent(int, * percent function) Core: Added the code to set the default toolpath to be the selection that the user would like. Now the defaut is the selection Shuttle mode now has API calls to set the velocity. Core: Adjustments to cut recovery. Core: Finalize cut recovery check routines. Core: Add Cut Recovery output signal. Core: Update operator= for PmPoint. Mach4GUI: Disable OK button on Cut Recovery dialog until machine is in position. Mach4GUI: Add cut recover cancel button code. Core: Needed to add a new dot product for all 6 axis Core: Added more code to test if the point is on the Arc. The code is in for testing but is not used in the check. Core: Fix StateInterface with regards to cut recovery. Core: Stubbed out point on line check. Core: Added overloaded operators to PmCartesian. Core: Added a test to see if the point is on the arc. This is a simple test to see if it has the same Rad first. The next test is to do an angle check. Mach4GUI: update Tracking Buffer Sim: Add SIZE and REFRESH plugin panel messages. Core: Implement CutRecovery. Mach4GUI: Make wxBitmapButton Core: Implement TrackingBuffer in CyclePlanner(). Core: Add TrackingBuffer class. Mach4GUI: Try to prevent a NULL brush and a NULL graphics path in wxGradientButton. Core: Retract no longer tries to move disabled axes. Core: mcSignalWait() can not use all signals instead of just GP inputs and outputs. Mach4GUI: Enable crash reports. Build: include PDB files in SDK. Mach4GUI: Fix state label flicker. Installer: Fix build script to include screen designer docs in the SDK. 3475-3485 Build: Include screen designer docs. CoreConf: Added a popup dialog to tell the user they have selected units for setup and default that are not the same. This has caused issues in the past and should help support. Core: Prevent mcProfileSave/Flush() from working before MSG_CONFIG_END. They return MERROR_NOT_NOW if used before MSG_CONFIG_END. Mach4GUI: Fix disk logging file name. Mach4GUI: Dro values are now forced to update on startup. Default was zero for the value and now we have it set to an unset value. Core: Add shadow variables for old style Fanuc offsets. Core: Added a bool to the TpAddTc function that allows the goal position not to be set. Also made where we set the last position before the Gcode move was sent in all functions to make it consistent for all moves. Core: Change the position the planner uses as the start of the move to account for rotation... Mach4GUI: Enable logging to a file. Core: Added a check to see if the PCID is the same in the license file as the PC. We now show an error and don't load the license if they don't match Core: Get the start of the move set when every TC is initialized 3468-3474 Mach4GUI: Add unhandled exception report generator. Core: Add unhandled exception catcher. Core: Fix starting position for dwells. Mach4GUI: Fix debug assertions in mcStaticBitmap. Core: mcMotorGetPos() no longer truncates the double to an integer. Router Screen: Fix update scripts in the DROs. 3419-3468 Core: Problem with G28 and the Z axis .. The code was changed to not need the ! (Not) operator and one was missed Core: G code check for moving a disabled axis. Core: G code error strings are now translatable. Mach4GUI: Fix bitmap button enabled/disabled discrepancies when launching dialogs from the button down event. Core: Retain signal user descriptions. Mach4GUI: Run From Here dialog caused hang on exit. mcSerial: mcPluginUnload() was never called. (not exported from plugin). Core: protect the tc queue with a mutex. Mach4GUI: Make the static bitmap accept new images at runtime. Mach4GUI: Fix bitmap button disabled image problem. Core: Start spindle changed timer in the main thread. Core: Correctly implement wxFileConfig in Load/SaveFixtureTable(). Core: Fix default var screwup on mcStaticText. Mach4GUI: Small typo for the inc jogging with the KB Core: Send MSG_TIMEOUT to plugins. Core: Changes made to the tangential interpreter to allow the user to set the amount they don't care about the blade being in position... for example if the blade is out 1.5 deg when it starts is that Okay ? Mach4GUI: Change base class of mcBitmapButton from wxBitmapButton to wxWindow. mcShuttle: Fix the Shuttle pro being on something other than Encoder Number 0 or 1 Core/IPC: Add mcIpcGetLastErrorMessage() and mcIpcGetLastErrorCode() to facilitate IPC debugging in the LUA environment. Mach4GUI: Streamline control update and edit scripts. Info in Mach 4 screen editor manual. Core: Make the SETVN ranges settable. CoreConf: Make the SETVN ranges settable. 3418-3403 Core: Add mcAxisRemoveOverrideAxisSync() API call Core: Prevent MPG in feed hold state! Docs: Update and clear up override axis API functions. Core: Fix mcAxisRemoveOverrideAxis(); mcKeyboard: Look at Keyboard plugin to see if anything changed. There was one change having to do with c# compat. This change was improved. Sim: Add output register for PMC testing. PmcEditor: Fix register read writes so that they allow floating point numbers. PMCEditor: Correct parameter for write (-> bool read = false) for SetPmcDevs in ShowRegisterDialog(). mcSerial Plugin:Added some tools to allow polling of the port. More of a test than anything Core: Need to get the ABS of the angle when checking.. Killed moves in the reverse direction. Core: Fix for Tangential interpreter stopping on moves that don't move the A axis Mach4GUI: Keep bitmap button from shrinking when the down event script is used incorrectly. Mach4GUI: Correct angular meter control mapping. Mach4GUI: Wire the DRO codes to the angular meter control. Mach4GUI: Make angular meters available in Hobby. 3402-3384 Mach4GUI: Add bezel and face image capability to the angular meter control. Mach4GUI: The needle will now not move passed the meter start and end ranges. However, the digital value will still show a value that is over or under the meter ranges. Mach4GUI: Fix angular meter disposal of the graphics context. Mach4GUI: Init meter control to sane values. Mach4GUI: Add angular meter control. Core: Header comment spelling correction. Mach4GUI: Add angular meter control. Core: Add mcCntlconfigStopEx() Mach4GUI: Font resize bug. Mach4GUI: Add font property to notebook control. Mach4GUI: New font mechanism implemented. Core: Allow 2 consecutive comp moves moves with the same vector. Core: Fix G68 with cutter comp. Mach4GUI: Add a font handling class. Mach4GUI: Get rid of unpainted pixel line on some scaled buttons. 3383-3377 Mach4GUI: Fix tool path not showing if it was a child of a group box in an initially shown tab. Docs: Add the extended tool table API functions. Core: (Mill) Add P parameter to G28.1 to allow homing OB axes. Mach4GUI: Reduce screen refresh flickering. Core: Specifying P or X with a G code variable implies a decimal. Core: Fix setting outputs with #1100-#1131 3376-3369 Core: Early app events in the Core could cause a startup crash if the app object's event handler wasn't running yet. Mach4GUI: Ensure 0 corner radius by default. Mach4GUI: Advanced GUI button rework. The buttons can now have no border, a simple border, or a OS themed border. The corners can have a definable radius as well allowing for round buttons, if desired. Mach4GUI: Add "Border" property to advanced GUI toggle buttons. Mach4GUI: Allow advanced GUI components in the Industrial Demo. Mach4GUI: Industrial Mach4GUI will not run with a Hobby or lesser license. Mach Config: Fix crash case when no motors are mapped to any axes. Core: Make build script use the new Industrial installer. Mach4GUI: Gradient button update. 3368-3355 Core: Correct incremental jogging for metric machine with G21 startup. Mach4GUI: Detect IPC initialization failures and exit gracefully. Core: Correct mcCntlInit() return code information. Core: Enable motors even if the axis that they are attached to isn't enabled. Core: Make OB axes more like coordinated axes. Home capability, axis output signals, etc... Mach4GUI: Ensure there is an Instance of at least 0 for the control Instance property list. Even in Demo mode. Mach4GUI: Scale image on group control. Mach4GUI: Add background color and image properties to the group control. Mach4GUI: Add "No Border" property for group control. Mach4GUI: Add menu items to open the Docs folder and the support website. Core: Add API function to get the HMCPLUG from a HMCDEV (mcDeviceGetPlugin()) Mach4GUI: Do not show disabled plugin motion devices in the device selection dialog. Core: Commit for dry run and the and scr.GetHistory 3354-3345 Core: Fix sync override issue. Core: Add TLM to Tangential interpreter. Core: Added The API call to set and get what the Left mouse button will do. This was to help with touch screen operations. The following commands where added: mcToolPathSetMouseLeftClick(MINSTANCE mInst, int click_func); mcToolPathGetMouseLeftCli... Core: If API is used in the core, make it use a HMINSTANCE so that we know the core called the API. Mach4GUI: Fix Keypad locations on the right edge of the screen. Core: Single block won't tear up cutter comp. Mach4GUI: notify user that the demo timed out with a message box. Core: Add Tangential Planner. 3344-3337 Core: Really really disable single block before running macros! Core: Fix G68 single axis callout with offsets. Core: Try to make plugins load in Windows 10 Creator. mcKeyboard: Make compatible with C# frontends. Build: include lua52.dll in Plugins directory. Core: One final fix for G53 in G68 mode. 3336-3315 Core: Even though G53 while in G68 mode is not Fanuc compat, allow it. Core: Fix M30 issue when in single block. Core: Fix potential M30 crash. Core: Single Block eats blank lines now. Core: Move gcRotate and unRotate to GcodeInterpreter.cpp. Core: Fix entering feed hold state when single block is active. Core Single block update for the case when single block is pressed during a tapping cycle. Core: Disable single block when running G code in macros. Core: Fix single block when stepping over sub calls when tool changes and probing are in the sub. Core: Make jog units track G20/G21. Core: #5041-#5046 now returns the current ABS position, not the last output of the G code interpreter. Core: Implement G28.1 in the Mill interpreter. Core: Made the new register to tell the application that has focus use a time instead of the on idle event. The idle event was not getting called if Mach4 did not have focus. This fixed the issue. Core: Add G28.1 for Mill. Sim: Add probe simulation. mcKeyboard: Debugging output only if the key is defined. Core: Add mcSpindleWaitForeSpeed() and mcSpindleWaitForStop() API calls. Core: Add probe strike setting to MDI. Core: Fix MDI when all exact stop moves are used. 3314-3234 Core: Retract again... G53 mod for G68 was incompatible. Core: Add core/global/GuiName register. Mach4GUI: Put GUI window title in core/global/GuiName register. wxMach: Put GUI window title in core/global/GuiName register. Core: More retract fixes. (I hate retract!!!) Mach4GUI: Fix Find/Replace in Industrial G code screen editor. mcKeyboard: Added a register telling the current window that windows is pointing too... This is to help the people that want magic! Core: Retract: Added RetractExitCode for turning coolant and auxiliary functions on. Core: More fun with G68 and moving in machine position... Core: G68 allowing a sync to axis moves that where done in G53. Sim: Changed how a motor still is done in Sim. The error was it would report still if it had any zero velocity.. Now it has to be stopped for a full update. Core: Retract rework. Added a machine state and OSIG_RETRACT signals. Core: Fix issue on screens without a toolpath display. Mach4GUI: Add NoteBookPage text height parameter. Sime: Change the way Sim determines if motion is stopped. PmcEditor: Allow negative numbers in math and comparison ops. (For Tom). PmcEditor: Fix match op highlighted state display. Core: Added 2 functions to rotate and un-rotate G68 to allow Dist to go to work. Core: Add var #3103 read only that reflects the state of the control. Core: We where getting a negative angle and the math down stream can only deal with positive... Added code to look at - angles and convert them to positive. Only effects tangential ToolPath: Added line number parameter to gcodeerror.mcs. MillInterpreter: Fixed comp error message. Core: Inch and mm jogging. Added mcJogSet/GetJogUnits() Core: Jog with a feed rate instead of a percentage of max axis velocity. mcJogSet/GetFeedRate() Core: Absolute position jogs. mcJogAbsStart/Stop() Core: Fix file hold locking issue. Core: Get out of band axes and override axes working. Mach4GUI: Add DRO codes for out of band axes. (Machine pos only). Sim: Handle OOB motor movement. mcLua: More logging for scripts that fail to compile. mcKeyboard: Add KeyboardControl/Enable register. CoreConf: Fix project file. Core: Add mcCntlGetHdId() API function. Mach4GUI: System Information will now include the hard drive IDs. Core: Add a configurable number of profile backups. Core: Make UVW on mill units aware. Mach4GUI: Add UVW DRO types. Mach4GUI: Fix crash on script edit (due to new HMINSTANCE type). Core: Fix incremental jog planner for low velocity small increment jogs. Mach4GUI: remove FromUTF8() conversion. Core: Added macro call for #3006 Stop Macro. Core: Add Educational and HMI license types. Mach4GUI: Fix industrial feature buttons. Docs: Plugin probing procedure updated. Core: Remove default space from the signal user descriptions. Core: Add a user description to the Mach core signals. (For those that don't want to make wiring diagrams for their machines!) Docs: Add mcCntlGetInstanceHandle() Core: Added mc.mcGetInstanceNumber() LUA function. Core: mc.mcGetInstance() can now take an optional string parameter to name the instance user for API tracing. Core: Fix API logging parameter errors that caused crashes. Core: Add API tracing via a variant of MINSTANCE called HMINSTANCE. mcCntlGetInstanceHandle(inst, "owner desc", &hinst); You can then use hinst as the instance parameter to all API functions. IPC: Enable error message box. Core: mcCntlProbeGetStrikeStatus() API function added. Mach4GUI: Fix issue where if a LUA panel was on a tab page, the tab control would ignore the "default tab" property and display the LUA panel tab instead. Mach4GUI: Fix tool path not showing initially when it is on a tab within a tab. Core: Input Signal #0 high prevented MDI from running. mcLua: Fix mcLua editor. Core: Add tempest planner to the source tree. Mach4GUI: Add command line switches to startup with a G code file in a desired instance. -o -i ie. Mach4GUI -o roadrunner.tap -i 0 GUIs: Update for OEM Registration in the About dialog Core: Encapsulate trajectory planners. Core: mcCntlGetStateName() returns too few values (omits state name) 3233-3226 Mach4GUI: Tool offset dialog will support radius or diameter values now. Core: Enable radius entries in lieu of diameter in the tool table. Mach4GUI: Fix tool offset table control. The AUI toolbar wasn't working correctly. Changed to buttons instead. Core: Prevent feed hold on cycle stop for states like tapping and threading. Core: Setting SV_MODAL_GROUP1 to SV_MODAL_GROUP25 now does the right thing. Core: Pressing cycle stop during a tapping move with RTAP2 locked the interface. GLee: Fix bad VBO detection. Mach4GUI: Remove useless "restore Settings" menu item from the operator menu. 3225-3207 Core: Add DEV_TYPE_CORE_LIMITS to the plugin device type flags. This should be defined by the motion plugin if it wishes the Core to handle stopping the motion when a limit is hit. Core: For DEV_TYPE_RTAP2, sync the position after the stop report request has be acknowledged. Core: Added AbortGcode() so mcCntlGcodeExecute will return an error if the motion was stopped by softlimits. Core: Fix initial motion syncing issue when the motor positions are first reported as non zero. Sim: Provide a means to allow Sim to startup with an offset other than zero for the motors. Core: Fix axis motor swapping via API calls. Installers: Added full to the build name of the FULL install Core: Cleanup uninitialized variables. Installers: Add HobbyBuilder. Core: Protect users from themselves and allow multiple T call outs before a M6. Core: Only one T code per block! Core: T codes now handle "repeater" T calls where the same T code is called out twice in a row. Mach4GUI: Had the wrong index into the Icon... Now is using zero as it should Installers: Update to the industrial installer. We needed to have the loader name changed so we can have Hobby and industrial on the same machine. Also changed the Icon for Mill to the industrial Mill icon. Core: Removed spindle control from rigid tapping DEV_TYPE_RTAP2. This will allow the motion controller to have full control. 3206-3140 Core: Fix a race condition that caused the core to halt on M codes. The race condition was created by the addition of the retract (tool inspection) functionality. Installers: Create build targets for Industrial and modify the Industrial installer. PMC: Make decimal division possible. Core: Undo retract MST checking. Core: Typo that was allowing the plane selection to change when you enter the config. Core: Add signals for multi-path control. Mach4GUI: Enable multiple core instances. Core: Finish remote IPC and enable 1 to 25 IPC clients. Core: Enable remote machine client abilities in the IPC library. Core: Fix FH retract hanging if M5 had a macro script backing it. Mach4GUI: Operator lock also locks config object. Mach4GUI: Get rid of PMC message when opening the screen editor. CoreConf: Fix spindle range revered flag not sticking. Core: Fix hang when spindle rate override is used during feed hold. Core: More probe logging. Core: Implemented comment debugging with (MSG,) Core: More probing changes. Streamlined the interface in the probe strike condition. Core: Fixed an issue in the tool path generation thread when processing G code doesn't necessarily output a tool path. Core: Made a change so <=0 will set the default values for the pullback and start offset for the G73 in Mill... Profiles needed to have -1 to use defaults and this would allow illogical values to get in. This will only allow values that work now. Core: G31 probe move was not updating the current positions in the setup struct. This had the effect of making incremental moves AFTER a G31 impossible. Core: Group 0 G codes will also cancel a modal G10. (Along with group 1 G codes and ... Core: New retract fixes. Core: New retract fixes. Core: Finalize retract code. Core: Jog updates SV_CURRENT_ABS_X - SV_CURRENT_ABS_C when complete. GUIs: Prevent DialogBlocks code generation from removing INDUSTRIAL icons and graphics. Core: Make the tool on the tool change like the tool it is changing too... Why this is not the default I have no idea! This is going to make support issues Core: Installer update for the Hobby land... New icons for Lathe Mill and Router CoreConf: Fix ID clashes. Core: No more jogging in feed hold. It is now a special retract function that uses the contents of /core/inst/RetractCode to move the spindle head to a desired location when the ISIG_RTRCT signal goes high. Installers: Update to the industrial wxIndustrial.set Core: Added inc moves for the C axis More updates for Industrial Core: Improve feed hold jogging. Added spindle control options. CoreConf: Add feed hold spindle options. Core: Enable jogging during feed hold. Core: Introduce the ControlSet class. Installer: new screen set for industrial Core: State machine re-vamp. Adds source and target state detection. Core: "gcoderror" to "gcodeerror" Lua Modules: Add LuaSec library. Core: Add mcCntlGetLocalComment() API call. Core: #6000.5 set steps into subprograms. Not set steps over subprograms. Core: Work on jogging in feed hold. Mill: G80 will not cancel modal group 1. Core: Add OEM license info for Demo version. Core: #3001 is now modifiable. Core: Macro call with G code and M code. Sub call with M code. (Industrial only) Core: If a G code error occurs when loading a file, a script named gcodeerror.mcs is executed (if it exists) with a single parameter containing the G code error number. Core: If a G code error occurs when loading a file, a script named gcodeerror.mcs is executed (if it exists) with a single parameter containing the G code error number. Core: Writing to #3000 will execute a script named macroalarm.mcs (if it exists) with a single parameter containing the value of #3000. Core: Spindle speed script has a new second parameter. It will be set to 1 if the speed script was called from a G code S word. 0 if from spindle override. Core: Make sure correct tool change type is discovered. Core: Fix runaway look ahead. Core: Fix release build crashes. TLM: Keep CheckTcArrival() from checking unmanaged tools. Core: Fix tool table control update issue. Mach4GUI: Recurse into tab and group controls to init all tool paths and LEDs. Mach4GUI: Fixture offset control now updates the offsets. (Instance var was not initialized!) Core: Spindle override timer fires every interval instead of resetting the interval upon a change. Modbus: Add return code and error text registers to modbus device and functions. Core: Metric CSS was off by a factor of 10. should have been 1000 not 100 Mach4GUI: TLM only for Industrial. 3139 - 3113 Core: Tool life management RC1. Core: First semi-working tool life management. Docs: mcSignalWait() API correction. License App: Finalize ModuleWorks license settings. CoreConf: Additions to include TLM. Mach4GUI: Better Image management. Mach4GUI: Fix problem when tab control is the first item placed on a blank screen. Mach4GUI: MDI control improvements: Allow bitmaps for the buttons and allow the buttons to be sized. Mach4GUI: Industrial toggle button allows a pressed effe... Add LuaSQL library. Core: Fix subs from MDI. Core: Tangential seems to be working now Mach4GUI: Add G code editor control. (scr.* API) Core: Tangential update, to allow X and Y offsets to be used in the interpreter Core: Fixed a few issues in screw mapping. mcMotorMapGetStart was not returning the starting point. Core: Typo fixed in the tangential interpreter, effected toolchange because it was not looking to see if the T valse was set in the block. Looked and this seems to be the only one with this error. Core: Fix spindle mode default for Mill. Core: Added an API call to turn the motor map on and off Core: Added an API call to turn on and off the screw mapping... this was needed to be able to correct a map of the screw Core: Screw mapping seems to be working but Inc jogging needs a bit of work. 3041 to 3112 PmcEditor: The actions actions dialog not populating the list upon first entry. Mach4GUI: Now can process a solid tool path simulation license. Mach4GUI: Tool Table and Fixture Offsets controls only available in Industrial. LicenseApp: Update to include the solid tool path simulation. PmcEditor: Fix literal value identification. Lathe: Probe on lathe with U V and W Core: Fix VAL_MAX_TOOL Core: Clear any axis jogging states when the planner is cleared. PmcEditor: Make coil and contact dialogs remember the last device/object. PmcEditor: Fix LUA code output for MPG functions. PmcEditor: Set LUA output as default. Mach4GUI: Add fixture/work offsets control. Mach4GUI: Finalize tool table screen control. Mach4GUI: More tool table control enhancements. Mach4GUI: Add an AlphaNumeric keypad for Text controls. PmcEditor: Separate core output signals "F" from device inputs "X". PmcEditor: Separate core input signals "G" from device outpts "Y". PmcEditor: Group PMC object variables into one local table. The tool table Measure command was not working as it should. It needs to be tested more now but I think it is fine now. GUI Common: fix bug in ttField tool table shadow object. Mach4GUI: Add missing control icons. Core: add core/inst/State register that shadows the machine state. Mach4GUI: Add button code BT_RESET_CONTROL. Installer: Add Pmc directories. Core: Fix MSG_WORK_OFFSET_CHANGED constant. PmcEditor: Fix MRU. PmcEditor: Add most recently opened files to the File menu. PmcEditor: Add usre's manual. Installer: Make it remove lua52.dll Mach4GUI: Fix max axis variable initialization in the tool table control. Core: Detect tool comp memory location modifications and send MSG_TOOL_OFFSET_CHANGED message to the GUI. Mach4GUI: Update the tool table control and dialog based on MSG_TOOL_OFFSET_CHANGED. Mach4GUI: Add tool table control. Still needs work though... Mach4GUI: Improve PMC integration. Core: Register handling finalized. Installers: Include Pmc directory. PmcEditor: Allow core outputs #0-63 to be coils. Mach4GUI: Integrate PmcEditor Core: Add mcGuiSendMsg() API Sim: Show enables and outputs on diag window. PmcEditor: Added Core/Device register reading/writing. PmcEditor: LUA and ANSI C generator improvements. PmcEditor: Horizontal scrolling done. PmcEditor: Vertical scrolling done. PmcEditor: Fix code generator selection. PmcEditor: Fix tab traversal and key detection in the contacts and coil dialogs. PmcEditor: More multiple selection options. PmcEditor: Shit + select will select elements on a circuit up to the selected item. PmcEditor: Add ability to insert a parallel circuit across selected items. PmcEditor: Fix delay timer simulations. Core: Update to the override. added the mcSignalGetNextHandle() to LUA. This was needed for Brett... PmcEditor: Rearrange menus. PmcEditor: Add check.pmc that generates check.c for the unit test program. Core: Make the elapsed timer not count on startup Core: A condition was found to get an angle that killed the acos() function... Added a test to look for that and simply set it to be 180. Core: For G68 take the G52 offset into account The shift has been moved around to account for an X Y offsets Core: CV angle fixed the end vector for G3 moves Mill: Add error checking for G54.1 P word values. Mill: Add error checking for G59 P word values. Mill: Implement G59.1, G59.2, and G59.3 Core: Add VAL_ORIGIN_INDEX for use with mcCntlGetValue(). (returns 1-106). 2981 to 3041 CorConf: Fix ID clash on a text box. Mach4GUI: Retain current jog increment across Mach configurations. Bob :) Sim: Prevent Sim from consuming M62/M63 output queues if it is not the selected motion device. Core: Prevent velocity blending from discarding M62/M63 output queues. Core: Add mcMpgGet/SetReversed() APIs. Mach4GUI: Make DROS that are mapped to registers aware of the units mode (in or mm). Mach4GUI: Try to force the init of the OpenGL tool paths so that blank tool paths do not happen upon startup. Docs: Correct and embellish threading documentation. Core: Changed the CV angle code. Now when you are doing a straight line move that is Zero deg and if you reverse that is 180. The angle can be thought of as the amount of bend in the toolpath. Update to doing Comp with full Arcs and Arc Arc intersections. CoreConf: Make spindle ranges and step/dir spindle settings profile based. CoreConf: Add field for setting spindle override delay time. (anti-API spamming). Core: Update MachAPI.h with correct comments. Core: Do not enter feed hold on controlled stop if FRO is enabled and FRO = 0% Core and GUIs: Fix fixture offset split brain from last build. Set the bottom toolpath in lathe so it looks at the axis from the other side. This will allow the user to make it look like a rear turret machine Core: ISIG_JOG_INHIBIT fix to allow and existing jog to stop. Core: ISIG_JOG_INHIBIT and ISIG_MPG_INHIBIT input signals added. Fix string editor reads on the tool table extensions. CoreConf: Try to slim the dialog to fit portrait view monitors. Fixed the naming of the CV angles "Angle_ CoreConf: Try to slim the dialog to fit portrait view monitors. RegFile: Fix persistent flag toggle in the configuration grids when adding a new register. Core: Add mcMpgGet/SetEnabled() APIs. Core: Finalize extendable tool table fields. Core: Max tools for the machine is settable in the profile. Core: Enabe running GUI without a tool path. Core: Inform user of a soft limit violation. Core: Relocate tool table system variables to Fanuc tool table memory type C locations. Core: Increase max system variable to 20000. Core: Increase max tools to 999. Core: User definable tool table entries. Core: Add mcToolGet/SetProperty... Lathe: Update to the Lathe INI Lathe: Added Turn to the installer Core: OSIG_FEEDHOLD now honors the feed hold state. Core: Setting #3004 in G code now works correctly. Core: Fix Rapid override race condition. Core: Fix subroutine nesting. Core: Init all local vars to NIL for G65, G66, and G66.1 Core: Make feed rate/rapid rate override act like the spindle speed override. The user can change the override value even if feed rate override is disabled. Core: Reset run timer when the control is reset. Core: Fix CNTL1 and CNTL2 setting. Lathe: Group 1 modal cancels a group 9 cycle. Mach4GUI: Fixed display issue on elapsed time label. incorrect unit conversion (ref: p. 176; Smid, Peter. Cnc Programming Handbook: A Comprehensive Guide to Practical Cnc Programming. New York, NY: Industrial Press, 2008. Print.) Courtesy of Todd! LO... Setting parameters #3003 (SV_CNTL1) or #3004 (SV_CNTL2) breaks the CV chain. ScreenSets: Loop of death for the hobby button fix... The output signal was getting triggered if anything toggled the signal... Lathe: Fix G92 threading cycle. Lathe: G50 caps spindle speed. Mach4GUI: Make sure plugin panel objects are properly released when loading another screen set. Mach4GUI: Try to eliminate display issues with "View->Load Screen". mcRegfile: Make window sizes/positions/attributes sticky. mcModbus: Make window sizes/positions/attributes sticky. Mach4GUI: "View->Load Screen" now defaults to the Screens directory. mcLuaEditor: Enable multiple frame position/size profiles set by -fn (frame name) switch. G68 Rotation to get the commanded position. 2979 to 2981 Core: Implement spindle override delay to keep slider controls from spamming the API. Added the arc speed override for the A axis when tangential is being used. Mach4GUI: Add scr.Exit(bool force) screen API call. It shuts down Mach cleanly. It can be used in the plc script and operate off of an input signal, etc... Since 2950 to 2978 Installers: Update programming manuals. Lathe: Single line G76 uses M23 to turn on thread finishing and M24 to turn it off. Lathe: Add single line G76 threading cycle. Core: Implement Haas style dwell. P address with a decimal is seconds and P without a decimal is milliseconds. G04 and cycle dwells. Core: Implement Fanuc style X and U address dwell in seconds. Only for G04. Lathe: Implement Fanuc style parameters for 2 line G76 threading cycles. P, Q, and R addresses take no decimals in accordance with the Smid book. Decimals are assumed to be 4 places for INCH mode and 3 places for METRIC mode. However, if a decimal number is provided, they will be taken literally. Core: Init origin mode to G54. Modal group block for the G76 threading cycle so no other motion calls will be done. Adding of some threading test Gcode files Update for some tangential code, Getting ready to get Arcs to readjust the feed for the A axis blending Fixed the part counter running with a M99 Fixed the cycle time for that Tom... Core: Put G76 threading cycle in modal group 0. Core: Fix up lathe cycles when using incremental addresses. Lathe: Fix unit conversion issue for G76 threading cycle. Core: Add system parameter #5101 to control Q shift direction and axis in G76/G87. Tangential now can take the shortest path without getting in trouble with wrapping. Circle for CV Testing.TAP added to test CV with arcs ~Carl with MachMotion Tangential Test file.tap added as a simple test file Core: Correct #4014 for all interpreters. If #4014 == 54.1, then the P vaule can be found in #4130. Core: Canned cycles moved to modal group 9 for Lathe. Core: Fix spindle orientation in cannon. Had to set the straight feed moves and rapids to use the setup that is in the cannon buffer.. they had some of the old code that was looking at the global setup. This was needed for distance to go in can cycles.. This could also be used as ... Had to set the current position in the setup before adding the move to the cannon buffer. This needs to be done so Distance to Go will work on the drill cycles. This was changed in cycle_traverse() and cycle_feed() Added the ability to do a Q for the G10 command... I think we have an issue with the G65 macro B now.. Why in the heck is this in the code.... Do we care that much about Q Core: Mill canned cycle rework. Some work on the Distance to Go... This is going to need lots of testing! Mach4GUI: Add /f startup switch to startup in full screen mode. Lathe Comp swap G41 G42 to change when swapping Primary to secondary tool direction Since 2914 to 2949 Mach4GUI: Allow DROs to take a blank background color. This allows for them to take on the background color underneath them. Mach4GUI: Add "Editor Fg Color" and "Editor Bg Color" properties. Mach4GUI: Prevent lathe diameter mode from hal... Lathe: Turn tool tip directions updated. Mach4GUI: Get scr.ShowPage() back in. The LUA binding was dropping the last alphabetical entry! Mach4GUI: Add "Value" property to the text box control. Mach4GUI: Get scr.ShowPage() back in. The LUA binding was dropping the last alphabetical entry! mcRegFile: Fix duplicate grid cell editor reference. Lathe: Added a flip for the tool direction with comp... CoreConf: Prevent changing a device in the mapping grids from producing out of bounds index errors. Mach4GUI: (Industrial) Make toggle button images work. Mach4GUI: Eliminate border appearing on a depressed bitmap button. Mach4GUI: Eliminate unneeded calls to refresh the screen editor properties window when the screen editor is not act... Tangential: Update for the tangential. Mach4GUI: Fix issues with scale mode in bitmap button and static bitmap controls. CoreConf: Config dialog now handles large fonts. CoreConf: Warn users about setting soft limit MIN > soft limit MAX. Mach4GUI: Fix soft limit signal going high when the user attempts to enable soft limits on a config that doesn't have soft limits enabled. Mach4GUI: Add "Scale Method" property to controls that have images. This allows the user to tune the scaled image quality vs. performance. Core: Fix a second race condition in Single Block. It looks good now. Lathe: Comp in turn from primary and secondary sides update Lathe: G68 rotation DRO added X and Y tool offsets for Mach Motion Core: Added values to get the current dwell time and the time that has been done. This was done for Tom to add a Dwell count down timer. Core: Fix race condition in Single Block Core: Disable Single Block during M6. Core: Fix M62/63 missing the first occurrence after the control was started. Core: (All interpreters) M30 executes stock actions only if a M30 macro does not exist. Lathe: Small update to lathe for Comp testing. The ending of he comp moves in turn needs work if the user is not going to pull out as comp is on Mach4GUI: Fix tool path init after a screen edit. Core: Add mcCntlGet/SetEnableFRO() and mcSpindleGet/SetOverrideEnable() Core: Prevent EX_PROBE from emanating during tool path generation. Mach4GUI: Allow runtime setting of the "Hidden" property. Lathe: Turn Comp Test from Mach Motion... Lathe: Update to the tool table to allow the selection of primary tool direction Probing: Brett's example from him and I working with Coroutines. This allows users to make make Gcode moves and wiat for them to finish without locking up the GUI Lathe: Changed the wording in the tool offsets table to show Primary and secondary tool directions Core: Fix metric/inch conversion on subsequent canned cycle passes. Mach4GUI: Handle starting in E-Stop by notifying the user of the condition. r2914 Mach4GUI: Fix soft limit signal going high when the user attempts to enable soft limits on a config that doesn't have soft limits enabled. Mach4GUI: Add "Scale Method" property to controls that have images. This allows the user to tune the scaled image quality vs. performance. Core: Fix a second race condition in Single Block. It looks good now. Lathe: Comp in turn from primary and secondary sides update G68 rotation DRO added X and Y tool offsets for Mach Motion Added values to get the current dwell time and the time that has been done. This was done for Tom to add a Dwell count down timer. Core: Fix race condition in Single Block Core: Disable Single Block during M6. Core: Fix M62/63 missing the first occurrence after the control was started. Core: (All interpreters) M30 executes stock actions only if a M30 macro does not exist. Lath: Small update to lathe for Comp testing. The ending of he comp moves in turn needs work if the user is not going to pull out as comp is on Mach4GUI: Fix tool path init after a screen edit. Core: Add mcCntlGet/SetEnableFRO() and mcSpindleGet/SetOverrideEnable() Core: Prevent EX_PROBE from emanating during tool path generation. Mach4GUI: Allow runtime setting of the "Hidden" property. Lath: Update to the tool table to allow the selection of primary tool direction Probing: Brett's and mine's example from working with Coroutines. This allows users to make make Gcode moves and wait for them to finish without locking up the GUI Lathe: Changed the wording in the tool offsets table to show primary and secondary tool directions Core: Fix metric/inch conversion on subsequent canned cycle passes. Mach4GUI: Handle starting in E-Stop by notifying the user of the condition. Since 2872... Installer: Clear tool table data. Core: Fix MDI issue when probing and probe signal is active. Mach4GUI: All controls are enabled when in screen editor. Mach4GUI: Add default tab to tab controls. Mach4GUI: Try to address Industrial button refresh issues. Mach4GUI: Put plain button icon back. Mill Test for the G83 cycle.. the delta for the peck was in the wrong direction CoreConf: Call mcProfileFlush() on OK. Core: G20/G21 re-evaluates the F word if on the same line. Core: Calling mcProfileSave() no longer clears the child motors of the axis. Mach4GUI: Implement screen API DoFunctionName() and DoFunctionCode() so that screen scripts can call the canned button functions. Mach4GUI: Remove conflicting JPEG library. Core: Added the code to inhibit motion if the motion inhibit signal is high.. Seems to work in my tests! More testing needed... Mach4GUI: Remove Z order. Like it never even happened... Mach4GUI: Include mcButton2 class in the button click, up, and down event simulator functions. Core: Try importing a group into a group. Core: Fix signal mapping and enabling. Docs: Correct bad entry for mcProfileReload(). Core: Implement ISIG_MOTION_INHIBIT Core: mcProfileReload() only in idle state. Core: Implement mcProfileFlush() and mcProfileReload(). Core: Fix G65 parameter passing. Core: Renamed previous signal shadowing to more Fanuc style names SV_INPUT0 -> SV_UI0, etc... Mach4GUI: Rewrite Plugin configuration interface. Each plugin that exports a config dialog will have its own menu item. This removes the modal plugin config dialog and allows plugins that export plugin panels to the GUI to also have a con... Implement system vars that shadow input signals 0-31 and output signals 0-31. mcSerial: Remove deadlock condition. Core: Spindle speed override now calls the spindlespeed.mcs script. Mach4GUI: Correct control dragging in the editor when in scrolled window mode. Mach4GUI: Fix DRO code for gauge controls. Mach4GUI: Fix ID clash that prevented G code list from accepting clicks sometimes. CoreConf: Increase plugin config dialog size a bit. Mach4GUI: Fix sizing issue with the Recent Files dialog. Mach4GUI: Animation control only for Industrial and Expert. Mach4GUI: Tab controls stay on the current tab after a resize. Mach4GUI: Scaling to animation control. Core: Add GraphicsMagick library. mcSerial: Switch register notifies from Async to Synch. Mach4GUI: Add tool tips to the tool bar buttons that didn't have them. Mach4GUI: Remove icon thumbnail image that didn't need to be in the source tree. Mach4GUI: Add animation control. Mach4GUI: Fix gauge thresholds.