Changes KFLOP and KMotion Released Versions 4.28 -> 4.29z 2/19/2012 KFLOP ----- - MoveExp Improved - Velocity is now limited in order to avoid overshoot of the target. Previously for relatively large distances to the target the exponential distance/velocity curve could command a velocity so high that it would be unable to stop using the specified max deceleration without overshooting the target position. The trajectory will now limit the velocity to a point where max deceleration will be able to intersect the exponential curve at the point where the exponential curve is at max acceleration. 2nd order Blended moves between MoveExp / Move / MoveRel / Jog are now allowed. A bug was fixed where after a Jog then next MoveExp might begin at a non-zero velocity. - Multiple Console commands on the same line are now permitted separated by a semi colon. ie ClearBit46;SetBit47 KMotion ------- - Config Screen Limit Options now allow upto bit number 255 for KSTEP KMotionDLL ---------- - Fundamental changes to the CKMotionDLL, CCoordMotion, CGCodeInterpreter classes have been made to make things more object oriented. Instead of a relationship where one contains the other, each object is now created independently. The CGCodeInterpreter contains a reference to a CCoordMotion object, and the CCoordMotion Object contains a reference to a CKMotionDLL object. Each CKMotionDLL object is now associated with a specific board. This arrangement allows multiple CCoordMotion objects to access the same board. It also allows a CCoordMotion object to be accessed independently of the associated GCodeInterpreter and so forth. - An Error Message Callback Mechanism has been added to allow User Applications to handle their own Errors. See: int SetErrMsgCallback(ERRMSG_HANDLER *eh); - MainPathRoot now properly reflects location of DLLs in all cases rather than location of calling App KMotionCNC/CoordMotion/GCode Interpreter ---------------------------------------- - (MSG,XXXXX) GCode Interpreter Message Boxes will now flush all motion and wait till motion finishes before completing The displayed message will also be forced to be on top of all other windows. - Fix KMotionCNC Screen re-sizing from top/left sides - Improve USB throughput by sending multiple Motion Segments and eliminating duplicate data with new LHex1 LHex2 commands KMotion_dotNet_Interop ---------------------- - Improved Managed Code Wrapper for all KMotion Libraries KMotion_dotNet -------------- - Improved .NET Interface DLL - Major upgrades - MainStatus Supported - MCode Callbacks - New Windows Help File KFLOPWebNC Example ------------------ - Added C# example of a CNC application making use of a Web GUI thanks to Brad Murry. The Screens can be designed and changed using a Web Site development tool such as Visual Studio Express as well as numerous others. Basic functionality seems to be working. KMotion_dotNet Console Example ------------------------------ - Updated for new .NET interface DynoMotion VB.net Example ------------------------- - Updated for new .NET interface Mach3 Plugin ------------ - Bug Fix that could sometimes caused a Motor Stall. The plugin identifies points forming small arcs and compresses the points into equations of motion. It is not necessary to have Circles in the GCode to have the problem occur. The bug occurs when points in the xy plane form an arc through the wrap point of -180 to +180 degrees. This results in a huge short duration pulse in the output trajectory. This may result in a motor stall or miss-step. The occurrence is rare but most likely to show up in complex 2D jobs in the xy plane (roadrunner). TCC67 ----- - Fix TCC67 Compiler bug when casting int to double and second reg is already in use User C Programs --------------- - MuxEncoders.c example of how to Mux Encoders to JP4 and JP5 - Tangent.c example tangential knife On-line Help ------------ - Updated