TG Motion: Main Page

TG Motion version 502 - 4034/905 cnc 124
TG Motion Documentation

Introduction

TG Motion is universal control system. The system includes single-axis, multi-axis and CNC motion functions like:

  • point to point positioning
  • positioning to brand (indexing)
  • servomotors synchronization (electronic gearing)
  • electronic cam shaft
  • CNC interpolation
  • free programming

User can create motion and can control mechanisms like robots, manipulators, CNC machines, packaging machines, assembly machines, etc.

TG Motion runs on Windows with real-time extension or on a special ARM Linux computer called TGMmini.

What's new in TG Motion 5

  • speed optimizations in CNC module (about 50% speed up on TGMmini)
  • two CNC modules on TGMmini (remains three on PC)
  • number of servo modules for TGMmini has been increased to 64
  • number of I/O modules has been fixed to 16 for both PC and TGMmini

Compatibility changes to TG Motion 421

TG Motion

  • the UNIVERSAL memory has been removed and replaced by GENERAL_MEMORY.
  • several changes in the DIO structure:
    • fields In0..In7, Ext_In0..Ext_In7 has been changed to one array In[16]
    • fields Out0...Out7, Ext_Out0..Ext_Ext7 has been changed to one array Out[16]
    • all the 32 bits bits are used and mapped consecutively (in TGM421 only low 8 bits are used)
  • PLC_DATA structure has been changed: there is only one function for printing text to console. This function accepts only a string, which must be fully formatted inside the PLC.
    Safe template base library function is provided for that (in include/fmt directory).

CNC module

  • the function ToolChainCore_GetPos has been renamed to ToolChainCore_GetPosEx, because it uses only one parameter now, the structure cnc::ACTUAL_GM_VALUES
  • the structure SIMPLE_GM_PARAMS_WIN32 has been reorganized to save memory and speed up execution:
    • the fields m_zero and m_pars has been removed. The zero offset can be get by ToolChainCore_GetPosEx function
    • values in m_pars array have been moved to m_s and m_e fields (for M functions)
  • the function ToolChainCore_GetStructuresSize returns different sizes according to new structures

Interface to user applications

TG Motion runs on dedicated processor core and communicates to the operating system through set of shared memories. Each user-accesible memory and its structure is documented in this manual.

Shared memories

Name | Number | Structure
TGM_System | 0 | SYSTEM
TGM_Data | 1 | Flat memory for Virtual PLC
TGM_Cam_Profile | 2 | Flat memory for gearing
TGM_Oscilloscope | 3 | Stores oscilloscope data
TGM_Servo | 4 | SERVO
TGM_Dio | 5 | DIO
TGM_General | 6 | GENERAL_MEMORY for general EtherCAT devices, etc.
TGM_Interpolator | 7 | INTERPOLATOR
InterpolatorWriteMemory | 8 | internally used by CNC module
InterpolatorReadMemory | 9 | internally used by CNC module
TGM_ODS | 10 | Serves for informational messages
TGM_CNCODS | 11 | Informational messages of CNC module, passed to ODS memory
TGM_CNCEX | 12 | Controls CNC module cnc::TGM_CNC_MEMORY

CNC module

TG Motion includes up to 3 CNC modules (PC) or up to 2 CNC modules (TGMmini). CNC module is controlled by G-code. Communication with this module is done by shared library called SF_TCh_5.dll (PC) or libSF_TCh_5.so (TGMmini). The main functions exported by this library are listed here.

The system supports use of plug-in for dynamic G-code recalculation.

Sometimes the CNC module needs to communicate back to the application, for this a system of callback functions is used. This is used for displaying G-code paths, error and warning messages, etc. Some callbacks are used only during simulation or test regimes.

List of main exported functions

  • ToolChainCore_Init
  • ToolChainCore_LoadFromIni
  • ToolChainCore_DestroyCNC
  • ToolChainCore_GetGCodeParameters
  • ToolChainCore_SetGCodeParameters
  • ToolChainCore_StatusCNC
  • ToolChainCore_GetPosEx
  • ToolChainCore_CompileFromFile
  • ToolChainCore_IsBusy
  • ToolChainCore_StartCNCEx
  • ToolChainCore_ResetCNC
  • ToolChainCore_StopCNCEx
  • ToolChainCore_ConnectCNCEx_Plane
  • ToolChainCore_GoToPosition
  • ToolChainCore_GoToPositionEx
  • ToolChainCore_FileToIdx
  • ToolChainCore_IdxToFile
  • ToolChainCore_SetRelFeed
  • ToolChainCore_SetCallBack
  • ToolChainCore_GetLastError
  • ToolChainCore_SetBreakpoint
  • ToolChainCore_GetGCodeSizeInfo
  • ToolChainCore_GetStructuresSize
  • ToolChainCore_GetVersionString
  • ToolChainCore_GetMachineParameters
  • ToolChainCore_SetMachineParameters
  • ToolChainCore_LoadCNCCalcPlugIn
  • ToolChainCore_MFunc

Communication library

There is also a specialized library (TGM_Comm_Int_5.DLL on Windows or libTGM_Comm_Int_5.so on Linux) which enables easy connection to all of these shared memories. The library functions and a complete C++ wrapper around this library is described in a class CTGM_COMM_INT_5.

Initialization functions

  • CTGM_COMM_INT_5::LoadDll
  • CTGM_COMM_INT_5::Create_Interface_2
  • CTGM_COMM_INT_5::Destroy_Interface
  • CTGM_COMM_INT_5::Open_Connection
  • CTGM_COMM_INT_5::Close_Connection
  • CTGM_COMM_INT_5::Change_Connection

Informational functions

  • CTGM_COMM_INT_5::Get_Dll_Info
  • CTGM_COMM_INT_5::Set_App_Compatibility_VN
  • CTGM_COMM_INT_5::Get_Status
  • CTGM_COMM_INT_5::Get_Status_Graphics
  • CTGM_COMM_INT_5::Show_Connections_Info_Win
  • CTGM_COMM_INT_5::Close_Connections_Info_Win
  • CTGM_COMM_INT_5::Get_Connections_Info_Win_Dimension
  • CTGM_COMM_INT_5::Get_Connections_Info_2
  • CTGM_COMM_INT_5::Get_Server_Info

Access functions

  • CTGM_COMM_INT_5::Read_I32
  • CTGM_COMM_INT_5::Read_I64
  • CTGM_COMM_INT_5::Read_Double
  • CTGM_COMM_INT_5::Read_BLOCK
  • CTGM_COMM_INT_5::Write_I32
  • CTGM_COMM_INT_5::Write_I64
  • CTGM_COMM_INT_5::Write_Double
  • CTGM_COMM_INT_5::Write_BLOCK
  • CTGM_COMM_INT_5::Set_Bit_I32
  • CTGM_COMM_INT_5::Set_Bit_I64
  • CTGM_COMM_INT_5::Clr_Bit_I32
  • CTGM_COMM_INT_5::Clr_Bit_I64
  • CTGM_COMM_INT_5::Tgl_Bit_I32
  • CTGM_COMM_INT_5::Tgl_Bit_I64

Direct access functions

  • CTGM_COMM_INT_5::Read_I32_DIRECT
  • CTGM_COMM_INT_5::Read_I64_DIRECT
  • CTGM_COMM_INT_5::Read_Double_DIRECT
  • CTGM_COMM_INT_5::Read_BLOCK_DIRECT
  • CTGM_COMM_INT_5::Write_I32_DIRECT
  • CTGM_COMM_INT_5::Write_I64_DIRECT
  • CTGM_COMM_INT_5::Write_Double_DIRECT
  • CTGM_COMM_INT_5::Write_BLOCK_DIRECT
  • CTGM_COMM_INT_5::Set_Bit_I32_DIRECT
  • CTGM_COMM_INT_5::Set_Bit_I64_DIRECT
  • CTGM_COMM_INT_5::Clr_Bit_I32_DIRECT
  • CTGM_COMM_INT_5::Clr_Bit_I64_DIRECT
  • CTGM_COMM_INT_5::Tgl_Bit_I32_DIRECT
  • CTGM_COMM_INT_5::Tgl_Bit_I64_DIRECT

Helper function

  • CTGM_COMM_INT_5::Flush_Buffer
  • Generated by doxygen 1.9.1


TG Motion: Modules

Modules
Here is a list of all modules:
Application callbacks
CNC Calc plug-in exported functions
Enumerations
Exported functions
G-code description
G-code extensions
Special settings function G900
Structures


TG Motion: Application callbacks

Typedefs | Variables
Application callbacks

Typedefs

typedef int32_t | cnc::FuncPrototype(intptr_t dwUserData)
Generic callback function prototype.
typedef int32_t | cnc::AddOutputLogFunc(intptr_t dwUserData, uint32_t tab, TGM_LPCTSTR info, CALLBACK_INFO *callBackInfo)
Writes text to output log. More...
typedef int32_t | cnc::SetStatusBarTextFunc(intptr_t dwUserData, uint32_t pane, TGM_LPCTSTR strText, CALLBACK_INFO *callBackInfo)
Display informational text in the status line of the application. More...
typedef int32_t | cnc::IsDebugModeFunc(intptr_t dwUserData)
Ask if debug regime is enabled. More...
typedef int32_t | cnc::IsVerboseModeFunc(intptr_t dwUserData)
Ask if verbose regime is enabled. More...
typedef TGM_LPCTSTR | cnc::GetLibPathFunc(intptr_t dwUserData)
Returns path to external G functions stored as G-code on the disk. More...
typedef TGM_LPCTSTR | cnc::GetToolPathFunc(intptr_t dwUserData)
Returns path to files describing tools geometry. Only for lathe. More...
typedef TGM_LPCTSTR | cnc::GetSystemPathFunc(intptr_t dwUserData)
Returns path to system files. Not yet used by CNC module. More...
typedef int64_t | cnc::GetFileTimeStampFunc(intptr_t dwUserData, int32_t fileIdx)
returns time stamp of a given file (usually time in ms since epoch) More...
typedef int32_t | cnc::DoYieldFunc(intptr_t dwUserData, int32_t messageOnly)
Switch control to other thread. LOCAL_CORE_MODE_DLL only. More...
typedef void | cnc::ReadIniStringFunc(intptr_t dwUserData, TGM_LPCTSTR section, TGM_LPCTSTR key, TGM_LPCTSTR defValue, TGM_LPTSTR buffer, uint32_t bufferSizeInCharacters)
Read string from .INI file. More...
typedef float64_t | cnc::ReadIniDoubleFunc(intptr_t dwUserData, TGM_LPCTSTR section, TGM_LPCTSTR key, float64_t defValue)
Read float64_t value from .INI file. More...
typedef int32_t | cnc::ReadIniIntFunc(intptr_t dwUserData, TGM_LPCTSTR section, TGM_LPCTSTR key, int32_t defValue)
Read integer value from .INI file. More...
typedef int32_t | cnc::IsBreakpointFunc(intptr_t dwUserData, uint32_t editorLine, int32_t fileIdx)
Determines if there is a breakpoint on given G-code file line. More...
typedef int32_t | cnc::DispAndLocateErrorFunc(intptr_t dwUserData, uint32_t editorLine, int32_t fileIdx, TGM_LPCTSTR errString, CALLBACK_INFO *callBackInfo)
This function is called in case of an error. More...
typedef int32_t | cnc::AddOutputLogWithMsgBoxFunc(intptr_t dwUserData, uint32_t tab, uint32_t buttons, TGM_LPCTSTR info, CALLBACK_INFO *callBackInfo)
Writes text to output log and optionally displays it in message box dialog panel (OS dependent) More...
typedef int32_t | cnc::SetStatusBarProgressFunc(intptr_t dwUserData, uint32_t progress)
Display progress bar. More...
typedef int32_t | cnc::DriverInitializeFunc(intptr_t dwUserData, float64_t *params, uint32_t nParams, cnc_status nRunMode)
Called always before G-code execution. More...
typedef int32_t | cnc::DriverGFunc(intptr_t dwUserData, const SIMPLE_GM_PARAMS_WIN32 *v)
Called to simulate G function. More...
typedef int32_t | cnc::DriverMFunc(intptr_t dwUserData, const SIMPLE_GM_PARAMS_WIN32 *v)
Called to simulate M function. More...
typedef int32_t | cnc::ConnectPointCalcStartFunc(intptr_t dwUserData, const uint32_t nType, const uint32_t nCoords, const float64_t *coords, const uint32_t bitCodedAxesForCalc)
Initiate user connection calculation. More...
typedef int32_t | cnc::ConnectPointCalcFunc(intptr_t dwUserData, const SIMPLE_GM_PARAMS_WIN32 *part, float64_t *calcSquareDistanceFromCoords, P10DOUBLE *calcConnectPoint)
Calculate distance from initial tool point to a give G-code part. More...
typedef int32_t | cnc::ConnectPointCalcEndFunc(intptr_t dwUserData, SIMPLE_GM_PARAMS_WIN32 *partToBeConnectedTo, P10DOUBLE *connectPosToBeMovedTo)
End of connection calculation. More...
typedef int32_t | cnc::DriverEnd(intptr_t dwUserData)
Called when the G-code simulation finishes. More...
typedef int32_t | cnc::MathWarningFunc(intptr_t dwUserData, CALLBACK_INFO *pCallbackInfo)
Called in case of warning issued during tool diameter compensation calculation. More...

Variables

constexpr uint32_t | cnc::DEVICE_ERROR_OUT_TAB { 0U }
add log message to specific log window if possible
constexpr uint32_t | cnc::CNC_OUT_TAB { 1U }
add log message to specific log window if possible
constexpr uint32_t | cnc::M29_OUT_TAB { 2U }
add log message to specific log window if possible
constexpr uint32_t | cnc::STATUS_LINE_ONLY { 3U }
add log message to specific log window if possible
constexpr uint32_t | cnc::ACTIVATE_TAB { 0x100U }
activate the selected tab
constexpr uint32_t | cnc::PREFIX_TIME { 0x200U }
prefix the message with time
constexpr uint32_t | cnc::APP_AddOutputLogFunc { 1U }
callback index number
constexpr uint32_t | cnc::APP_SetStatusBarTextFunc { 2U }
callback index number
constexpr uint32_t | cnc::APP_IsDebugModeFunc { 3U }
callback index number
constexpr uint32_t | cnc::APP_IsVerboseModeFunc { 4U }
callback index number
constexpr uint32_t | cnc::APP_GetLibPathFunc { 5U }
callback index number
constexpr uint32_t | cnc::APP_GetToolPathFunc { 6U }
callback index number
constexpr uint32_t | cnc::APP_GetSystemPathFunc { 7U }
callback index number
constexpr uint32_t | cnc::APP_GetFileTimeStampFunc { 10U }
callback index number
constexpr uint32_t | cnc::APP_DoYieldFunc { 11U }
callback index number
constexpr uint32_t | cnc::APP_ReadIniStringFunc { 12U }
callback index number
constexpr uint32_t | cnc::APP_ReadIniDoubleFunc { 13U }
callback index number
constexpr uint32_t | cnc::APP_ReadIniIntFunc { 14U }
callback index number
constexpr uint32_t | cnc::APP_IsBreakpointFunc { 17U }
callback index number
constexpr uint32_t | cnc::APP_DispAndLocateErrorFunc { 18U }
callback index number
constexpr uint32_t | cnc::APP_SetStatusBarProgressFunc { 32U }
callback index number
constexpr uint32_t | cnc::APP_MaxFuncNumber { 1000U }
last function in APP group
constexpr uint32_t | cnc::DRV_InitializeFunc { 1001U }
callback index number
constexpr uint32_t | cnc::DRV_GFunc { 1002U }
callback index number
constexpr uint32_t | cnc::DRV_MFunc { 1003U }
callback index number
constexpr uint32_t | cnc::ConnectPointCalcStartFuncNumber { 1004U }
callback index number
constexpr uint32_t | cnc::ConnectPointCalcFunc_UseReturnValues { 1U }
Return value of ConnectPointCalcFunc or ConnectPointCalcEndFunc values are used.
constexpr uint32_t | cnc::ConnectPointCalcFuncNumber { 1005U }
callback index number
constexpr uint32_t | cnc::ConnectPointCalcEndFuncNumber { 1006U }
callback index number
constexpr uint32_t | cnc::DRV_End { 1007U }
callback index number

Detailed Description

Typedef Documentation

◆ AddOutputLogFunc

typedef int32_t cnc::AddOutputLogFunc(intptr_t dwUserData, uint32_t tab, TGM_LPCTSTR info, CALLBACK_INFO *callBackInfo)

Writes text to output log.

Parameters
dwUserData | User data given by ToolChainCore_SetCallBack function
tab indicates severity of the text. Log output may be directed to:
tab value | description
DEVICE_ERROR_OUT_TAB | 0 errors tab
CNC_OUT_TAB | 1 CNC tab (syntax errors, etc.)
M29_OUT_TAB | 2 output of M29 function
STATUS_LINE_ONLY | 3 display text only in status line
ACTIVATE_TAB | 0x100 activate view
info | Text to be displayed
callBackInfo | Pointer to CALLBACK_INFO with additional text informations
Returns
Always 0, ignored by CNC module

◆ AddOutputLogWithMsgBoxFunc

typedef int32_t cnc::AddOutputLogWithMsgBoxFunc(intptr_t dwUserData, uint32_t tab, uint32_t buttons, TGM_LPCTSTR info, CALLBACK_INFO *callBackInfo)

Writes text to output log and optionally displays it in message box dialog panel (OS dependent)

Parameters
dwUserData | User data given by ToolChainCore_SetCallBack function
tab indicates severity of the text. Log output may be directed to:
tab value | description
DEVICE_ERROR_OUT_TAB | 0 errors tab
CNC_OUT_TAB | 1 CNC tab (syntax errors, etc.)
M29_OUT_TAB | 2 output of M29 function
STATUS_LINE_ONLY | 3 display text only in status line
ACTIVATE_TAB | 0x100 activate view
buttons | Windows MessageBox buttons constants (IDOK, IDCANCEL, etc...)
info | Text to be displayed
callBackInfo | Pointer to CALLBACK_INFO with additional text informations
Returns
Always Button id clicked by user (IDOK, IDCANCEL, etc...)

◆ ConnectPointCalcEndFunc

typedef int32_t cnc::ConnectPointCalcEndFunc(intptr_t dwUserData, SIMPLE_GM_PARAMS_WIN32 *partToBeConnectedTo, P10DOUBLE *connectPosToBeMovedTo)

End of connection calculation.

The user application can e.g. store all the movement parts passed in the ConnectPointCalcFunc and calculate the final connection point and part during this callback.

Parameters
dwUserData | User data given by ToolChainCore_SetCallBack function
partToBeConnectedTo | Chosen part of the G-code where the connection shall proceed. The user application can modify this parameter and set to it any other valid part of the G-code.
connectPosToBeMovedTo | Position where the tool should go. The point must be on the partToBeConnectedTo.
Returns
Depending on the return value, the system uses or ignores returned params:
Value | Description
0 | Returned values are ignored
1 | The partToBeConnectedTo and connectPosToBeMovedTo contain valid values and will be used

◆ ConnectPointCalcFunc

typedef int32_t cnc::ConnectPointCalcFunc(intptr_t dwUserData, const SIMPLE_GM_PARAMS_WIN32 *part, float64_t *calcSquareDistanceFromCoords, P10DOUBLE *calcConnectPoint)

Calculate distance from initial tool point to a give G-code part.

This callback is periodically called for all the move parts of the G-code (G0, G1, G2, G3). The user application can modify the values calculated by the system. This could be useful for machines with axes which form non-Cartesian space (e.g. some axes are linear, some are rotational).

Parameters
dwUserData | User data given by ToolChainCore_SetCallBack function
part | Actual part to be calculated. Input only.
calcSquareDistanceFromCoords | The system calculates the squared distance from coords to part and gives it in the calcSquareDistanceFromCoords parameter. The callback function can modify this value and return it back. The value could be > 1e38, in that case the distance is larger than the threshold given in cnc::GCODE_PARAMETERS::maxConnectionDistance.
calcConnectPoint | The system calculates the point on the part which would be the coordinates where the tool shall go to as a result of the connection (in the case the part is used as the connection part). The callback function can modify this parameter and return back different values. Only nCoords are valid.
Returns
Depending on the return value, the system uses or ignores returned params:
Value | Description
0 | Returned values are ignored
1 | The calculatedDistanceFromCoords and calculatedCrossPoint contain valid values and will be used

◆ ConnectPointCalcStartFunc

typedef int32_t cnc::ConnectPointCalcStartFunc(intptr_t dwUserData, const uint32_t nType, const uint32_t nCoords, const float64_t *coords, const uint32_t bitCodedAxesForCalc)

Initiate user connection calculation.

This function is called at the start of connection calculation. It transfers the parameters given in the ToolChainCore_ConnectCNCEx_Plane function to the user application space.

Parameters
nType | Connection type (see also enum cnc::connect_type). Only connectBY_COORD (0), connectBY_COORD_GO (10), connectBY_COORD_GO_BUFFERED(40) are used.
dwUserData | User data given by ToolChainCore_SetCallBack function
nCoords | Number of valid values in the coords parameter. Input only.
coords | Coordinates of the point from which is the connection function calculated. It is a copy of coords parameter of the ToolChainCore_ConnectCNCEx_Plane function. Input only.
bitCodedAxesForCalc | Copy of bitCodedAxesForCalc parameter of the ToolChainCore_ConnectCNCEx_Plane function.
Returns
Always 0, ignored

◆ DispAndLocateErrorFunc

typedef int32_t cnc::DispAndLocateErrorFunc(intptr_t dwUserData, uint32_t editorLine, int32_t fileIdx, TGM_LPCTSTR errString, CALLBACK_INFO *callBackInfo)

This function is called in case of an error.

Set this callback very early during application startup, preferably before ToolChainCore_LoadFromIni function.

Parameters
dwUserData | User data given by ToolChainCore_SetCallBack function
editorLine | Line of text with error. Could be 0 for some type of errors.
fileIdx | Index of the G-code file with the error. Could be negative for some type of errors.
errString | Error text, always in English. Translations to other languages can be made with the help of information given in callBackInfo parameter
callBackInfo | Pointer to CALLBACK_INFO with additional error information (error number, error arguments, etc...)
Returns
Always 0, ignored

◆ DoYieldFunc

typedef int32_t cnc::DoYieldFunc(intptr_t dwUserData, int32_t messageOnly)

Switch control to other thread. LOCAL_CORE_MODE_DLL only.

Parameters
dwUserData | User data given by ToolChainCore_SetCallBack function
messageOnly | Can be -1 for all OS messages or a specific message (e.g. WM_TIMER in Windows)
Returns
Always 0, ignored by CNC module
Note
It is not necessary to implement this callback.

◆ DriverEnd

typedef int32_t cnc::DriverEnd(intptr_t dwUserData)

Called when the G-code simulation finishes.

Parameters
dwUserData User data given by ToolChainCore_SetCallBack function
Returns
Always 0, ignored

◆ DriverGFunc

typedef int32_t cnc::DriverGFunc(intptr_t dwUserData, const SIMPLE_GM_PARAMS_WIN32 *v)

Called to simulate G function.

Parameters
dwUserData User data given by ToolChainCore_SetCallBack function
v | Pointer to SIMPLE_GM_PARAMS_WIN32 with relevant actual G function information
Returns
Always 0, ignored

◆ DriverInitializeFunc

typedef int32_t cnc::DriverInitializeFunc(intptr_t dwUserData, float64_t *params, uint32_t nParams, cnc_status nRunMode)

Called always before G-code execution.

In simulation or test mode (regimes 10 or 20), the driver callbacks are called. With help of these callbacks, complete simulation of G-code can be created in the application. The drive callbacks can be set after the call of ToolChainCore_LoadFromIni function.

Parameters
dwUserData | User data given by ToolChainCore_SetCallBack function
params | pointer to array of doubles to be filled with desired values
nParams | Number of items in the array
nRunMode | Actual run mode
Returns
Always 0, ignored

◆ DriverMFunc

typedef int32_t cnc::DriverMFunc(intptr_t dwUserData, const SIMPLE_GM_PARAMS_WIN32 *v)

Called to simulate M function.

Parameters
dwUserData User data given by ToolChainCore_SetCallBack function
v | Pointer to SIMPLE_GM_PARAMS_WIN32 with relevant actual M function information
Note
This callback is usually not implemented, only if the simulation wants to display M functions from code.
Returns
Always 0, ignored

◆ GetFileTimeStampFunc

typedef int64_t cnc::GetFileTimeStampFunc(intptr_t dwUserData, int32_t fileIdx)

returns time stamp of a given file (usually time in ms since epoch)

Parameters
dwUserData | User data given by ToolChainCore_SetCallBack function
fileIdx | Index of the file. File name and path must be taken by ToolChainCore_IdxToFile.
Returns
64bit time value
Note
It is not necessary to implement this callback.

◆ GetLibPathFunc

typedef TGM_LPCTSTR cnc::GetLibPathFunc(intptr_t dwUserData)

Returns path to external G functions stored as G-code on the disk.

Parameters
dwUserData User data given by ToolChainCore_SetCallBack function
Returns
String with full path. UNICODE on PC, ANSI on TGMmini
Note
the path can be also set by ToolChainCore_Init function.

◆ GetSystemPathFunc

typedef TGM_LPCTSTR cnc::GetSystemPathFunc(intptr_t dwUserData)

Returns path to system files. Not yet used by CNC module.

Parameters
dwUserData User data given by ToolChainCore_SetCallBack function
Returns
Path as UNICODE on PC or ANSI on TGMmini.
Note
It is not necessary to implement this callback.

◆ GetToolPathFunc

typedef TGM_LPCTSTR cnc::GetToolPathFunc(intptr_t dwUserData)

Returns path to files describing tools geometry. Only for lathe.

Parameters
dwUserData User data given by ToolChainCore_SetCallBack function
Returns
Full path to directory with tool description files.
Note
It is not necessary to implement this callback.

◆ IsBreakpointFunc

typedef int32_t cnc::IsBreakpointFunc(intptr_t dwUserData, uint32_t editorLine, int32_t fileIdx)

Determines if there is a breakpoint on given G-code file line.

CNC system has built-in support for exactly one breakpoint. If there is a need for multiple breakpoints, this callback must be implemented.

Parameters
dwUserData | User data given by ToolChainCore_SetCallBack function
editorLine | Line to be checked
fileIdx | File index of the G-code. File name can be get by ToolChainCore_IdxToFile.
Returns
1 if there is a breakpoint on given line and file, otherwise 0

◆ IsDebugModeFunc

typedef int32_t cnc::IsDebugModeFunc(intptr_t dwUserData)

Ask if debug regime is enabled.

Debug regime displays a lot of information to debug view (or terminal), produces helper files (results of compilation and G-code execution) and slow down the whole CNC module. Can be enabled also by .INI file.

Parameters
dwUserData User data given by ToolChainCore_SetCallBack function
Returns
1 for debug mode, 0 for normal mode

◆ IsVerboseModeFunc

typedef int32_t cnc::IsVerboseModeFunc(intptr_t dwUserData)

Ask if verbose regime is enabled.

Verbose regime adds additional information to debug mode, displayed in debug output or terminal. Slows down the CNC module significantly (especially for large G-code files) Can be enabled also by .INI file.

Parameters
dwUserData User data given by ToolChainCore_SetCallBack function
Returns
1 for verbose mode, 0 for normal mode

◆ MathWarningFunc

typedef int32_t cnc::MathWarningFunc(intptr_t dwUserData, CALLBACK_INFO *pCallbackInfo)

Called in case of warning issued during tool diameter compensation calculation.

Depending on G-code, there could be very large number of calls of this function.

Parameters
dwUserData | User data given by ToolChainCore_SetCallBack function
pCallbackInfo | Pointer to CALLBACK_INFO with informations about the warning
Returns
Always 0, ignored

◆ ReadIniDoubleFunc

typedef float64_t cnc::ReadIniDoubleFunc(intptr_t dwUserData, TGM_LPCTSTR section, TGM_LPCTSTR key, float64_t defValue)

Read float64_t value from .INI file.

Follows Windows .INI file syntax.

Parameters
dwUserData | User data given by ToolChainCore_SetCallBack function
section | File section (in square brackets)
key | Key name (text in front of the equal sign)
defValue | Default value if key not found
Returns
Value from the .INI file
Note
It is not necessary to implement this callback.

◆ ReadIniIntFunc

typedef int32_t cnc::ReadIniIntFunc(intptr_t dwUserData, TGM_LPCTSTR section, TGM_LPCTSTR key, int32_t defValue)

Read integer value from .INI file.

Follows Windows .INI file syntax.

Parameters
dwUserData | User data given by ToolChainCore_SetCallBack function
section | File section (in square brackets)
key | Key name (text in front of the equal sign)
defValue | Default value if key not found
Returns
Value from the .INI file
Note
It is not necessary to implement this callback.

◆ ReadIniStringFunc

typedef void cnc::ReadIniStringFunc(intptr_t dwUserData, TGM_LPCTSTR section, TGM_LPCTSTR key, TGM_LPCTSTR defValue, TGM_LPTSTR buffer, uint32_t bufferSizeInCharacters)

Read string from .INI file.

Follows Windows .INI file syntax.

Parameters
dwUserData | User data given by ToolChainCore_SetCallBack function
section | File section (in square brackets)
key | Key name (text in front of the equal sign)
defValue | Default text value if key not found
buffer | buffer where to copy string from .INI file
bufferSizeInCharacters | Size of the buffer in characters (not bytes)
Note
It is not necessary to implement this callback.

◆ SetStatusBarProgressFunc

typedef int32_t cnc::SetStatusBarProgressFunc(intptr_t dwUserData, uint32_t progress)

Display progress bar.

Called during long operations like compilation, etc.

Parameters
dwUserData | User data given by ToolChainCore_SetCallBack function
progress | Percentage value of the progress, in the range 0 - 100
Returns
Always 0, ignored by CNC module

◆ SetStatusBarTextFunc

typedef int32_t cnc::SetStatusBarTextFunc(intptr_t dwUserData, uint32_t pane, TGM_LPCTSTR strText, CALLBACK_INFO *callBackInfo)

Display informational text in the status line of the application.

Called during long operations like compilation, etc.

Parameters
dwUserData | User data given by ToolChainCore_SetCallBack function
pane | reserved, use always 0
strText | Text to be displayed in a status line of the application
callBackInfo | Pointer to CALLBACK_INFO with additional text information
Returns
Always 0, ignored by CNC module


TG Motion: CNC Calc plug-in exported functions

Classes | Typedefs | Functions | Variables
CNC Calc plug-in exported functions

Classes

struct | CNC_CALC_INIT_DATA
Initialization structure. More...
struct | CNC_CALC_RETURN_VALUE
Holds changed G-code parts. More...

Typedefs

typedef int32_t | CNC_CALC_LOAD(const CNC_CALC_INIT_DATA *pInitData)
typedef for CNC_Calc_Load
typedef int32_t | CNC_CALC_UNLOAD()
typedef for CNC_Calc_Unload
typedef uint32_t | CNC_CALC_GET_STRUCTURES_SIZE(uint32_t structureIdx)
typedef for CNC_Calc_Get_Structures_Size
typedef int32_t | CNC_CALC_GET_COMPATIBILITY_IDS(uint32_t *pID_COMPATIBILITY, uint32_t *pID_MEMORY_COMPATIBILITY, uint32_t *pID_CNC_COMPATIBILITY)
typedef for CNC_Calc_Get_Compatibility_IDs
typedef int32_t | CNC_CALC_START(uint32_t intIdx, int32_t regime, const cnc::SIMPLE_GM_PARAMS_WIN32 *pInitPos, CNC_CALC_RETURN_VALUE *pChangedParts)
typedef for CNC_Calc_Start
typedef int32_t | CNC_CALC_GFUNC(uint32_t intIdx, const cnc::SIMPLE_GM_PARAMS_WIN32 *pGFunc, CNC_CALC_RETURN_VALUE *pChangedParts)
typedef for CNC_Calc_GFunc
typedef int32_t | CNC_CALC_MFUNC(uint32_t intIdx, const cnc::SIMPLE_GM_PARAMS_WIN32 *pMFunc, CNC_CALC_RETURN_VALUE *pChangedParts)
typedef for CNC_Calc_MFunc
typedef int32_t | CNC_CALC_FINISH(uint32_t intIdx, const cnc::SIMPLE_GM_PARAMS_WIN32 *pFinishMFunc, CNC_CALC_RETURN_VALUE *pChangedParts)
typedef for CNC_Calc_Finish

Functions

CNC_CALC_DLL_EXPORT int32_t | CNC_Calc_Load (const CNC_CALC_INIT_DATA *pInitData)
Plug-in DLL initialization. More...
CNC_CALC_DLL_EXPORT int32_t | CNC_Calc_Unload ()
Plug-in DLL cleanup. More...
CNC_CALC_DLL_EXPORT uint32_t | CNC_Calc_Get_Structures_Size (uint32_t structureIdx)
Check structure sizes - test for compatibility. More...
CNC_CALC_DLL_EXPORT int32_t | CNC_Calc_Get_Compatibility_IDs (uint32_t *pID_COMPATIBILITY, uint32_t *pID_MEMORY_COMPATIBILITY, uint32_t *pID_CNC_COMPATIBILITY)
Returns compatibility numbers at the time of plug-in build. More...
CNC_CALC_DLL_EXPORT int32_t | CNC_Calc_Start (uint32_t intIdx, int32_t regime, const cnc::SIMPLE_GM_PARAMS_WIN32 *pInitPos, CNC_CALC_RETURN_VALUE *pChangedParts)
Called before the G-code execution. More...
CNC_CALC_DLL_EXPORT int32_t | CNC_Calc_GFunc (uint32_t intIdx, const cnc::SIMPLE_GM_PARAMS_WIN32 *pGFunc, CNC_CALC_RETURN_VALUE *pChangedParts)
Called for any G function inside G-code. More...
CNC_CALC_DLL_EXPORT int32_t | CNC_Calc_MFunc (uint32_t intIdx, const cnc::SIMPLE_GM_PARAMS_WIN32 *pMFunc, CNC_CALC_RETURN_VALUE *pChangedParts)
Called for any M function inside G-code. More...
CNC_CALC_DLL_EXPORT int32_t | CNC_Calc_Finish (uint32_t intIdx, const cnc::SIMPLE_GM_PARAMS_WIN32 *pFinishMFunc, CNC_CALC_RETURN_VALUE *pChangedParts)
Called as the last function of the G-code. More...

Variables

constexpr int32_t | CNC_CALC_MFUNC_OFFSET { 10000 }
constexpr uint32_t | CNC_CALC_DISABLE_AUTOMATIC_GCODEINDEX_UPDATE_BIT { 0x01U }
if used, TGMotion does not automatically update GCodeIndex value of the inserted parts
constexpr uint32_t | CNC_CALC_MAX_STATIC_RETURNED_PARTS { 8U }
constexpr int32_t | CNC_CALC_RETURN_ERROR { -1 }
constexpr int32_t | CNC_CALC_RETURN_IGNORE { 0 }
constexpr int32_t | CNC_CALC_RETURN_USE { 1 }
constexpr int32_t | CNC_CALC_RETURN_OK { 1 }
constexpr int32_t | CNC_CALC_RETURN_FEED_ONLY { 2 }
constexpr uint32_t | CNC_CALC_IDX_INIT_DATA_STRUCT { 0U }
parameter for CNC_Calc_Get_Structures_Size
constexpr uint32_t | CNC_CALC_IDX_SIMPLE_GM_PARAMS_BASE_STRUCT { 1U }
parameter for CNC_Calc_Get_Structures_Size
constexpr uint32_t | CNC_CALC_IDX_RETURN_VALUE_STRUCT { 2U }
parameter for CNC_Calc_Get_Structures_Size

Detailed Description

The CNC module can use an external PLC-like DLL plug-in for dynamic G-code recalculation. This plug-in DLL must NOT use any external OS libraries, the standard C library must be statically linked. Its functions will be called during G-code execution which allow to change almost any part or insert new parts to G-code flow.
It is not necessary to implement all exported functions, see their detailed description, but some functions are mandatory. There is just one plug-in common for all CNC cores.
Loading of plug-in can be done only during stop CNC statuses (not inside a movement). After load, the status is set to cnc::cnc_status::INVALID_00 and the G-code must be loaded (compile & test (and/or simulation)) again. The same status is set after plug-in unload.
Since changing and inserting new G-code parts leads to different number of total G-code parts of the G-code, also the GCodeIndex (cnc::SIMPLE_GM_PARAMS_WIN32::m_gCodeIndex) values are different. TG Motion automatically handles the number of inserted parts and increments the G-code index value accordingly, so its value is monotonically increasing. However the plug-in can manage the G-code index values itself by setting bit CNC_CALC_DISABLE_AUTOMATIC_GCODEINDEX_UPDATE_BIT (0x01) to returned CNC_CALC_RETURN_VALUE::options value.

Function Documentation

◆ CNC_Calc_Finish()

CNC_CALC_DLL_EXPORT int32_t CNC_Calc_Finish | ( | uint32_t | intIdx,
 |  | const cnc::SIMPLE_GM_PARAMS_WIN32 * | pFinishMFunc,
 |  | CNC_CALC_RETURN_VALUE * | pChangedParts
 | ) |  |

Called as the last function of the G-code.

Can be used to flush potential G or M functions accumulated in the plug-in.

Parameters
intIdx | Interpolator number. Value from 0 to (MAX_CORES - 1)
pFinishMFunc | Contains the last G-code position in cnc::SIMPLE_GM_PARAMS_WIN32::m_s field. The cnc::SIMPLE_GM_PARAMS_WIN32::m_func value is set to -30.
pChangedParts | Sequence (or just one) of G-code parts to be sent to the system, if the return value is CNC_CALC_RETURN_USE.
Note
Implementation of this function is optional.

◆ CNC_Calc_Get_Compatibility_IDs()

CNC_CALC_DLL_EXPORT int32_t CNC_Calc_Get_Compatibility_IDs | ( | uint32_t * | pID_COMPATIBILITY,
 |  | uint32_t * | pID_MEMORY_COMPATIBILITY,
 |  | uint32_t * | pID_CNC_COMPATIBILITY
 | ) |  |

Returns compatibility numbers at the time of plug-in build.

This function must be implemented. It is necessary for checking the versions of the plug-in and TG Motion.

Parameters
pID_COMPATIBILITY | pointer to variable where the ID_COMPATIBILITY number is returned
pID_MEMORY_COMPATIBILITY | pointer to variable where the ID_MEMORY_COMPATIBILITY number is returned
pID_CNC_COMPATIBILITY | pointer to variable where the ID_CNC_COMPATIBILITY number is returned
Returns
Always 1.

Example

// The following code can be used to implement this function
CNC_CALC_DLL_EXPORT int32_t TOOLCHAIN_CALLTYPE CNC_Calc_Get_Compatibility_IDs(uint32_t *pID_COMPATIBILITY,
uint32_t *pID_MEMORY_COMPATIBILITY,
uint32_t *pID_CNC_COMPATIBILITY)
{
assert(pID_COMPATIBILITY != nullptr);
assert(pID_MEMORY_COMPATIBILITY != nullptr);
assert(pID_CNC_COMPATIBILITY != nullptr);
if (pID_COMPATIBILITY) *pID_COMPATIBILITY = ID_COMPATIBILITY;
if (pID_MEMORY_COMPATIBILITY) *pID_MEMORY_COMPATIBILITY = ID_MEMORY_COMPATIBILITY;
if (pID_CNC_COMPATIBILITY) *pID_CNC_COMPATIBILITY = ID_CNC_COMPATIBILITY;
return CNC_CALC_RETURN_OK;
}
CNC_CALC_RETURN_OK
constexpr int32_t CNC_CALC_RETURN_OK
Definition: tgm_cnc.h:3281
CNC_Calc_Get_Compatibility_IDs
CNC_CALC_DLL_EXPORT int32_t CNC_Calc_Get_Compatibility_IDs(uint32_t *pID_COMPATIBILITY, uint32_t *pID_MEMORY_COMPATIBILITY, uint32_t *pID_CNC_COMPATIBILITY)
Returns compatibility numbers at the time of plug-in build.
ID_COMPATIBILITY
constexpr uint32_t ID_COMPATIBILITY
Compatibility number.
Definition: tgm.h:109
ID_CNC_COMPATIBILITY
constexpr uint32_t ID_CNC_COMPATIBILITY
CNC Compatibility ID.
Definition: tgm.h:115
ID_MEMORY_COMPATIBILITY
constexpr uint32_t ID_MEMORY_COMPATIBILITY
Memory Compatibility number.
Definition: tgm.h:112

◆ CNC_Calc_Get_Structures_Size()

CNC_CALC_DLL_EXPORT uint32_t CNC_Calc_Get_Structures_Size ( uint32_t structureIdx )

Check structure sizes - test for compatibility.

This function must be implemented. It is necessary for checking the versions of the plug-in and TG Motion.

Parameters
structureIdx Determines which structure size is asked for:
Value | Description
0 | sizeof(CNC_CALC_INIT_DATA)
1 | sizeof(cnc::SIMPLE_GM_PARAMS_WIN32)
2 | sizeof(CNC_CALC_RETURN_VALUE)
Returns
Structure size in bytes for valid structureIdx or zero.

Example

// The following code can be used to implement the function.
CNC_CALC_DLL_EXPORT uint32_t TOOLCHAIN_CALLTYPE CNC_Calc_Get_Structures_Size(uint32_t structureIdx)
{
switch (structureIdx)
{
case CNC_CALC_IDX_INIT_DATA_STRUCT:
return sizeof(CNC_CALC_INIT_DATA);
case CNC_CALC_IDX_SIMPLE_GM_PARAMS_BASE_STRUCT:
return sizeof(cnc::SIMPLE_GM_PARAMS_WIN32);
case CNC_CALC_IDX_RETURN_VALUE_STRUCT:
return sizeof(CNC_CALC_RETURN_VALUE);
default:
break;
}
return 0; // size of 0 means error (invalid structureIdx value)
}
CNC_Calc_Get_Structures_Size
CNC_CALC_DLL_EXPORT uint32_t CNC_Calc_Get_Structures_Size(uint32_t structureIdx)
Check structure sizes - test for compatibility.
CNC_CALC_IDX_SIMPLE_GM_PARAMS_BASE_STRUCT
constexpr uint32_t CNC_CALC_IDX_SIMPLE_GM_PARAMS_BASE_STRUCT
parameter for CNC_Calc_Get_Structures_Size
Definition: tgm_cnc.h:3308
CNC_CALC_IDX_RETURN_VALUE_STRUCT
constexpr uint32_t CNC_CALC_IDX_RETURN_VALUE_STRUCT
parameter for CNC_Calc_Get_Structures_Size
Definition: tgm_cnc.h:3309
CNC_CALC_IDX_INIT_DATA_STRUCT
constexpr uint32_t CNC_CALC_IDX_INIT_DATA_STRUCT
parameter for CNC_Calc_Get_Structures_Size
Definition: tgm_cnc.h:3307
CNC_CALC_INIT_DATA
Initialization structure.
Definition: tgm_cnc.h:3186
CNC_CALC_RETURN_VALUE
Holds changed G-code parts.
Definition: tgm_cnc.h:3244
cnc::SIMPLE_GM_PARAMS_WIN32
Describes one G-code part.
Definition: tgm_cnc.h:872

◆ CNC_Calc_GFunc()

CNC_CALC_DLL_EXPORT int32_t CNC_Calc_GFunc | ( | uint32_t | intIdx,
 |  | const cnc::SIMPLE_GM_PARAMS_WIN32 * | pGFunc,
 |  | CNC_CALC_RETURN_VALUE * | pChangedParts
 | ) |  |

Called for any G function inside G-code.

This function is called for all the G functions (with any number) situated in the G-code text. Usually will be used to modify movement functions like G1, G2, G3, but can be used also to implement special functions ("macros") or machining cycles. If necessary, can also return CNC_CALC_RETURN_USE, but set the number of entries in CNC_CALC_RETURN_VALUE to zero (CNC_CALC_RETURN_VALUE::nEntriesInPart0 = 0, CNC_CALC_RETURN_VALUE::nDynamicEntriesInPart1 = 0). In this case no parts will be sent to system for that original G-code. The plug-in can remember this part and send it in the next call of CNC_Calc_GFunc(), CNC_Calc_MFunc() or CNC_Calc_Finish(). This would allow e.g. to rotate a plasma head between parts.

Parameters
intIdx | Interpolator number. Value from 0 to (MAX_CORES - 1)
pGFunc | The original G function from G-code text.
pChangedParts | Sequence of G-code parts (G or M functions) to be sent to the system, if the return value is CNC_CALC_RETURN_USE or CNC_CALC_RETURN_FEED_ONLY. If the modified function shall be a M function, its number must be set to SIMPLE_GM_PARAMS_WIN32::m_func plus the constant CNC_CALC_MFUNC_OFFSET.
Returns
Value | Description
2 | the CNC_CALC_RETURN_VALUE::dblFeed is used to modify original (pGFunc) feed. No other fields of pChangedParts are used.
1 | the pChangedParts structure contains valid values
0 | no change to original G-code (call is ignored and the original values in pGFunc are used)
-1 | error - stops from calling any plug-in function till unload/load of the plug-in.

Example1

// Simple example: half the feed of the G1 larger than 10 mm
CNC_CALC_DLL_EXPORT int32_t TOOLCHAIN_CALLTYPE CNC_Calc_GFunc(uint32_t intIdx,
const SIMPLE_GM_PARAMS_WIN32 *pGFunc,
CNC_CALC_RETURN_VALUE *pChangedParts)
{
// get the type of G func
if (pGFunc->m_func == 1) // G1
{
// calculate G1 length from corrected values
float64_t len = pGFunc->m_calcE.Length(pGFunc->m_calcS);
if (len > 10.0)
{
pChangedParts->dblFeed = pGFunc->m_pars[ADDR_IDX('F')] / 2.0;
return CNC_CALC_RETURN_FEED_ONLY; // notify the callee we changed the feed only
}
}
UNREFERENCED_PARAM(intIdx);
return CNC_CALC_RETURN_IGNORE;
}
CNC_Calc_GFunc
CNC_CALC_DLL_EXPORT int32_t CNC_Calc_GFunc(uint32_t intIdx, const cnc::SIMPLE_GM_PARAMS_WIN32 *pGFunc, CNC_CALC_RETURN_VALUE *pChangedParts)
Called for any G function inside G-code.
CNC_CALC_RETURN_IGNORE
constexpr int32_t CNC_CALC_RETURN_IGNORE
Definition: tgm_cnc.h:3273
CNC_CALC_RETURN_FEED_ONLY
constexpr int32_t CNC_CALC_RETURN_FEED_ONLY
Definition: tgm_cnc.h:3286
cnc::ADDR_IDX
constexpr size_t ADDR_IDX()
simplify G-code address indexing
Definition: tgm_cnc.h:164
CNC_CALC_RETURN_VALUE::dblFeed
float64_t dblFeed
new feed
Definition: tgm_cnc.h:3246
UNREFERENCED_PARAM
void UNREFERENCED_PARAM(T &P) noexcept
Definition: tgm.h:1991

Example2

// More advanced example: if the G1 is larger than 20 mm,
// split it to two parts and insert M666 between these two parts.
CNC_CALC_DLL_EXPORT int32_t TOOLCHAIN_CALLTYPE CNC_Calc_GFunc(uint32_t intIdx,
const SIMPLE_GM_PARAMS_WIN32 *pGFunc,
CNC_CALC_RETURN_VALUE *pChangedParts)
{
// change the G1 to two G1 (both half of the length)
// insert M666 func between them
if (pGFunc->m_func == 1) // G1
{
// calculate G1 length from corrected values
float64_t len = pGFunc->m_calcE.Length(pGFunc->m_calcS);
if (len > 20.0)
{
// first copy original G1 to all the three parts and then change only the needed values
pChangedParts->sParts0[0] = *pGFunc;
pChangedParts->sParts0[1] = *pGFunc;
pChangedParts->sParts0[2] = *pGFunc;
// calculate the middle point
P10DOUBLE middleCalc(pGFunc->m_calcS + ((pGFunc->m_calcE - pGFunc->m_calcS) * 0.5));
P10DOUBLE middleOrig(pGFunc->m_s + ((pGFunc->m_e - pGFunc->m_s) * 0.5));
// set it to relevant values
pChangedParts->sParts0[0].m_calcE = middleCalc;
pChangedParts->sParts0[0].m_e = middleOrig;
pChangedParts->sParts0[1].m_calcS = middleCalc;
pChangedParts->sParts0[1].m_calcE = middleCalc;
pChangedParts->sParts0[1].m_s = middleOrig;
pChangedParts->sParts0[1].m_e = middleOrig;
pChangedParts->sParts0[2].m_calcS = middleCalc;
pChangedParts->sParts0[2].m_s = middleOrig;
// set the part types
pChangedParts->sParts0[0].m_func = 1; // G1
pChangedParts->sParts0[1].m_func = CNC_CALC_MFUNC_OFFSET + 666; // M666
pChangedParts->sParts0[2].m_func = 1; // G1
// set the number of changed parts
pChangedParts->nEntriesInPart0 = 3;
pChangedParts->nDynamicEntriesInPart1 = 0; // dynamic entries not used
return CNC_CALC_RETURN_USE; // notify the callee the pChangedParts contain valid data
}
}
UNREFERENCED_PARAM(intIdx);
return CNC_CALC_RETURN_IGNORE;
}
CNC_CALC_RETURN_USE
constexpr int32_t CNC_CALC_RETURN_USE
Definition: tgm_cnc.h:3278
CNC_CALC_MFUNC_OFFSET
constexpr int32_t CNC_CALC_MFUNC_OFFSET
Definition: tgm_cnc.h:3228
CNC_CALC_RETURN_VALUE::nDynamicEntriesInPart1
uint32_t nDynamicEntriesInPart1
number of entries in the dParts1 array
Definition: tgm_cnc.h:3261
CNC_CALC_RETURN_VALUE::nEntriesInPart0
uint32_t nEntriesInPart0
Definition: tgm_cnc.h:3253
CNC_CALC_RETURN_VALUE::sParts0
cnc::SIMPLE_GM_PARAMS_WIN32 sParts0[CNC_CALC_MAX_STATIC_RETURNED_PARTS]
Definition: tgm_cnc.h:3257
cnc::SIMPLE_GM_PARAMS_WIN32::m_calcS
P10DOUBLE m_calcS
Definition: tgm_cnc.h:920
cnc::SIMPLE_GM_PARAMS_WIN32::m_calcE
P10DOUBLE m_calcE
Definition: tgm_cnc.h:923
cnc::SIMPLE_GM_PARAMS_WIN32::m_e
P10DOUBLE m_e
Definition: tgm_cnc.h:917
cnc::SIMPLE_GM_PARAMS_WIN32::m_s
P10DOUBLE m_s
Definition: tgm_cnc.h:902
cnc::SIMPLE_GM_PARAMS_WIN32::m_func
int32_t m_func
G function number. If > 10000, it is M function. -1 is invalid function.
Definition: tgm_cnc.h:874
Note
Implementation of this function is optional.

◆ CNC_Calc_Load()

CNC_CALC_DLL_EXPORT int32_t CNC_Calc_Load ( const CNC_CALC_INIT_DATA * pInitData )

Plug-in DLL initialization.

Called after DLL load. Allows to init internal variables. Must be implemented.

Parameters
pInitData Pointer to initialization structure with shared memory access functions.
Returns
Value | Description
-1 | error, do not use the plug-in DLL
any other value | success

◆ CNC_Calc_MFunc()

CNC_CALC_DLL_EXPORT int32_t CNC_Calc_MFunc | ( | uint32_t | intIdx,
 |  | const cnc::SIMPLE_GM_PARAMS_WIN32 * | pMFunc,
 |  | CNC_CALC_RETURN_VALUE * | pChangedParts
 | ) |  |

Called for any M function inside G-code.

This function is called for all the M functions (with any number) situated in the G-code text. Can be used to expand special M functions to set of movements and other M functions, already implemented in PLC.

Parameters
intIdx | Interpolator number. Value from 0 to (MAX_CORES - 1)
pMFunc | Original M function description from G-code text.
pChangedParts | Sequence (or just one) of G-code parts to be sent to the system, if the return value is CNC_CALC_RETURN_USE or CNC_CALC_RETURN_FEED_ONLY. If the modified function shall be a M function, its number must be set to cnc::SIMPLE_GM_PARAMS_WIN32::m_func plus the constant CNC_CALC_MFUNC_OFFSET.
Returns
Value | Description
1 | the pChangedParts structure contains valid values
0 | no change to original G-code (call is ignored and the original values in pMFunc are used)
-1 | error - stops from calling any plug-in function till unload/load of the plug-in.
Note
Implementation of this function is optional.

◆ CNC_Calc_Start()

CNC_CALC_DLL_EXPORT int32_t CNC_Calc_Start | ( | uint32_t | intIdx,
 |  | int32_t | regime,
 |  | const cnc::SIMPLE_GM_PARAMS_WIN32 * | pInitPos,
 |  | CNC_CALC_RETURN_VALUE * | pChangedParts
 | ) |  |

Called before the G-code execution.

Allow to store initial value, insert special G-code parts at the beginning of G-code execution, etc. Also signals the mode in the regime parameter.

Parameters
intIdx | Interpolator number. Value from 0 to (MAX_CORES - 1).
regime Actual regime. Regime is kept until call to CNC_Calc_Finish(). Can be:
Value | Description
10 | SIMULATION
20 | TEST
30 | FORWARD
31 | FORWARD_NO_MFUNC
32 | BACKWARD
33 | FORWARD_SKIP_FIRST_M
40 | CONNECT
pInitPos | Initial position is set in cnc::SIMPLE_GM_PARAMS_WIN32::m_s field. cnc::SIMPLE_GM_PARAMS_WIN32::m_planeTool is set to initial plane (G17, G18, G19 or 20 for lathe (ZX)) cnc::SIMPLE_GM_PARAMS_WIN32::m_func is -33.
pChangedParts | G-code parts to be sent to the system, if the return value is CNC_CALC_RETURN_USE.
Returns
Value | Description
1 | the pChangedParts structure contains valid values and will be used
0 | no change to original G-code (call is ignored)
-1 | error - stops from calling any plug-in function till unload/load of the plug-in.
Note
Implementation of this function is optional.

◆ CNC_Calc_Unload()

CNC_CALC_DLL_EXPORT int32_t CNC_Calc_Unload ( )

Plug-in DLL cleanup.

Called before DLL unload. Can be used for freeing memory etc. Must be implemented.

Returns
Return value is ignored.

Variable Documentation

◆ CNC_CALC_MAX_STATIC_RETURNED_PARTS

constexpr uint32_t CNC_CALC_MAX_STATIC_RETURNED_PARTS { 8U }
constexpr

To speed up G-code parts insertion, up to 8 parts can be inserted just by using statically allocated memory in CNC_CALC_RETURN_VALUE::sParts0 array. If there is a need of more parts to be inserted, dynamically allocated memory must be used and set to the CNC_CALC_RETURN_VALUE::dParts1 pointer.

◆ CNC_CALC_MFUNC_OFFSET

constexpr int32_t CNC_CALC_MFUNC_OFFSET { 10000 }
constexpr

M function number offset to distinguish between G and M functions in cnc::SIMPLE_GM_PARAMS_WIN32::m_func field

◆ CNC_CALC_RETURN_ERROR

constexpr int32_t CNC_CALC_RETURN_ERROR { -1 }
constexpr

For displaying error text, use CNC_CALC_INIT_DATA::pPrintf function. Notify TGMotion of an error inside plug-in.

◆ CNC_CALC_RETURN_FEED_ONLY

constexpr int32_t CNC_CALC_RETURN_FEED_ONLY { 2 }
constexpr

Used by CNC_Calc_Start(), CNC_Calc_GFunc(), CNC_Calc_MFunc(), CNC_Calc_Finish() functions. Only the CNC_CALC_RETURN_VALUE::dblFeed value is used to modify the part feed, all other values are ignored.

◆ CNC_CALC_RETURN_IGNORE

constexpr int32_t CNC_CALC_RETURN_IGNORE { 0 }
constexpr

Used by CNC_Calc_Start(), CNC_Calc_GFunc(), CNC_Calc_MFunc(), CNC_Calc_Finish() functions. The call to the function is ignored and original part is used (no modification).

◆ CNC_CALC_RETURN_OK

constexpr int32_t CNC_CALC_RETURN_OK { 1 }
constexpr

(the same value as CNC_CALC_RETURN_USE) Success value of non-calc funcions.

◆ CNC_CALC_RETURN_USE

constexpr int32_t CNC_CALC_RETURN_USE { 1 }
constexpr

Used by CNC_Calc_Start(), CNC_Calc_GFunc(), CNC_Calc_MFunc(), CNC_Calc_Finish() functions. TG Motion use the values in the CNC_CALC_RETURN_VALUE struct. The original part is not used. If needed, must be copied by the plug-in.


TG Motion: CNC_CALC_INIT_DATA Struct Reference

Public Attributes | List of all members
CNC_CALC_INIT_DATA Struct Reference
CNC Calc plug-in exported functions

Initialization structure. More...

#include <tgm_cnc.h>

Public Attributes

uint32_t | structSize
CNC_Calc_Load() function should check this value.
TGM_COM_READ_I32 * | pReadI32
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Read_I32()
TGM_COM_READ_I64 * | pReadI64
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Read_I64()
TGM_COM_READ_double * | pReadDouble
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Read_Double()
TGM_COM_READ_BLOCK * | pReadBlock
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Read_BLOCK()
TGM_COM_WRITE_I32 * | pWriteI32
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Write_I32()
TGM_COM_WRITE_I64 * | pWriteI64
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Write_I64()
TGM_COM_WRITE_double * | pWriteDouble
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Write_Double()
TGM_COM_WRITE_BLOCK * | pWriteBlock
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Write_BLOCK()
TGM_COM_SET_BIT_I32 * | pSetBitI32
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Set_Bit_I32()
TGM_COM_SET_BIT_I64 * | pSetBitI64
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Set_Bit_I64()
TGM_COM_CLR_BIT_I32 * | pClrBitI32
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Clr_Bit_I32()
TGM_COM_CLR_BIT_I64 * | pClrBitI64
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Clr_Bit_I64()
TGM_COM_TGL_BIT_I32 * | pTglBitI32
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Tgl_Bit_I32()
TGM_COM_TGL_BIT_I64 * | pTglBitI64
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Tgl_Bit_I64()
TGM_COM_READ_I32_DIRECT * | pReadI32Direct
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Read_I32_DIRECT()
TGM_COM_READ_I64_DIRECT * | pReadI64Direct
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Read_I64_DIRECT()
TGM_COM_READ_double_DIRECT * | pReadDoubleDirect
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Read_Double_DIRECT()
TGM_COM_READ_BLOCK_DIRECT * | pReadBlockDirect
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Read_BLOCK_DIRECT()
TGM_COM_WRITE_I32_DIRECT * | pWriteI32Direct
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Write_I32_DIRECT()
TGM_COM_WRITE_I64_DIRECT * | pWriteI64Direct
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Write_I64_DIRECT()
TGM_COM_WRITE_double_DIRECT * | pWriteDoubleDirect
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Write_Double_DIRECT()
TGM_COM_WRITE_BLOCK_DIRECT * | pWriteBlockDirect
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Write_BLOCK_DIRECT()
TGM_COM_SET_BIT_I32_DIRECT * | pSetBitI32Direct
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Set_Bit_I32_DIRECT()
TGM_COM_SET_BIT_I64_DIRECT * | pSetBitI64Direct
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Set_Bit_I64_DIRECT()
TGM_COM_CLR_BIT_I32_DIRECT * | pClrBitI32Direct
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Clr_Bit_I32_DIRECT()
TGM_COM_CLR_BIT_I64_DIRECT * | pClrBitI64Direct
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Clr_Bit_I64_DIRECT()
TGM_COM_TGL_BIT_I32_DIRECT * | pTglBitI32Direct
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Tgl_Bit_I32_DIRECT()
TGM_COM_TGL_BIT_I64_DIRECT * | pTglBitI64Direct
pointer to function from TGM_Comm_Int_5.dll (.so): see CTGM_COMM_INT_5::Tgl_Bit_I64_DIRECT()
TGM_COM_FLUSH_BUFFER * | pFlushBuffer
for remote connection flush intermediate network buffer, for local TG Motion does nothing
TGM_RTWPRINTF_EX * | pPrintf
int64_t | userValue
Value passed to ToolChainCore_LoadCNCCalcPlugIn() function in userValue parameter.

Detailed Description

Initialization structure.

Holds pointers to useful functions: access to shared memory and output debug information to debug console. (dbgview.exe for Win DLL plug-in, TGM Debug Console for real-time plug-in). All the fields are set by TGMotion and used by plug-in.

Member Data Documentation

◆ pPrintf

TGM_RTWPRINTF_EX* CNC_CALC_INIT_DATA::pPrintf

pointer to function to output debugging information (either to dbgview.exe or to TGM Debug Console), declared as

typedef int32_t PLC_CDECL TGM_RTWPRINTF_EX(int32_t severity, TGM_LPCTSTR stringToDisplay);

The CNC Calc plug-in must format the text on its own for safety reasons.

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • CNC_CALC_INIT_DATA


TG Motion: CNC_CALC_RETURN_VALUE Struct Reference

Public Attributes | List of all members
CNC_CALC_RETURN_VALUE Struct Reference
CNC Calc plug-in exported functions

Holds changed G-code parts. More...

#include <tgm_cnc.h>

Public Attributes

float64_t | dblFeed
new feed
uint32_t | options
uint32_t | nEntriesInPart0
cnc::SIMPLE_GM_PARAMS_WIN32 sParts0 [CNC_CALC_MAX_STATIC_RETURNED_PARTS]
int32_t | reserved2
reserved
uint32_t | nDynamicEntriesInPart1
number of entries in the dParts1 array
cnc::SIMPLE_GM_PARAMS_WIN32 * dParts1

Detailed Description

Holds changed G-code parts.

Fields of this structure are set by the plug-in and used by TG Motion. Not all the fields are necessary to be set, depending to return value of the calc function. Almost any number of new parts can be used, up to 8 in the array CNC_CALC_RETURN_VALUE::sParts0, followed by any number in the CNC_CALC_RETURN_VALUE::dParts1.

Member Data Documentation

◆ dParts1

cnc::SIMPLE_GM_PARAMS_WIN32* CNC_CALC_RETURN_VALUE::dParts1

Pointer to user given array for modified parts. The plug-in is responsible of freeing memory (if needed).

◆ nEntriesInPart0

uint32_t CNC_CALC_RETURN_VALUE::nEntriesInPart0

number of valid entries in the sParts0 array, valid range 0 - (CNC_CALC_MAX_STATIC_RETURNED_PARTS - 1)

◆ options

uint32_t CNC_CALC_RETURN_VALUE::options

bit-oriented additional options for modified parts:
CNC_CALC_DISABLE_AUTOMATIC_GCODEINDEX_UPDATE_BIT (0x01) - do not automatically update cnc::SIMPLE_GM_PARAMS_WIN32::m_gCodeIndex

◆ sParts0

cnc::SIMPLE_GM_PARAMS_WIN32 CNC_CALC_RETURN_VALUE::sParts0[CNC_CALC_MAX_STATIC_RETURNED_PARTS]

Pre-allocated array for modified parts. For M functions, add CNC_CALC_MFUNC_OFFSET to function number (cnc::SIMPLE_GM_PARAMS_WIN32::m_func).

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • CNC_CALC_RETURN_VALUE


TG Motion: Enumerations

Enumerations
Enumerations

Enumerations

enum class cnc::cnc_status : int32_t {
cnc::OFFLINE_M02 = -2 ,
cnc::INVALID_00 = 0 ,
cnc::COMPILING_01 = 1 ,
cnc::COMPILE_FINISHED_M01 = -1 ,
cnc::SIMULATING_10 = 10 ,
cnc::SIMULATION_END_M10 = -10 ,
cnc::SIMULATION_BREAK_M11 = -11 ,
cnc::TEST_20 = 20 ,
cnc::TEST_END_M20 = -20 ,
cnc::TEST_BREAK_M21 = -21 ,
cnc::TRAJECTORY_START_M30 = -30 ,
cnc::TRAJECTORY_BREAK_M31 = -31 ,
cnc::TRAJECTORY_END_M32 = -32 ,
cnc::TRAJECTORY_BREAK_M0_M33 = -33 ,
cnc::FORWARD_30 = 30 ,
cnc::FORWARD_NO_MFUNC_31 = 31 ,
cnc::BACKWARD_32 = 32 ,
cnc::FORWARD_SKIP_FIRST_M_33 = 33 ,
cnc::CONNECTING_40 = 40 ,
cnc::CONNECT_MOVE_41 = 41 ,
cnc::HAND_MOVE_50 = 50 ,
cnc::OUT_OF_TRAJECTORY_M50 = -50 ,
cnc::CALCULATING_60 = 60 ,
cnc::START_M_FUNCS_70 = 70 ,
cnc::STOP_M_FUNCS_80 = 80 ,
cnc::CONNECT_INS_M_FUNCS_90 = 90 ,
cnc::NONSENSE = -1234
}
StatusCNC return codes. More...
enum class cnc::connect_type : uint32_t {
cnc::BY_COORD = 0 ,
cnc::BY_LINE_START = 1 ,
cnc::BY_LINE_END = 2 ,
cnc::BY_COORD_GO = 10 ,
cnc::BY_LINE_START_GO = 11 ,
cnc::BY_LINE_END_GO = 12 ,
cnc::BY_M_FUNC_COUNT = 20 ,
cnc::BY_M_FUNC_COUNT_REL = 21 ,
cnc::BY_GCODE_INDEX = 30 ,
cnc::BY_GCODE_INDEX_ACTUAL_COORD = 31 ,
cnc::BY_GCODE_INDEX_END = 32 ,
cnc::BY_COORD_GO_BUFFERED = 40 ,
cnc::BY_LINE_START_GO_BUFFERED = 41 ,
cnc::BY_LINE_END_GO_BUFFERED = 42 ,
cnc::BY_GCODE_INDEX_ACTUAL_COORD_GO_BUFFERED = 44 ,
cnc::BY_COORD_ON_TRAJECTORY_WITH_GCODE_INDEX_GO_BUFFERED = 46
}
Connection modes (ToolChainCore_ConnectCNCEx_Plane) More...
enum class cnc::status_after_connect : uint32_t {
cnc::KEEP_00 = 0 ,
cnc::FORCE_OUT_OF_TRAJECTORY_02 = 2
}
Specifies wanted status after successful connect for ToolChainCore_ConnectCNCEx_Plane. More...
enum class cnc::axis_idx : int32_t {
cnc::AXIS_NONE = -1 ,
cnc::AXIS_X = 0 ,
cnc::AXIS_Y = 1 ,
cnc::AXIS_Z = 2 ,
cnc::AXIS_C = 3 ,
cnc::AXIS_B = 4 ,
cnc::AXIS_U = 5 ,
cnc::AXIS_V = 6 ,
cnc::AXIS_W = 7 ,
cnc::AXIS_A = 8 ,
cnc::AXIS_O = 9 ,
cnc::AXIS_S = 100 ,
cnc::AXIS_T = 101 ,
cnc::AXIS_IO = 102 ,
cnc::AXIS_S2 = 103 ,
cnc::AXIS_XY = 200
}
Axes numbers, together with special axis types. Assignment of the axes to array indexes is fixed, i.e. the first axis (index 0) is always X axis, etc... Special axes are used internally and have no relationship to array indexes. More...
enum class cnc::reset_status_cnc : uint32_t {
cnc::TO_INVALID_00 = 0 ,
cnc::TO_OUT_OF_TYRAJECTORY_01 = 1
}
Values for ToolChainCore_ResetStatusCNC function. More...

Detailed Description

Constants declared as enumerations

Enumeration Type Documentation

◆ axis_idx

enum cnc::axis_idx : int32_t
strong

Axes numbers, together with special axis types. Assignment of the axes to array indexes is fixed, i.e. the first axis (index 0) is always X axis, etc... Special axes are used internally and have no relationship to array indexes.

Enumerator
AXIS_NONE | no axis is specified (marker for all axes)
AXIS_X | 0 - X axis
AXIS_Y | 1 - Y axis
AXIS_Z | 2 - Z axis
AXIS_C | 3 - C axis
AXIS_B | 4 - B axis
AXIS_U | 5 - U axis
AXIS_V | 6 - V axis
AXIS_W | 7 - W axis
AXIS_A | 8 - A axis
AXIS_O | 9 - O axis
AXIS_S | 100 - spindle
AXIS_T | 101 - tool
AXIS_IO | 102 - any I/O module
AXIS_S2 | 103 - secondary spindle
AXIS_XY | 200 - XY plane

◆ cnc_status

enum cnc::cnc_status : int32_t
strong

StatusCNC return codes.

Enumerator
OFFLINE_M02 | -2: remote device not connected (TGMmini, TGM_REMOTE)
INVALID_00 | 0: Initial state, no G-code loaded
COMPILING_01 | 1: Compile is in progress
COMPILE_FINISHED_M01 | -1: Compile finished (with success or error)
SIMULATING_10 | 10: Simulation is in progress
SIMULATION_END_M10 | -10: Simulation finished (OK or NOK)
SIMULATION_BREAK_M11 | -11: Simulation broken by ToolChainCore_StopCNCEx
TEST_20 | 20: Test is in progress
TEST_END_M20 | -20: Test finished (OK or NOK)
TEST_BREAK_M21 | -21: Test broken by ToolChainCore_StopCNCEx
TRAJECTORY_START_M30 | -30: System is on start of trajectory
TRAJECTORY_BREAK_M31 | -31: Stop on trajectory (interrupted by ToolChainCore_StopCNCEx or after connect or when the backward buffer is empty)
TRAJECTORY_END_M32 | -32: End of trajectory, system stops
TRAJECTORY_BREAK_M0_M33 | -33: Stop on trajectory by M0 function
FORWARD_30 | 30: Normal forward movement on trajectory
FORWARD_NO_MFUNC_31 | 31: Forward movement without M functions (which are skipped)
BACKWARD_32 | 32: Backward movement on trajectory
FORWARD_SKIP_FIRST_M_33 | 33: Forward movement. If the first part is M function, it is skipped. Following M functions are executed normally.
CONNECTING_40 | 40: Calculation of connection point
CONNECT_MOVE_41 | 41: Movement to connection point is in progress
HAND_MOVE_50 | 50: Moving to any position (ToolChainCore_GoToPosition)
OUT_OF_TRAJECTORY_M50 | -50: System is stopped and positioned out of trajectory
CALCULATING_60 | 60: Internal calculation is in progress
START_M_FUNCS_70 | 70: Extra initial M functions are sending
STOP_M_FUNCS_80 | 80: Extra final M function are sending
CONNECT_INS_M_FUNCS_90 | 90: Extra connection M functions are sending
NONSENSE | -1234: Invalid nonsense value

◆ connect_type

enum cnc::connect_type : uint32_t
strong

Connection modes (ToolChainCore_ConnectCNCEx_Plane)

Enumerator
BY_COORD

0: go to the nearest point of given position and stop
indexes of coords array: 0 - X pos, 1 - Y, 2 - Z, 3 - C, 4 - B, 5 - U, 6 - V, 7 - W, 8 - A, 9 - O

BY_LINE_START

1: go to the begin (starting point) of G-code part located at given line
indexes of coords array:

  • 0 - line number
  • 1 - file index (ToolChainCore_FileToIdx),
  • 2 - maximal number of axes which will be moved to starting point of the G-code part. This is usually equal of number of axes of the machine, but for special purposes it could be lower
BY_LINE_END

2: go to the end (ending point) of G-code part located at given line
indexes of coords array:

  • 0 - line number
  • 1 - file index (ToolChainCore_FileToIdx),
  • 2 - maximal number of axes which will be moved to starting point of the G-code part. This is usually equal of number of axes of the machine, but for special purposes it could be lower
BY_COORD_GO

10: go to the nearest point of given position and continue.
After the movement to the connection point, the system fills its internal buffers to continue, which could take some time (depending of the G-code size).
indexes of coords array: 0 - X pos, 1 - Y, 2 - Z, 3 - C, 4 - B, 5 - U, 6 - V, 7 - W, 8 - A, 9 - O

BY_LINE_START_GO

11: go to the begin (starting point) of G-code part located at give line
After the movement to the connection point, the system fills its internal buffers to continue, which could take some time (depending of the G-code size).
indexes of coords array:

  • 0 - line number
  • 1 - file index (ToolChainCore_FileToIdx),
  • 2 - maximal number of axes which will be moved to starting point of the G-code part. This is usually equal of number of axes of the machine, but for special purposes it could be lower
BY_LINE_END_GO

12: go to the end (ending point) of G-code part located at give line
After the movement to the connection point, the system fills its internal buffers to continue, which could take some time (depending of the G-code size).
indexes of coords array:

  • 0 - line number
  • 1 - file index (ToolChainCore_FileToIdx),
  • 2 - maximal number of axes which will be moved to starting point of the G-code part. This is usually equal of number of axes of the machine, but for special purposes it could be lower
BY_M_FUNC_COUNT

20: move to given n-th M function. The n-th repetition is counted absolute from beginning of the G-code.
indexes of coords array:

  • 0 - number of repetitions
  • 1 - M function number
  • 2 - maximal number of axes which will be moved to starting point of the G-code part.
BY_M_FUNC_COUNT_REL

21: move to given n-th M function. The n-th repetition is counted relatively from actual G-code line number.
indexes of coords array:

  • 0 - number of repetitions
    • If G-code is at the beginning (status = -30), only positive values of repeats can be used (> 0).
    • If G-code is at the end (status = -32), only negative or zero values of repeats can be used (<=0).
    • If G-code is interrupted (status = -31):
      • If the number of repeats is 0, it will find the nearest previous M function with the relevant number (if standing right at the relevant M function, it will stay there).
      • If number of repeats equals +1, it will find the next nearest M function after the G-code line, where the machine is just standing.
      • If number of repeats equals -1, it will first find M function as in the case of 0 repeats and then yet another one preceding.
      • Similarly for higher numbers of repeats.
  • 1 - M function number
  • 2 - maximal number of axes which will be moved to starting point of the G-code part.
BY_GCODE_INDEX

30: go to the begin (starting point) of the G-code part determined by its G-code index
G-code index is an unique number assigned by system to each G-code part. It starts from zero and grows monotonically- It is usually an even number, the odd numbers are used by the system to insert additional movements (during tool compensation calculation) . indexes of coords array:

  • 0 - G-code index
  • 1 - maximal number of axes which will be moved to starting point of the G-code part.
BY_GCODE_INDEX_ACTUAL_COORD

31: go to the nearest point of the G-code part determined by its G-code index
G-code index is an unique number assigned by system to each G-code part. It starts from zero and grows monotonically- It is usually an even number, the odd numbers are used by the system to insert additional movements (during tool compensation calculation) . indexes of coords array:

  • 0 - G-code index
  • 1 - maximal number of axes which will be moved to starting point of the G-code part.
BY_GCODE_INDEX_END

32: go to the end (ending point) of the G-code part determined by its G-code index
G-code index is an unique number assigned by system to each G-code part. It starts from zero and grows monotonically- It is usually an even number, the odd numbers are used by the system to insert additional movements (during tool compensation calculation) . indexes of coords array:

  • 0 - G-code index
  • 1 - maximal number of axes which will be moved to starting point of the G-code part.
BY_COORD_GO_BUFFERED

40: go to the nearest point of given position and continue.
After the movement to the connection point the execution of the G-code parts continues immediately
indexes of coords array: 0 - X pos, 1 - Y, 2 - Z, 3 - C, 4 - B, 5 - U, 6 - V, 7 - W, 8 - A, 9 - O

BY_LINE_START_GO_BUFFERED

41: go to the begin (starting point) of G-code part located at given line
After the movement to the connection point the execution of the G-code parts continues immediately
indexes of coords array:

  • 0 - line number
  • 1 - file index (ToolChainCore_FileToIdx),
  • 2 - maximal number of axes which will be moved to starting point of the G-code part. This is usually equal of number of axes of the machine, but for special purposes it could be lower
BY_LINE_END_GO_BUFFERED

42: go to the end (ending point) of G-code part located at give line
After the movement to the connection point the execution of the G-code parts continues immediately
indexes of coords array:

  • 0 - line number
  • 1 - file index (ToolChainCore_FileToIdx),
  • 2 - maximal number of axes which will be moved to starting point of the G-code part. This is usually equal of number of axes of the machine, but for special purposes it could be lower
BY_GCODE_INDEX_ACTUAL_COORD_GO_BUFFERED

44: go to the nearest point of the G-code part determined by its G-code index
After the movement to the connection point the execution of the G-code parts continues immediately
G-code index is an unique number assigned by system to each G-code part. It starts from zero and grows monotonically- It is usually an even number, the odd numbers are used by the system to insert additional movements (during tool compensation calculation) . indexes of coords array:

  • 0 - G-code index
  • 1 - maximal number of axes which will be moved to starting point of the G-code part.
BY_COORD_ON_TRAJECTORY_WITH_GCODE_INDEX_GO_BUFFERED

46: go to the exact point on trajectory given by coords and G-code index and continue movement.
The point must be on the trajectory with tolerance given by GCODE_PARAMETERS::tolerance[GCODE_SOURCE_PRECISION]. After the movement to the connection point the execution of the G-code parts continues immediately
indexes of coords array: 0 - X pos, 1 - Y, 2 - Z, 3 - C, 4 - B, 5 - U, 6 - V, 7 - W, 8 - A, 9 - O, 10 - G-code index of the part to connect

◆ reset_status_cnc

enum cnc::reset_status_cnc : uint32_t
strong

Values for ToolChainCore_ResetStatusCNC function.

Enumerator
TO_INVALID_00 | Clear compiled data, free memory and set CNC status to cnc_status::INVALID_00.
TO_OUT_OF_TYRAJECTORY_01 | Set CNC status to cnc_status::OUT_OF_TRAJECTORY_M50.

◆ status_after_connect

enum cnc::status_after_connect : uint32_t
strong

Specifies wanted status after successful connect for ToolChainCore_ConnectCNCEx_Plane.

Enumerator
KEEP_00 | keep the status calculated by system
FORCE_OUT_OF_TRAJECTORY_02 | set the status to cnc_status::OUT_OF_TRAJECTORY_M50


TG Motion: Exported functions

Functions
Exported functions

Functions

int32_t | ToolChainCore_Init (const cnc::DLL_INIT_STRUCT *pInitValues)
Init the CNC module. More...
int32_t | ToolChainCore_LoadFromIni (uint32_t intIdx, TGM_LPCTSTR iniFile, uint32_t *pnMaxCores)
Loads DLL chain from INI file. More...
int32_t | ToolChainCore_DestroyCNC (uint32_t intIdx)
Finishes work with DLLs and frees all the allocated memory. More...
int32_t | ToolChainCore_SetGCodeParameters (uint32_t intIdx, const cnc::GCODE_PARAMETERS *params)
Sets parameters (properties) of G-code. More...
int32_t | ToolChainCore_GetGCodeParameters (uint32_t intIdx, cnc::GCODE_PARAMETERS *params)
Obtains values set with ToolChainCore_SetGCodeParameters, or read from .INI file during startup. More...
cnc::cnc_status | ToolChainCore_StatusCNC (uint32_t intIdx)
Actual CNC module state. More...
int32_t | ToolChainCore_GetPosEx (uint32_t intIdx, int32_t reserved, cnc::ACTUAL_GM_VALUES *pos)
Returns current position of machine axes together with additional informations. More...
int32_t | ToolChainCore_CompileFromFile (uint32_t intIdx, TGM_LPCTSTR fileName)
Compiles G-code from file. More...
int32_t | ToolChainCore_CompileFromMemory (uint32_t intIdx, TGM_LPCTSTR fileName, TGM_LPCSTR mainCode)
Compiles G-code from string in memory. More...
int32_t | ToolChainCore_IsBusy (uint32_t intIdx)
Checks if the machine is executing G-code. More...
int32_t | ToolChainCore_StartCNCEx (uint32_t intIdx, cnc::cnc_status regime, TGM_LPCSTR strAddGCode)
Start or continue G-code. More...
int32_t | ToolChainCore_ResetCNC (uint32_t intIdx, int32_t regime, const uint32_t nCoords, const float64_t *coords)
Sets the initial position for G-code. More...
int32_t | ToolChainCore_StopCNCEx (uint32_t intIdx, TGM_LPCSTR strAddCode)
Stops motion or connecting (break). More...
int32_t | ToolChainCore_ConnectCNCEx_Plane (uint32_t intIdx, cnc::connect_type nType, const uint32_t nCoords, const float64_t *coords, TGM_LPCSTR strAddCode, uint32_t bitCodedAxesForCalc, uint32_t bitCodedAxesForConnect, cnc::status_after_connect trajectoryStateAfterConnectRequest)
Move to the nearest point of trajectory of G-code with possibility of M function insertion after the connection movement. More...
int32_t | ToolChainCore_GoToPosition (uint32_t intIdx, const uint32_t nCoords, const float64_t *coords)
Manual control. More...
int32_t | ToolChainCore_GoToPositionEx (uint32_t intIdx, const cnc::SIMPLE_GM_PARAMS_WIN32 *pDest)
Extended manual control. More...
int32_t | ToolChainCore_MFunc (uint32_t intIdx, const cnc::SIMPLE_GM_PARAMS_WIN32 &fun, int32_t bDirectToPLC)
Send M function directly to system. More...
int32_t | ToolChainCore_FileToIdx (uint32_t intIdx, TGM_LPCTSTR fileName)
Returns index number of the file with a given name. If the file name is new, it returns a new number. More...
TGM_LPCTSTR | ToolChainCore_IdxToFile (uint32_t intIdx, int32_t fileIdx)
Returns the complete filename of file with relevant number (index). More...
int32_t | ToolChainCore_SetRelFeed (uint32_t intIdx, float64_t relFeed)
Sets the feed override (relative speed). More...
int32_t | ToolChainCore_SetCallBack (uint32_t intIdx, uint32_t fceNo, intptr_t dwUserData, cnc::FuncPrototype *funcPtr)
Sets callback function. More...
int32_t | ToolChainCore_GetLastError (uint32_t intIdx, cnc::CALLBACK_INFO *pLastErrorInfo)
Returns the last error, if any. More...
int32_t | ToolChainCore_SetBreakpoint (uint32_t intIdx, uint32_t editorLine, int32_t fileIdx)
Set breakpoint in the G-code. More...
int32_t | ToolChainCore_GetGCodeSizeInfo (uint32_t intIdx, cnc::GCODE_INFO *pInfo)
Identifies size (dimension) of G-code. More...
int32_t | ToolChainCore_GetStructuresSize (uint32_t intIdx, uint32_t nItems, uint32_t *items)
Returns bytes sizes of internal structures. More...
TGM_LPCTSTR | ToolChainCore_GetVersionString (uint32_t intIdx)
Returns the DLLs version number and the date and time of compilation. More...
int32_t | ToolChainCore_GetMachineParameters (uint32_t intIdx, cnc::MACHINE_PARAMETERS *pParameters)
Returns actual values of MACHINE_PARAMETERS. More...
int32_t | ToolChainCore_SetMachineParameters (uint32_t intIdx, const cnc::MACHINE_PARAMETERS *pParameters)
Sets new values of MACHINE_PARAMETERS. More...
int32_t | ToolChainCore_LoadCNCCalcPlugIn (TGM_LPCTSTR fileName, uint32_t loadFlags, int64_t userValue)
Load CNC Calc plugin (see CNC Calc plug-in exported functions) More...
void | ToolChain_FlushLogFile ()
Flush (force to write to disk) the log file.
void | ToolChain_LogANSI (TGM_LPCSTR info)
Append the string to the log file. More...
int32_t | ToolChainCore_SetUserParams (uint32_t intIdx, const float64_t *userParams, uint32_t userParamsCount)
Set parameters P00 - P99 for use in G-code. More...
int32_t | ToolChainCore_GCodePrefixPostfix (uint32_t intIdx, TGM_LPCSTR strPrefix, TGM_LPCSTR strPostfix)
float64_t | ToolChainCore_GetGCodeRunTime (uint32_t intIdx, int32_t fileIdx)
int32_t | ToolChainCore_SetGCodeRunTime (uint32_t intIdx, int32_t fileIdx, float64_t timeInS)
Set runtime of the G code. More...
int32_t | ToolChainCore_ResetStatusCNC (uint32_t intIdx, cnc::reset_status_cnc mode)
Enables to clear the memory or set the status to out of trajectory. More...
int32_t | ToolChainCore_SetLogValue (uint32_t logValue) noexcept
Set new log value directly to CNC module. More...
uint32_t | ToolChainCore_GetLogValue () noexcept
Get actual log value set by INI file or by ToolChainCore_SetLogValue() More...

Detailed Description

The following functions are exported from SF_TCh_5.dll or libSF_TCh_5.so dynamic libraries.

Function Documentation

◆ ToolChain_LogANSI()

void ToolChain_LogANSI ( TGM_LPCSTR info )

Append the string to the log file.

Parameters
info String to be added, always ANSI

◆ ToolChainCore_CompileFromFile()

int32_t ToolChainCore_CompileFromFile | ( | uint32_t | intIdx,
 |  | TGM_LPCTSTR | fileName
 | ) |  |

Compiles G-code from file.

Returns
Error code | Description
-1 | bad parameter fileName or compilation is in progress
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
0 | success
Parameters
intIdx | Core index (0-2 on PC, 0-1 on TGMmini)
fileName | Name of the G-code file (with full path)

Compilation is done in a separate thread. Function ToolChainCore_StatusCNC can be used to detect whether compilation is finished. After that ToolChainCore_GetLastError must be called to test whether an error occurred. Only after that the sequence of ToolChainCore_ResetCNC and ToolChainCore_StartCNCEx can be called.

◆ ToolChainCore_CompileFromMemory()

int32_t ToolChainCore_CompileFromMemory | ( | uint32_t | intIdx,
 |  | TGM_LPCTSTR | fileName,
 |  | TGM_LPCSTR | mainCode
 | ) |  |

Compiles G-code from string in memory.

Returns
Error code | Description
-1 | bad parameter fileName or compilation is in progress
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
0 | success
Parameters
intIdx | Core index (0-2 on PC, 0-1 on TGMmini)
fileName | Optional name of the G-code file. Must not be nullptr.
mainCode | G-code text in the form of ANSI string.

Compilation is done in a separate thread. Function ToolChainCore_StatusCNC can be used to detect whether compilation is finished. After that the ToolChainCore_GetLastError must be called to test whether an error occurred. Only after that the sequence of ToolChainCore_ResetCNC and ToolChainCore_StartCNCEx can be called.

◆ ToolChainCore_ConnectCNCEx_Plane()

int32_t ToolChainCore_ConnectCNCEx_Plane | ( | uint32_t | intIdx,
 |  | cnc::connect_type | nType,
 |  | const uint32_t | nCoords,
 |  | const float64_t * | coords,
 |  | TGM_LPCSTR | strAddCode,
 |  | uint32_t | bitCodedAxesForCalc,
 |  | uint32_t | bitCodedAxesForConnect,
 |  | cnc::status_after_connect | trajectoryStateAfterConnectRequest
 | ) |  |

Move to the nearest point of trajectory of G-code with possibility of M function insertion after the connection movement.

Returns
Error code | Description
-1 | Invalid parameter coords or calling is impossible in the given status, e.g. compilation is running or machine is moving
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
0 | success
Parameters
intIdx | Core index (0-2 on PC, 0-1 on TGMmini)
nType connection type (see also enum cnc::connect_type)
  • 0 Go to the nearest point of trajectory from the coords coordinates and stop
  • 1 Go to G-code line, line no. is in coords[0], file no. or 0 is in coords[1], goes to the initial point in G-code and stop, the line is set
  • 10 Go to the nearest point of trajectory from the coords and go on in mode 30 (normally forward)
  • 11 Go to G-code line, line no. in coords[0], file no. or 0 is in coords[1], goes to the initial point in G-code and stop, the line is set
  • 20 Go to n-th repeat of specified M function, coords[0] has number of repeats, coords[1] has M function number
  • 21 Go in relatively by n-th repeat of specified M function, coords[0] has number of repeats, coords[1] has M function number
    • If G-code is at the beginning (status = -30), only positive values of repeats can be used (> 0).
    • If G-code is at the end (status = -32), only negative or zero values of repeats can be used (<=0).
    • If G-code is interrupted (status = -31):
      • If the number of repeats is 0, it will find the nearest previous M function with the relevant number (if standing right at the relevant M function, it will stay there).
      • If number of repeats equals +1, it will find the next nearest M function after the G-code line, where the machine is just standing.
      • If number of repeats equals -1, it will first find M function as in the case of 0 repeats and then yet another one preceding.
      • Similarly for higher numbers of repeats.
  • 30 Go to the begin of part specified by G-code index (each G and M functions have their unique numbers - G-code index).
    • coords[0]: G-code index
    • coords[1]: maximal number of axes which will be moved to starting point of the G-code part.
  • 31 Go to the nearest point of part specified by G-code index.
    • coords[0]: G-code index
    • coords[1]: maximal number of axes which will be moved to starting point of the G-code part.
  • 32 Go to the end of part specified by G-code index.
    • coords[0]: G-code index
    • coords[1]: maximal number of axes which will be moved to starting point of the G-code part.
  • 40 Go to the nearest point of trajectory from the coords and continues in mode 30 (normally forward), there is no delay between the move onto trajectory and the machining
  • 41 Go to start of G-code line, line no. is on X, file no. or 0 is on Y, goes to the initial point of the part and continue the movement, i.e. there is no delay between the move onto trajectory and the machining
  • 42 Go to end of G-code line, line no. is on X, file no. or 0 is on Y and continues on the trajectory without any delay
  • 44 Go to the nearest point of the G-code part determined by its G-code index. After the movement to the connection point the execution of the G-code parts continues immediately.
    • coords[0]: G-code index
    • coords[1]: maximal number of axes which will be moved to starting point of the G-code part.
  • 46 Go to the exact point on trajectory given by coords and G-code index and continue movement.
    • coords[0 .. 9]: Point which must lie on the trajectory (0 - X pos, 1 - Y, 2 - Z, 3 - C, 4 - B, 5 - U, 6 - V, 7 - W, 8 - A, 9 - O)
    • coords[10]: G-code index of the part to connect
nCoords | number of coordinates in the coords array (may be 0 - for the connection type 0 or 10, after that the current machine position will be used)
coords | array of coordinates. Meaning of the values vary with the type of connection. See enum cnc::connect_type.
strAddCode | pointer to the G-code text (ANSI string) that will be sent BEFORE the main G-code. All G-functions are ignored in this G-code, only M functions will be sent. Can be nullptr or empty string.
bitCodedAxesForCalc bit coded value for connection distance calculation, maximum of three axes is allowed, if more, the first three set will be used.
  • Bit order of axes: X 0x1 Y 0x2 Z 0x4 C 0x8 B 0x10 U 0x20 V 0x40 W 0x80 A 0x100 O 0x200
  • Can be zero, then all axes are taken into account during the calculation. Calculation is done incrementally in planes XY, XZ, XC, XB, XU, XV, XW, XA, XO.
  • If two bits are set, the calculation is done in the given plane. If the plane of the G2/G3 functions match the plane of the calculation (G17 - XY, G18 - XZ, G19 - YZ), distance of point to arc is calculated, otherwise the G2/G3 is viewed as a line.
  • If three bits are set, the calculation is done in a Cartesian space of the given axes. G2/G3 are calculated as arcs only if the first two bits represents the plane of the arc and there is no movement in the third axis (i.e. no screw movement).
  • For complicated movements within n-dimensional space it is better not to use G2/G3 and compose the movement from a series of short G1 lines.
bitCodedAxesForConnect Determines which axes are moved to the connection point after the calculations.
  • If zero, then up to the number of used axes (the value nCoords for connection types 0, 10, 40, other types can select the number of movement axes in coords[2])
  • If any bit is set, then the according axis will be moved to the connection point. To move all the 10 axes (which is recommended), use the value 0x3FF here.
trajectoryStateAfterConnectRequest | if zero, the state will be set automatically (either on trajectory or out of trajectory), if set to 2, the status out of trajectory will be reported. Other values are invalid, and the function returns an error without performing any action.

◆ ToolChainCore_DestroyCNC()

int32_t ToolChainCore_DestroyCNC ( uint32_t intIdx )

Finishes work with DLLs and frees all the allocated memory.

Should be called only before the main .EXE file exits. Must be called for all cores, returned by ToolChainCore_LoadFromIni.

Returns
Error code or 0 for success
Parameters
intIdx Core index (0-2 on PC, 0-1 on TGMmini)

◆ ToolChainCore_FileToIdx()

int32_t ToolChainCore_FileToIdx | ( | uint32_t | intIdx,
 |  | TGM_LPCTSTR | fileName
 | ) |  |

Returns index number of the file with a given name. If the file name is new, it returns a new number.

When using CNC module in real-time TGMotion, maximal number is 16. The inverse function is ToolChainCore_IdxToFile. Length of filename must be less than 252 characters.

Returns
Positive value for existing files, negative value for special types:
fileName | returned value
"__unknown__" | -1
"__end__" | -2
"__stop__" | -3
"__exec__" | -4
Parameters
intIdx | core index (0-2 on PC, 0-1 on TGMmini)
fileName | complete path to file. UNICODE on PC, ANSI on TGMmini

◆ ToolChainCore_GCodePrefixPostfix()

int32_t ToolChainCore_GCodePrefixPostfix | ( | uint32_t | intIdx,
 |  | TGM_LPCSTR | strPrefix,
 |  | TGM_LPCSTR | strPostfix
 | ) |  |
Parameters
intIdx
strPrefix
strPostfix
Returns
TOOLCHAIN_DLL_EXPORT int32_t TOOLCHAIN_CALLTYPE

◆ ToolChainCore_GetGCodeParameters()

int32_t ToolChainCore_GetGCodeParameters | ( | uint32_t | intIdx,
 |  | cnc::GCODE_PARAMETERS * | params
 | ) |  |

Obtains values set with ToolChainCore_SetGCodeParameters, or read from .INI file during startup.

Returns
Error code | Description
-1 | invalid parameter params or machine is in motion
0 | success
Parameters
intIdx | Core index (0-2 on PC, 0-1 on TGMmini)
params | Pointer to cnc::GCODE_PARAMETERS structure, which will be filled with set values

◆ ToolChainCore_GetGCodeRunTime()

float64_t ToolChainCore_GetGCodeRunTime | ( | uint32_t | intIdx,
 |  | int32_t | fileIdx
 | ) |  |
Parameters
intIdx
fileIdx
Returns

◆ ToolChainCore_GetGCodeSizeInfo()

int32_t ToolChainCore_GetGCodeSizeInfo | ( | uint32_t | intIdx,
 |  | cnc::GCODE_INFO * | pInfo
 | ) |  |

Identifies size (dimension) of G-code.

Returns
Error code | Description
-1 | invalid parameter pInfo
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
0 | OK
Parameters
intIdx | core index (0-2 on PC, 0-1 on TGMmini)
pInfo | pointer to cnc::GCODE_INFO, which will be filled with the size values

◆ ToolChainCore_GetLastError()

int32_t ToolChainCore_GetLastError | ( | uint32_t | intIdx,
 |  | cnc::CALLBACK_INFO * | pLastErrorInfo
 | ) |  |

Returns the last error, if any.

There is also possibility to register callback function cnc::DispAndLocateErrorFunc for immediate notify of an error.

Returns
Last error code
Error code | Description
-1 | invalid parameter lastErrorInfo
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
0 | success (there was no error, compilation or runtime - members of pLastErrorInfo structure are not set)
1 | xexec error (runtime error)
Parameters
intIdx | core index (0-2 on PC, 0-1 on TGMmini)
pLastErrorInfo | Pointer to structure cnc::CALLBACK_INFO with returned error information (for return values 1 or 2)

◆ ToolChainCore_GetLogValue()

uint32_t ToolChainCore_GetLogValue ( )
noexcept

Get actual log value set by INI file or by ToolChainCore_SetLogValue()

Returns
Actual log value

◆ ToolChainCore_GetMachineParameters()

int32_t ToolChainCore_GetMachineParameters | ( | uint32_t | intIdx,
 |  | cnc::MACHINE_PARAMETERS * | pParameters
 | ) |  |

Returns actual values of MACHINE_PARAMETERS.

Returns
Error code | Description
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
-1 | timeout
0 | success
Parameters
intIdx | core index (0-2 on PC, 0-1 on TGMmini)
pParameters | pointer to cnc::MACHINE_PARAMETERS structure, will be filled with actual values
Note
This function can be called at any time (i.e. during any CNC status)

◆ ToolChainCore_GetPosEx()

int32_t ToolChainCore_GetPosEx | ( | uint32_t | intIdx,
 |  | int32_t | reserved,
 |  | cnc::ACTUAL_GM_VALUES * | pos
 | ) |  |

Returns current position of machine axes together with additional informations.

Returns
Error code | Description
-1 | parameter pos is nullptr
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
0 | success
Parameters
intIdx | Core index (0-2 on PC, 0-1 on TGMmini)
reserved | Not used
pos | Pointer to cnc::ACTUAL_GM_VALUES structure which will be filled with actual values.

◆ ToolChainCore_GetStructuresSize()

int32_t ToolChainCore_GetStructuresSize | ( | uint32_t | intIdx,
 |  | uint32_t | nItems,
 |  | uint32_t * | items
 | ) |  |

Returns bytes sizes of internal structures.

Relevant to checking of DLL versions and the main application.

Returns
Always 0
Parameters
intIdx | core index (0-2 on PC, 0-1 on TGMmini) - not used here
nItems | number of items in items array, in the range 1 - 8.
items pointer to array filled with following values:
Index | Description
0 | maximal number of checked arrays, up to now 8, could be increased in the future
1 | size of cnc::GCODE_PARAMETERS
2 | size of cnc::SIMPLE_GM_PARAMS_WIN32
3 | size of cnc::ACTUAL_GM_VALUES
4 | size of cnc::CALLBACK_INFO
5 | size of cnc::GCODE_INFO
6 | size of cnc::MACHINE_STATUS
7 | size of cnc::MACHINE_PARAMETERS
8 | size of cnc::DLL_INIT_STRUCT

◆ ToolChainCore_GetVersionString()

TGM_LPCTSTR ToolChainCore_GetVersionString ( uint32_t intIdx )

Returns the DLLs version number and the date and time of compilation.

Returns
UNICODE (PC) or ANSI (TGMmini) string
Parameters
intIdx core index (0-2 on PC, 0-1 on TGMmini) - ignored in this function

◆ ToolChainCore_GoToPosition()

int32_t ToolChainCore_GoToPosition | ( | uint32_t | intIdx,
 |  | const uint32_t | nCoords,
 |  | const float64_t * | coords
 | ) |  |

Manual control.

Moves axes to desired position. Movement parameters (speed + acceleration) are defined using ToolChainCore_SetGCodeParameters

Returns
Error code | Description
-1 | Error - machine is in motion
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
0 | success
Parameters
intIdx | core index (0-2 on PC, 0-1 on TGMmini)
nCoords | number of coordinates in the coords array
coords | wanted coordinates 0 - X, 1 - Y, 2 - Z, 3 - C, 4 - B, 5 - U, 6 - V, 7 - W, 8 - A, 9 - O

◆ ToolChainCore_GoToPositionEx()

int32_t ToolChainCore_GoToPositionEx | ( | uint32_t | intIdx,
 |  | const cnc::SIMPLE_GM_PARAMS_WIN32 * | pDest
 | ) |  |

Extended manual control.

Moves axes to desired position by linear or arc movement.

Returns
Error code | Description
-1 | Error - machine is in motion
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
0 | success
Parameters
intIdx core index (0-2 on PC, 0-1 on TGMmini)
pDest specifies end position, type of trajectory and optional feed. The following fields of the cnc::SIMPLE_GM_PARAMS_WIN32 structure are used:
  • cnc::SIMPLE_GM_PARAMS_WIN32::m_calcE - end position in absolute coordinates
  • cnc::SIMPLE_GM_PARAMS_WIN32::m_func - type of movement:
    • 1 - linear interpolation (G1)
    • 2 - arc interpolation CW (G2)
    • 3 - arc interpolation CCW (G3)
  • cnc::SIMPLE_GM_PARAMS_WIN32::m_cc - arc center (X: m_cc[0] Y: m_cc[1] Z: m_cc[2]) and radius (m_cc[3]). Radius is not yet used in calculation.
  • cnc::SIMPLE_GM_PARAMS_WIN32::m_cc[8] - feed (if non-zero)
  • cnc::SIMPLE_GM_PARAMS_WIN32::m_planeTool - plane for arc interpolation (17 - XY, 18 - XZ, 19 - YZ)

◆ ToolChainCore_IdxToFile()

TGM_LPCTSTR ToolChainCore_IdxToFile | ( | uint32_t | intIdx,
 |  | int32_t | fileIdx
 | ) |  |

Returns the complete filename of file with relevant number (index).

Returns
Filename or special text for special numbers. For non-existent number it returns "__unknown__"
fileIdx | returned string
-1 | "__unknown__"
-2 | "__end__"
-3 | "__stop__"
-4 | "__exec__"
Parameters
intIdx | core index (0-2 on PC, 0-1 on TGMmini)
fileIdx | File name index (e.g. from cnc::SIMPLE_GM_PARAMS_WIN32 structure)

◆ ToolChainCore_Init()

int32_t ToolChainCore_Init ( const cnc::DLL_INIT_STRUCT * pInitValues )

Init the CNC module.

This should be the first called function of the CNC module. If not used, reasonable defaults are used (all paths set to actual directory and core mode set to TGMotion).

Returns
Error code | Description
-1 | any of the members in pInitValues is nullptr
0 | success
Parameters
pInitValues pointer to cnc::DLL_INIT_STRUCT with initialization parameters

◆ ToolChainCore_IsBusy()

int32_t ToolChainCore_IsBusy ( uint32_t intIdx )

Checks if the machine is executing G-code.

Returns
0 if not busy, positive value if busy, negative for error (intIdx parameter out of range - must be 0-2 on PC, only 0-1 on TGMmini)
Parameters
intIdx Core index (0-2 on PC, 0-1 on TGMmini)

◆ ToolChainCore_LoadCNCCalcPlugIn()

int32_t ToolChainCore_LoadCNCCalcPlugIn | ( | TGM_LPCTSTR | fileName,
 |  | uint32_t | loadFlags,
 |  | int64_t | userValue
 | ) |  |

Load CNC Calc plugin (see CNC Calc plug-in exported functions)

After successful call of this function, the CNC status is set to cnc::cnc_status::INVALID_00 and the G-code must be loaded again.

Parameters
fileName | Complete path of the plug-in file (.DLL or .so). If empty null-terminated string, unloads the plug-in.
loadFlags | Reserved for future use
userValue | This value will be copied to cnc::CNC_CALC_INIT_DATA::userValue. Application can store here any value, pointer, etc. During call of CNC_Calc_Load function, the CNC Calc plugin can store this value and use it for any purpose.
Returns
Error code | Description
-1 | Any error. See note below.
1 | Success
Note
The function cannot be called in the statuses of positive value (>0).

◆ ToolChainCore_LoadFromIni()

int32_t ToolChainCore_LoadFromIni | ( | uint32_t | intIdx,
 |  | TGM_LPCTSTR | iniFile,
 |  | uint32_t * | pnMaxCores
 | ) |  |

Loads DLL chain from INI file.

Returns
Error code | Description
TOOL_CHAIN_SUCCESS | success
TOOL_CHAIN_XEXEC | failure
Parameters
intIdx | Core index (0-2 on PC, 0-1 on TGMmini)
iniFile | Full path of the .INI file
pnMaxCores | Pointer to variable which receives number of available cores in the system, can be nullptr

Call this function at the application startup

Note
Mandatory entries of the .INI file:
[Modules]
;##########################################################################################
Compiler0=SF_DComp_5
Executor0=SF_DExec_5
Calculator0=SF_XYZMath_5
CNC0=SF_XYZWorker_5
;##########################################################################################
[CNC]
Driver=SF_RTDrv_5

◆ ToolChainCore_MFunc()

int32_t ToolChainCore_MFunc | ( | uint32_t | intIdx,
 |  | const cnc::SIMPLE_GM_PARAMS_WIN32 & | fun,
 |  | int32_t | bDirectToPLC
 | ) |  |

Send M function directly to system.

Invoke PLC's M function. The interpolator must be in a stop state. Application must wait for M function finish by reading INTERPOLATOR::M_Func variable.

Returns
Error code | Description
-1 | Error - machine is in motion or previous M function is pending
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
0 | success
Parameters
intIdx | core index (0-2 on PC, 0-1 on TGMmini)
fun | Function number to be used. Only SIMPLE_GM_PARAMS_WIN32::m_func field is used (M function number).
bDirectToPLC | reserved, now internally set to 1 (i.e. the M fucntion is always directly signalized to PLC)

◆ ToolChainCore_ResetCNC()

int32_t ToolChainCore_ResetCNC | ( | uint32_t | intIdx,
 |  | int32_t | regime,
 |  | const uint32_t | nCoords,
 |  | const float64_t * | coords
 | ) |  |

Sets the initial position for G-code.

Returns
Error code | Description
-1 | one or more invalid parameters
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
0 | success

If there is any activity in progress, it is ended, i.e. compilation is interrupted, G-code is stopped and ended.

Parameters
intIdx | Core index (0-2 on PC, 0-1 on TGMmini)
regime | ---------— | -----------------— 1 | Only sets initial position for G-code, no setting of coordinates 10 | Setting of coordinates for simulation (not yet implemented) 20 | Setting of coordinates for testing (not yet implemented) Other values | Setting of coordinates for machine
nCoords | Number of coordinates in coords array to be set. Unused axes will remain at its actual values. Could be zero and coords set to nullptr, then actual values of all the axes are used.
coords | Coordinates 0 - X, 1 - Y, 2 - Z, 3 - C, 4 - B, 5 - U, 6 - V, 7 - W, 8 - A, 9 - O

◆ ToolChainCore_ResetStatusCNC()

int32_t ToolChainCore_ResetStatusCNC | ( | uint32_t | intIdx,
 |  | cnc::reset_status_cnc | mode
 | ) |  |

Enables to clear the memory or set the status to out of trajectory.

Can be called only if CNC status is a negative number.

Parameters
intIdx core index (0-2 on PC, 0-1 on TGMmini)
mode allowed modes:
Mode | Description
0 | Removes compiled file, free memory, set the CNC status to cnc::cnc_status::INVALID_00
1 | Set the internal status to cnc::cnc_status::OUT_OF_TRAJECTORY_M50
Returns
Error code | Description
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
-1 | The CNC module is in motion state
0 | success

◆ ToolChainCore_SetBreakpoint()

int32_t ToolChainCore_SetBreakpoint | ( | uint32_t | intIdx,
 |  | uint32_t | editorLine,
 |  | int32_t | fileIdx
 | ) |  |

Set breakpoint in the G-code.

The run stops just BEFORE the G-code part on the gived editor line

Returns
Error code | Description
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
0 | success
Parameters
intIdx | core index (0-2 on PC, 0-1 on TGMmini)
editorLine | Line number, execution stops before this line
fileIdx | File index, can be get by ToolChainCore_FileToIdx

◆ ToolChainCore_SetCallBack()

int32_t ToolChainCore_SetCallBack | ( | uint32_t | intIdx,
 |  | uint32_t | fceNo,
 |  | intptr_t | dwUserData,
 |  | cnc::FuncPrototype * | funcPtr
 | ) |  |

Sets callback function.

Callbacks are way of reverse communication from CNC module back to application. The list of all available callback function is here.

Returns
Error code | Description
-1 | invalid fceNo value
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
0 | callback function set
Parameters
intIdx | core index (0-2 on PC, 0-1 on TGMmini)
fceNo | callback function number
dwUserData | any user value which will be passed to the callback function
funcPtr | pointer to function (casted to general function prototype)
Note
For functions with fceNo greater than 1000 (APP_MaxFuncNumber) the ToolChainCore_SetCallBack function only can be called after ToolChainCore_LoadFromIni.

◆ ToolChainCore_SetGCodeParameters()

int32_t ToolChainCore_SetGCodeParameters | ( | uint32_t | intIdx,
 |  | const cnc::GCODE_PARAMETERS * | params
 | ) |  |

Sets parameters (properties) of G-code.

Calling is possible also during G-code interruption ToolChainCore_StopCNCEx, but only some fields of cnc::GCODE_PARAMETERS can be changed (mostly the feeds). First call ToolChainCore_GetGCodeParameters, then change only the structure fields and then set the changed parameters by ToolChainCore_SetGCodeParameters.

Returns
Error code | Description
-1 | invalid parameter params or parameters cannot be changed at this moment (machine is in motion)
0 | success
Parameters
intIdx | Core index (0-2 on PC, 0-1 on TGMmini)
params | Pointer to cnc::GCODE_PARAMETERS structure with desired parameters

◆ ToolChainCore_SetGCodeRunTime()

int32_t ToolChainCore_SetGCodeRunTime | ( | uint32_t | intIdx,
 |  | int32_t | fileIdx,
 |  | float64_t | timeInS
 | ) |  |

Set runtime of the G code.

Parameters
intIdx
fileIdx
timeInS
Returns

◆ ToolChainCore_SetLogValue()

int32_t ToolChainCore_SetLogValue ( uint32_t logValue )
noexcept

Set new log value directly to CNC module.

Parameters
logValue bit-coded value to set what information is logged and where. Bits can be anyhow combined. At least on of the Output bit (see the table) must be set to produce any output. The logging is common for all the CNC cores.
Bit value | Description
0x00000001 | Debug mode - generates helper debug files to analyze G-code processing
0x00000002 | Verbose - increases number of information sent to Log and/or debug files
0x00000004 | Worker - info from SF_XYZWorker_5 library
0x00000008 | ToolChain - info from the main SF_TCh_5 library
0x00000010 | Driver - info from the SF_RTDrv_5 library
0x00000020 | Compiler - info from G-code analyzer and compiler SF_DComp_5 library
0x00000040 | Exec - info from executor SF_DExec_5 library
0x00000080 | Math - info from tool compensation calculator SF_XYZMath_5 library
0x10000000 | Output to DebugView - send information to DbgView (Windows) or console (Linux)
0x20000000 | Output to File - send information to log file (usually in log subdirectory)
0x40000000 | Output to TGMotion - send information to TGMotion Debug Console
Returns
Always success
Note
This function can be called at any time from any thread.
Logging in principle slows down the G-code processing and runtime and should be enabled for diagnostics purposes only.

◆ ToolChainCore_SetMachineParameters()

int32_t ToolChainCore_SetMachineParameters | ( | uint32_t | intIdx,
 |  | const cnc::MACHINE_PARAMETERS * | pParameters
 | ) |  |

Sets new values of MACHINE_PARAMETERS.

Returns
Error code | Description
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
-1 | timeout
0 | success
Parameters
intIdx | core index (0-2 on PC, 0-1 on TGMmini)
pParameters | pointer to cnc::MACHINE_PARAMETERS structure with new values
Note
This function can be called at any CNC status, but it is highly recommended to call it only when the machine is in stop or trajectory break state.

◆ ToolChainCore_SetRelFeed()

int32_t ToolChainCore_SetRelFeed | ( | uint32_t | intIdx,
 |  | float64_t | relFeed
 | ) |  |

Sets the feed override (relative speed).

Returns
Error code | Description
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
0 | success
Parameters
intIdx | core index (0-2 on PC, 0-1 on TGMmini)
relFeed | Relative feed value in range 0.001 - 2.0. (i.e. 0.1 % - 200 %). Invalid values are rounded to above boundaries.

◆ ToolChainCore_SetUserParams()

int32_t ToolChainCore_SetUserParams | ( | uint32_t | intIdx,
 |  | const float64_t * | userParams,
 |  | uint32_t | userParamsCount
 | ) |  |

Set parameters P00 - P99 for use in G-code.

Parameters
intIdx | core index (0-2 on PC, 0-1 on TGMmini)
userParams | array of 100 float64_t parameters
userParamsCount | must be 0 - do not use the parameters or 100. Other values are invalid.
Returns

◆ ToolChainCore_StartCNCEx()

int32_t ToolChainCore_StartCNCEx | ( | uint32_t | intIdx,
 |  | cnc::cnc_status | regime,
 |  | TGM_LPCSTR | strAddGCode
 | ) |  |

Start or continue G-code.

If the G-code is already started (in modes 30,31,32,33) and stopped with ToolChainCore_StopCNCEx, it can continue in modes 30, 31, 32. When modes 10 and 20 are interrupted, proceeding is only possible in the same mode. Before the first start or after completion of the whole trajectory ToolChainCore_ResetCNC must be called.

Returns
Error code | Description
-1 | Compilation is running or relevant mode cannot be launched (e.g. because the machine is in motion).
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
0 | success
Parameters
intIdx | Core index (0-2 on PC, 0-1 on TGMmini)
regime Start regime:
Value | Description
10 | Simulation
20 | Test
30 | CNC forward
31 | CNC forward without M functions with feed defined in cnc::GCODE_PARAMETERS
32 | CNC backward (without M functions)
33 | CNC forward, M functions are ignored up to the first G function, then everything goes forward like CNC (30) (also speeds, accelerations etc...)
strAddGCode | Pointer to the G-code text (ANSI string) that will be sent BEFORE the main G-code. All G-functions are ignored in this G-code, only M functions will be sent. Can be nullptr.

◆ ToolChainCore_StatusCNC()

cnc::cnc_status ToolChainCore_StatusCNC ( uint32_t intIdx )

Actual CNC module state.

Returns
One of the following value (see also enum cnc::cnc_status)
Status | Description
0 | Undefined status after starting .EXE or G-code is not loaded or an error occurred during G-code loading.
-2 | remote device not connected (TGM_MINI, TGM_REMOTE)
1 | Compilation in progress
-1 | Compilation completed (OK or NOK) - if OK call ToolChainCore_ResetCNC then ToolChainCore_StartCNCEx
10 | Simulation in progress
-10 | Simulation completed (OK or NOK) - if OK call ToolChainCore_ResetCNC then ToolChainCore_StartCNCEx
-11 | Simulation interrupted by ToolChainCore_StopCNCEx (on trajectory)
20 | Test in progress
-20 | Test completed (OK or NOK)
-21 | Test interrupted by ToolChainCore_StopCNCEx (on trajectory)
-30 | Start of trajectory (after calling ToolChainCore_ResetCNC or at the end of backward move)
-31 | Stop on trajectory (interruption with ToolChainCore_StopCNCEx or after connecting or emptying the backing buffer)
-32 | End of trajectory
-33 | Stop on trajectory - waits on M0 function in the G-code
30 | Forward run on trajectory
31 | Forward run on trajectory without M functions
32 | Backward run on trajectory
33 | Forward run on trajectory without initial M functions (up to the first G function)
40 | Calculation of connecting to trajectory
41 | Connecting to trajectory
50 | Manual movement
-50 | Stands outside trajectory
60 | Internal calculations are in progress
70 | Sending of starting M functions in progress (ToolChainCore_StartCNCEx)
80 | Sending of ending M functions in progress (ToolChainCore_StopCNCEx)
90 | Sending connecting M funcs

The CNC status is also returned by ToolChainCore_GetPosEx in the cnc::ACTUAL_GM_VALUES structure, so there is no need to call this function if the ToolChainCore_GetPosEx is used.

◆ ToolChainCore_StopCNCEx()

int32_t ToolChainCore_StopCNCEx | ( | uint32_t | intIdx,
 |  | TGM_LPCSTR | strAddCode
 | ) |  |

Stops motion or connecting (break).

After stopping it sends the defined G-code (only M function), unless backward move (32) or running without M functions (31) is in process. The sending can only be canceled only by function ToolChainCore_ResetCNC. After that the process can go on, i.e. ToolChainCore_StartCNCEx or finish by ToolChainCore_ResetCNC functions or connect to a trajectory by ToolChainCore_ConnectCNCEx_Plane.

Returns
Error code | Description
-1 | Machine not in motion, the function has no sense
-2 | intIdx parameter out of range (must be 0-2 on PC, only 0-1 on TGMmini)
0 | success
Parameters
intIdx | Core index (0-2 on PC, 0-1 on TGMmini)
strAddCode | Pointer to the text of G-code (ANSI string) that will be sent after machine stops. Only M functions are sent, G-functions are ignored. Can be nullptr, then no additional M functions are sent.


TG Motion: G-code description

G-code description

Supported and internal G/M functions.

Addresses

All parameters of the G or M functions are called addresses. Addresses are always composed with a letter and number (e.g. X 20.45). Some of the addresses are modal, i.e. the value is kept in the following G functions even if they are not specified in the G-code. TG Motion supports up to 10 interpolated axes. The mapping of address letters to axis index is fixed:

Letter | X | Y | Z | C | B | U | V | W | A | O
Index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

Values in the addresses can be numbers, parameters or mathematical expressions. See G-code extensions.

G Functions

G functions are used mainly for movements, but have also some specialized meanings. The following functions are internally supported by the system:

Function | Addresses (optional are in [] brackets) | Description
G0 | [X] [Y] [Z] [C] [B] [U] [V] [W] [A] [O] | Rapid linear traverse movement.
G1 | [X] [Y] [Z] [C] [B] [U] [V] [W] [A] [O] [F] | Linear movement, feed is specified in the F address (in mm/min).
G2, G3 | [X] [Y] [Z] [I] [J] [K] [C] [B] [U] [V] [W] [A] [O] [F] | Arc movement CW (G2) or CCW (G3). Center is defined by IJK addresses relatively from start point.
G2, G3 | [X] [Y] [Z] [I] [J] [K] [C] [B] [U] [V] [W] [A] [O] [F] Q70 | Arc movement. Center is defined by IJK addresses in absolute coords.
G2, G3 | [X] [Y] [Z] R [C] [B] [U] [V] [W] [A] [O] [F] | Arc movement. Center is defined by radius R. Maximal arc angle is <= 180°.
G4 | [W ms] or [T H X s] | Wait (dwell). Time is specified in seconds (addresses T or H or X) or in milliseconds (address W).
G17 |  | Set arc movement plane to XY.
G18 |  | Set arc movement plane to XZ.
G-18 |  | Set arc movement plane to ZX (lathe only).
G19 |  | Set arc movement plane to YZ.
G21 |  | Empty function, does nothing
G24 |  | Lathe only: radius programming. Treat values in X as radius (default is diameter).
G25 | [L number] or [label] | Call subroutine on line N number or starting with label. Alias for keyword CALL. Subprogram must end with M17 or RETURN.
G26 | [L number] or [label] H repeats | Call subroutine repeatedly (repeats times).
G27 | [L number] or [label] | Jump to line N number or to label. Alias for keyword GOTO.
G29 | any text | Comment in the G-code text. Comment can also start with // (float64_t slash), REM keyword or ( (opening bracket)
G33 | [X] [Y] [Z] [K or F] | Screw (movement in sync with spindle). K or F specifies the screw pitch.
G40 |  | End of tool compensation.
G41 |  | Tool compensation on the left side of tool path. Compensation size is given by cnc::GCODE_PARAMETERS::correction[0].
G42 |  | Tool compensation on the right side of tool path. Compensation size is given by cnc::GCODE_PARAMETERS::correction[1].
G43 |  | Tool compensation on the left side of tool path. Compensation size is given by cnc::GCODE_PARAMETERS::correction[2].
G44 |  | Tool compensation on the right side of tool path. Compensation size is given by cnc::GCODE_PARAMETERS::correction[3].
G45 |  | Tool compensation on the left side of tool path. Compensation size is given by cnc::GCODE_PARAMETERS::correction[4].
G46 |  | Tool compensation on the right side of tool path. Compensation size is given by cnc::GCODE_PARAMETERS::correction[5].
G47 |  | Tool compensation on the left side of tool path. Compensation size is given by cnc::GCODE_PARAMETERS::correction[6].
G48 |  | Tool compensation on the right side of tool path. Compensation size is given by cnc::GCODE_PARAMETERS::correction[7].
G53 |  | Disable zero offset (set to zero).
G54 | [X] [Y] [Z] | Set zero offset. Addresses not present in the G54 set the particular offset to zero. (G54 X10 is the same as G54 X10 Y0 Z0).
G55 | [X] [Y] [Z] | Set zero offset. Same as G54.
G56 | [X] [Y] [Z] | Set zero offset. Same as G54.
G57 | [X] [Y] [Z] | Set zero offset. Same as G54.
G59 | [X] [Y] [Z] | Set zero offset. Addresses not present in the G59 does not change the particular offset of that axis.
G90 | [X] [Y] [Z] [C] | Set absolute programming. Values in the XYZCBUVWAO addresses are treated as absolute. If any of XYZC addresses are present in G90, acts as G1 as well (with absolute coords).
G91 | [X] [Y] [Z] [C] | Set relative programming. If any of XYZC addresses are present, acts as G1 as well (with relative coords).
G92 | [X] [Y] [Z] [C] [B] [U] [V] [W] [A] [O] | Sets the new value to specified axis (without any movement).
G94 |  | Set feed (address F) in mm/min units. Lathe only: also disable constant cutting speed.
G95 |  | Set feed in mm/rev units.
G96 |  | Lathe only: set constant cutting speed - spindle speed changes with radius (X address)
G97 | [S] | Lathe only: disable constant cutting speed. If address S is present, set turn speed value (does not change the actual spindle speed).
G98 | [X] [Y] [Z] [C] [B] [U] [V] [W] [A] [O] | Reference. Must have support in PLC for reference axis moves. After successful reference, specified coordinates of axes are set.
G167 | [E] [A] [U] [Q] | Enable/disable auto insert arcs between lines. E is maximal allowed deviation, A is minimal deviation, U is maximal angle (90° is default), Q is arc plane. Use G167 without addresses to disable arc insertion.
G168 | X Y Z R [Q plane] | Rotation. Depending on plane, XYZ is center of rotation, R is angle. Q is optional (must be 17/18/19), if not used, the last G17/G18/G19 is used to determine the rotation axis (always perpendicular to the plane).
G168 | X Y Z I J K R | Rotation. Center is given by XYZ, rotation axis by vector IJK. R is rotation angle.
G169 |  | Switch off rotation.
G172 | [R] [C] [D] | Affects tool compensation calculation. R sets cnc::CORR_STRATEGY_NO_ADD_R value, C sets number of parts to be searched for possible crosses (see cnc::CORR_STRATEGY_SEARCH_DEEP_ALL), D sets (1) or disables (0) cnc::CORR_STRATEGY_REMOVE_SMALL_ARCS.
G173 |  | Set default strategy for tool compensation: Sets cnc::CORR_STRATEGY_REMOVE_SMALL_ARCS, cnc::CORR_STRATEGY_DEFAULT_DEEP and disables cnc::CORR_STRATEGY_NO_ADD_R.
G900 | S value [additional addresses] | Change settings of cnc::GCODE_PARAMETERS. See Special settings function G900 for detailed description.

M functions

M functions are used for specialized tasks like start spindle rotation, cooling off/on, etc. There are built-in functions with standardized (default) actions. At the startup, the built-in M functions are active, but the their default behavior can be disabled (then the function will be signaled to PLC as normal M function). Changing the meaning of the built-in functions can be done either by settings in .INI file or by using cnc::GCODE_PARAMETERS fields by an application.
All the signaled M functions need support in PLC.
A few M functions are fixed, cannot be redefined and are not signaled to PLC.

Function | Addresses (optional are in [] brackets) | Description
M0 |  | Unconditional stop. Cannot be redefined. This function is not signaled to PLC.
M1 |  | Synchronize. Waits till interpolator finishes all the G-code parts from buffer and then continue. Not signaled to PLC.
M2 |  | End of G-code. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M02_programEnd1.
M3 | [S] | Start spindle in CW direction. Spindle speed is given by S address or by previous G97 S... function. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M03_startSpindleCW.
M4 | [S] | Start spindle in CCW direction. Spindle speed is given by S address or by previous G97 S... function. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M04_startSpindleCCW.
M5 |  | Stop the spindle. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M05_stopSpindle.
M6 | T [D] [Z] | Change tool. T is tool number, D is optional tool diameter, Z is optional length correction. For mill-like machines. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M06_changeTool.
M6 | T [X Y Z] | Change tool. T is tool number, XYZ are optional tool placement correction. For lathe.
M7 |  | Cooling ON. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M07_coolOn.
M8 |  | Lubricating ON Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M08_oilOn.
M9 |  | Cooling and lubricating OFF. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M09_coolOilOff.
M17 |  | Return from subroutine. Alias to keyword RETURN. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS:M17_return.
M29 |  | Print text report. Alias to keyword PRINT. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M29_print.
M30 |  | End of G-code. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M30_programEnd2.
M80 |  | Switch OFF mirroring. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M80_mirrorOff.
M81 |  | Mirror on X axis (change sign on all the X axis values). Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M81_mirrorX.
M82 |  | Mirror on Y axis. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M82_mirrorY.
M83 |  | Mirror on Z axis. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M83_mirrorZ.
M84 |  | Mirror on X and Y axes. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M84_mirrorXY.
M85 |  | Mirror on X and Z axes. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M85_mirrorXZ.
M86 |  | Mirror on Y and Z axes. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M86_mirrorYZ.
M87 |  | Mirror on X, Y, and Z axes. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M87_mirrorXYZ.
M99 | F | Set default feed. All the movement G functions with F0 will use the specified feed. Can be redefined in .INI file or by cnc::GCODE_PARAMETERS::M99_defFeed.

All the others M functions (till M999) are signaled to PLC and are waiting functions, i.e. the movement stops till PLC signals M function finish by zeroing INTERPOLATOR::M_Func value. Normal M functions can have any addresses (with the exception of G, M, N and P) and these values are also signaled to the PLC.
M functions with numbers greater than 1000 (M1001 and above) are so called continuous functions. These can be appended in the G-code after the movement functions (G1, G2, G3) and are signaled to the PLC without wait for its finish. Continuous functions are signaled at the begin of the particular movement.

G1 X 14.2 Y 45.89 M2003

Special M functions

There is also a set of built-in M functions with negative numbers. These M functions are not signalized to PLC.

Function | Addresses (optional are in [] brackets) | Description
M-5 | [X0/1] [Y0/1] [Z0/1] [C0/1] [B0/1]] [U0/1] [V0/1] [W0/1] [A0/1] [O0/1] | Disable (0) or enable (1) limits for specified axis. The limit values must be already set in cnc::GCODE_PARAMETERS::axisLimits array.
M-6 | [A plcDataAddress] [S gCodeIndex] | If A address is used, save G-code index of the actual part to PLC shared memory (TGM_Data) at the byte address given by A. If S address is used, gCodeIndex value is the new start value of the G-code parts which follows the M-6.


TG Motion: G-code extensions

G-code extensions

TG Motion uses several G-code extensions to simplify G-code programming.

Parametric programming

There are 100 parameters (P00 - P99) which can be used instead of fixed numerical values in any G-code address. All the values are expressed as floating point values with precision of 15-17 digits (float64_t precision).
During G-code execution system uses the value stored in the parameter. Before use, the value should be defined in an assignment.

P37 = 10 + 25 * SIN(45)
G0 X 10 Z P37
Note
Because the parameters are marked as Pxx, the address P is reserved and can be used ONLY for parameters.

Mathematic expressions

Mathematic expression can contain:

  • numbers and/or parameters (P00 - P99)
  • mathematic operations
    • addition +
    • subtraction -
    • multiplication *
    • division /
    • modulo %
    • power of ^
  • mathematic functions (names are case insensitive)
    • SIN(angle) - sinus, angle is in degrees
    • COS(angle) - cosines, angle is in degrees
    • TAN(angle) - tangens, angle is in degrees
    • ASIN(val) - arcus sinus
    • ACOS(val) - arcus cosines
    • ATAN(val) - arcus tangens
    • ATAN2(y, x) - arcus tangens of opposite leg to adjacent leg of a triangle
    • ABS(val) - absolute value
    • FABS(val) - absolute value
    • SQRT(val) - square root
    • LOG10(val) - logarithm of base 10
    • LOG(val) - natural logarithm
    • HYPOT(a, b) - SQRT(a*a + b*b)
    • PI() - pi number 3.1415926....
    • FLOOR(val) - nearest lower integer value of val
    • CEIL(val) - nearest higher integer value of val
    • ReadPLCLong(address) - read integer value from PLC memory at address (note address must be > 0)
    • ReadPLCDouble(address) - read float64_t floating point value from PLC memory at address (note address must be > 0)
    • WritePLCLong(address, arg) - write arg as integer value to PLC memory at address (note address must be > 0). Note that WritePLCLong must be on the right side of an assignment. It returns the previous value in the PLC memory.
      P1 = WritePLCLong(1024, P2)
    • WritePLCDouble(address, arg) - write arg as float64_t floating point value to PLC memory at address (note address must be > 0). Must be on the right side of an assignment.
  • brackets () which can modify/clarify the priority of mathematical operations

Expressions can be entered directly after the address letter:

G0 X P21+P22 Z P23

Or as an assignment to a parameter:

P1 = ReadPLCDouble(1024) + SIN(ABS(ReadPLCLong(2048)))
G1 X P1

Priority of operations

  1. brackets
  2. mathematic functions
  3. power of ^
  4. multiplication and division * /
  5. addition and subtraction + -

Subroutines and labels

Any block of G-code text can act as a subroutine. Subroutine starts with a label or line number and ends with M17 or RETURN. The label is text in the begin of G29 comment function or can be declared independently on a separate line, then it must end with colon :
Functions G25, G26 or keyword CALL can be used to call the subroutine. Subroutines must be in the same G-code file as their call(s).

G1 X... Y...
CALL Subroutine1
...
M2
G29 Subroutine1
G2 X... Y... I... J...
...
RETURN

The same meaning with independent label:

G1 X... Y...
CALL Subroutine1
...
M2
Subroutine1:
G2 X... Y... I... J...
...
RETURN

Using line number N:

G1 X... Y...
G25 L 1000
...
M2
N 1000 G2 X... Y... I... J...
...
RETURN

Loops

There are two loop program constructs available: FOR loop and WHILE loop.
FOR loop syntax is:
FOR initial_value TO end_value [STEP step_value]
... loop body
END

Example:

P2 = -10 // end Z coord
P3 = 2 // safe Z coord
FOR P1 = 0 TO P2 STEP -1
G1 Z P1
G0 Z P3
END

Every FOR loop must end with keyword END.

WHILE loop syntax is:
WHILE condition
.. loop body
END

Example:

P1 = 0 // actual Z coord
P2 = -10 // end Z coord
P3 = 2 // safe Z coord
WHILE P1 > P2
G1 Z P1
G0 Z P3
P1 = P1-1
END
G1 Z P2
G0 Z P3
END

The condition could be:

Symbol | Description
> | Greater than
< | Less than
== | Equal to
!= | Not equal to
<> | Not equal to
<= | Less or equal to
>= | Greater or equal to

Conditional jumps

Sometimes it is useful to skip some block of G-code parts depending on some condition. Conditional jumps are used for this situation.
Syntax is:
IF condition THEN
...
ELSE
...
END

If the condition after the IF keyword is met, the code till ELSE is executed, otherwise the code between ELSE and END is executed.
Example:

FOR P21 = 60 TO 45-P22 STEP P22
IF P24 == 0 THEN
CALL Cone
ELSE
CALL Remove
P23 = P23 + P24
END
P25 = P25 + P26
END

Conditional jumps can be used to exit from loop, exit from subroutine or continue loop on a next iteration:

  • IF condition BREAK - if the condition is valid, exit from the loop and continues program execution after the END keyword of the loop.
  • IF condition RETURN - if the condition is valid, exit from subroutine
  • IF condition CONTINUE - if the condition is valid, slip the rest of loop body and goes to the next loop iteration


TG Motion: Special settings function G900

Special settings function G900

Allows to change fields of cnc::GCODE_PARAMETERS structure from G-code.
G900 has the same meaning as function ToolChainCore_SetGCodeParameters called from application. Application is responsible to correctly get/set parameters changed in G-code by G900.
Depending on address S, the following sub functions are available:

  • S 1 [no addresses] => push actual settings
  • S 2 [no addresses] => pop actual settings
  • S 7 A axis C acc D dec F feed => set limits for an axis
  • S 9 A start_angle B end_angle F feed_at_end_angle => decrease speed by mutual angle of two parts
  • S 10 [X 0/1] [Y 0/1] [Z 0/1] [C 0/1] [B 0/1] [U 0/1] [V 0/1] [W 0/1] [A 0/1] [O 0/1] => ignore (1)/use (0) specified axis/axes for mutual angle calculation
  • S 11 [X 0/1] [Y 0/1] [Z 0/1] [C 0/1] [B 0/1] [U 0/1] [V 0/1] [W 0/1] [A 0/1] [O 0/1] => ignore (1)/use (0) specified axis/axes for traverse feed calculation
  • S 12 [A 0/1] [C 0/1] => the following two modes can be combined:
    • A 1 if any axis with ignored mutual angle (G900 S 10...) starts movement, stop or slow down between parts (down to feed in G900 S 9 ... F ...). Set A 0 to disable.
    • C 1 if any axis with ignored mutual angle (G900 S 10...) changes its movement direction, stop or slow down between parts. Set C 0 to disable.
    • Addresses A and C are optional, if not used, the previous behavior is kept.
    • The functions G900 S 10, G900 S 11 and G900 S 12 are usually used for virtual axes.
  • S 13 D 0/1 => use (0)/disable(1) arc feed table (cnc::GCODE_PARAMETERS::arcFeedTable)
  • S 20 C acc D dec F feed R ramp_type => set acc, dec, feed and ramp type (1: trapezoid, 2: sin) for G0 fast traverse movement
  • S 30 C acc D dec F feed R ramp_type => set acc, dec, feed and ramp type (1: trapezoid, 2: sin) for FORWARD (30) mode
  • S 31 C acc D dec F feed R ramp_type => set acc, dec, feed and ramp type (1: trapezoid, 2: sin) for FORWARD_NO_MFUNC (31) mode
  • S 32 C acc D dec F feed R ramp_type => set acc, dec, feed and ramp type (1: trapezoid, 2: sin) for BACKWARD (32) mode
  • S 41 C acc D dec F feed R ramp_type => set acc, dec, feed and ramp type (1: trapezoid, 2: sin) for CONNECT_MOVE (40) mode
  • S 50 C acc D dec F feed R ramp_type => set acc, dec, feed and ramp type (1: trapezoid, 2: sin) for GOTO_POSITION (50) mode
  • S 60 D dec => set deceleration for normal stop (always trapezoid)
  • S 70 D dec => set deceleration for emergency stop (always trapezoid)


TG Motion: Structures

Classes | Variables
Structures

Classes

struct | cnc::SIMPLE_INFO
Auxiliary G-code functions use this structure. More...
struct | cnc::P10DOUBLE
This structure defines 10 coordinates of float64_t type (8 bytes) More...
struct | cnc::P10BOOL
Structure similar to P10DOUBLE, using integers. More...
struct | cnc::ACTUAL_GM_VALUES
Actual parameters. More...
struct | cnc::SIMPLE_GM_PARAMS_WIN32
Describes one G-code part. More...
struct | cnc::CALLBACK_INFO
Structure for transmitting information for the function ToolChainCore_GetLastError and for the callback functions AddOutputLogFunc, SetStatusBarTextFunc, MathWarningFunc. More...
struct | cnc::GCODE_FEED
Definition of default feeds. More...
struct | cnc::AXIS_LIMITS
Limits for one axis. More...
struct | cnc::GCODE_CORRECTION
Definition of corrections. More...
struct | cnc::ARC_FEED_TABLE
Table of speeds, relative arc speeds in relation to radius. More...
struct | cnc::INTERNAL_MFUNC_INSERT_TABLE
Values of inserted M functions. More...
struct | cnc::GCODE_PARAMETERS
Structure for setting G-code properties. More...
struct | cnc::GCODE_SIZE
Initial position, end position and size. More...
struct | cnc::GCODE_INFO
G-code size. More...
struct | cnc::DLL_INIT_STRUCT
Initialization structure. Used by ToolChainCore_Init. More...
struct | cnc::MACHINE_PARAMETERS
Machine parameters. More...
struct | cnc::MACHINE_STATUS
Machine status. More...

Variables

constexpr uint32_t | cnc::CORR_STRATEGY_G41_ALREADY_CORRECTED { 0U }
G41, G42 means already corrected coordinate; G40 says that only the end of the following motion will be left uncorrected.
constexpr uint32_t | cnc::CORR_STRATEGY_G41_STARTS_CORRECTION { 1U }
G41, G42 only corrects the end of the following motion; G40 says the end of the previous motion will not be corrected.
constexpr uint32_t | cnc::CORR_STRATEGY_MASK { 0xFFU }
bits not used for correction strategy
constexpr uint32_t | cnc::CORR_STRATEGY_OLD_VERSION { 0x80000000U }
constexpr uint32_t | cnc::CORR_STRATEGY_G00_WITHOUT_CORR { 0x40000000U }
If this bit is set, G00 is always without correction.
constexpr uint32_t | cnc::CORR_STRATEGY_FORCE_TO_CONTINUE { 0x20000000U }
constexpr uint32_t | cnc::CORR_STRATEGY_CHECK_ORIGINAL_GCODE { 0x02000000U }
checks continuity of the G-code with the given tolerance (see GCODE_PARAMETERS::tolerance).
constexpr uint32_t | cnc::CORR_STRATEGY_REMOVE_LAST_ARC { 0x01000000 }
removes the last arc of a closed conture (in the case that the arc is the exit of the conture) if the equidistants do not cross
constexpr uint32_t | cnc::CORR_STRATEGY_REMOVE_FIRST_ARC { 0x00800000U }
removes the first arc of a closed conture (in the case that the arc is the approach of the conture) if the equidistants do not cross
constexpr uint32_t | cnc::CORR_STRATEGY_NO_ADD_R { 0x00400000U }
constexpr uint32_t | cnc::CORR_STRATEGY_REMOVE_SMALL_ARCS { 0x00200000U }
constexpr uint32_t | cnc::CORR_STRATEGY_ALLOW_REVERSE_LINES { 0x00100000U }
Allow more exact calculation of the tool compensation by reverse search with the buffer. Slows down the calculation.
constexpr uint32_t | cnc::CORR_STRATEGY_REMOVE_CROSSES { 0x00080000U }
After the calculation, if there are crossed parts (which are not crossed in the original G-code), these parts are removed.
constexpr uint32_t | cnc::CORR_STRATEGY_CONNECT_WRONG_BY_G1 { 0x00040000U }
After correction calculation, if there are unconnected parts, connect them by inserted G1.
constexpr uint32_t | cnc::CORR_STRATEGY_CONNECT_WRONG_BY_MOVE { 0x00020000U }
constexpr uint32_t | cnc::CORR_STRATEGY_ALLOW_FIRST_LAST_CROSS { 0x00010000U }
Allow crossing of the first and last part of the closed conture. In that case, parts inside are not removed.
constexpr uint32_t | cnc::CORR_STRATEGY_SEARCH_MASK { 0x00000700U }
mask bits for search deep number
constexpr uint32_t | cnc::CORR_STRATEGY_SEARCH_DEEP_10 { 0x00000100U }
Search at least 10 parts for possible crosses.
constexpr uint32_t | cnc::CORR_STRATEGY_SEARCH_DEEP_50 { 0x00000200U }
Search at least 50 parts for possible crosses.
constexpr uint32_t | cnc::CORR_STRATEGY_SEARCH_DEEP_100 { 0x00000300U }
Search at least 100 parts for possible crosses.
constexpr uint32_t | cnc::CORR_STRATEGY_SEARCH_DEEP_500 { 0x00000400U }
Search at least 500 parts for possible crosses.
constexpr uint32_t | cnc::CORR_STRATEGY_SEARCH_DEEP_1000 { 0x00000500U }
Search at least 1000 parts for possible crosses.
constexpr uint32_t | cnc::CORR_STRATEGY_SEARCH_DEEP_2000 { 0x00000600U }
Search at least 2000 parts for possible crosses.
constexpr uint32_t | cnc::CORR_STRATEGY_SEARCH_DEEP_ALL { 0x00000700U }
Search all parts for possible crosses.
constexpr uint32_t | cnc::CORR_STRATEGY_DEFAULT_DEEP { 1000U }
Default deep search number. Search at least 1000 G-code parts for possible crosses.
constexpr uint32_t | cnc::CORR_STRATEGY_MIN_DEEP { 10U }
Minimal search number.
constexpr uint32_t | cnc::F_BY_GCODE { 0U }
Feed is fully defined in G-code.
constexpr uint32_t | cnc::F_BY_PARAMETERS { 1U }
All feeds are set by values in motion array.
constexpr uint32_t | cnc::F_BY_PARAMETERS_FP_BY_GCODE { 2U }
All feeds are set by values in motion array but can be overridden by FP address.
constexpr uint32_t | cnc::DEF_GCODE_FEED_G00 { 0U }
indexes to feed table (GCODE_PARAMETERS::motion) More...
constexpr uint32_t | cnc::DEF_GCODE_FEED_G01 { 1U }
linear interpolation G1
constexpr uint32_t | cnc::DEF_GCODE_FEED_REVERSE { 2U }
backward movement (cnc_status::BACKWARD_32)
constexpr uint32_t | cnc::DEF_GCODE_FEED_CONNECT { 3U }
connect to trajectory
constexpr uint32_t | cnc::DEF_GCODE_FEED_WITHOUT_M { 4U }
movement without M functions
constexpr uint32_t | cnc::DEF_GCODE_FEED_GOTO_POSITION { 5U }
goto position
constexpr uint32_t | cnc::DEF_GCODE_FEED_NORMAL_STOP { 6U }
stop (only deceleration is used)
constexpr uint32_t | cnc::DEF_GCODE_FEED_EMERGENCY_STOP { 7U }
emergency stop (only deceleration is used)
constexpr uint32_t | cnc::DISABLE_OPCODE_CALL { 0x00000001U }
constexpr uint32_t | cnc::DISABLE_ASSIGN_CALL { 0x00000002U }
constexpr uint32_t | cnc::DISABLE_REFRESH_ALL_PARAMS_CALL { 0x00000004U }
constexpr uint32_t | cnc::GCODE_ALLOWED_CIRC_CENTER_ACCURACY { 0U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | cnc::GCODE_CROSSING_ACCURACY { 1U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | cnc::GCODE_ANGULAR_PRECISION { 2U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | cnc::GCODE_ANGULAR_DISTANCE_PRECISION { 3U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | cnc::GCODE_MINIMAL_ALLOWED_ARC_R { 4U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | cnc::GCODE_NO_ADD_R_MULTIPLIER { 5U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | cnc::GCODE_SOURCE_PRECISION { 6U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | cnc::GCODE_MINIMAL_ALLOWED_LINE_LENGTH { 7U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | cnc::INTERPOLATOR_CONFIG0_USE_REL_SPEED_BY_TIME { 0x0000'0001 }
constexpr uint32_t | cnc::INTERPOLATOR_CONFIG0_CONT_M_FUNC_IN_PLACE { 0x0000'0002 }
constexpr uint32_t | cnc::INTERPOLATOR_CONFIG0_DO_NOT_STOP_BETWEEN_G00_G01 { 0x0001'0000 }
constexpr uint32_t | cnc::INTERPOLATOR_CONFIG0_USE_FAST_FEED_IN_ALL_REGIMES { 0x0002'0000 }
constexpr uint32_t | cnc::GCODE_SIZE_ORIGINAL_IDX { 0U }
original G-code
constexpr uint32_t | cnc::GCODE_SIZE_CORRECTED_IDX { 1U }
compensated G-code
constexpr uint32_t | cnc::GCODE_SIZE_ROTATED_IDX { 2U }
original rotated G-code
constexpr uint32_t | cnc::GCODE_SIZE_ROTATED_CORRECTED_IDX { 3U }
compensated rotated G-code

Detailed Description

Variable Documentation

◆ CORR_STRATEGY_CONNECT_WRONG_BY_MOVE

constexpr uint32_t cnc::CORR_STRATEGY_CONNECT_WRONG_BY_MOVE { 0x00020000U }
constexpr

After correction calculation, if there are unconnected parts, connect them by move of starting point to endpoint of the previous part. Only for G1. G2/G3 are always connected by G1 if this bit is set.

◆ CORR_STRATEGY_FORCE_TO_CONTINUE

constexpr uint32_t cnc::CORR_STRATEGY_FORCE_TO_CONTINUE { 0x20000000U }
constexpr

In the case of wrong G-code (impossible to calculate tool compensation), do not throw an error and continue. Usable for simulation only.

◆ CORR_STRATEGY_NO_ADD_R

constexpr uint32_t cnc::CORR_STRATEGY_NO_ADD_R { 0x00400000U }
constexpr

if possible, do not connect two parts by and additional arc (with radius equal to tool radius), but uses its cross point. The allowed distance is specified as a multiple of tool radius (see GCODE_PARAMETERS::tolerance)

◆ CORR_STRATEGY_OLD_VERSION

constexpr uint32_t cnc::CORR_STRATEGY_OLD_VERSION { 0x80000000U }
constexpr

If this bit is set, the mode of compatibility with the old system is set. Specifically, the first G41/G42 is ignored, if there is no motion in front of it. Further, the G40 - G41/G42 pair is ignored, if they follow closely one by one (i.e. no motion between G40 and G41/G42).

◆ CORR_STRATEGY_REMOVE_SMALL_ARCS

constexpr uint32_t cnc::CORR_STRATEGY_REMOVE_SMALL_ARCS { 0x00200000U }
constexpr

After tool compensation calculation, there could be arcs with negative or very small radius. If the calculated radius of such arcs is smaller than a value given in GCODE_PARAMETERS::tolerance[GCODE_MINIMAL_ALLOWED_ARC_R], the arc will be removed. This bit is usually set.

◆ DEF_GCODE_FEED_G00

constexpr uint32_t cnc::DEF_GCODE_FEED_G00 { 0U }
constexpr

indexes to feed table (GCODE_PARAMETERS::motion)

rapid traverse G0

◆ DISABLE_ASSIGN_CALL

constexpr uint32_t cnc::DISABLE_ASSIGN_CALL { 0x00000002U }
constexpr

set this bit to GCODE_PARAMETERS::disableAdditionalProgramFlowInfo to speed up G-code execution

◆ DISABLE_OPCODE_CALL

constexpr uint32_t cnc::DISABLE_OPCODE_CALL { 0x00000001U }
constexpr

set this bit to GCODE_PARAMETERS::disableAdditionalProgramFlowInfo to speed up G-code execution

◆ DISABLE_REFRESH_ALL_PARAMS_CALL

constexpr uint32_t cnc::DISABLE_REFRESH_ALL_PARAMS_CALL { 0x00000004U }
constexpr

set this bit to GCODE_PARAMETERS::disableAdditionalProgramFlowInfo to speed up G-code execution

◆ INTERPOLATOR_CONFIG0_CONT_M_FUNC_IN_PLACE

constexpr uint32_t cnc::INTERPOLATOR_CONFIG0_CONT_M_FUNC_IN_PLACE { 0x0000'0002 }
constexpr

If set, continuous M function is executed exactly in the place where it is defined in the G-code (new behavior). If not set (old behavior), it is appended to the previous already existing G0, G1, G2, G3 or M function.

◆ INTERPOLATOR_CONFIG0_DO_NOT_STOP_BETWEEN_G00_G01

constexpr uint32_t cnc::INTERPOLATOR_CONFIG0_DO_NOT_STOP_BETWEEN_G00_G01 { 0x0001'0000 }
constexpr

set this bit to GCODE_PARAMETERS::interpolatorConfig0
if set, system does not stop between G00 <-> G01 (G02, G03)

◆ INTERPOLATOR_CONFIG0_USE_FAST_FEED_IN_ALL_REGIMES

constexpr uint32_t cnc::INTERPOLATOR_CONFIG0_USE_FAST_FEED_IN_ALL_REGIMES { 0x0002'0000 }
constexpr

set this bit to GCODE_PARAMETERS::interpolatorConfig0
if set, fast feed value is used for G00 in all regimes (30, 31, 32, 33)

◆ INTERPOLATOR_CONFIG0_USE_REL_SPEED_BY_TIME

constexpr uint32_t cnc::INTERPOLATOR_CONFIG0_USE_REL_SPEED_BY_TIME { 0x0000'0001 }
constexpr

set this bit to GCODE_PARAMETERS::interpolatorConfig0
controls relative speed strategy


TG Motion: cnc::SIMPLE_INFO Struct Reference

Public Attributes | List of all members
cnc::SIMPLE_INFO Struct Reference
Structures

Auxiliary G-code functions use this structure. More...

#include <tgm_cnc.h>

Public Attributes

uint32_t | m_editorLine
text row in the source file
int32_t | m_fileIdx
index to file, can be negative (special file numbers)
int32_t | m_gCodeIndex
unique G-code part index, can be negative

Detailed Description

Auxiliary G-code functions use this structure.

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • SIMPLE_INFO


TG Motion: cnc::P10DOUBLE Struct Reference

Public Member Functions | Public Attributes | Static Public Attributes | List of all members
cnc::P10DOUBLE Struct Reference
Structures

This structure defines 10 coordinates of float64_t type (8 bytes) More...

#include <tgm_cnc.h>

Public Member Functions

P10DOUBLE (float64_t xVal, float64_t yVal, float64_t zVal, float64_t cVal, float64_t bVal, float64_t uVal, float64_t vVal, float64_t wVal, float64_t aVal, float64_t oVal) noexcept
constructor - set all axes separately
P10DOUBLE (size_t arraySize, float64_t arrayValues[]) noexcept
constructor - set all axes by C array
P10DOUBLE () noexcept
default constructor - zero all the members
P10DOUBLE (float64_t value) noexcept
constructor which takes single floating point value
P10DOUBLE (bool bNoInit) noexcept
no init constructor - members will be initialized afterwards, use with care
P10DOUBLE (const P10DOUBLE &n)=default
copy constructor
P10DOUBLE & | operator= (const P10DOUBLE &n)=default
Assignment operator.
P10DOUBLE (P10DOUBLE &&)=default
move constructor
P10DOUBLE & | operator= (P10DOUBLE &&)=default
Move operator.
~P10DOUBLE ()=default
destructor
void | SetToZero () noexcept
explicitly set all the members to zero
void | SetAllToValue (const float64_t value) noexcept
set all members to given value
void | CopyValuesToInvalidMembers (const P10DOUBLE &n) noexcept
copy all the values from source, but only to the members with the invalid value
void | CopyOnlyValidValues (const P10DOUBLE &n) noexcept
copy only values which are valid

Public Attributes

float64_t xyzcbuvwao [ACTUAL_N_AXES]
all axes are stored in simple array

Static Public Attributes

static constexpr size_t | X { 0U }
symbolic name index of the axis 0
static constexpr size_t | Y { 1U }
symbolic name index of the axis 1
static constexpr size_t | Z { 2U }
symbolic name index of the axis 2
static constexpr size_t | C { 3U }
symbolic name index of the axis 3
static constexpr size_t | B { 4U }
symbolic name index of the axis 4
static constexpr size_t | U { 5U }
symbolic name index of the axis 5
static constexpr size_t | V { 6U }
symbolic name index of the axis 6
static constexpr size_t | W { 7U }
symbolic name index of the axis 7
static constexpr size_t | A { 8U }
symbolic name index of the axis 8
static constexpr size_t | O { 9U }
symbolic name index of the axis 9
static constexpr size_t | R { 3U }
symbolic name index for the arc radius
static constexpr size_t | ORIG_R { 4U }
symbolic name index for the original arc radius
static constexpr size_t | I { 5U }
symbolic name index for the original arc center 0
static constexpr size_t | J { 6U }
symbolic name index for the original arc center 1
static constexpr size_t | K { 7U }
symbolic name index for the original arc center 2
static constexpr size_t | F { 8U }
symbolic name index for the feed, must be in arc
static constexpr size_t | S { 9U }
symbolic name index for the spindle speed, must be in arc

Detailed Description

This structure defines 10 coordinates of float64_t type (8 bytes)

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • P10DOUBLE


TG Motion: cnc::P10BOOL Struct Reference

Public Member Functions | Public Attributes | Static Public Attributes | List of all members
cnc::P10BOOL Struct Reference
Structures

Structure similar to P10DOUBLE, using integers. More...

#include <tgm_cnc.h>

Public Member Functions

P10BOOL (int32_t x, int32_t y, int32_t z, int32_t c, int32_t b, int32_t u, int32_t v, int32_t w, int32_t a, int32_t o) noexcept
constructor
P10BOOL ()=default
default constructor
P10BOOL (const P10BOOL &n)=default
copy constructor
P10BOOL & | operator= (const P10BOOL &n)=default
Assignment operator.
P10BOOL (P10BOOL &&n)=default
move constructor
P10BOOL & | operator= (P10BOOL &&n)=default
Move operator.
~P10BOOL ()=default
destructor

Public Attributes

int32_t xyzcbuvwao [ACTUAL_N_AXES] = { ZERO_INT32 }
all values are stored in array

Static Public Attributes

static constexpr size_t | X { 0U }
symbolic name index of the axis 0
static constexpr size_t | Y { 1U }
symbolic name index of the axis 1
static constexpr size_t | Z { 2U }
symbolic name index of the axis 2
static constexpr size_t | C { 3U }
symbolic name index of the axis 3
static constexpr size_t | B { 4U }
symbolic name index of the axis 4
static constexpr size_t | U { 5U }
symbolic name index of the axis 5
static constexpr size_t | V { 6U }
symbolic name index of the axis 6
static constexpr size_t | W { 7U }
symbolic name index of the axis 7
static constexpr size_t | A { 8U }
symbolic name index of the axis 8
static constexpr size_t | O { 9U }
symbolic name index of the axis 9

Detailed Description

Structure similar to P10DOUBLE, using integers.

Its use is for setting additional flags to axes.

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • P10BOOL


TG Motion: cnc::ACTUAL_GM_VALUES Struct Reference

Public Types | Public Attributes | List of all members
cnc::ACTUAL_GM_VALUES Struct Reference
Structures

Actual parameters. More...

#include <tgm_cnc.h>

Public Types

enum class worker_state : uint32_t {
RESET_00 = 0U ,
RUNNING_01 = 01U ,
ENDED_02 = 2U ,
BROKEN_03 = 3U ,
BROKEN_BY_M0_04 = 4U
}
worker keeps its internal state by this enumeration More...

Public Attributes

P10DOUBLE m_actualPos
Actual positions in G-code coordinate system.
P10DOUBLE m_interpolatorActualPos
P10DOUBLE m_zeroOffset
Zero offset set by G54-G59 functions.
int32_t | m_gFunc
int32_t | m_mFunc
interpolator_status m_interpolatorMotionStatus
actual interpolator status
INTERPOLATOR_COMMANDS m_plcCommand
last PLC command sent to interpolator
uint32_t | m_editorLine
actual editor line, 0 is for special inserted movements, means invalid editor line
int32_t | m_fileIdx
actual file index, can be negative for special movements (connect, goto, etc.)
int32_t | m_gCodeIndex
actual G code index. Can be negative for special movements or inserted M functions
uint32_t | m_correction
actual correction (tool compensation)
uint32_t | m_toolNumber
actual tool number
worker_state m_workerState
actual worker state
uint32_t | m_feedType
feed type from interpolator
uint32_t | m_diameterXValues
If nonzero, all X values are halves of the G code's values. Used for lathe (G -18).
float64_t | m_bufferFullness
actual fullness of the interpolator buffer in percent
float64_t | m_spindleSpeed
actual spindle speed
float64_t | m_setFeed
Required feed in mm/min.
float64_t | m_calcFeed
Calculated feed in mm/min.
float64_t | m_actFeed
Current speed (m_calcFeed * m_relFeed)
float64_t | m_relFeed
Feed override(0.5 = 50%, 1.0 = 100%, etc.)
float64_t | m_actPartLen
total length of section in progress (changes between sections)
float64_t | m_actPartRemain
remaining length of section in progress (changes continuously)
float64_t | m_actWorkPartsLen
current total length of all cutting parts (G1, G2, G3) - (changes continuously during movement)
float64_t | m_actG00PartsLen
current total length of all fast feeds (G0) - (changes continuously within fast feed)
float64_t | m_actPartsLen
current total length of motion sections (i.e. all G functions without waiting M functions)
uint32_t | m_nWorkCounter
counter of cutting parts (G1, G2, G3)
uint32_t | m_nG00Counter
counter of fast feeds (G0)
uint32_t | m_nG00ToWorkChanges
counter of transitions: fast feed -> cutting part
uint32_t | m_nWorkToG00Changes
counter of transitions: cutting part -> fastfeed
uint32_t | m_nMCounter
M functions counter.
uint32_t | m_MasterEditorLine
actual line in master file
int32_t | m_MasterFileIdx
master file index
cnc_status m_statusCNC
copy of statusCNC, i.e. ToolChainCore_StatusCNC() function
float64_t | m_cncRunTime
G-code runtime.

Detailed Description

Actual parameters.

this structures is used in ToolChainCore_GetPosEx

Member Enumeration Documentation

◆ worker_state

enum cnc::ACTUAL_GM_VALUES::worker_state : uint32_t
strong

worker keeps its internal state by this enumeration

Enumerator
RESET_00 | worker is in non-working state
RUNNING_01 | worker is running
ENDED_02 | worker has been finished
BROKEN_03 | movement has been broken by StopCNC
BROKEN_BY_M0_04 | movement has been broken by M0

Member Data Documentation

◆ m_gFunc

int32_t cnc::ACTUAL_GM_VALUES::m_gFunc

actual G function:
if it is >= 0 (0, 1, 2, 3), the M function below is possible continuos M function for that G function.
If it is -1, the M function below is normal M function.

◆ m_interpolatorActualPos

P10DOUBLE cnc::ACTUAL_GM_VALUES::m_interpolatorActualPos

Actual positions in interpolator's coordinate system. The internal offset can be calculated by m_actualPos - m_originalCoords

◆ m_mFunc

int32_t cnc::ACTUAL_GM_VALUES::m_mFunc

M function: 0 - no M function (if G function above is >= 0) or normal M function number (1 - 999).
Could be also negative for special M functions.

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • ACTUAL_GM_VALUES


TG Motion: cnc::SIMPLE_GM_PARAMS_WIN32 Struct Reference

Public Member Functions | Public Attributes | List of all members
cnc::SIMPLE_GM_PARAMS_WIN32 Struct Reference
Structures

Describes one G-code part. More...

#include <tgm_cnc.h>

Public Member Functions

SIMPLE_GM_PARAMS_WIN32 () noexcept=default
constructor
SIMPLE_GM_PARAMS_WIN32 (bool bNoInit) noexcept
no init constructor, use with care
SIMPLE_GM_PARAMS_WIN32 (const SIMPLE_GM_PARAMS_WIN32 &n)=default
copy constructor
~SIMPLE_GM_PARAMS_WIN32 ()=default
destructor
SIMPLE_GM_PARAMS_WIN32 & | operator= (const SIMPLE_GM_PARAMS_WIN32 &)=default
copy operator
SIMPLE_GM_PARAMS_WIN32 (SIMPLE_GM_PARAMS_WIN32 &&)=default
move constructor is deleted
SIMPLE_GM_PARAMS_WIN32 & | operator= (SIMPLE_GM_PARAMS_WIN32 &&)=default
move operator is deleted

Public Attributes

int32_t | m_func { ZERO_INT32 }
G function number. If > 10000, it is M function. -1 is invalid function.
uint32_t | m_editorLine { ZERO_UINT32 }
Line in G-code text. Lines are counted from 1, zero is invalid number.
int32_t | m_fileIdx { ZERO_INT32 }
File index got by ToolChainCore_FileToIdx.
int32_t | m_gCodeIndex { ZERO_INT32 }
uint32_t | m_planeTool { ZERO_UINT32 }
uint32_t | m_reserved { ZERO_UINT32 }
Internal reserved value.
P10DOUBLE m_s
P10DOUBLE m_e
P10DOUBLE m_calcS
P10DOUBLE m_calcE
P10DOUBLE m_cc
uint32_t | m_bFeedIsMin { ZERO_INT32 }
float32_t | m_fp { ZERO_F32 }
actual value of FP address (percent of F), usually 1.0

Detailed Description

Describes one G-code part.

It is used mainly for simulation of the G-code in Application callbacks. Several items have different meaning according to G-code part type (G function and M function)

Member Data Documentation

◆ m_bFeedIsMin

uint32_t cnc::SIMPLE_GM_PARAMS_WIN32::m_bFeedIsMin { ZERO_INT32 }

lower 16bits: Feed is mm/per min (1) or mm/revolution (0)
upper 16bits: correction type 40, 41, 42

◆ m_calcE

P10DOUBLE cnc::SIMPLE_GM_PARAMS_WIN32::m_calcE

G function: absolute end position recalculated.
M function: not used

◆ m_calcS

P10DOUBLE cnc::SIMPLE_GM_PARAMS_WIN32::m_calcS

G function: absolute initial position recalculated (tool size compensation).
M function: not used

◆ m_cc

P10DOUBLE cnc::SIMPLE_GM_PARAMS_WIN32::m_cc

G function type 2 (arc CW) or 3 (arc CCW):

Index | Description
0 | compensated arc center X
1 | compensated arc center Y
2 | compensated arc center Z
3 | compensated arc radius
4 | original arc radius
5 | original arc center X
6 | original arc center Y
7 | original arc center Z

additionally, the last values are used for

Index | Description
8 | feed
9 | spindle speed

M function: only index 8 is used for parameter F

◆ m_e

P10DOUBLE cnc::SIMPLE_GM_PARAMS_WIN32::m_e

G function: absolute end position (original).
M function: Parameters (addresses) according to following table:

Index | Parameter
0 | Q
1 | R
2 | S
3 | T
4 | U
5 | V
6 | W
7 | X
8 | Y
9 | Z

◆ m_gCodeIndex

int32_t cnc::SIMPLE_GM_PARAMS_WIN32::m_gCodeIndex { ZERO_INT32 }

Counter of G or M functions. Values are consecutive, but could be with increment of 1 or 2. Could be negative for special internal G-code markers.

◆ m_planeTool

uint32_t cnc::SIMPLE_GM_PARAMS_WIN32::m_planeTool { ZERO_UINT32 }

Low 8bits: Plane of circular interpolation (17: XY, 18: XZ, 19: YZ, 20: ZX). Value 20 is used only for lathe.
Upper 24bits: Tool number

◆ m_s

P10DOUBLE cnc::SIMPLE_GM_PARAMS_WIN32::m_s

G function: absolute initial position (original) or parameters of special functions.
M function: Parameters (addresses) according to following table:

Index | Parameter
0 | A
1 | B
2 | C
3 | D
4 | E
5 | H
6 | I
7 | J
8 | K
9 | O
The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • SIMPLE_GM_PARAMS_WIN32


TG Motion: cnc::CALLBACK_INFO Struct Reference

Public Attributes | List of all members
cnc::CALLBACK_INFO Struct Reference
Structures

Structure for transmitting information for the function ToolChainCore_GetLastError and for the callback functions AddOutputLogFunc, SetStatusBarTextFunc, MathWarningFunc. More...

#include <tgm_cnc.h>

Public Attributes

int32_t | stringId
int32_t | nLines
int32_t | actLine
int32_t | fileIdx
TGM_LPCSTR | m_fullError
TGM_LPCSTR | m_errorArguments

Detailed Description

Structure for transmitting information for the function ToolChainCore_GetLastError and for the callback functions AddOutputLogFunc, SetStatusBarTextFunc, MathWarningFunc.

Member Data Documentation

◆ actLine

int32_t cnc::CALLBACK_INFO::actLine

Current line where compilation is running or an error occurred, counted from 1, also can be 0, then the item is not used

◆ fileIdx

int32_t cnc::CALLBACK_INFO::fileIdx

Number of file with an error or which is being compiled. File name will be identified using function ToolChainCore_IdxToFile. Can be -1, then only CALLBACK_INFO::nLines and CALLBACK_INFO::actLine fields are valid

◆ m_errorArguments

TGM_LPCSTR cnc::CALLBACK_INFO::m_errorArguments

Only for ToolChainCore_GetLastError - pointer to ANSI string, which contains possible arguments of an error string, or an empty string. Individual arguments are separated by LF (0x10). The content needs to be copied to the local variable right after the calling ToolChainCore_GetLastError.

< Error message format:
<
< "Wrongly entered centre of circular interpolation XY\nStart X = %g Y = %g | End X = %g Y =
< %g\nDelta (%.7f) > 2*R (%.7f)"
<
< Complete error text (m_fullEror):
<
< "Wrongly entered centre of circular interpolation XY\nStart X = 20.123 Y = 30.653 | End X =
< 43.987 Y = -1.26\n Delta (46.990) > 2*R (30.000)"
<
< Arguments (m_errorArguments):
< "20.123
< 30.653
< 43.987
< -1.26
< 46.990
< 30.000"
<
cnc::CALLBACK_INFO::m_errorArguments
TGM_LPCSTR m_errorArguments
Definition: tgm_cnc.h:994

◆ m_fullError

TGM_LPCSTR cnc::CALLBACK_INFO::m_fullError

Only for ToolChainCore_GetLastError - pointer to the complete error text (ANSI string). String may be empty. The content needs to be copied to the local variable right after the calling ToolChainCore_GetLastError.

◆ nLines

int32_t cnc::CALLBACK_INFO::nLines

Total number of lines in G-code (if known, otherwise 0)

◆ stringId

int32_t cnc::CALLBACK_INFO::stringId

Text no. from textual .INI file, and also error no., can be -1, then only CALLBACK_INFO::nLines and CALLBACK_INFO::actLine items are valid

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • CALLBACK_INFO


TG Motion: cnc::GCODE_FEED Struct Reference

Public Attributes | List of all members
cnc::GCODE_FEED Struct Reference
Structures

Definition of default feeds. More...

#include <tgm_cnc.h>

Public Attributes

float64_t | feed { ZERO_F64 }
feed
float64_t | acc { ZERO_F64 }
acceleration, if negative then it is specified as time in [s]
float64_t | dec { ZERO_F64 }
deceleration, if negative then it is specified as time in [s]
int32_t | rampType { ONE_INT32 }
type of ramp: 1 - trapezoid, 2 - sin
int32_t | padding1 { ZERO_INT32 }
reserved

Detailed Description

Definition of default feeds.

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • GCODE_FEED


TG Motion: cnc::AXIS_LIMITS Struct Reference

Public Attributes | List of all members
cnc::AXIS_LIMITS Struct Reference
Structures

Limits for one axis. More...

#include <tgm_cnc.h>

Public Attributes

float64_t | maxFeed { ZERO_F64 }
Max allowed feed.
float64_t | maxAcc { ZERO_F64 }
Max allowed acceleration.
float64_t | maxDec { ZERO_F64 }
Max allowed deceleration.

Detailed Description

Limits for one axis.

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • AXIS_LIMITS


TG Motion: cnc::GCODE_CORRECTION Struct Reference

Public Attributes | List of all members
cnc::GCODE_CORRECTION Struct Reference
Structures

Definition of corrections. More...

#include <tgm_cnc.h>

Public Attributes

float64_t | size { ZERO_F64 }
Size of correction (tool radius) for gCode correction, if negative, the meanings of G41/G42 are switched.
int32_t | gCode { ZERO_INT32 }
Number of G function for correction (41, 42,...), not yet used.
int32_t | padding { ZERO_INT32 }
reserved

Detailed Description

Definition of corrections.

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • GCODE_CORRECTION


TG Motion: cnc::ARC_FEED_TABLE Struct Reference

Public Attributes | List of all members
cnc::ARC_FEED_TABLE Struct Reference
Structures

Table of speeds, relative arc speeds in relation to radius. More...

#include <tgm_cnc.h>

Public Attributes

float64_t | m_r { ZERO_F64 }
radius
float64_t | m_relFeed { ZERO_F64 }
relative feed

Detailed Description

Table of speeds, relative arc speeds in relation to radius.

Table must be ordered from the greatest to the smallest radius.
Relative speed is in units 1 = 100%, 0,5 = 50%, etc., and must be greater than 0. It is interpolated between radius values.

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • ARC_FEED_TABLE


TG Motion: cnc::INTERNAL_MFUNC_INSERT_TABLE Struct Reference

Public Attributes | List of all members
cnc::INTERNAL_MFUNC_INSERT_TABLE Struct Reference
Structures

Values of inserted M functions. More...

#include <tgm_cnc.h>

Public Attributes

int32_t | mFunc { ZERO_INT32 }
No. of M function or 0 (if 0 not used)
int32_t | padding { ZERO_INT32 }
reserved, padding to 8 bytes
float64_t | relFeed { ZERO_F64 }
<0.01;1.0>. Cannot be used for inserting M function before G00. More...
float64_t | distance { ZERO_F64 }
Distance before/after relative speed, where M function is inserted.

Detailed Description

Values of inserted M functions.

Interpolator is able to auto-insert M functions at several trajectory points.

Member Data Documentation

◆ relFeed

float64_t cnc::INTERNAL_MFUNC_INSERT_TABLE::relFeed { ZERO_F64 }

<0.01;1.0>. Cannot be used for inserting M function before G00.

Relative speed at which M function is inserted. Must be within

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • INTERNAL_MFUNC_INSERT_TABLE


TG Motion: cnc::GCODE_PARAMETERS Struct Reference

Public Member Functions | Public Attributes | List of all members
cnc::GCODE_PARAMETERS Struct Reference
Structures

Structure for setting G-code properties. More...

#include <tgm_cnc.h>

Public Member Functions

GCODE_PARAMETERS () noexcept
constructor
float64_t | allowedCircCenterAccuracy () const noexcept
get value with check - must be > 0
float64_t | crossingAccuracy () const noexcept
get value with check - must be > 0
float64_t | angularPrecision () const noexcept
get value with check - must be positive
float64_t | angularDistancePrecision () const noexcept
get value with check - must be positive
float64_t | minAllowedArcR () const noexcept
get value with check - must be positive
float64_t | noAddRMultiplier () const noexcept
get value with check - must be positive
float64_t | GCodePrecision () const noexcept
get value with check - must be > 0

Public Attributes

uint32_t | absMode { ONE_UINT32 }
uint32_t | swapG2G3 { 0U }
uint32_t | correctionStrategy { 0U }
uint32_t | forceMode { F_BY_GCODE }
GCODE_FEED | motion [N_MOTIONS] {}
GCODE_CORRECTION | correction [N_CORECTIONS] {}
float64_t | maxConnectionDistance { ZERO_F64 }
float64_t | startAngle { 360.0 }
float64_t | endAngle { 360.0 }
float64_t | minAngleFeed { ZERO_F64 }
uint32_t | disableG0FeedOverride { 0U }
uint32_t | interpolatorConfig0 { 0U }
float64_t | overrideInc { ZERO_F64 }
ARC_FEED_TABLE | arcFeedTable [N_ARCFEED_TABLE] {}
float64_t | centripetalAcc { ZERO_F64 }
Maximum allowed centripetal acceleration for arcs (not yet implemented)
INTERNAL_MFUNC_INSERT_TABLE | mFuncInsertTable [N_MFUNC_INSERT_TABLE] {}
uint32_t | mFuncInsertType { ZERO_UINT32 }
uint32_t | callbackWarningsInvokeMode { ZERO_UINT32 }
float64_t | reserved { ZERO_F64 }
reserved
int32_t | M02_programEnd1 { 2 }
int32_t | M30_programEnd2 { 30 }
int32_t | M03_startSpindleCW { 3 }
int32_t | M04_startSpindleCCW { 4 }
int32_t | M05_stopSpindle { 5 }
int32_t | M06_changeTool { 6 }
int32_t | M07_coolOn { 7 }
int32_t | M08_oilOn { 8 }
int32_t | M09_coolOilOff { 9 }
int32_t | M17_return { 17 }
int32_t | M29_print { 29 }
int32_t | M80_mirrorOff { 80 }
int32_t | M81_mirrorX { 81 }
int32_t | M82_mirrorY { 82 }
int32_t | M83_mirrorZ { 83 }
int32_t | M84_mirrorXY { 84 }
int32_t | M85_mirrorXZ { 85 }
int32_t | M86_mirrorYZ { 86 }
int32_t | M87_mirrorXYZ { 87 }
int32_t | M99_defFeed { 99 }
uint32_t | insertArcMode { ZERO_UINT32 }
uint32_t | disableAdditionalProgramFlowInfo { DISABLE_OPCODE_CALL }
float64_t | insertArcToleranceRMax { 0.03 }
float64_t | insertArcToleranceRMin { 0.03 }
float64_t | insertArcMaxAngle { ZERO_F64 }
float64_t | insertArcMinAngle { ZERO_F64 }
uint32_t | insertArcPlane { ZERO_UINT32 }
uint32_t | reserved1 { ZERO_UINT32 }
reserved
uint32_t | calcTime { ZERO_UINT32 }
uint32_t | reserved2 { ZERO_UINT32 }
reserved
float64_t | dynamicG41Correction_mm { ZERO_F64 }
float64_t | dynamicG42Correction_mm { ZERO_F64 }
AXIS_LIMITS axisLimits [ACTUAL_N_AXES] {}
float64_t | dynamicG41Correction_percent { ZERO_F64 }
float64_t | dynamicG42Correction_percent { ZERO_F64 }
float64_t | tolerance [N_TOLERANCE_TABLE] {}

Detailed Description

Structure for setting G-code properties.

Member Data Documentation

◆ absMode

uint32_t cnc::GCODE_PARAMETERS::absMode { ONE_UINT32 }

Meaning of G-code coordinates:

Value | Description
0 | relative
1 | absolute

◆ arcFeedTable

ARC_FEED_TABLE cnc::GCODE_PARAMETERS::arcFeedTable[N_ARCFEED_TABLE] {}

Table of relative speeds in relation to arc radius, 5 pairs all together [radius; rel_speed]. Zero radius value in the table means that the remaining values are not used, i.e. the table can have 0 - 5 items.
Examples:

  • all values set to zero - table is not used (default)
  • arcFeedTable[0].m_r = 0, arcFeedTable[0].m_relFeed = 0.5
    all arcs are run by relative speed of 50% (50% of the required arc speed)
  • arcFeedTable[0].m_r = 10, arcFeedTable[0].m_relFeed = 1.25,
    arcFeedTable[1].m_r = 0.9, arcFeedTable[1].m_relFeed = 0.1
    arcs with radius >= 10 (R=10) will have relative speed 125%, arcs smaller than R=10 up to R=0.9 will gradually have decreasing speeds up to 10% and all arcs smaller than R=0.9 will have 10% relative speed

◆ axisLimits

AXIS_LIMITS cnc::GCODE_PARAMETERS::axisLimits[ACTUAL_N_AXES] {}

Speed limits, acceleration and deceleration for all axes. When set the system lowers the feed and/or acceleration/deceleration if needed.

◆ calcTime

uint32_t cnc::GCODE_PARAMETERS::calcTime { ZERO_UINT32 }

When set to 1, the system calculates the time which is necessary to finish the complete G-code. The calculation is done in simulation only. The time is only an estimated value.

◆ callbackWarningsInvokeMode

uint32_t cnc::GCODE_PARAMETERS::callbackWarningsInvokeMode { ZERO_UINT32 }

During tool compensation calculation, a plenty math warnings callbacks could be called. To speed up the whole process, some of the warnings could be suppressed.

Value | Description
0 | invoke math warnings callback always (default)
1 | invoke math warnings callback only once for each warning ID
2 | suppress all math warnings

◆ correction

GCODE_CORRECTION cnc::GCODE_PARAMETERS::correction[N_CORECTIONS] {}

correction table defines tool radius compensation values for the following G functions:

Index to array | Used for G function
0 | G41
1 | G42
2 | G43
3 | G44
4 | G45
5 | G46
6 | G47
7 | G48

◆ correctionStrategy

uint32_t cnc::GCODE_PARAMETERS::correctionStrategy { 0U }

bit coded value for strategy of correction calculations:

  • CORR_STRATEGY_G41_ALREADY_CORRECTED (0x00000000):
    G41, G42 means already corrected coordinate; G40 says that only the end of the following motion will be left uncorrected
  • CORR_STRATEGY_G41_STARTS_CORRECTION (0x00000001):
    G41, G42 only corrects the end of the following motion; G40 says the end of the previous motion will not be corrected
  • CORR_STRATEGY_SEARCH_DEEP_10 (0x00000100):
    Search at least 10 parts for possible crosses
  • CORR_STRATEGY_SEARCH_DEEP_50 (0x00000200):
    Search at least 50 parts for possible crosses
  • CORR_STRATEGY_SEARCH_DEEP_100 (0x00000300):
    Search at least 100 parts for possible crosses
  • CORR_STRATEGY_SEARCH_DEEP_500 (0x00000400):
    Search at least 500 parts for possible crosses
  • CORR_STRATEGY_SEARCH_DEEP_1000 (0x00000500):
    Search at least 1000 parts for possible crosses
  • CORR_STRATEGY_SEARCH_DEEP_2000 (0x00000600):
    Search at least 2000 parts for possible crosses
  • CORR_STRATEGY_SEARCH_DEEP_ALL (0x00000700):
    Search the maximal number of parts for possible crosses in the internal buffer (approx 5000)
  • CORR_STRATEGY_ALLOW_FIRST_LAST_CROSS (0x00010000):
    Allow crossing of the first and last part of the closed conture. In that case, parts inside are not removed.
  • CORR_STRATEGY_CONNECT_WRONG_BY_MOVE (0x00020000):
    After correction calculation, if there are unconnected parts, connect them by move of starting point to endpoint of the previous part
  • CORR_STRATEGY_CONNECT_WRONG_BY_G1 (0x00040000):
    After correction calculation, if there are unconnected parts, connect them by inserted G1
  • CORR_STRATEGY_REMOVE_CROSSES (0x00080000):
    After the calculation, if there are crossed parts (which are not crossed in the original G-code), these parts are removed.
  • CORR_STRATEGY_ALLOW_REVERSE_LINES (0x00100000):
    It is allowed to traverse the line or arc backwards, if the correction is not possible to calculate otherwise. Slows down the calculation.
  • CORR_STRATEGY_REMOVE_SMALL_ARCS (0x00200000):
    After tool compensation calculation, there could be arcs with negative or very small radius. If the calculated radius of such arcs is smaller than a value given in GCODE_PARAMETERS::tolerance[GCODE_MINIMAL_ALLOWED_ARC_R], the arc will be removed. This bit is usually set.
  • CORR_STRATEGY_NO_ADD_R (0x00400000):
    If possible, do not connect two parts by and additional arc (with radius equal to tool radius), but uses theirs cross point. The allowed distance is specified as a multiple of tool radius (see GCODE_PARAMETERS::tolerance).
  • CORR_STRATEGY_REMOVE_FIRST_ARC (0x00800000):
    Removes the first arc of a closed conture (in the case that the arc is the approach of the conture) if the equidistants do not cross.
  • CORR_STRATEGY_REMOVE_LAST_ARC (0x01000000):
    Removes the last arc of a closed conture (in the case that the arc is the exit of the conture) if the equidistants do not cross.
  • CORR_STRATEGY_CHECK_ORIGINAL_GCODE (0x02000000):
    checks continuity of the G-code with the given tolerance (see GCODE_PARAMETERS::tolerance).
  • CORR_STRATEGY_FORCE_TO_CONTINUE (0x20000000):
    In the case of wrong G-code (impossible to calculate tool compensation), do not throw an error and continue. Usable for simulation only (to visualize where the problem lies).
  • CORR_STRATEGY_G00_WITHOUT_CORR (0x40000000):
    If this bit is set, G00 is always without correction.
  • CORR_STRATEGY_OLD_VERSION (0x80000000):
    If this bit is set, the mode of compatibility with the old system is set. Specifically, the first G41/G42 is ignored, if there is no motion in front of it. Further, the G40 - G41/G42 pair is ignored, if they follow closely one by one (i.e. no motion between G40 and G41/G42).

◆ disableAdditionalProgramFlowInfo

uint32_t cnc::GCODE_PARAMETERS::disableAdditionalProgramFlowInfo { DISABLE_OPCODE_CALL }

by default all the elements in the G-code are signaled to the user application through callback function. Some of them can be disabled to speed up the G-code execution.

Set bit | Description
0 | disable info about Opcode (IF, FOR, RETURN, BREAK)
1 | disable info about Assignment (Pxx = ...)
2 | disable refresh of all params

◆ disableG0FeedOverride

uint32_t cnc::GCODE_PARAMETERS::disableG0FeedOverride { 0U }

If equal to 1, then the interpolator ignores feed override during rapid traverse. Also enables automatic stop between two G0.

◆ dynamicG41Correction_mm

float64_t cnc::GCODE_PARAMETERS::dynamicG41Correction_mm { ZERO_F64 }

Additional dynamic correction in relation to speed for G41 in mm, carried out by interpolator

◆ dynamicG41Correction_percent

float64_t cnc::GCODE_PARAMETERS::dynamicG41Correction_percent { ZERO_F64 }

Additional dynamic correction in relation to speed for G41 in percent, carried out by interpolator

◆ dynamicG42Correction_mm

float64_t cnc::GCODE_PARAMETERS::dynamicG42Correction_mm { ZERO_F64 }

Additional dynamic correction in relation to speed for G42 in mm, carried out by interpolator

◆ dynamicG42Correction_percent

float64_t cnc::GCODE_PARAMETERS::dynamicG42Correction_percent { ZERO_F64 }

Additional dynamic correction in relation to speed for G42 in percent, carried out by interpolator

◆ endAngle

float64_t cnc::GCODE_PARAMETERS::endAngle { 360.0 }

If the mutual angle of two parts of G-code is larger than this value, the system slows down to the feed defined in minAngleFeed. Values between startAngle and endAngle are interpolated.

◆ forceMode

uint32_t cnc::GCODE_PARAMETERS::forceMode { F_BY_GCODE }

Meaning of address F in G-code

  • F_BY_GCODE (0):
    F, FF, FP speeds are consistent with G-code
  • F_BY_PARAMETERS (1):
    F, FF, FP is ignored, all speeds meet the parameters in motion
  • F_BY_PARAMETERS_FP_BY_GCODE (2):
    F, FF feeds are used from motion array, FP generates a relative speed according to the parameters in motion
    Note
    G-code function
    G9 Q0
    function switches to mode 0, i.e. speed consistent with G-code.
    G9 // (without any address)
    switches to the previous mode

◆ insertArcMaxAngle

float64_t cnc::GCODE_PARAMETERS::insertArcMaxAngle { ZERO_F64 }

Max angle between G1 sections, up to which further arcs are added

◆ insertArcMinAngle

float64_t cnc::GCODE_PARAMETERS::insertArcMinAngle { ZERO_F64 }

Min angle between G1 sections, from the value of which arcs are still added (not implemented, so far always = 0)

◆ insertArcMode

uint32_t cnc::GCODE_PARAMETERS::insertArcMode { ZERO_UINT32 }

Mode to insert small tangent arcs for sections not tangentially connected: 0 - off, 1 - off. Inserted arcs are defined in the following variables: insertArcToleranceRMax, insertArcToleranceRMin insertArcMaxAngle, insertArcMinAngle

◆ insertArcPlane

uint32_t cnc::GCODE_PARAMETERS::insertArcPlane { ZERO_UINT32 }

A plane on which arcs are inserted (17 - XY, 18 - XZ, 19 - YZ or 0, the system then determines a plane)

◆ insertArcToleranceRMax

float64_t cnc::GCODE_PARAMETERS::insertArcToleranceRMax { 0.03 }

Maximum allowed distance between the intersection of two non-tangential sections and an inserted arc, the distance is used to calculate the inserted arc radius, implicitly 0.03 mm.

◆ insertArcToleranceRMin

float64_t cnc::GCODE_PARAMETERS::insertArcToleranceRMin { 0.03 }

Minimum allowed distance between the intersection of two non-tangential sections and an inserted arc, the distance is used to calculate the inserted arc radius, implicitly 0.03 mm.

◆ interpolatorConfig0

uint32_t cnc::GCODE_PARAMETERS::interpolatorConfig0 { 0U }

Bit coded value for change the interpolator behavior. Lower 16 bits are reserved for interpolator. Higher 16 bits control the CNC module behavior.

  • bit 0:
    • 0 - relative speed is changed only during achieved speed (i.e. during the acceleration or deceleration, the ToolChainCore_SetRelFeed is not active and the change is performed only after the full speed is reached)
    • 1 - relative speed change by time quantum, i.e. function ToolChainCore_SetRelFeed changes the speed immediately. Note that ToolChainCore_SetRelFeed than changes the acceleration and deceleration as well.
  • bit 1:
    • 0 - continuous M functions are appended to the previous G (movement) or M function and signaled to PLC at the start of that function
    • 1 - continuous M functions are signaled to the PLC exactly where they appeared in the G-code
  • bit 16: if set, system does not stop between G00 <-> G01 (G02, G03)
  • bit 17: if set, fast feed value is used for G00 in all regimes (30, 31, 32, 33)

◆ M02_programEnd1

int32_t cnc::GCODE_PARAMETERS::M02_programEnd1 { 2 }

M function number for G-code ending. Default is 2, i.e. M2 function in G-code. If set to 0, the M2 in the G-code is treated as normal M function.

◆ M03_startSpindleCW

int32_t cnc::GCODE_PARAMETERS::M03_startSpindleCW { 3 }

No. of M function to start the spindle CW. Default = M3, 0 - off

◆ M04_startSpindleCCW

int32_t cnc::GCODE_PARAMETERS::M04_startSpindleCCW { 4 }

No. of M function to start the spindle CCW. Default = M4, 0 - off

◆ M05_stopSpindle

int32_t cnc::GCODE_PARAMETERS::M05_stopSpindle { 5 }

No. of M function to stop the spindle. Default = M5, 0 - off

◆ M06_changeTool

int32_t cnc::GCODE_PARAMETERS::M06_changeTool { 6 }

No. of M function to change tool. Default = M6, 0 - off

◆ M07_coolOn

int32_t cnc::GCODE_PARAMETERS::M07_coolOn { 7 }

No. of M function to switch on cooling. Default = M7, 0 - off

◆ M08_oilOn

int32_t cnc::GCODE_PARAMETERS::M08_oilOn { 8 }

No. of M function to switch on lubrication. Default = M8, 0 - off

◆ M09_coolOilOff

int32_t cnc::GCODE_PARAMETERS::M09_coolOilOff { 9 }

No. of M function to switch off cooling and lubrication. Default = M9, 0 - off

◆ M17_return

int32_t cnc::GCODE_PARAMETERS::M17_return { 17 }

No. of M function to return from routine (keyword RETURN). Default = M17, 0 - off

◆ M29_print

int32_t cnc::GCODE_PARAMETERS::M29_print { 29 }

No. of M function to print text report (PRINT) Default = M29, 0 - off

◆ M30_programEnd2

int32_t cnc::GCODE_PARAMETERS::M30_programEnd2 { 30 }

Alternative no. of M function to end G-code. Default = M30, 0 - off

◆ M80_mirrorOff

int32_t cnc::GCODE_PARAMETERS::M80_mirrorOff { 80 }

No. of M function to switch off mirroring. Default = M80, 0 - off

◆ M81_mirrorX

int32_t cnc::GCODE_PARAMETERS::M81_mirrorX { 81 }

No. of M function to enable mirroring on X axis. Default = M81, 0 - off

◆ M82_mirrorY

int32_t cnc::GCODE_PARAMETERS::M82_mirrorY { 82 }

No. of M function to enable mirroring on Y axis. Default = M82, 0 - off

◆ M83_mirrorZ

int32_t cnc::GCODE_PARAMETERS::M83_mirrorZ { 83 }

No. of M function to enable mirroring on Z axis. Default = M83, 0 - off

◆ M84_mirrorXY

int32_t cnc::GCODE_PARAMETERS::M84_mirrorXY { 84 }

No. of M function to enable mirroring on X and Y axes. Default = M84, 0 - off

◆ M85_mirrorXZ

int32_t cnc::GCODE_PARAMETERS::M85_mirrorXZ { 85 }

No. of M function to enable mirroring on X and Z axes. Default = M85, 0 - off

◆ M86_mirrorYZ

int32_t cnc::GCODE_PARAMETERS::M86_mirrorYZ { 86 }

No. of M function to enable mirroring on Y and Z axes. Default = M86, 0 - off

◆ M87_mirrorXYZ

int32_t cnc::GCODE_PARAMETERS::M87_mirrorXYZ { 87 }

No. of M function to enable mirroring on X, Y and Z axes. Default = M87, 0 - off

◆ M99_defFeed

int32_t cnc::GCODE_PARAMETERS::M99_defFeed { 99 }

No. of M function to define the initial value of feed, default = M99, 0 - off

◆ maxConnectionDistance

float64_t cnc::GCODE_PARAMETERS::maxConnectionDistance { ZERO_F64 }

Maximum distance from given point to the trajectory for ToolChainCore_ConnectCNCEx_Plane. If the distance from the trajectory part is greater, this part is not used for calculation of the connection point.

◆ mFuncInsertTable

INTERNAL_MFUNC_INSERT_TABLE cnc::GCODE_PARAMETERS::mFuncInsertTable[N_MFUNC_INSERT_TABLE] {}

automatic insertion of continuous M functions to signal decrease in speed or reaching cutting speed.

table index | description
0 | M function before deceleration on arc - signaling future deceleration. If mFuncInsertTable[0].mFunc = 0, signaling is not used.
1 | M function before acceleration on arc - signaling future full cutting speed. If mFuncInsertTable[1].mFunc = 0, signaling is not used.
2 | M function before fastfeed G00. If mFuncInsertTable[2].mFunc = 0, signaling is not used.

◆ mFuncInsertType

uint32_t cnc::GCODE_PARAMETERS::mFuncInsertType { ZERO_UINT32 }

Strategy of inserting M functions (see mFuncInsertTable), 0 - off and 1 - on

◆ minAngleFeed

float64_t cnc::GCODE_PARAMETERS::minAngleFeed { ZERO_F64 }

Minimum feed for motion if the mutual angle of two sections is greater than endAngle. Can be set to zero, in which case the system stops between two parts (with the mutual angle larger than endAngle)

◆ motion

GCODE_FEED cnc::GCODE_PARAMETERS::motion[N_MOTIONS] {}

Default speeds, acceleration, deceleration and ramp type for the following movements:

Index to array | Used for movement
0 | fastfeed (G0)
1 | forward (G1, G2, G3)
2 | backward
3 | connect
4 | speed of forward motion without M function (regime 31 of function ToolChainCore_StartCNCEx)
5 | feed in function ToolChainCore_GoToPosition
6 | deceleration for normal stop, only the dec field
7 | deceleration for emergency stop, only dec field

◆ overrideInc

float64_t cnc::GCODE_PARAMETERS::overrideInc { ZERO_F64 }

Increment of feed override at 100us time slice. When the relative speed is changed by ToolChainCore_SetRelFeed, it cannot be done immediately, but smoothly with a ramp. This value describes how fast the relative speed will be changed from one value to other.
Maximum is 0.1 = 10%
If equals 0, default value 0.001 is used, i.e. 0,1%.

◆ startAngle

float64_t cnc::GCODE_PARAMETERS::startAngle { 360.0 }

The two parts in the G-code can follow each other tangentially or with some angle. If the angle is small enough the system can move through with any deceleration. The threshold is given by this value in degrees. If the mutual angle of the two parts is larger, the system decelerates up to minAngleFeed, depending on the endAngle value.

◆ swapG2G3

uint32_t cnc::GCODE_PARAMETERS::swapG2G3 { 0U }

If non-zero: swap G2/G3. Used for non-standard (not right-handed) G-code coordinate systems.

◆ tolerance

float64_t cnc::GCODE_PARAMETERS::tolerance[N_TOLERANCE_TABLE] {}

Tolerance array:

Index | Description
GCODE_ALLOWED_CIRC_CENTER_ACCURACY = 0 | Allowed error in specifying the center of circular interpolation, default 0.005 mm
GCODE_CROSSING_ACCURACY = 1 | Crossing calculation tolerance, default is 0.001
GCODE_ANGULAR_PRECISION = 2 | Angular tolerance of two connected lines in degrees, default is 0.03
GCODE_ANGULAR_DISTANCE_PRECISION = 3 | When two lines are joined to one, max allowed distance between the new line and original lines, default 0.005
GCODE_MINIMAL_ALLOWED_ARC_R = 4 | Arcs with radius below this value will be removed
GCODE_NO_ADD_R_MULTIPLIER = 5 | Multiplier of correction value - use line connection of two parts instead of an arc
GCODE_SOURCE_PRECISION = 6 | Precision of the source G-code
The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • GCODE_PARAMETERS


TG Motion: cnc::GCODE_SIZE Struct Reference

Public Attributes | List of all members
cnc::GCODE_SIZE Struct Reference
Structures

Initial position, end position and size. More...

#include <tgm_cnc.h>

Public Attributes

P10DOUBLE m_startPos
Initial position.
P10DOUBLE m_endPos
End position.
P10DOUBLE m_minimalPos
Minimum.
P10DOUBLE m_maximalPos
Maximum.

Detailed Description

Initial position, end position and size.

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • GCODE_SIZE


TG Motion: cnc::GCODE_INFO Struct Reference

Public Attributes | List of all members
cnc::GCODE_INFO Struct Reference
Structures

G-code size. More...

#include <tgm_cnc.h>

Public Attributes

GCODE_SIZE m_size [4]

Detailed Description

G-code size.

Member Data Documentation

◆ m_size

GCODE_SIZE cnc::GCODE_INFO::m_size[4]

complete G-code size

Index | Description
0 | original G-code not rotated
1 | corrected G-code not rotated
2 | original G-code rotated
3 | corrected G-code rotated
The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • GCODE_INFO


TG Motion: cnc::DLL_INIT_STRUCT Struct Reference

Public Attributes | Static Public Attributes | List of all members
cnc::DLL_INIT_STRUCT Struct Reference
Structures

Initialization structure. Used by ToolChainCore_Init. More...

#include <tgm_cnc.h>

Public Attributes

TGM_LPCTSTR | CNC_Dll_Dir { nullptr }
path to the directory with CNC libraries (.dll or .so)
TGM_LPCTSTR | Macros_Dir { nullptr }
path to CNC macros (external G and M functions written in G-code)
TGM_LPCTSTR | Comm_Int5_Dir { nullptr }
path to communication library
uint32_t | Local_Core_Mode { LOCAL_CORE_MODE_OFFLINE }

Static Public Attributes

static constexpr uint32_t | LOCAL_CORE_MODE_DLL { 1U }
CNC module runs in the context of OS (as .DLL or .so libraries - DLL engine)
static constexpr uint32_t | LOCAL_CORE_MODE_OFFLINE { 2U }
CNC module runs without TG Motion (simulation and test only)

Detailed Description

Initialization structure. Used by ToolChainCore_Init.

Member Data Documentation

◆ Local_Core_Mode

uint32_t cnc::DLL_INIT_STRUCT::Local_Core_Mode { LOCAL_CORE_MODE_OFFLINE }

used local core mode (only value 1 or 2 is allowed, other are reserved):

Value | Description
1 | CNC modules run in the operating system context.
2 | Offline mode without TGMotion - only simulation is enabled
The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • DLL_INIT_STRUCT


TG Motion: cnc::MACHINE_PARAMETERS Struct Reference

Public Attributes | List of all members
cnc::MACHINE_PARAMETERS Struct Reference
Structures

Machine parameters. More...

#include <tgm_cnc.h>

Public Attributes

P10DOUBLE minCoords
Minimal allowed coordinates.
P10DOUBLE maxCoords
Maximal allowed coordinates.
P10DOUBLE refCoords
Reference point for min max coords.
P10BOOL enableMask
Mask to enable testing of limits for individual axes.
P10DOUBLE backlash
Backlash in axes in mm.
P10DOUBLE backlashInc
Backlash change in mm per 100us.
uint32_t | backlashValuesSource { ZERO_UINT32 }
uint32_t | enhancedInterpolatorParameters { ZERO_UINT32 }
P10DOUBLE reserved
additional reserved values

Detailed Description

Machine parameters.

Member Data Documentation

◆ backlashValuesSource

uint32_t cnc::MACHINE_PARAMETERS::backlashValuesSource { ZERO_UINT32 }
  • 0 - backlash values are read from .INI* 1 - backlash values are read from the above variables

◆ enhancedInterpolatorParameters

uint32_t cnc::MACHINE_PARAMETERS::enhancedInterpolatorParameters { ZERO_UINT32 }

bit coded value:

  • lower 10 bits: disabling angle continuity for selected axes (each bit is for each axis)
  • next 10 bits: if set, this axis is not used for interpolation length calculation
  • 0x100000 if any axis set in lower 10 bits starts movement, stop all axes between parts
  • 0x200000 if any axis set in lower 10 bits changes its direction, stop all axes between parts
The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • MACHINE_PARAMETERS


TG Motion: cnc::MACHINE_STATUS Struct Reference

Public Attributes | List of all members
cnc::MACHINE_STATUS Struct Reference
Structures

Machine status. More...

#include <tgm_cnc.h>

Public Attributes

uint32_t | m_axesStatus
uint32_t | m_refDone
uint32_t | m_endSwitches
uint32_t | m_reserved1
reserved
uint32_t | m_reserved2
reserved
uint32_t | m_reserved3
reserved
uint32_t | m_reserved4
reserved
uint32_t | m_reserved5
reserved
uint32_t | m_reserved6
reserved
uint32_t | m_reserved7
reserved
uint32_t | m_reserved8
reserved
uint32_t | m_reserved9
reserved
uint32_t | m_reserved10
reserved

Detailed Description

Machine status.

Member Data Documentation

◆ m_axesStatus

uint32_t cnc::MACHINE_STATUS::m_axesStatus

bit-coded information on axes status: first axis in bit 0, etc...
if bit == 1, axis is OK, otherwise failure

special axes -------— | -------— 0x80000000 | DIO unit 1 0x40000000 | DIO unit 2 0x20000000 | DIO unit 3 0x10000000 | DIO unit 4 0x08000000 | DIO unit 5 0x04000000 | DIO unit 6 0x02000000 | spindle 1 (axis S) 0x01000000 | spindle 2 0x00800000 | spindle 3 0x00400000 | spindle 4 0x00200000 | tool replacement (axis T)

◆ m_endSwitches

uint32_t cnc::MACHINE_STATUS::m_endSwitches

bit codes of emergency and reference end switches: 0 - inactive, 1 - active --— | -------— BR_XP | 0x00000100 BR_XM | 0x00000200 BR_YP | 0x00000400 BR_YM | 0x00000800 BR_ZP | 0x00001000 BR_ZM | 0x00002000 BR_CP | 0x00004000 BR_CM | 0x00008000 REF_X | 0x00010000 REF_Y | 0x00020000 REF_Z | 0x00040000 REF_C | 0x00080000

◆ m_refDone

uint32_t cnc::MACHINE_STATUS::m_refDone

bit-coded information on reference status: first axis in bit 0, etc..
if bit == 1, reference performed, otherwise not

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • MACHINE_STATUS


TG Motion: Namespace List

Namespace List
Here is a list of all documented namespaces with brief descriptions:
[detail level 12]
▼N cnc | All CNC functions are encapsulated to cnc namespace
C SIMPLE_INFO | Auxiliary G-code functions use this structure
C P10DOUBLE | This structure defines 10 coordinates of float64_t type (8 bytes)
C P10BOOL | Structure similar to P10DOUBLE, using integers
C ACTUAL_GM_VALUES | Actual parameters
C SIMPLE_GM_PARAMS_WIN32 | Describes one G-code part
C CALLBACK_INFO | Structure for transmitting information for the function ToolChainCore_GetLastError and for the callback functions AddOutputLogFunc, SetStatusBarTextFunc, MathWarningFunc
C GCODE_FEED | Definition of default feeds
C AXIS_LIMITS | Limits for one axis
C GCODE_CORRECTION | Definition of corrections
C ARC_FEED_TABLE | Table of speeds, relative arc speeds in relation to radius
C INTERNAL_MFUNC_INSERT_TABLE | Values of inserted M functions
C GCODE_PARAMETERS | Structure for setting G-code properties
C GCODE_SIZE | Initial position, end position and size
C GCODE_INFO | G-code size
C DLL_INIT_STRUCT | Initialization structure. Used by ToolChainCore_Init
C MACHINE_PARAMETERS | Machine parameters
C MACHINE_STATUS | Machine status
C TGM_FUNCTION_INTERNAL | Base structure for activating a CNC function
C TGM_FUNCTION | Automatically sets the size of the structure to 8192 bytes
C TGM_CNC_CORE_MEMORY_INTERNAL | Shared CNC memory for one CNC core
C TGM_CNC_CORE_MEMORY | Automatically sets the size of the structure to 16384 bytes
C TGM_CNC_MEMORY_HEADER | Header of the shared TGM_CNCEX memory
C TGM_CNC_MEMORY | Describes the shared TGM_CNCEX memory


TG Motion: cnc Namespace Reference

Classes | Typedefs | Enumerations | Functions | Variables
cnc Namespace Reference

all CNC functions are encapsulated to cnc namespace More...

Classes

struct | SIMPLE_INFO
Auxiliary G-code functions use this structure. More...
struct | P10DOUBLE
This structure defines 10 coordinates of float64_t type (8 bytes) More...
struct | P10BOOL
Structure similar to P10DOUBLE, using integers. More...
struct | ACTUAL_GM_VALUES
Actual parameters. More...
struct | SIMPLE_GM_PARAMS_WIN32
Describes one G-code part. More...
struct | CALLBACK_INFO
Structure for transmitting information for the function ToolChainCore_GetLastError and for the callback functions AddOutputLogFunc, SetStatusBarTextFunc, MathWarningFunc. More...
struct | GCODE_FEED
Definition of default feeds. More...
struct | AXIS_LIMITS
Limits for one axis. More...
struct | GCODE_CORRECTION
Definition of corrections. More...
struct | ARC_FEED_TABLE
Table of speeds, relative arc speeds in relation to radius. More...
struct | INTERNAL_MFUNC_INSERT_TABLE
Values of inserted M functions. More...
struct | GCODE_PARAMETERS
Structure for setting G-code properties. More...
struct | GCODE_SIZE
Initial position, end position and size. More...
struct | GCODE_INFO
G-code size. More...
struct | DLL_INIT_STRUCT
Initialization structure. Used by ToolChainCore_Init. More...
struct | MACHINE_PARAMETERS
Machine parameters. More...
struct | MACHINE_STATUS
Machine status. More...
struct | TGM_FUNCTION_INTERNAL
base structure for activating a CNC function More...
struct | TGM_FUNCTION
automatically sets the size of the structure to 8192 bytes More...
struct | TGM_CNC_CORE_MEMORY_INTERNAL
shared CNC memory for one CNC core More...
struct | TGM_CNC_CORE_MEMORY
automatically sets the size of the structure to 16384 bytes More...
struct | TGM_CNC_MEMORY_HEADER
header of the shared TGM_CNCEX memory More...
struct | TGM_CNC_MEMORY
describes the shared TGM_CNCEX memory More...

Typedefs

typedef int32_t | FuncPrototype(intptr_t dwUserData)
Generic callback function prototype.
typedef int32_t | AddOutputLogFunc(intptr_t dwUserData, uint32_t tab, TGM_LPCTSTR info, CALLBACK_INFO *callBackInfo)
Writes text to output log. More...
typedef int32_t | SetStatusBarTextFunc(intptr_t dwUserData, uint32_t pane, TGM_LPCTSTR strText, CALLBACK_INFO *callBackInfo)
Display informational text in the status line of the application. More...
typedef int32_t | IsDebugModeFunc(intptr_t dwUserData)
Ask if debug regime is enabled. More...
typedef int32_t | IsVerboseModeFunc(intptr_t dwUserData)
Ask if verbose regime is enabled. More...
typedef TGM_LPCTSTR | GetLibPathFunc(intptr_t dwUserData)
Returns path to external G functions stored as G-code on the disk. More...
typedef TGM_LPCTSTR | GetToolPathFunc(intptr_t dwUserData)
Returns path to files describing tools geometry. Only for lathe. More...
typedef TGM_LPCTSTR | GetSystemPathFunc(intptr_t dwUserData)
Returns path to system files. Not yet used by CNC module. More...
typedef int64_t | GetFileTimeStampFunc(intptr_t dwUserData, int32_t fileIdx)
returns time stamp of a given file (usually time in ms since epoch) More...
typedef int32_t | DoYieldFunc(intptr_t dwUserData, int32_t messageOnly)
Switch control to other thread. LOCAL_CORE_MODE_DLL only. More...
typedef void | ReadIniStringFunc(intptr_t dwUserData, TGM_LPCTSTR section, TGM_LPCTSTR key, TGM_LPCTSTR defValue, TGM_LPTSTR buffer, uint32_t bufferSizeInCharacters)
Read string from .INI file. More...
typedef float64_t | ReadIniDoubleFunc(intptr_t dwUserData, TGM_LPCTSTR section, TGM_LPCTSTR key, float64_t defValue)
Read float64_t value from .INI file. More...
typedef int32_t | ReadIniIntFunc(intptr_t dwUserData, TGM_LPCTSTR section, TGM_LPCTSTR key, int32_t defValue)
Read integer value from .INI file. More...
typedef int32_t | IsBreakpointFunc(intptr_t dwUserData, uint32_t editorLine, int32_t fileIdx)
Determines if there is a breakpoint on given G-code file line. More...
typedef int32_t | DispAndLocateErrorFunc(intptr_t dwUserData, uint32_t editorLine, int32_t fileIdx, TGM_LPCTSTR errString, CALLBACK_INFO *callBackInfo)
This function is called in case of an error. More...
typedef int32_t | AddOutputLogWithMsgBoxFunc(intptr_t dwUserData, uint32_t tab, uint32_t buttons, TGM_LPCTSTR info, CALLBACK_INFO *callBackInfo)
Writes text to output log and optionally displays it in message box dialog panel (OS dependent) More...
typedef int32_t | SetStatusBarProgressFunc(intptr_t dwUserData, uint32_t progress)
Display progress bar. More...
typedef int32_t | DriverInitializeFunc(intptr_t dwUserData, float64_t *params, uint32_t nParams, cnc_status nRunMode)
Called always before G-code execution. More...
typedef int32_t | DriverGFunc(intptr_t dwUserData, const SIMPLE_GM_PARAMS_WIN32 *v)
Called to simulate G function. More...
typedef int32_t | DriverMFunc(intptr_t dwUserData, const SIMPLE_GM_PARAMS_WIN32 *v)
Called to simulate M function. More...
typedef int32_t | ConnectPointCalcStartFunc(intptr_t dwUserData, const uint32_t nType, const uint32_t nCoords, const float64_t *coords, const uint32_t bitCodedAxesForCalc)
Initiate user connection calculation. More...
typedef int32_t | ConnectPointCalcFunc(intptr_t dwUserData, const SIMPLE_GM_PARAMS_WIN32 *part, float64_t *calcSquareDistanceFromCoords, P10DOUBLE *calcConnectPoint)
Calculate distance from initial tool point to a give G-code part. More...
typedef int32_t | ConnectPointCalcEndFunc(intptr_t dwUserData, SIMPLE_GM_PARAMS_WIN32 *partToBeConnectedTo, P10DOUBLE *connectPosToBeMovedTo)
End of connection calculation. More...
typedef int32_t | DriverEnd(intptr_t dwUserData)
Called when the G-code simulation finishes. More...
typedef int32_t | MathWarningFunc(intptr_t dwUserData, CALLBACK_INFO *pCallbackInfo)
Called in case of warning issued during tool diameter compensation calculation. More...

Enumerations

enum class cnc_status : int32_t {
OFFLINE_M02 = -2 ,
INVALID_00 = 0 ,
COMPILING_01 = 1 ,
COMPILE_FINISHED_M01 = -1 ,
SIMULATING_10 = 10 ,
SIMULATION_END_M10 = -10 ,
SIMULATION_BREAK_M11 = -11 ,
TEST_20 = 20 ,
TEST_END_M20 = -20 ,
TEST_BREAK_M21 = -21 ,
TRAJECTORY_START_M30 = -30 ,
TRAJECTORY_BREAK_M31 = -31 ,
TRAJECTORY_END_M32 = -32 ,
TRAJECTORY_BREAK_M0_M33 = -33 ,
FORWARD_30 = 30 ,
FORWARD_NO_MFUNC_31 = 31 ,
BACKWARD_32 = 32 ,
FORWARD_SKIP_FIRST_M_33 = 33 ,
CONNECTING_40 = 40 ,
CONNECT_MOVE_41 = 41 ,
HAND_MOVE_50 = 50 ,
OUT_OF_TRAJECTORY_M50 = -50 ,
CALCULATING_60 = 60 ,
START_M_FUNCS_70 = 70 ,
STOP_M_FUNCS_80 = 80 ,
CONNECT_INS_M_FUNCS_90 = 90 ,
NONSENSE = -1234
}
StatusCNC return codes. More...
enum class connect_type : uint32_t {
BY_COORD = 0 ,
BY_LINE_START = 1 ,
BY_LINE_END = 2 ,
BY_COORD_GO = 10 ,
BY_LINE_START_GO = 11 ,
BY_LINE_END_GO = 12 ,
BY_M_FUNC_COUNT = 20 ,
BY_M_FUNC_COUNT_REL = 21 ,
BY_GCODE_INDEX = 30 ,
BY_GCODE_INDEX_ACTUAL_COORD = 31 ,
BY_GCODE_INDEX_END = 32 ,
BY_COORD_GO_BUFFERED = 40 ,
BY_LINE_START_GO_BUFFERED = 41 ,
BY_LINE_END_GO_BUFFERED = 42 ,
BY_GCODE_INDEX_ACTUAL_COORD_GO_BUFFERED = 44 ,
BY_COORD_ON_TRAJECTORY_WITH_GCODE_INDEX_GO_BUFFERED = 46
}
Connection modes (ToolChainCore_ConnectCNCEx_Plane) More...
enum class status_after_connect : uint32_t {
KEEP_00 = 0 ,
FORCE_OUT_OF_TRAJECTORY_02 = 2
}
Specifies wanted status after successful connect for ToolChainCore_ConnectCNCEx_Plane. More...
enum class axis_idx : int32_t {
AXIS_NONE = -1 ,
AXIS_X = 0 ,
AXIS_Y = 1 ,
AXIS_Z = 2 ,
AXIS_C = 3 ,
AXIS_B = 4 ,
AXIS_U = 5 ,
AXIS_V = 6 ,
AXIS_W = 7 ,
AXIS_A = 8 ,
AXIS_O = 9 ,
AXIS_S = 100 ,
AXIS_T = 101 ,
AXIS_IO = 102 ,
AXIS_S2 = 103 ,
AXIS_XY = 200
}
Axes numbers, together with special axis types. Assignment of the axes to array indexes is fixed, i.e. the first axis (index 0) is always X axis, etc... Special axes are used internally and have no relationship to array indexes. More...
enum class reset_status_cnc : uint32_t {
TO_INVALID_00 = 0 ,
TO_OUT_OF_TYRAJECTORY_01 = 1
}
Values for ToolChainCore_ResetStatusCNC function. More...
enum class cnc_func : uint32_t {
NONE_00 = 0U ,
STOP_01 = 1U ,
START_02 = 2U ,
CONNECT_03 = 3U ,
GOTO_04 = 4U ,
SET_GCODE_PARAMETERS_05 = 5U ,
COMPILE_06 = 6U
}
CNC function to be activated from shared memory.

Functions

template<uint8_t c>
constexpr size_t ADDR_IDX ()
simplify G-code address indexing

Variables

constexpr uint32_t | COMM_DLL_VERSION { 510U }
CNC and communication library (TGMmini_5.dll) version.
constexpr float64_t | INVALID_VALUE { 1e38 }
this "nonsense" value is used for not used G-code addresses.
constexpr float32_t | INVALID_VALUE_F { 1e38F }
this "nonsense" value is used for not used G-code addresses (float32_t version)
constexpr uint32_t | MAX_FUNC_ADDRESSES { MFUNC_NUMBER_PAR }
number of letters in alphabet, i.e. all the G-code addresses
constexpr int32_t | TOOL_CHAIN_BAD_INTR_INDEX { -2 }
ToolChainCore_XXX functions return codes. More...
constexpr int32_t | TOOL_CHAIN_ERROR { -1 }
unknown error (pointer is null, invalid parameter value, etc...)
constexpr int32_t | TOOL_CHAIN_SUCCESS { 0 }
OK value.
constexpr int32_t | TOOL_CHAIN_XEXEC { 1 }
error during execution
constexpr int32_t | TOOL_CHAIN_XBREAK { 2 }
execution has been interrupted
constexpr uint32_t | ACTUAL_N_AXES { MAX_INTERPOLATOR_AXES }
number of axes used in CNC module (currently 10)
constexpr uint32_t | RESET_CNC_NO_G92 { 1U }
Additional regimes for ToolChainCore_ResetCNC function. More...
constexpr uint32_t | NUMBER_OF_VARIABLES { 100U }
Max number of user Pxx parameters.
constexpr uint32_t | SUB_PARS { 50U }
Number of system parameters (P100 - P149)
constexpr uint32_t | MAX_DECLARED_PARAMS { NUMBER_OF_VARIABLES + SUB_PARS }
Total number of parameters.
constexpr uint32_t | MAXLABELLENGTH { 40U }
Max label length in the G-code (in characters)
constexpr int32_t | FILE_IDX_UNKNOWN { -1 }
special file indexes More...
constexpr int32_t | FILE_IDX_END { -2 }
end of G-code
constexpr int32_t | FILE_IDX_STOP { -3 }
reserved
constexpr int32_t | FILE_IDX_EXEC { -4 }
reserved
constexpr int32_t | FILE_IDX_INSERT_M_FUNCS { -5 }
Start or Stop CNC additional M functions.
constexpr int32_t | FILE_IDX_INSERT_G_FUNCS { -6 }
Move to connection point.
constexpr int32_t | FILE_IDX_RUNTIME_ERROR { -7 }
reserved
constexpr int32_t | FILE_IDX_MOVE { -8 }
GoTo position.
constexpr uint32_t | LOG_DEBUG_SWITCH { 0x00000001U }
constexpr uint32_t | LOG_VERBOSE_SWITCH { 0x00000002U }
Produces more informational output to log and debug files.
constexpr uint32_t | LOG_WORKER { 0x00000004U }
Enables logging of SF_XYZWorker_5 library messages.
constexpr uint32_t | LOG_TOOLCHAIN { 0x00000008U }
Enables logging of SF_TCh_5 library messages.
constexpr uint32_t | LOG_DRIVER { 0x00000010U }
Enables logging of SF_RTDrv_5 library messages.
constexpr uint32_t | LOG_COMPILER { 0x00000020U }
Enables logging of SF_DComp_5 library messages.
constexpr uint32_t | LOG_EXEC { 0x00000040U }
Enables logging of SF_DExec_5 library messages.
constexpr uint32_t | LOG_MATH { 0x00000080U }
Enables logging of SF_XYZMath_5 library messages.
constexpr uint32_t | LOG_SEND_TO_DBGVIEW { 0x10000000U }
constexpr uint32_t | LOG_SEND_TO_FILE { 0x20000000U }
constexpr uint32_t | LOG_SEND_TO_TGM { 0x40000000U }
constexpr uint32_t | MAX_M_FUNC_IN_G { 4U }
constexpr uint32_t | PLANE_XY { 17 }
CNC planes. More...
constexpr uint32_t | PLANE_XZ { 18 }
G18.
constexpr uint32_t | PLANE_YZ { 19 }
G19.
constexpr uint32_t | PLANE_ZX { 20 }
G-18 - lathe only.
constexpr uint32_t | PLANE_XYZ { 21 }
21 - general plane oriented in XYZ 3D space
constexpr uint32_t | CORR_STRATEGY_G41_ALREADY_CORRECTED { 0U }
G41, G42 means already corrected coordinate; G40 says that only the end of the following motion will be left uncorrected.
constexpr uint32_t | CORR_STRATEGY_G41_STARTS_CORRECTION { 1U }
G41, G42 only corrects the end of the following motion; G40 says the end of the previous motion will not be corrected.
constexpr uint32_t | CORR_STRATEGY_MASK { 0xFFU }
bits not used for correction strategy
constexpr uint32_t | CORR_STRATEGY_OLD_VERSION { 0x80000000U }
constexpr uint32_t | CORR_STRATEGY_G00_WITHOUT_CORR { 0x40000000U }
If this bit is set, G00 is always without correction.
constexpr uint32_t | CORR_STRATEGY_FORCE_TO_CONTINUE { 0x20000000U }
constexpr uint32_t | CORR_STRATEGY_CHECK_ORIGINAL_GCODE { 0x02000000U }
checks continuity of the G-code with the given tolerance (see GCODE_PARAMETERS::tolerance).
constexpr uint32_t | CORR_STRATEGY_REMOVE_LAST_ARC { 0x01000000 }
removes the last arc of a closed conture (in the case that the arc is the exit of the conture) if the equidistants do not cross
constexpr uint32_t | CORR_STRATEGY_REMOVE_FIRST_ARC { 0x00800000U }
removes the first arc of a closed conture (in the case that the arc is the approach of the conture) if the equidistants do not cross
constexpr uint32_t | CORR_STRATEGY_NO_ADD_R { 0x00400000U }
constexpr uint32_t | CORR_STRATEGY_REMOVE_SMALL_ARCS { 0x00200000U }
constexpr uint32_t | CORR_STRATEGY_ALLOW_REVERSE_LINES { 0x00100000U }
Allow more exact calculation of the tool compensation by reverse search with the buffer. Slows down the calculation.
constexpr uint32_t | CORR_STRATEGY_REMOVE_CROSSES { 0x00080000U }
After the calculation, if there are crossed parts (which are not crossed in the original G-code), these parts are removed.
constexpr uint32_t | CORR_STRATEGY_CONNECT_WRONG_BY_G1 { 0x00040000U }
After correction calculation, if there are unconnected parts, connect them by inserted G1.
constexpr uint32_t | CORR_STRATEGY_CONNECT_WRONG_BY_MOVE { 0x00020000U }
constexpr uint32_t | CORR_STRATEGY_ALLOW_FIRST_LAST_CROSS { 0x00010000U }
Allow crossing of the first and last part of the closed conture. In that case, parts inside are not removed.
constexpr uint32_t | CORR_STRATEGY_SEARCH_MASK { 0x00000700U }
mask bits for search deep number
constexpr uint32_t | CORR_STRATEGY_SEARCH_DEEP_10 { 0x00000100U }
Search at least 10 parts for possible crosses.
constexpr uint32_t | CORR_STRATEGY_SEARCH_DEEP_50 { 0x00000200U }
Search at least 50 parts for possible crosses.
constexpr uint32_t | CORR_STRATEGY_SEARCH_DEEP_100 { 0x00000300U }
Search at least 100 parts for possible crosses.
constexpr uint32_t | CORR_STRATEGY_SEARCH_DEEP_500 { 0x00000400U }
Search at least 500 parts for possible crosses.
constexpr uint32_t | CORR_STRATEGY_SEARCH_DEEP_1000 { 0x00000500U }
Search at least 1000 parts for possible crosses.
constexpr uint32_t | CORR_STRATEGY_SEARCH_DEEP_2000 { 0x00000600U }
Search at least 2000 parts for possible crosses.
constexpr uint32_t | CORR_STRATEGY_SEARCH_DEEP_ALL { 0x00000700U }
Search all parts for possible crosses.
constexpr uint32_t | CORR_STRATEGY_DEFAULT_DEEP { 1000U }
Default deep search number. Search at least 1000 G-code parts for possible crosses.
constexpr uint32_t | CORR_STRATEGY_MIN_DEEP { 10U }
Minimal search number.
constexpr uint32_t | F_BY_GCODE { 0U }
Feed is fully defined in G-code.
constexpr uint32_t | F_BY_PARAMETERS { 1U }
All feeds are set by values in motion array.
constexpr uint32_t | F_BY_PARAMETERS_FP_BY_GCODE { 2U }
All feeds are set by values in motion array but can be overridden by FP address.
constexpr uint32_t | DEF_GCODE_FEED_G00 { 0U }
indexes to feed table (GCODE_PARAMETERS::motion) More...
constexpr uint32_t | DEF_GCODE_FEED_G01 { 1U }
linear interpolation G1
constexpr uint32_t | DEF_GCODE_FEED_REVERSE { 2U }
backward movement (cnc_status::BACKWARD_32)
constexpr uint32_t | DEF_GCODE_FEED_CONNECT { 3U }
connect to trajectory
constexpr uint32_t | DEF_GCODE_FEED_WITHOUT_M { 4U }
movement without M functions
constexpr uint32_t | DEF_GCODE_FEED_GOTO_POSITION { 5U }
goto position
constexpr uint32_t | DEF_GCODE_FEED_NORMAL_STOP { 6U }
stop (only deceleration is used)
constexpr uint32_t | DEF_GCODE_FEED_EMERGENCY_STOP { 7U }
emergency stop (only deceleration is used)
constexpr uint32_t | DISABLE_OPCODE_CALL { 0x00000001U }
constexpr uint32_t | DISABLE_ASSIGN_CALL { 0x00000002U }
constexpr uint32_t | DISABLE_REFRESH_ALL_PARAMS_CALL { 0x00000004U }
constexpr uint32_t | GCODE_ALLOWED_CIRC_CENTER_ACCURACY { 0U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | GCODE_CROSSING_ACCURACY { 1U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | GCODE_ANGULAR_PRECISION { 2U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | GCODE_ANGULAR_DISTANCE_PRECISION { 3U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | GCODE_MINIMAL_ALLOWED_ARC_R { 4U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | GCODE_NO_ADD_R_MULTIPLIER { 5U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | GCODE_SOURCE_PRECISION { 6U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | GCODE_MINIMAL_ALLOWED_LINE_LENGTH { 7U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | INTERPOLATOR_CONFIG0_USE_REL_SPEED_BY_TIME { 0x0000'0001 }
constexpr uint32_t | INTERPOLATOR_CONFIG0_CONT_M_FUNC_IN_PLACE { 0x0000'0002 }
constexpr uint32_t | INTERPOLATOR_CONFIG0_DO_NOT_STOP_BETWEEN_G00_G01 { 0x0001'0000 }
constexpr uint32_t | INTERPOLATOR_CONFIG0_USE_FAST_FEED_IN_ALL_REGIMES { 0x0002'0000 }
constexpr uint32_t | GCODE_SIZE_ORIGINAL_IDX { 0U }
original G-code
constexpr uint32_t | GCODE_SIZE_CORRECTED_IDX { 1U }
compensated G-code
constexpr uint32_t | GCODE_SIZE_ROTATED_IDX { 2U }
original rotated G-code
constexpr uint32_t | GCODE_SIZE_ROTATED_CORRECTED_IDX { 3U }
compensated rotated G-code
constexpr uint32_t | DEVICE_ERROR_OUT_TAB { 0U }
add log message to specific log window if possible
constexpr uint32_t | CNC_OUT_TAB { 1U }
add log message to specific log window if possible
constexpr uint32_t | M29_OUT_TAB { 2U }
add log message to specific log window if possible
constexpr uint32_t | STATUS_LINE_ONLY { 3U }
add log message to specific log window if possible
constexpr uint32_t | ACTIVATE_TAB { 0x100U }
activate the selected tab
constexpr uint32_t | PREFIX_TIME { 0x200U }
prefix the message with time
constexpr uint32_t | APP_AddOutputLogFunc { 1U }
callback index number
constexpr uint32_t | APP_SetStatusBarTextFunc { 2U }
callback index number
constexpr uint32_t | APP_IsDebugModeFunc { 3U }
callback index number
constexpr uint32_t | APP_IsVerboseModeFunc { 4U }
callback index number
constexpr uint32_t | APP_GetLibPathFunc { 5U }
callback index number
constexpr uint32_t | APP_GetToolPathFunc { 6U }
callback index number
constexpr uint32_t | APP_GetSystemPathFunc { 7U }
callback index number
constexpr uint32_t | APP_GetFileTimeStampFunc { 10U }
callback index number
constexpr uint32_t | APP_DoYieldFunc { 11U }
callback index number
constexpr uint32_t | APP_ReadIniStringFunc { 12U }
callback index number
constexpr uint32_t | APP_ReadIniDoubleFunc { 13U }
callback index number
constexpr uint32_t | APP_ReadIniIntFunc { 14U }
callback index number
constexpr uint32_t | APP_IsBreakpointFunc { 17U }
callback index number
constexpr uint32_t | APP_DispAndLocateErrorFunc { 18U }
callback index number
constexpr uint32_t | APP_SetStatusBarProgressFunc { 32U }
callback index number
constexpr uint32_t | APP_MaxFuncNumber { 1000U }
last function in APP group
constexpr uint32_t | DRV_InitializeFunc { 1001U }
callback index number
constexpr uint32_t | DRV_GFunc { 1002U }
callback index number
constexpr uint32_t | DRV_MFunc { 1003U }
callback index number
constexpr uint32_t | ConnectPointCalcStartFuncNumber { 1004U }
callback index number
constexpr uint32_t | ConnectPointCalcFunc_UseReturnValues { 1U }
Return value of ConnectPointCalcFunc or ConnectPointCalcEndFunc values are used.
constexpr uint32_t | ConnectPointCalcFuncNumber { 1005U }
callback index number
constexpr uint32_t | ConnectPointCalcEndFuncNumber { 1006U }
callback index number
constexpr uint32_t | DRV_End { 1007U }
callback index number

Detailed Description

all CNC functions are encapsulated to cnc namespace

Variable Documentation

◆ FILE_IDX_UNKNOWN

constexpr int32_t cnc::FILE_IDX_UNKNOWN { -1 }
constexpr

special file indexes

the file index cannot be identified

◆ LOG_DEBUG_SWITCH

constexpr uint32_t cnc::LOG_DEBUG_SWITCH { 0x00000001U }
constexpr

If this flag is set, helper diagnostics files are generated together with the G-code source file. Slows down the compilation and execution significantly.

◆ LOG_SEND_TO_DBGVIEW

constexpr uint32_t cnc::LOG_SEND_TO_DBGVIEW { 0x10000000U }
constexpr

The log is sent to the operating system standard debug output. Use DbgView on Windows or start the program from console on linux.

◆ LOG_SEND_TO_FILE

constexpr uint32_t cnc::LOG_SEND_TO_FILE { 0x20000000U }
constexpr

Log messages are sent to the log file. Usually it is located in the log subdirectory of the main program and file names are generated from date and time.

◆ LOG_SEND_TO_TGM

constexpr uint32_t cnc::LOG_SEND_TO_TGM { 0x40000000U }
constexpr

Log messages are sent to the TGMotion's debug subsystem and can be viewed by Control Observer's Debug Console window.

◆ MAX_M_FUNC_IN_G

constexpr uint32_t cnc::MAX_M_FUNC_IN_G { 4U }
constexpr

max number of M functions inside one G function
e.g. G1 X... Y... M3...
will be interpreted as

M3
G1 X... Y...

◆ PLANE_XY

constexpr uint32_t cnc::PLANE_XY { 17 }
constexpr

CNC planes.

G17

◆ RESET_CNC_NO_G92

constexpr uint32_t cnc::RESET_CNC_NO_G92 { 1U }
constexpr

Additional regimes for ToolChainCore_ResetCNC function.

do not change machine position

◆ TOOL_CHAIN_BAD_INTR_INDEX

constexpr int32_t cnc::TOOL_CHAIN_BAD_INTR_INDEX { -2 }
constexpr

ToolChainCore_XXX functions return codes.

invalid interpolator index

  • cnc


TG Motion: cnc::TGM_FUNCTION_INTERNAL Struct Reference

Public Attributes | Static Public Attributes | List of all members
cnc::TGM_FUNCTION_INTERNAL Struct Reference

base structure for activating a CNC function More...

#include <tgm_cnc.h>

Inheritance diagram for cnc::TGM_FUNCTION_INTERNAL:
cnc::TGM_FUNCTION

Public Attributes

volatile cnc_func | number
function number, see TGM_FUNC_xxx values above
cnc_status regime
wanted regime for CNC start, only values 30, 31, 32, 33 are valid here
int32_t | gCodeIndex_connect
G code index number to be connected to.
uint32_t | nCoords
number of valid values in TGM_FUNCTION_INTERNAL::coords array
float64_t | coords [ACTUAL_N_AXES]
values as specified in ToolChainCore_ConnectCNCEx_Plane function
connect_type connectType
type of connection
uint32_t | reserved0
not used now, padding
TGM_CHAR | addGCode [MAX_GCODE_EX_SIZE]
additional GCode text (always ANSI) for start or stop functions
GCODE_PARAMETERS GCodeParameters
set G code parameters values
uint32_t | reserved1
not used now, padding
uint32_t | nUserParams
float64_t | userParams [NUMBER_OF_VARIABLES]
values to be copied to all the P00-P99 at the G-code startup

Static Public Attributes

static constexpr size_t MAX_GCODE_EX_SIZE { 2048U }

Detailed Description

base structure for activating a CNC function

Member Data Documentation

◆ MAX_GCODE_EX_SIZE

constexpr size_t cnc::TGM_FUNCTION_INTERNAL::MAX_GCODE_EX_SIZE { 2048U }
staticconstexpr

maximal allowed size of added G code (for ToolChainCore_StartCNCEx or ToolChainCore_StopCNCEx functions)

◆ nUserParams

uint32_t cnc::TGM_FUNCTION_INTERNAL::nUserParams

0: do not use userParams 100: use userParams values other values are ignored

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • TGM_FUNCTION_INTERNAL


TG Motion: cnc::TGM_FUNCTION Struct Reference

Public Attributes | Static Public Attributes | List of all members
cnc::TGM_FUNCTION Struct Reference

automatically sets the size of the structure to 8192 bytes More...

#include <tgm_cnc.h>

Inheritance diagram for cnc::TGM_FUNCTION:
cnc::TGM_FUNCTION_INTERNAL

Public Attributes

uint32_t | reserved_to_wanted_size [N_RESERVED/sizeof(uint32_t)]
reserved (size 4120 bytes)
- Public Attributes inherited from cnc::TGM_FUNCTION_INTERNAL
volatile cnc_func | number
function number, see TGM_FUNC_xxx values above
cnc_status regime
wanted regime for CNC start, only values 30, 31, 32, 33 are valid here
int32_t | gCodeIndex_connect
G code index number to be connected to.
uint32_t | nCoords
number of valid values in TGM_FUNCTION_INTERNAL::coords array
float64_t | coords [ACTUAL_N_AXES]
values as specified in ToolChainCore_ConnectCNCEx_Plane function
connect_type connectType
type of connection
uint32_t | reserved0
not used now, padding
TGM_CHAR | addGCode [MAX_GCODE_EX_SIZE]
additional GCode text (always ANSI) for start or stop functions
GCODE_PARAMETERS GCodeParameters
set G code parameters values
uint32_t | reserved1
not used now, padding
uint32_t | nUserParams
float64_t | userParams [NUMBER_OF_VARIABLES]
values to be copied to all the P00-P99 at the G-code startup

Static Public Attributes

static constexpr size_t | N_WANTED_SIZE { 8192U }
wanted fixed size
static constexpr size_t | N_RESERVED { N_WANTED_SIZE - sizeof(TGM_FUNCTION_INTERNAL) }
auto calculated remaining size
- Static Public Attributes inherited from cnc::TGM_FUNCTION_INTERNAL
static constexpr size_t | MAX_GCODE_EX_SIZE { 2048U }

Detailed Description

automatically sets the size of the structure to 8192 bytes

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • TGM_FUNCTION


TG Motion: cnc::TGM_CNC_CORE_MEMORY_INTERNAL Struct Reference

Public Attributes | List of all members
cnc::TGM_CNC_CORE_MEMORY_INTERNAL Struct Reference

shared CNC memory for one CNC core More...

#include <tgm_cnc.h>

Inheritance diagram for cnc::TGM_CNC_CORE_MEMORY_INTERNAL:
cnc::TGM_CNC_CORE_MEMORY

Public Attributes

ACTUAL_GM_VALUES actPos
actual values - read periodically by internal thread
uint32_t | lastErrorID
copy of error number returned by ToolChainCore_GetLastError()
volatile cnc_func | stopFunc
stop function - only tgm_func::STOP_01 is allowed here
char | stopAddGCode [TGM_FUNCTION_INTERNAL::MAX_GCODE_EX_SIZE]
additional GCode text (ANSI) for ToolChainCore_StopCNCEx() function
float64_t | Pxx [MAX_DECLARED_PARAMS]
actual values of P00 - P99 (and special P100-P149) params - read in diagnostics mode
GCODE_INFO GCodeInfo
information about G code as returned by ToolChainCore_GetGCodeSizeInfo
TGM_FUNCTION func
all other non-stop functions

Detailed Description

shared CNC memory for one CNC core

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • TGM_CNC_CORE_MEMORY_INTERNAL


TG Motion: cnc::TGM_CNC_CORE_MEMORY Struct Reference

Public Attributes | Static Public Attributes | List of all members
cnc::TGM_CNC_CORE_MEMORY Struct Reference

automatically sets the size of the structure to 16384 bytes More...

#include <tgm_cnc.h>

Inheritance diagram for cnc::TGM_CNC_CORE_MEMORY:
cnc::TGM_CNC_CORE_MEMORY_INTERNAL

Public Attributes

uint32_t | reserved_to_wanted_size [N_RESERVED/sizeof(uint32_t)]
reserved (size is 3232 bytes)
- Public Attributes inherited from cnc::TGM_CNC_CORE_MEMORY_INTERNAL
ACTUAL_GM_VALUES actPos
actual values - read periodically by internal thread
uint32_t | lastErrorID
copy of error number returned by ToolChainCore_GetLastError()
volatile cnc_func | stopFunc
stop function - only tgm_func::STOP_01 is allowed here
char | stopAddGCode [TGM_FUNCTION_INTERNAL::MAX_GCODE_EX_SIZE]
additional GCode text (ANSI) for ToolChainCore_StopCNCEx() function
float64_t | Pxx [MAX_DECLARED_PARAMS]
actual values of P00 - P99 (and special P100-P149) params - read in diagnostics mode
GCODE_INFO GCodeInfo
information about G code as returned by ToolChainCore_GetGCodeSizeInfo
TGM_FUNCTION func
all other non-stop functions

Static Public Attributes

static constexpr size_t | N_WANTED_SIZE { 16384U }
wanted fixed size
static constexpr size_t | N_RESERVED { N_WANTED_SIZE - sizeof(TGM_CNC_CORE_MEMORY_INTERNAL) }
auto calculated remaining size

Detailed Description

automatically sets the size of the structure to 16384 bytes

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • TGM_CNC_CORE_MEMORY


TG Motion: cnc::TGM_CNC_MEMORY_HEADER Struct Reference

Public Attributes | Static Public Attributes | List of all members
cnc::TGM_CNC_MEMORY_HEADER Struct Reference

header of the shared TGM_CNCEX memory More...

#include <tgm_cnc.h>

Public Attributes

uint32_t | version
version number
uint32_t | size
total size of memory in bytes (allocated size, may be larger then sizeof(TGM_CNC_MEMORY))
uint32_t | size_TGM_CNC_MEMORY
sizeof(TGM_CNC_MEMORY)
uint32_t | size_GCODE_PARAMETERS
sizeof(GCODE_PARAMETERS)
uint32_t | size_SIMPLE_GM_PARAMS
sizeof(SIMPLE_GM_PARAMS_WIN32)
uint32_t | size_ACTUAL_GM_VALUES
sizeof(ACTUAL_GM_VALUES)
uint32_t | size_CALLBACK_INFO
sizeof(CALLBACK_INFO)
uint32_t | size_GCODE_INFO
sizeof(GCODE_INFO)
uint32_t | size_MACHINE_PARAMETERS
sizeof(MACHINE_PARAMETERS)
uint32_t | size_InterpolatorMemory
size of INTERPOLATOR structure
uint32_t | size_InterpolatorReadMemory
size of "InterpolatorWriteMemory"
uint32_t | size_InterpolatorWriteMemory
size of "InterpolatorReadMemory"
uint32_t | nCores
maximal number of cores in system, fixed at compile time
uint32_t | reserved [N_RESERVED_ITEMS]
reserved

Static Public Attributes

static constexpr uint32_t N_RESERVED_ITEMS { 19U }
number of reserved items

Detailed Description

header of the shared TGM_CNCEX memory

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • TGM_CNC_MEMORY_HEADER


TG Motion: cnc::TGM_CNC_MEMORY Struct Reference

Public Attributes | List of all members
cnc::TGM_CNC_MEMORY Struct Reference

describes the shared TGM_CNCEX memory More...

#include <tgm_cnc.h>

Public Attributes

TGM_CNC_MEMORY_HEADER h
header
TGM_CNC_CORE_MEMORY core [MAX_CORES]
all 3 cores. TGMmini uses only core 0 or 1 if specified in .INI file

Detailed Description

describes the shared TGM_CNCEX memory

The documentation for this struct was generated from the following file:
  • tgm_cnc.h
  • cnc
  • TGM_CNC_MEMORY


TG Motion: Namespace Members

Here is a list of all documented namespace members with links to the namespaces they belong to:

- a -

  • ACTIVATE_TAB : cnc
  • ACTUAL_N_AXES : cnc
  • AddOutputLogFunc : cnc
  • AddOutputLogWithMsgBoxFunc : cnc
  • ADDR_IDX() : cnc
  • APP_AddOutputLogFunc : cnc
  • APP_DispAndLocateErrorFunc : cnc
  • APP_DoYieldFunc : cnc
  • APP_GetFileTimeStampFunc : cnc
  • APP_GetLibPathFunc : cnc
  • APP_GetSystemPathFunc : cnc
  • APP_GetToolPathFunc : cnc
  • APP_IsBreakpointFunc : cnc
  • APP_IsDebugModeFunc : cnc
  • APP_IsVerboseModeFunc : cnc
  • APP_MaxFuncNumber : cnc
  • APP_ReadIniDoubleFunc : cnc
  • APP_ReadIniIntFunc : cnc
  • APP_ReadIniStringFunc : cnc
  • APP_SetStatusBarProgressFunc : cnc
  • APP_SetStatusBarTextFunc : cnc
  • axis_idx : cnc

- c -

  • cnc_func : cnc
  • CNC_OUT_TAB : cnc
  • cnc_status : cnc
  • COMM_DLL_VERSION : cnc
  • connect_type : cnc
  • ConnectPointCalcEndFunc : cnc
  • ConnectPointCalcEndFuncNumber : cnc
  • ConnectPointCalcFunc : cnc
  • ConnectPointCalcFunc_UseReturnValues : cnc
  • ConnectPointCalcFuncNumber : cnc
  • ConnectPointCalcStartFunc : cnc
  • ConnectPointCalcStartFuncNumber : cnc
  • CORR_STRATEGY_ALLOW_FIRST_LAST_CROSS : cnc
  • CORR_STRATEGY_ALLOW_REVERSE_LINES : cnc
  • CORR_STRATEGY_CHECK_ORIGINAL_GCODE : cnc
  • CORR_STRATEGY_CONNECT_WRONG_BY_G1 : cnc
  • CORR_STRATEGY_CONNECT_WRONG_BY_MOVE : cnc
  • CORR_STRATEGY_DEFAULT_DEEP : cnc
  • CORR_STRATEGY_FORCE_TO_CONTINUE : cnc
  • CORR_STRATEGY_G00_WITHOUT_CORR : cnc
  • CORR_STRATEGY_G41_ALREADY_CORRECTED : cnc
  • CORR_STRATEGY_G41_STARTS_CORRECTION : cnc
  • CORR_STRATEGY_MASK : cnc
  • CORR_STRATEGY_MIN_DEEP : cnc
  • CORR_STRATEGY_NO_ADD_R : cnc
  • CORR_STRATEGY_OLD_VERSION : cnc
  • CORR_STRATEGY_REMOVE_CROSSES : cnc
  • CORR_STRATEGY_REMOVE_FIRST_ARC : cnc
  • CORR_STRATEGY_REMOVE_LAST_ARC : cnc
  • CORR_STRATEGY_REMOVE_SMALL_ARCS : cnc
  • CORR_STRATEGY_SEARCH_DEEP_10 : cnc
  • CORR_STRATEGY_SEARCH_DEEP_100 : cnc
  • CORR_STRATEGY_SEARCH_DEEP_1000 : cnc
  • CORR_STRATEGY_SEARCH_DEEP_2000 : cnc
  • CORR_STRATEGY_SEARCH_DEEP_50 : cnc
  • CORR_STRATEGY_SEARCH_DEEP_500 : cnc
  • CORR_STRATEGY_SEARCH_DEEP_ALL : cnc
  • CORR_STRATEGY_SEARCH_MASK : cnc

- d -

  • DEF_GCODE_FEED_CONNECT : cnc
  • DEF_GCODE_FEED_EMERGENCY_STOP : cnc
  • DEF_GCODE_FEED_G00 : cnc
  • DEF_GCODE_FEED_G01 : cnc
  • DEF_GCODE_FEED_GOTO_POSITION : cnc
  • DEF_GCODE_FEED_NORMAL_STOP : cnc
  • DEF_GCODE_FEED_REVERSE : cnc
  • DEF_GCODE_FEED_WITHOUT_M : cnc
  • DEVICE_ERROR_OUT_TAB : cnc
  • DISABLE_ASSIGN_CALL : cnc
  • DISABLE_OPCODE_CALL : cnc
  • DISABLE_REFRESH_ALL_PARAMS_CALL : cnc
  • DispAndLocateErrorFunc : cnc
  • DoYieldFunc : cnc
  • DriverEnd : cnc
  • DriverGFunc : cnc
  • DriverInitializeFunc : cnc
  • DriverMFunc : cnc
  • DRV_End : cnc
  • DRV_GFunc : cnc
  • DRV_InitializeFunc : cnc
  • DRV_MFunc : cnc

- f -

  • F_BY_GCODE : cnc
  • F_BY_PARAMETERS : cnc
  • F_BY_PARAMETERS_FP_BY_GCODE : cnc
  • FILE_IDX_END : cnc
  • FILE_IDX_EXEC : cnc
  • FILE_IDX_INSERT_G_FUNCS : cnc
  • FILE_IDX_INSERT_M_FUNCS : cnc
  • FILE_IDX_MOVE : cnc
  • FILE_IDX_RUNTIME_ERROR : cnc
  • FILE_IDX_STOP : cnc
  • FILE_IDX_UNKNOWN : cnc
  • FuncPrototype : cnc

- g -

  • GCODE_ALLOWED_CIRC_CENTER_ACCURACY : cnc
  • GCODE_ANGULAR_DISTANCE_PRECISION : cnc
  • GCODE_ANGULAR_PRECISION : cnc
  • GCODE_CROSSING_ACCURACY : cnc
  • GCODE_MINIMAL_ALLOWED_ARC_R : cnc
  • GCODE_MINIMAL_ALLOWED_LINE_LENGTH : cnc
  • GCODE_NO_ADD_R_MULTIPLIER : cnc
  • GCODE_SIZE_CORRECTED_IDX : cnc
  • GCODE_SIZE_ORIGINAL_IDX : cnc
  • GCODE_SIZE_ROTATED_CORRECTED_IDX : cnc
  • GCODE_SIZE_ROTATED_IDX : cnc
  • GCODE_SOURCE_PRECISION : cnc
  • GetFileTimeStampFunc : cnc
  • GetLibPathFunc : cnc
  • GetSystemPathFunc : cnc
  • GetToolPathFunc : cnc

- i -

  • INTERPOLATOR_CONFIG0_CONT_M_FUNC_IN_PLACE : cnc
  • INTERPOLATOR_CONFIG0_DO_NOT_STOP_BETWEEN_G00_G01 : cnc
  • INTERPOLATOR_CONFIG0_USE_FAST_FEED_IN_ALL_REGIMES : cnc
  • INTERPOLATOR_CONFIG0_USE_REL_SPEED_BY_TIME : cnc
  • INVALID_VALUE : cnc
  • INVALID_VALUE_F : cnc
  • IsBreakpointFunc : cnc
  • IsDebugModeFunc : cnc
  • IsVerboseModeFunc : cnc

- l -

  • LOG_COMPILER : cnc
  • LOG_DEBUG_SWITCH : cnc
  • LOG_DRIVER : cnc
  • LOG_EXEC : cnc
  • LOG_MATH : cnc
  • LOG_SEND_TO_DBGVIEW : cnc
  • LOG_SEND_TO_FILE : cnc
  • LOG_SEND_TO_TGM : cnc
  • LOG_TOOLCHAIN : cnc
  • LOG_VERBOSE_SWITCH : cnc
  • LOG_WORKER : cnc

- m -

  • M29_OUT_TAB : cnc
  • MathWarningFunc : cnc
  • MAX_DECLARED_PARAMS : cnc
  • MAX_FUNC_ADDRESSES : cnc
  • MAX_M_FUNC_IN_G : cnc
  • MAXLABELLENGTH : cnc

- n -

  • NUMBER_OF_VARIABLES : cnc

- p -

  • PLANE_XY : cnc
  • PLANE_XYZ : cnc
  • PLANE_XZ : cnc
  • PLANE_YZ : cnc
  • PLANE_ZX : cnc
  • PREFIX_TIME : cnc

- r -

  • ReadIniDoubleFunc : cnc
  • ReadIniIntFunc : cnc
  • ReadIniStringFunc : cnc
  • RESET_CNC_NO_G92 : cnc
  • reset_status_cnc : cnc

- s -

  • SetStatusBarProgressFunc : cnc
  • SetStatusBarTextFunc : cnc
  • status_after_connect : cnc
  • STATUS_LINE_ONLY : cnc
  • SUB_PARS : cnc

- t -

  • TOOL_CHAIN_BAD_INTR_INDEX : cnc
  • TOOL_CHAIN_ERROR : cnc
  • TOOL_CHAIN_SUCCESS : cnc
  • TOOL_CHAIN_XBREAK : cnc
  • TOOL_CHAIN_XEXEC : cnc


TG Motion: Namespace Members

  • ADDR_IDX() : cnc


TG Motion: Namespace Members

- a -

  • ACTIVATE_TAB : cnc
  • ACTUAL_N_AXES : cnc
  • APP_AddOutputLogFunc : cnc
  • APP_DispAndLocateErrorFunc : cnc
  • APP_DoYieldFunc : cnc
  • APP_GetFileTimeStampFunc : cnc
  • APP_GetLibPathFunc : cnc
  • APP_GetSystemPathFunc : cnc
  • APP_GetToolPathFunc : cnc
  • APP_IsBreakpointFunc : cnc
  • APP_IsDebugModeFunc : cnc
  • APP_IsVerboseModeFunc : cnc
  • APP_MaxFuncNumber : cnc
  • APP_ReadIniDoubleFunc : cnc
  • APP_ReadIniIntFunc : cnc
  • APP_ReadIniStringFunc : cnc
  • APP_SetStatusBarProgressFunc : cnc
  • APP_SetStatusBarTextFunc : cnc

- c -

  • CNC_OUT_TAB : cnc
  • COMM_DLL_VERSION : cnc
  • ConnectPointCalcEndFuncNumber : cnc
  • ConnectPointCalcFunc_UseReturnValues : cnc
  • ConnectPointCalcFuncNumber : cnc
  • ConnectPointCalcStartFuncNumber : cnc
  • CORR_STRATEGY_ALLOW_FIRST_LAST_CROSS : cnc
  • CORR_STRATEGY_ALLOW_REVERSE_LINES : cnc
  • CORR_STRATEGY_CHECK_ORIGINAL_GCODE : cnc
  • CORR_STRATEGY_CONNECT_WRONG_BY_G1 : cnc
  • CORR_STRATEGY_CONNECT_WRONG_BY_MOVE : cnc
  • CORR_STRATEGY_DEFAULT_DEEP : cnc
  • CORR_STRATEGY_FORCE_TO_CONTINUE : cnc
  • CORR_STRATEGY_G00_WITHOUT_CORR : cnc
  • CORR_STRATEGY_G41_ALREADY_CORRECTED : cnc
  • CORR_STRATEGY_G41_STARTS_CORRECTION : cnc
  • CORR_STRATEGY_MASK : cnc
  • CORR_STRATEGY_MIN_DEEP : cnc
  • CORR_STRATEGY_NO_ADD_R : cnc
  • CORR_STRATEGY_OLD_VERSION : cnc
  • CORR_STRATEGY_REMOVE_CROSSES : cnc
  • CORR_STRATEGY_REMOVE_FIRST_ARC : cnc
  • CORR_STRATEGY_REMOVE_LAST_ARC : cnc
  • CORR_STRATEGY_REMOVE_SMALL_ARCS : cnc
  • CORR_STRATEGY_SEARCH_DEEP_10 : cnc
  • CORR_STRATEGY_SEARCH_DEEP_100 : cnc
  • CORR_STRATEGY_SEARCH_DEEP_1000 : cnc
  • CORR_STRATEGY_SEARCH_DEEP_2000 : cnc
  • CORR_STRATEGY_SEARCH_DEEP_50 : cnc
  • CORR_STRATEGY_SEARCH_DEEP_500 : cnc
  • CORR_STRATEGY_SEARCH_DEEP_ALL : cnc
  • CORR_STRATEGY_SEARCH_MASK : cnc

- d -

  • DEF_GCODE_FEED_CONNECT : cnc
  • DEF_GCODE_FEED_EMERGENCY_STOP : cnc
  • DEF_GCODE_FEED_G00 : cnc
  • DEF_GCODE_FEED_G01 : cnc
  • DEF_GCODE_FEED_GOTO_POSITION : cnc
  • DEF_GCODE_FEED_NORMAL_STOP : cnc
  • DEF_GCODE_FEED_REVERSE : cnc
  • DEF_GCODE_FEED_WITHOUT_M : cnc
  • DEVICE_ERROR_OUT_TAB : cnc
  • DISABLE_ASSIGN_CALL : cnc
  • DISABLE_OPCODE_CALL : cnc
  • DISABLE_REFRESH_ALL_PARAMS_CALL : cnc
  • DRV_End : cnc
  • DRV_GFunc : cnc
  • DRV_InitializeFunc : cnc
  • DRV_MFunc : cnc

- f -

  • F_BY_GCODE : cnc
  • F_BY_PARAMETERS : cnc
  • F_BY_PARAMETERS_FP_BY_GCODE : cnc
  • FILE_IDX_END : cnc
  • FILE_IDX_EXEC : cnc
  • FILE_IDX_INSERT_G_FUNCS : cnc
  • FILE_IDX_INSERT_M_FUNCS : cnc
  • FILE_IDX_MOVE : cnc
  • FILE_IDX_RUNTIME_ERROR : cnc
  • FILE_IDX_STOP : cnc
  • FILE_IDX_UNKNOWN : cnc

- g -

  • GCODE_ALLOWED_CIRC_CENTER_ACCURACY : cnc
  • GCODE_ANGULAR_DISTANCE_PRECISION : cnc
  • GCODE_ANGULAR_PRECISION : cnc
  • GCODE_CROSSING_ACCURACY : cnc
  • GCODE_MINIMAL_ALLOWED_ARC_R : cnc
  • GCODE_MINIMAL_ALLOWED_LINE_LENGTH : cnc
  • GCODE_NO_ADD_R_MULTIPLIER : cnc
  • GCODE_SIZE_CORRECTED_IDX : cnc
  • GCODE_SIZE_ORIGINAL_IDX : cnc
  • GCODE_SIZE_ROTATED_CORRECTED_IDX : cnc
  • GCODE_SIZE_ROTATED_IDX : cnc
  • GCODE_SOURCE_PRECISION : cnc

- i -

  • INTERPOLATOR_CONFIG0_CONT_M_FUNC_IN_PLACE : cnc
  • INTERPOLATOR_CONFIG0_DO_NOT_STOP_BETWEEN_G00_G01 : cnc
  • INTERPOLATOR_CONFIG0_USE_FAST_FEED_IN_ALL_REGIMES : cnc
  • INTERPOLATOR_CONFIG0_USE_REL_SPEED_BY_TIME : cnc
  • INVALID_VALUE : cnc
  • INVALID_VALUE_F : cnc

- l -

  • LOG_COMPILER : cnc
  • LOG_DEBUG_SWITCH : cnc
  • LOG_DRIVER : cnc
  • LOG_EXEC : cnc
  • LOG_MATH : cnc
  • LOG_SEND_TO_DBGVIEW : cnc
  • LOG_SEND_TO_FILE : cnc
  • LOG_SEND_TO_TGM : cnc
  • LOG_TOOLCHAIN : cnc
  • LOG_VERBOSE_SWITCH : cnc
  • LOG_WORKER : cnc

- m -

  • M29_OUT_TAB : cnc
  • MAX_DECLARED_PARAMS : cnc
  • MAX_FUNC_ADDRESSES : cnc
  • MAX_M_FUNC_IN_G : cnc
  • MAXLABELLENGTH : cnc

- n -

  • NUMBER_OF_VARIABLES : cnc

- p -

  • PLANE_XY : cnc
  • PLANE_XYZ : cnc
  • PLANE_XZ : cnc
  • PLANE_YZ : cnc
  • PLANE_ZX : cnc
  • PREFIX_TIME : cnc

- r -

  • RESET_CNC_NO_G92 : cnc

- s -

  • STATUS_LINE_ONLY : cnc
  • SUB_PARS : cnc

- t -

  • TOOL_CHAIN_BAD_INTR_INDEX : cnc
  • TOOL_CHAIN_ERROR : cnc
  • TOOL_CHAIN_SUCCESS : cnc
  • TOOL_CHAIN_XBREAK : cnc
  • TOOL_CHAIN_XEXEC : cnc


TG Motion: Namespace Members

  • AddOutputLogFunc : cnc
  • AddOutputLogWithMsgBoxFunc : cnc
  • ConnectPointCalcEndFunc : cnc
  • ConnectPointCalcFunc : cnc
  • ConnectPointCalcStartFunc : cnc
  • DispAndLocateErrorFunc : cnc
  • DoYieldFunc : cnc
  • DriverEnd : cnc
  • DriverGFunc : cnc
  • DriverInitializeFunc : cnc
  • DriverMFunc : cnc
  • FuncPrototype : cnc
  • GetFileTimeStampFunc : cnc
  • GetLibPathFunc : cnc
  • GetSystemPathFunc : cnc
  • GetToolPathFunc : cnc
  • IsBreakpointFunc : cnc
  • IsDebugModeFunc : cnc
  • IsVerboseModeFunc : cnc
  • MathWarningFunc : cnc
  • ReadIniDoubleFunc : cnc
  • ReadIniIntFunc : cnc
  • ReadIniStringFunc : cnc
  • SetStatusBarProgressFunc : cnc
  • SetStatusBarTextFunc : cnc


TG Motion: Namespace Members

  • axis_idx : cnc
  • cnc_func : cnc
  • cnc_status : cnc
  • connect_type : cnc
  • reset_status_cnc : cnc
  • status_after_connect : cnc


TG Motion: Class List

Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12]
▼N cnc | All CNC functions are encapsulated to cnc namespace
C SIMPLE_INFO | Auxiliary G-code functions use this structure
C P10DOUBLE | This structure defines 10 coordinates of float64_t type (8 bytes)
C P10BOOL | Structure similar to P10DOUBLE, using integers
C ACTUAL_GM_VALUES | Actual parameters
C SIMPLE_GM_PARAMS_WIN32 | Describes one G-code part
C CALLBACK_INFO | Structure for transmitting information for the function ToolChainCore_GetLastError and for the callback functions AddOutputLogFunc, SetStatusBarTextFunc, MathWarningFunc
C GCODE_FEED | Definition of default feeds
C AXIS_LIMITS | Limits for one axis
C GCODE_CORRECTION | Definition of corrections
C ARC_FEED_TABLE | Table of speeds, relative arc speeds in relation to radius
C INTERNAL_MFUNC_INSERT_TABLE | Values of inserted M functions
C GCODE_PARAMETERS | Structure for setting G-code properties
C GCODE_SIZE | Initial position, end position and size
C GCODE_INFO | G-code size
C DLL_INIT_STRUCT | Initialization structure. Used by ToolChainCore_Init
C MACHINE_PARAMETERS | Machine parameters
C MACHINE_STATUS | Machine status
C TGM_FUNCTION_INTERNAL | Base structure for activating a CNC function
C TGM_FUNCTION | Automatically sets the size of the structure to 8192 bytes
C TGM_CNC_CORE_MEMORY_INTERNAL | Shared CNC memory for one CNC core
C TGM_CNC_CORE_MEMORY | Automatically sets the size of the structure to 16384 bytes
C TGM_CNC_MEMORY_HEADER | Header of the shared TGM_CNCEX memory
C TGM_CNC_MEMORY | Describes the shared TGM_CNCEX memory
C CAPTURE | Capture position from servo
C CHANNEL | One oscilloscope channel definition
C CNC_CALC_INIT_DATA | Initialization structure
C CNC_CALC_RETURN_VALUE | Holds changed G-code parts
C COMMAND | Servo command
C CONT_MFUNC_HISTORY | History of continuous M functions
C CTGM_COMM_INT_5 | C++ wrapper class for TGM_Comm_Int_2 library functions
C DIO | Describes one servo input/output module
C ECAT_REGISTER | EtherCAT registers communication
C EEPROM |
C EEPROM_CONTROL |
C EXT_SDO | Extended SDO object communication (GENERAL_DEVICES only)
C GEAR | Gear generator
C GENERAL_DEVICE | Describes one general module
C GENERAL_MEMORY | Memory contains general devices (handled by PLC)
C HEADER | The HEADER struct - fixed size 128 bytes
C INTERPOLATOR | Interface to interpolator
C INTERPOLATOR_LOOK_AHEAD_BUFFER | Lookahead informations about the G-code
C INTERPOLATOR_LOOK_AHEAD_ENTRY | Stores informations about CNC code parts ahead of the actual one
C MAIN | The MAIN struct - fixed size of 4096 bytes
C MAP_CNC | Maps interpolator axis to servo drive
C OSC | Oscilloscope control
C PG | Profile generator
C PLC_DATA | Main structure for communication between TGMotion and Virtual PLC
C PLC_IMPORT_FUNCTIONS | Pointers to auxiliary functions usable in Virtual PLC
C PLC_LARGE_INTEGER |
C RECEIVE_DATA_CAN | One entry of incoming CAN data
C RESERVE_MAIN | Reserve the MAIN structure to 4096 bytes
C SDO | SDO object communication
C SERVO | Describes one servo drive (or axis)
C SYSTEM | Shared memory named "TGM_System"
C TIMERS | Timers with fixed 1ms period


TG Motion: CAPTURE Struct Reference

CAPTURE Struct Reference

Capture position from servo. More...

#include <tgm.h>

Detailed Description

Capture position from servo.

Note
not yet fully documented
The documentation for this struct was generated from the following file:
  • tgm.h
  • CAPTURE


TG Motion: CHANNEL Struct Reference

Public Attributes | List of all members
CHANNEL Struct Reference

One oscilloscope channel definition. More...

#include <tgm.h>

Public Attributes

uint32_t | Offset
Offset of channel in oscilloscope memory [ byte ] - R only.
SHARED_MEMORY Memory_Type_Value
Type memory of value - W only.
uint32_t | Offset_Value
Offset of value in memory value [ byte ]- W only.
OSC_DATA_TYPE Type_Value
data type to be used for oscilloscope - W only

Detailed Description

One oscilloscope channel definition.

The documentation for this struct was generated from the following file:
  • tgm.h
  • CHANNEL


TG Motion: COMMAND Struct Reference

Public Attributes | List of all members
COMMAND Struct Reference

Servo command. More...

#include <tgm.h>

Public Attributes

volatile int32_t | Control
int32_t | Reserve
reserved
float64_t | Par [15]
Function parameters, depending on COMMAND::Control.

Detailed Description

Servo command.

Member Data Documentation

◆ Control

volatile int32_t COMMAND::Control

command number

Supported command numbers:

Number | Description
0 | The previous command has been finished
1 | PG speed control
2 | PG absolute positioning
3 | PG relative positioning
4 | set reference position
5 | cancel any positioning and stop the servo
6 | linear gear or cam
7 | cancel gear generator
The documentation for this struct was generated from the following file:
  • tgm.h
  • COMMAND


TG Motion: CONT_MFUNC_HISTORY Struct Reference

Public Attributes | Static Public Attributes | List of all members
CONT_MFUNC_HISTORY Struct Reference

History of continuous M functions. More...

#include <tgm.h>

Public Attributes

uint32_t | lastValidEntry
index to mFuncs array - points to last entered continuous M func
uint32_t | mFuncs [MAX_SIZE]

Static Public Attributes

static constexpr uint32_t MAX_SIZE { 8U }
holds history of continuous M functions

Detailed Description

History of continuous M functions.

Member Data Documentation

◆ mFuncs

uint32_t CONT_MFUNC_HISTORY::mFuncs[MAX_SIZE]

circular array - TGMotion only writes to this array (in case of continuous M function) and then increments lastValidEntry. It is up to PLC to read the values and zero them eventually. TGMotion will NOT set the values to zero.

The documentation for this struct was generated from the following file:
  • tgm.h
  • CONT_MFUNC_HISTORY


TG Motion: CTGM_COMM_INT_5 Class Reference

Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
CTGM_COMM_INT_5 Class Reference

C++ wrapper class for TGM_Comm_Int_2 library functions. More...

#include <tgm_comm_int_5_dll.h>

Public Types

enum class error_code : int32_t {
Success = 0 ,
Device_Type = 1 ,
Interface_Not_Create = 2 ,
Connection_Not_Open = 3 ,
Not_Detect_Comm_DLL = 4 ,
Interface_Already_Exists = 5 ,
Interface_Create_Off_Mem = 6 ,
Connection_Already_Exists = 7 ,
Connection_Create_Thread = 8 ,
Invalid_Data = 9
}
Error codes returned by most of the functions. More...
enum class device : uint32_t {
Local_TGM = 0 ,
TGM_Mini = 1 ,
TGM_REMOTE = 2 ,
TGM_FSP = 3
}
Allowed device types. More...
enum class connected_memory : int32_t {
None = 0 ,
Local_Offline = 1 ,
Local_TGM_Online = 2 ,
TGM_Mini_Offline = 3 ,
TGM_Mini_Online = 4 ,
REM_Client_Offline = 5 ,
REM_Server_Offline = 6 ,
REM_Server = 7
}
Connected memory types. More...
enum class compatibility : int32_t {
App_ID_None = -1 ,
App_Mem_ID_None = -1
}
Compatibility types.
enum class status : int32_t {
Online_Incompatible_ID = 3 ,
Simulation_Mode_TGM = 2 ,
Online = 1 ,
Offline_Connection_Proceeds = 0 ,
Offline_Device_Offline = -1 ,
Offline_Incompatible_DLL_ID = -2 ,
Offline_Incompatible_DLL_Mem_ID = -3 ,
Offline_Incompatible_DEVICE_ID = -4 ,
Offline_Incompatible_DEVICE_Mem_ID = -5 ,
Offline_Not_Detect_Comm_DLL = -6 ,
Offline_Open_Connection_Failed = -7 ,
Offline_Init_Connection_Failed = -8 ,
Offline_Connection_Not_Opened = -9 ,
Offline_Interface_Not_Create = -10
}
connection status (return codes of Get_Status()) More...
enum class read_write : int32_t {
OK = 0 ,
OK_Offline_Data = -1 ,
ERR_Invalid_Data = -2 ,
ERR_Device_Busy = -3 ,
ERR_Interface_Not_Create = -8 ,
ERR_Unsupported_Function = -9 ,
ERR_Connection_Not_Open = 3 ,
ERR_Not_Detect_Comm_DLL = 4
}
return values of Read_xxx and Write_xxx functions More...
enum class shared_memory : uint32_t {
SYSTEM = static_cast<uint32_t>(SHARED_MEMORY::SYSTEM) ,
DATA = static_cast<uint32_t>(SHARED_MEMORY::DATA) ,
CAM = static_cast<uint32_t>(SHARED_MEMORY::CAM_PROFILE) ,
OSC = static_cast<uint32_t>(SHARED_MEMORY::OSCILLOSCOPE) ,
SERVO = static_cast<uint32_t>(SHARED_MEMORY::SERVO) ,
DIO = static_cast<uint32_t>(SHARED_MEMORY::DIO) ,
GENERAL = static_cast<uint32_t>(SHARED_MEMORY::GENERAL) ,
INTERP = static_cast<uint32_t>(SHARED_MEMORY::INTERPOLATOR) ,
INTERP_W = static_cast<uint32_t>(SHARED_MEMORY::INTERPOLATOR_WRITE) ,
INTERP_R = static_cast<uint32_t>(SHARED_MEMORY::INTERPOLATOR_READ) ,
ODS = static_cast<uint32_t>(SHARED_MEMORY::ODS) ,
CNC_ODS = static_cast<uint32_t>(SHARED_MEMORY::CNC_ODS) ,
CNC_EX = static_cast<uint32_t>(SHARED_MEMORY::CNC_EX) ,
NMemories = static_cast<uint32_t>(SHARED_MEMORY::LAST_MEMORY_IDX)
}
Shared memory numbers. More...

Public Member Functions

error_code | LoadDll (const char *fileName)
First function to be called. Loads the TGM_Comm_Int_5.dll and gets pointers to all of its exported functions. More...
void | UnloadDll () noexcept
Force to unload the communication DLL.
error_code | Create_Interface_2 (const TGM_TCHAR *DLL_Directory) noexcept
Create communication interface. More...
void | Destroy_Interface () noexcept
Closes created interface. Need to be called during application termination.
error_code | Open_Connection (int32_t keepOnline, int32_t commTimeout, device deviceType, uint32_t IPAddress) noexcept
Establishes a communication with a given device. More...
error_code | Close_Connection () noexcept
Close already opened connection. Each call to Open_Connection must match the Close_Connection. More...
error_code | Change_Connection (device deviceType, uint32_t IPAddress) noexcept
Change connection type on the fly. More...
error_code | Get_Dll_Info (device deviceType, int32_t *pVersion, int32_t *pCompatibilityID, int32_t *pCompatibilityMemID) noexcept
Get information about communication library (depending on device type) More...
void | Set_App_Compatibility_VN (int32_t compatibilityID, int32_t compatibilityMemID, int32_t version, const TGM_TCHAR *appName) noexcept
Set application compatibility request values. More...
status | Get_Status () noexcept
Returns actual status. More...
status | Get_Status_Graphics (int32_t *pBackgroundColor, int32_t *pTextColor, TGM_TCHAR *statusText) noexcept
Returns actual status and its text representation. More...
error_code | Show_Connections_Info_Win (TGM_HWND parent, int32_t enableChangeConnection) noexcept
Displays Connection Info window with an info of all the connections and plug-in modules. More...
error_code | Close_Connections_Info_Win () noexcept
Closes connection info window opened by Show_Connections_Info_Win. More...
void | Get_Connections_Info_Win_Dimension (int32_t *pWidth, int32_t *pHeight) noexcept
Returns recommended width and height of the Connection Info window. More...
error_code | Get_Connections_Info_2 (device *pDeviceType, uint32_t *IPAddress, connected_memory *pConnectedMemory) noexcept
Returns information about actually opened communication. More...
error_code | Get_Server_Info (device deviceType, int32_t *pCompatibilityID, int32_t *pCompatibilityMemID, status *pConnectionStatus) noexcept
Returns information about the remote server. More...
read_write | Read_I32 (shared_memory memoryType, uint32_t offset, int32_t *pValue) noexcept
Read 32bit integer from shared memory. For remote devices, the read request is sent and the function returns the last (previous) stored local value. More...
read_write | Read_UI32 (shared_memory memoryType, uint32_t offset, uint32_t *pValue) noexcept
Read unsigned 32bit integer from shared memory. For remote devices, the read request is sent and the function returns the last (previous) stored local value. More...
read_write | Read_I64 (shared_memory memoryType, uint32_t offset, int64_t *pValue) noexcept
Read 64bit integer from shared memory. For remote devices, the read request is sent and the function returns the last (previous) stored local value. More...
read_write | Read_Double (shared_memory memoryType, uint32_t offset, float64_t *pValue) noexcept
Read float64_t floating point value (8 bytes) from shared memory. For remote devices, the read request is sent and the function returns the last (previous) stored local value. More...
read_write | Read_BLOCK (shared_memory memoryType, uint32_t offset, void *buffer, uint32_t bufferLength) noexcept
Read block of shared memory. For remote devices, the read request is sent and the function returns the last (previous) stored local values. More...
read_write | Write_I32 (shared_memory memoryType, uint32_t offset, int32_t Value) noexcept
Write 32bit integer to shared memory. For remote devices, the write request is sent and the function immediately returns. More...
read_write | Write_UI32 (shared_memory memoryType, uint32_t offset, uint32_t Value) noexcept
Write unsigned 32bit integer to shared memory. For remote devices, the write request is sent and the function immediately returns. More...
read_write | Write_I64 (shared_memory memoryType, uint32_t offset, int64_t Value) noexcept
Write 64bit integer to shared memory. For remote devices, the write request is sent and the function immediately returns. More...
read_write | Write_Double (shared_memory memoryType, uint32_t offset, float64_t Value) noexcept
Write float64_t floating point value (8 bytes) to shared memory. For remote devices, the write request is sent and the function immediately returns. More...
read_write | Write_BLOCK (shared_memory memoryType, uint32_t offset, const void *buffer, uint32_t bufferLength) noexcept
Write block (any memory structure) to shared memory. More...
read_write | Set_Bit_I32 (shared_memory memoryType, uint32_t offset, int32_t Value) noexcept
Performs logical OR on 32bit integer in shared memory. (i.e. originalValue |= Value). More...
read_write | Set_Bit_I64 (shared_memory memoryType, uint32_t offset, int64_t Value) noexcept
Performs logical OR on 64bit integer in shared memory. (i.e. originalValue |= Value). More...
read_write | Clr_Bit_I32 (shared_memory memoryType, uint32_t offset, int32_t Value) noexcept
Performs logical NAND on 32bit integer in shared memory. (i.e. originalValue &= ~Value). More...
read_write | Clr_Bit_I64 (shared_memory memoryType, uint32_t offset, int64_t Value) noexcept
Performs logical NAND on 64bit integer in shared memory. (i.e. originalValue &= ~Value). More...
read_write | Tgl_Bit_I32 (shared_memory memoryType, uint32_t offset, int32_t Value) noexcept
Performs logical XOR on 32bit integer in shared memory. (i.e. originalValue ^= Value). More...
read_write | Tgl_Bit_I64 (shared_memory memoryType, uint32_t offset, int64_t Value) noexcept
Performs logical XOR on 64bit integer in shared memory. (i.e. originalValue ^= Value). More...
read_write | Read_I32_DIRECT (shared_memory memoryType, uint32_t offset, int32_t *pValue) noexcept
Read 32bit integer from shared memory. For remote devices the function always waits for response, i.e. it returns the actual value. More...
read_write | Read_UI32_DIRECT (shared_memory memoryType, uint32_t offset, uint32_t *pValue) noexcept
Read unsigned 32bit integer from shared memory. For remote devices the function always waits for response, i.e. it returns the actual value. More...
read_write | Read_I64_DIRECT (shared_memory memoryType, uint32_t offset, int64_t *pValue) noexcept
Read 64bit integer from shared memory. For remote devices the function always waits for response, i.e. it returns the actual value. More...
read_write | Read_Double_DIRECT (shared_memory memoryType, uint32_t offset, float64_t *pValue) noexcept
Read float64_t floating point value (8 bytes) from shared memory. For remote devices the function always waits for response, i.e. it returns the actual value. More...
read_write | Read_BLOCK_DIRECT (shared_memory memoryType, uint32_t offset, void *buffer, uint32_t bufferLength) noexcept
Read data from shared memory. For remote devices the function always waits for response, i.e. it returns the actual data. More...
read_write | Write_I32_DIRECT (shared_memory memoryType, uint32_t offset, int32_t Value) noexcept
Write 32bit integer to shared memory. For remote devices the function always waits for acknowledge. More...
read_write | Write_UI32_DIRECT (shared_memory memoryType, uint32_t offset, uint32_t Value) noexcept
Write unsigned 32bit integer to shared memory. For remote devices the function always waits for acknowledge. More...
read_write | Write_I64_DIRECT (shared_memory memoryType, uint32_t offset, int64_t Value) noexcept
Write 64bit integer to shared memory. For remote devices the function always waits for acknowledge. More...
read_write | Write_Double_DIRECT (shared_memory memoryType, uint32_t offset, float64_t Value) noexcept
Write float64_t floating point value (8 bytes) to shared memory. For remote devices the function always waits for acknowledge. More...
read_write | Write_BLOCK_DIRECT (shared_memory memoryType, uint32_t offset, const void *buffer, uint32_t bufferLength) noexcept
Write float64_t to shared memory. For remote devices the function always waits for acknowledge. More...
read_write | Set_Bit_I32_DIRECT (shared_memory memoryType, uint32_t offset, int32_t Value) noexcept
Performs logical OR on 32bit integer in shared memory. (i.e. originalValue |= Value). For remote devices the function always wait for acknowledge. More...
read_write | Set_Bit_I64_DIRECT (shared_memory memoryType, uint32_t offset, int64_t Value) noexcept
Performs logical OR on 64bit integer in shared memory. (i.e. originalValue |= Value). For remote devices the function always wait for acknowledge. More...
read_write | Clr_Bit_I32_DIRECT (shared_memory memoryType, uint32_t offset, int32_t Value) noexcept
Performs logical NAND on 32bit integer in shared memory. (i.e. originalValue &= ~Value). For remote devices the function always wait for acknowledge. More...
read_write | Clr_Bit_I64_DIRECT (shared_memory memoryType, uint32_t offset, int64_t Value) noexcept
Performs logical NAND on 64bit integer in shared memory. (i.e. originalValue &= ~Value). For remote devices the function always wait for acknowledge. More...
read_write | Tgl_Bit_I32_DIRECT (shared_memory memoryType, uint32_t offset, int32_t Value) noexcept
Performs logical XOR on 32bit integer in shared memory. (i.e. originalValue ^= Value). For remote devices the function always wait for acknowledge. More...
read_write | Tgl_Bit_I64_DIRECT (shared_memory memoryType, uint32_t offset, int64_t Value) noexcept
Performs logical XOR on 64bit integer in shared memory. (i.e. originalValue ^= Value). For remote devices the function always wait for acknowledge. More...
read_write | Flush_Buffer () noexcept
For remote devices, send all the requests stored in command queue (i.e. sends all non-direct Read and Write function requests). More...

Static Public Member Functions

static constexpr int32_t | errorCodeToInt (const error_code errorCode)
conversion from enum to integer
static constexpr uint32_t | deviceToInt (const device deviceType) noexcept
conversion from enum to integer
static FUNCTION_CONSTEXPR device | intToDevice (const uint32_t deviceType) noexcept
conversion from integer to enum
static constexpr int32_t | connectedMemoryToInt (const connected_memory mem)
conversion from enum to integer
static constexpr int32_t | compatibilityToInt (const compatibility comp) noexcept
conversion from enum to integer
static constexpr int32_t | statusToInt (const status statusCode) noexcept
conversion from enum to integer
static constexpr int32_t | readWriteToInt (const read_write rwCode) noexcept
conversion from enum to integer
static constexpr uint32_t | memoryTypeToInt (const shared_memory memoryType) noexcept
conversion from enum to integer
static shared_memory | intToMemoryType (const uint32_t memoryType)
conversion from integer to enum
static const TGM_TCHAR * | DeviceToString (device deviceType) noexcept
Converts device type to UNICODE (Windows) or ANSI (Linux) string. More...
static const TGM_TCHAR * | StatusToString (status code) noexcept
Converts status value to its text representation - UNICODE (Windows) or ANSI (Linux) More...
static TGM_LPCTSTR | ReadWriteCodeToString (read_write code) noexcept
Converts return value of Read_XXX and Write_XXX functions to UNICODE (Windows) or ANSI (Linux) string. More...
static const char * | DeviceToStringA (device deviceType) noexcept
Convert device type to ANSI string. More...
static const char * | StatusToStringA (const status code) noexcept
Converts status value to ANSI string. More...
static const char * | ReadWriteCodeToStringA (read_write code) noexcept
Converts read_write error code to ANSI string. More...
static const char * | ErrorCodeToStringA (error_code code) noexcept
Converts error_code to ANSI string. More...
static TGM_LPCTSTR | ErrorCodeToString (error_code code) noexcept
Converts error_code to ANSI string. More...
static const char * | MemoryTypeToStringA (shared_memory memory) noexcept
Converts memory type to its ANSI name. More...
static TGM_LPCTSTR | MemoryTypeToString (shared_memory memory) noexcept
Converts memory type to its name. More...

Static Public Attributes

static constexpr size_t MAX_OFFLINE_COUNT { 100U }
maximal number of tries before the offline error will be returned

Detailed Description

C++ wrapper class for TGM_Comm_Int_2 library functions.

Use of the wrapper:

  1. call CTGM_COMM_INT_5::LoadDll with the full path to the TGM_Comm_Int_2.dll (or libTGM_Comm_Int_2.so)
  2. use CTGM_COMM_INT_5::Open_Connection to connect to particular TG Motion device (local, TGMmini, remote on other PC)
    • for real-time and simulated local TG Motion (H_TGM420_WIN.EXE) set device type to CTGM_COMM_INT_5::device::Local_TGM
  3. Wait for connection establishment by repeated call to CTGM_COMM_INT_5::Get_Status function.
  4. Use read and write functions:
    • on local device, the xxx_DIRECT and "normal" functions are the same
    • on remote device (TGM_Mini, TGM_Remote):
      • "normal" functions does not wait for response, i.e. read functions always returns the previous read value
      • xxx_DIRECT functions wait for ack (write) or for an actual read value since the communication goes through Ethernet, the xxx_DIRECT functions can block for several ms
      • it is up to programmer to use the correct functions, "normal" or xxx_DIRECT
  5. When finished, use CTGM_COMM_INT_5::Close_Connection and CTGM_COMM_INT_5::Destroy_Interface functions (called automatically in wrapper destructor)
Note
All the read and write function are thread-safe.

Member Enumeration Documentation

◆ connected_memory

enum CTGM_COMM_INT_5::connected_memory : int32_t
strong

Connected memory types.

Enumerator
None | no memories created (communication interface not established)
Local_Offline | local offline memories (TGM simulation)
Local_TGM_Online | local TGM memories (TGM running under real-time)
TGM_Mini_Offline | offline memory of TGMmini (remote)
TGM_Mini_Online | TGMmini memories (remote)
REM_Client_Offline | client offline memories (TGM_REMOTE)
REM_Server_Offline | server offline memories (TGM_REMOTE)
REM_Server | server memories (TGM_REMOTE)

◆ device

enum CTGM_COMM_INT_5::device : uint32_t
strong

Allowed device types.

Enumerator
Local_TGM | local TGM (either real-time or simulated)
TGM_Mini | TGM mini connected via network, valid IP address is needed for Open_Connection()
TGM_REMOTE | TG Motion running on remote PC.
TGM_FSP | Fast Speed Protocol.

◆ error_code

enum CTGM_COMM_INT_5::error_code : int32_t
strong

Error codes returned by most of the functions.

Enumerator
Success | OK.
Device_Type | unknown device type
Interface_Not_Create | Create_Interface_2 function not called
Connection_Not_Open | Open_Connection not called
Not_Detect_Comm_DLL | TGM_Comm_Int_5.dll or supplemental DLL not found (TGM_Mini_5.dll, TGM_Remote_5.dll)
Interface_Already_Exists | Create_Interface_2 already called
Interface_Create_Off_Mem | Offline shared memory cannot be created.
Connection_Already_Exists | Open_Connection already called
Connection_Create_Thread | working thread cannot be created
Invalid_Data | invalid data - memory number, offset, etc.

◆ read_write

enum CTGM_COMM_INT_5::read_write : int32_t
strong

return values of Read_xxx and Write_xxx functions

Enumerator
OK | OK.
OK_Offline_Data | OK - data are read from offline memory (TGM simulation)
ERR_Invalid_Data | ERR - invalid memory type, offset, length, etc.
ERR_Device_Busy | ERR - timeout R/W.
ERR_Interface_Not_Create | ERR - Create_Interface not called.
ERR_Unsupported_Function | ERR - function is not supported by device.
ERR_Connection_Not_Open | ERR - Open_Connection not called.
ERR_Not_Detect_Comm_DLL | TGM_Comm_Int_2.dll or suplemental DLL not found (TGM_MINI.dll, TGM_Remote.dll)

◆ shared_memory

enum CTGM_COMM_INT_5::shared_memory : uint32_t
strong

Shared memory numbers.

The same numbers as in SHARED_MEMORY enumeration in tgm.h file.

Enumerator
SYSTEM | TGM_SYSTEM.
DATA | TGM_DATA.
CAM | TGM_Cam_Profile.
OSC | TGM_Oscilloscope.
SERVO | TGM_Servo.
DIO | TGM_DIO.
GENERAL | TGM_General.
INTERP | TGM_Interpolator.
INTERP_W | InterpolatorWriteMemory.
INTERP_R | InterpolatorReadMemory.
ODS | TGM_ODS (OutputDebugString)
CNC_ODS | TGM_CNCODS (CNC module)
CNC_EX | TGM_CNCEX (CNC module)
NMemories | number of memories

◆ status

enum CTGM_COMM_INT_5::status : int32_t
strong

connection status (return codes of Get_Status())

Enumerator
Online_Incompatible_ID | device is online but with wrong compatibility ID (TGM, Memory]
Simulation_Mode_TGM | TGM runs locally in simulation mode (H_TGM420_WIN.EXE)
Online | Online - connection established.
Offline_Connection_Proceeds | Offline - waiting for connection (usually for remote devices)
Offline_Device_Offline | Offline - device is not connected (ether TG Motion is not running locally or remote device is not connected)
Offline_Incompatible_DLL_ID | Offline - wrong App ID compatibility number of DLL and application.
Offline_Incompatible_DLL_Mem_ID | Offline - wrong App Mem ID compatibility number of DLL and application.
Offline_Incompatible_DEVICE_ID | Offline - wrong Device ID compatibility number of DLL and application.
Offline_Incompatible_DEVICE_Mem_ID | Offline - wrong Device memory ID compatibility number of DLL and application.
Offline_Not_Detect_Comm_DLL | Offline - suplemental comm dll not found.
Offline_Open_Connection_Failed | Offline - invalid parameters of Open_Connection() function.
Offline_Init_Connection_Failed | Offline -.
Offline_Connection_Not_Opened | Offline - no connection opened.
Offline_Interface_Not_Create | Offline - interface not created.

Member Function Documentation

◆ Change_Connection()

error_code CTGM_COMM_INT_5::Change_Connection | ( | device | deviceType,
 |  | uint32_t | IPAddress
 | ) |  |
noexcept

Change connection type on the fly.

Parameters
deviceType | device to connect to (0 - local TG Motion, 1 - TGM mini, 2 - TGM remote)
IPAddress | IPv4 address of the remote device
Returns
0 for success or error_code

◆ Close_Connection()

error_code CTGM_COMM_INT_5::Close_Connection ( )
noexcept

Close already opened connection. Each call to Open_Connection must match the Close_Connection.

Returns
Any value of error_code enumeration.

◆ Close_Connections_Info_Win()

error_code CTGM_COMM_INT_5::Close_Connections_Info_Win ( )
noexcept

Closes connection info window opened by Show_Connections_Info_Win.

Returns
0 for success or error_code

◆ Clr_Bit_I32()

read_write CTGM_COMM_INT_5::Clr_Bit_I32 | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int32_t | Value
 | ) |  |
noexcept

Performs logical NAND on 32bit integer in shared memory. (i.e. originalValue &= ~Value).

For remote devices, the write request is sent and the function immediately returns.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 4
Value | Integer value to be NANDed with original value
Returns
0 for success or read_write error code
Note
Function is thread-safe.

◆ Clr_Bit_I32_DIRECT()

read_write CTGM_COMM_INT_5::Clr_Bit_I32_DIRECT | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int32_t | Value
 | ) |  |
noexcept

Performs logical NAND on 32bit integer in shared memory. (i.e. originalValue &= ~Value). For remote devices the function always wait for acknowledge.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 4
Value | Integer value to be NANDed with original value
Returns
0 for success or read_write error code
Note
Function is thread-safe. Waiting for remote device response can last several ms.

◆ Clr_Bit_I64()

read_write CTGM_COMM_INT_5::Clr_Bit_I64 | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int64_t | Value
 | ) |  |
noexcept

Performs logical NAND on 64bit integer in shared memory. (i.e. originalValue &= ~Value).

For remote devices, the write request is sent and the function immediately returns.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 8
Value | Integer value to be NANDed with original value
Returns
0 for success or read_write error code
Note
Function is thread-safe.

◆ Clr_Bit_I64_DIRECT()

read_write CTGM_COMM_INT_5::Clr_Bit_I64_DIRECT | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int64_t | Value
 | ) |  |
noexcept

Performs logical NAND on 64bit integer in shared memory. (i.e. originalValue &= ~Value). For remote devices the function always wait for acknowledge.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 8
Value | Integer value to be NANDed with original value
Returns
0 for success or read_write error code
Note
Function is thread-safe. Waiting for remote device response can last several ms.

◆ Create_Interface_2()

error_code CTGM_COMM_INT_5::Create_Interface_2 ( const TGM_TCHAR * DLL_Directory )
noexcept

Create communication interface.

Parameters
DLL_Directory - ANSI/UNICODE path to directory, where the supplemental DLLs are stored.
Returns
Any value of error_code enumeration.
Note
This funcion is not needed to call, since LoadDll() internally calls Create_Interface_2 and handles ANSI -> UNICODE conversion.

◆ DeviceToString()

static const TGM_TCHAR* CTGM_COMM_INT_5::DeviceToString ( device deviceType )
staticnoexcept

Converts device type to UNICODE (Windows) or ANSI (Linux) string.

Parameters
deviceType type of the device
Returns
Human readable string of the deviceType

◆ DeviceToStringA()

static const char* CTGM_COMM_INT_5::DeviceToStringA ( device deviceType )
staticnoexcept

Convert device type to ANSI string.

Parameters
deviceType Type of device
Returns
ANSI string with the name of the device

◆ ErrorCodeToString()

static TGM_LPCTSTR CTGM_COMM_INT_5::ErrorCodeToString ( error_code code )
staticnoexcept

Converts error_code to ANSI string.

Parameters
code Return value of initialization or informational functions
Returns
ANSI string representation of the error_code

◆ ErrorCodeToStringA()

static const char* CTGM_COMM_INT_5::ErrorCodeToStringA ( error_code code )
staticnoexcept

Converts error_code to ANSI string.

Parameters
code Return value of initialization or informational functions
Returns
ANSI string representation of the error_code

◆ Flush_Buffer()

read_write CTGM_COMM_INT_5::Flush_Buffer ( )
noexcept

For remote devices, send all the requests stored in command queue (i.e. sends all non-direct Read and Write function requests).

Returns
0 for success or read_write error code
Note
Function is thread-safe.

◆ Get_Connections_Info_2()

error_code CTGM_COMM_INT_5::Get_Connections_Info_2 | ( | device * | pDeviceType,
 |  | uint32_t * | IPAddress,
 |  | connected_memory * | pConnectedMemory
 | ) |  |
noexcept

Returns information about actually opened communication.

Parameters
pDeviceType | Pointer to actual used device
IPAddress | In the case of remote devices (TGMmini, TGM Remote), used IPv4 address of the device
pConnectedMemory | Memory used for connection
Returns
0 for success or error_code
Note
All the pointers must be valid.

◆ Get_Connections_Info_Win_Dimension()

void CTGM_COMM_INT_5::Get_Connections_Info_Win_Dimension | ( | int32_t * | pWidth,
 |  | int32_t * | pHeight
 | ) |  |
noexcept

Returns recommended width and height of the Connection Info window.

Parameters
pWidth | Pointer to valid pointer, which will contain the width of the window
pHeight | Pointer to valid pointer, which will contain the height of the window
Note
In the case of failure, no values are stored to pWidth or pHeight, so it is recommended to set its values to zero before calling this function.

◆ Get_Dll_Info()

error_code CTGM_COMM_INT_5::Get_Dll_Info | ( | device | deviceType,
 |  | int32_t * | pVersion,
 |  | int32_t * | pCompatibilityID,
 |  | int32_t * | pCompatibilityMemID
 | ) |  |
noexcept

Get information about communication library (depending on device type)

Parameters
deviceType | - 0 - TGM_Comm_Int_2.dll, 1 - TGM_Mini.dll, 2 - TGM_Remote.dll
pVersion | Returned version, must be valid pointer
pCompatibilityID | Returned compatibility ID, must be valid pointer
pCompatibilityMemID | Returned memory compatibility ID, must be valid pointer
Returns
0 for success or error_code

◆ Get_Server_Info()

error_code CTGM_COMM_INT_5::Get_Server_Info | ( | device | deviceType,
 |  | int32_t * | pCompatibilityID,
 |  | int32_t * | pCompatibilityMemID,
 |  | status * | pConnectionStatus
 | ) |  |
noexcept

Returns information about the remote server.

Parameters
deviceType | Device to get info about
pCompatibilityID | Returned compatibility ID
pCompatibilityMemID | Returned memory compatibility ID
pConnectionStatus | Actual connection status
Returns
0 for success or error_code
Note
All the pointers must be valid.

◆ Get_Status()

status CTGM_COMM_INT_5::Get_Status ( )
noexcept

Returns actual status.

Returns
status codes enumeration

◆ Get_Status_Graphics()

status CTGM_COMM_INT_5::Get_Status_Graphics | ( | int32_t * | pBackgroundColor,
 |  | int32_t * | pTextColor,
 |  | TGM_TCHAR * | statusText
 | ) |  |
noexcept

Returns actual status and its text representation.

Parameters
pBackgroundColor | Recommended RGB color for displaying background of the statusText
pTextColor | Recommended RGB color for displaying the statusText
statusText | Pointer to UNICODE (Windows) / ANSI (Linux) string with minimal length of 256 characters, which will contain the status in English text form.
Returns
status codes enumeration

◆ LoadDll()

error_code CTGM_COMM_INT_5::LoadDll ( const char * fileName )

First function to be called. Loads the TGM_Comm_Int_5.dll and gets pointers to all of its exported functions.

Parameters
fileName Full path to DLL file name. Only filename is not sufficient, since the DLL needs also the directory, where supplemental DLLs are stored (TGM_Mini_5.dll, TGM_Remote_5.dll). Always ANSI. Internally calls Create_Interface_2. Uses path of the DLL filename for supplemental DLLs directory (i.e. the supplemental DLLs must be in the same folder as TGM_Comm_Int_5.dll)
Returns
Any value of error_code enumeration.

◆ MemoryTypeToString()

static TGM_LPCTSTR CTGM_COMM_INT_5::MemoryTypeToString ( shared_memory memory )
staticnoexcept

Converts memory type to its name.

Parameters
memory Number of the memory
Returns
String of the memory name

◆ MemoryTypeToStringA()

static const char* CTGM_COMM_INT_5::MemoryTypeToStringA ( shared_memory memory )
staticnoexcept

Converts memory type to its ANSI name.

Parameters
memory Number of the memory
Returns
ANSI string of the memory name

◆ Open_Connection()

error_code CTGM_COMM_INT_5::Open_Connection | ( | int32_t | keepOnline,
 |  | int32_t | commTimeout,
 |  | device | deviceType,
 |  | uint32_t | IPAddress
 | ) |  |
noexcept

Establishes a communication with a given device.

Parameters
keepOnline | If 0, after communication closes, do not automatically try to open connection again. If non-zero, tries to keep the communication open, or automatically opens it (usable for remote devices)
commTimeout | Timeout for opening the connection in ms
deviceType | device type (0 - local TG Motion, 1 - TGM mini, 2 - TGM remote)
IPAddress | IPv4 address of remote device
Returns
Any value of error_code enumeration.

◆ Read_BLOCK()

read_write CTGM_COMM_INT_5::Read_BLOCK | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | void * | buffer,
 |  | uint32_t | bufferLength
 | ) |  |
noexcept

Read block of shared memory. For remote devices, the read request is sent and the function returns the last (previous) stored local values.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory
buffer | Pointer to buffer for storing the data. In case of error, no data are written to the buffer. Pointer must be valid.
bufferLength | Length of data to be written in bytes
Returns
0 for success or read_write error code
Note
Function is thread-safe.

◆ Read_BLOCK_DIRECT()

read_write CTGM_COMM_INT_5::Read_BLOCK_DIRECT | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | void * | buffer,
 |  | uint32_t | bufferLength
 | ) |  |
noexcept

Read data from shared memory. For remote devices the function always waits for response, i.e. it returns the actual data.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues
buffer | Pointer where to store data. Must be valid. Pointer must be valid.
bufferLength | Size of data to be read in bytes
Returns
0 for success or read_write error code
Note
Function is thread-safe. Waiting for remote device response can last several ms.

◆ Read_Double()

read_write CTGM_COMM_INT_5::Read_Double | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | float64_t * | pValue
 | ) |  |
noexcept

Read float64_t floating point value (8 bytes) from shared memory. For remote devices, the read request is sent and the function returns the last (previous) stored local value.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 8
pValue | Returned value. In case of error, no value is stored, so the value should be initialized before calling this function. Pointer must be valid.
Returns
0 for success or read_write error code
Note
Function is thread-safe.

◆ Read_Double_DIRECT()

read_write CTGM_COMM_INT_5::Read_Double_DIRECT | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | float64_t * | pValue
 | ) |  |
noexcept

Read float64_t floating point value (8 bytes) from shared memory. For remote devices the function always waits for response, i.e. it returns the actual value.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 8
pValue | Returned value. In case of error, no value is stored, so the value should be initialized before calling this function. Pointer must be valid.
Returns
0 for success or read_write error code
Note
Function is thread-safe. Waiting for remote device response can last several ms.

◆ Read_I32()

read_write CTGM_COMM_INT_5::Read_I32 | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int32_t * | pValue
 | ) |  |
noexcept

Read 32bit integer from shared memory. For remote devices, the read request is sent and the function returns the last (previous) stored local value.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 4
pValue | Returned value. In case of error, no value is stored, so the value should be initialized before calling this function. Pointer must be valid.
Returns
0 for success or read_write error code
Note
Function is thread-safe.

◆ Read_I32_DIRECT()

read_write CTGM_COMM_INT_5::Read_I32_DIRECT | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int32_t * | pValue
 | ) |  |
noexcept

Read 32bit integer from shared memory. For remote devices the function always waits for response, i.e. it returns the actual value.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 4
pValue | Returned value. In case of error, no value is stored, so the value should be initialized before calling this function. Pointer must be valid.
Returns
0 for success or read_write error code
Note
Function is thread-safe. Waiting for remote device response can last several ms.

◆ Read_I64()

read_write CTGM_COMM_INT_5::Read_I64 | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int64_t * | pValue
 | ) |  |
noexcept

Read 64bit integer from shared memory. For remote devices, the read request is sent and the function returns the last (previous) stored local value.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 8
pValue | Returned value. In case of error, no value is stored, so the value should be initialized before calling this function. Pointer must be valid.
Returns
0 for success or read_write error code
Note
Function is thread-safe.

◆ Read_I64_DIRECT()

read_write CTGM_COMM_INT_5::Read_I64_DIRECT | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int64_t * | pValue
 | ) |  |
noexcept

Read 64bit integer from shared memory. For remote devices the function always waits for response, i.e. it returns the actual value.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 8
pValue | Returned value. In case of error, no value is stored, so the value should be initialized before calling this function. Pointer must be valid.
Returns
0 for success or read_write error code
Note
Function is thread-safe. Waiting for remote device response can last several ms.

◆ Read_UI32()

read_write CTGM_COMM_INT_5::Read_UI32 | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | uint32_t * | pValue
 | ) |  |
noexcept

Read unsigned 32bit integer from shared memory. For remote devices, the read request is sent and the function returns the last (previous) stored local value.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 4
pValue | Returned value. In case of error, no value is stored, so the value should be initialized before calling this function. Pointer must be valid.
Returns
0 for success or read_write error code
Note
Function is thread-safe.

◆ Read_UI32_DIRECT()

read_write CTGM_COMM_INT_5::Read_UI32_DIRECT | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | uint32_t * | pValue
 | ) |  |
noexcept

Read unsigned 32bit integer from shared memory. For remote devices the function always waits for response, i.e. it returns the actual value.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 4
pValue | Returned value. In case of error, no value is stored, so the value should be initialized before calling this function. Pointer must be valid.
Returns
0 for success or read_write error code
Note
Function is thread-safe. Waiting for remote device response can last several ms.

◆ ReadWriteCodeToString()

static TGM_LPCTSTR CTGM_COMM_INT_5::ReadWriteCodeToString ( read_write code )
staticnoexcept

Converts return value of Read_XXX and Write_XXX functions to UNICODE (Windows) or ANSI (Linux) string.

Parameters
code Return value of any of read or write function
Returns
Human readable string of the read_write code

◆ ReadWriteCodeToStringA()

static const char* CTGM_COMM_INT_5::ReadWriteCodeToStringA ( read_write code )
staticnoexcept

Converts read_write error code to ANSI string.

Parameters
code Return value of any of read or write functions
Returns
ANSI string describing the read_write error code

◆ Set_App_Compatibility_VN()

void CTGM_COMM_INT_5::Set_App_Compatibility_VN | ( | int32_t | compatibilityID,
 |  | int32_t | compatibilityMemID,
 |  | int32_t | version,
 |  | const TGM_TCHAR * | appName
 | ) |  |
noexcept

Set application compatibility request values.

In the case the compatibilities do not match, the communication library will not work. The Get_Status function will return any of the incompatibility status codes. If this function is not called, the compatibility check inside the TGM_Comm_Int_2 is not performed.

Parameters
compatibilityID | Requested compatibility ID of the device (local TG Motion, TGMmini, etc.)
compatibilityMemID | Requested memory compatibility ID
version | Application version to be displayed in the Connection Info window (Show_Connections_Info_Win function). Version format is decimal number vvvddmmrr (e.g. 052110917 is version 05.2 from 11 Sept 2017)
appName | Application name to be displayed in Connection Info dialog box

◆ Set_Bit_I32()

read_write CTGM_COMM_INT_5::Set_Bit_I32 | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int32_t | Value
 | ) |  |
noexcept

Performs logical OR on 32bit integer in shared memory. (i.e. originalValue |= Value).

For remote devices, the write request is sent and the function immediately returns.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 4
Value | Integer value to be ORed with original value
Returns
0 for success or read_write error code
Note
Function is thread-safe.

◆ Set_Bit_I32_DIRECT()

read_write CTGM_COMM_INT_5::Set_Bit_I32_DIRECT | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int32_t | Value
 | ) |  |
noexcept

Performs logical OR on 32bit integer in shared memory. (i.e. originalValue |= Value). For remote devices the function always wait for acknowledge.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 4
Value | Integer value to be ORed with original value
Returns
0 for success or read_write error code
Note
Function is thread-safe. Waiting for remote device response can last several ms.

◆ Set_Bit_I64()

read_write CTGM_COMM_INT_5::Set_Bit_I64 | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int64_t | Value
 | ) |  |
noexcept

Performs logical OR on 64bit integer in shared memory. (i.e. originalValue |= Value).

For remote devices, the write request is sent and the function immediately returns.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 8
Value | Integer value to be ORed with original value
Returns
0 for success or read_write error code
Note
Function is thread-safe.

◆ Set_Bit_I64_DIRECT()

read_write CTGM_COMM_INT_5::Set_Bit_I64_DIRECT | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int64_t | Value
 | ) |  |
noexcept

Performs logical OR on 64bit integer in shared memory. (i.e. originalValue |= Value). For remote devices the function always wait for acknowledge.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 8
Value | Integer value to be ORed with original value
Returns
0 for success or read_write error code
Note
Function is thread-safe. Waiting for remote device response can last several ms.

◆ Show_Connections_Info_Win()

error_code CTGM_COMM_INT_5::Show_Connections_Info_Win | ( | TGM_HWND | parent,
 |  | int32_t | enableChangeConnection
 | ) |  |
noexcept

Displays Connection Info window with an info of all the connections and plug-in modules.

Parameters
parent | Handle of the parent window. Can be nullptr.
enableChangeConnection | Enable change type of the connection directly in the window.
Returns
0 for success or error_code
Note
The window remains open till Close_Connections_Info_Win function is called

◆ StatusToString()

static const TGM_TCHAR* CTGM_COMM_INT_5::StatusToString ( status code )
staticnoexcept

Converts status value to its text representation - UNICODE (Windows) or ANSI (Linux)

Parameters
code Status code from Get_Status function.
Returns
Human readable string of the status code

◆ StatusToStringA()

static const char* CTGM_COMM_INT_5::StatusToStringA ( const status code )
staticnoexcept

Converts status value to ANSI string.

Parameters
code Status returned by Get_Status function
Returns
ANSI string describing the status code

◆ Tgl_Bit_I32()

read_write CTGM_COMM_INT_5::Tgl_Bit_I32 | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int32_t | Value
 | ) |  |
noexcept

Performs logical XOR on 32bit integer in shared memory. (i.e. originalValue ^= Value).

For remote devices, the write request is sent and the function immediately returns.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 4
Value | Integer value to be XORed with original value
Returns
0 for success or read_write error code
Note
Function is thread-safe.

◆ Tgl_Bit_I32_DIRECT()

read_write CTGM_COMM_INT_5::Tgl_Bit_I32_DIRECT | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int32_t | Value
 | ) |  |
noexcept

Performs logical XOR on 32bit integer in shared memory. (i.e. originalValue ^= Value). For remote devices the function always wait for acknowledge.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 4
Value | Integer value to be XORed with original value
Returns
0 for success or read_write error code
Note
Function is thread-safe. Waiting for remote device response can last several ms.

◆ Tgl_Bit_I64()

read_write CTGM_COMM_INT_5::Tgl_Bit_I64 | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int64_t | Value
 | ) |  |
noexcept

Performs logical XOR on 64bit integer in shared memory. (i.e. originalValue ^= Value).

For remote devices, the write request is sent and the function immediately returns.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 8
Value | Integer value to be XORed with original value
Returns
0 for success or read_write error code
Note
Function is thread-safe.

◆ Tgl_Bit_I64_DIRECT()

read_write CTGM_COMM_INT_5::Tgl_Bit_I64_DIRECT | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int64_t | Value
 | ) |  |
noexcept

Performs logical XOR on 64bit integer in shared memory. (i.e. originalValue ^= Value). For remote devices the function always wait for acknowledge.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 8
Value | Integer value to be XORed with original value
Returns
0 for success or read_write error code
Note
Function is thread-safe. Waiting for remote device response can last several ms.

◆ Write_BLOCK()

read_write CTGM_COMM_INT_5::Write_BLOCK | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | const void * | buffer,
 |  | uint32_t | bufferLength
 | ) |  |
noexcept

Write block (any memory structure) to shared memory.

For remote devices, the write request is sent and the function immediately returns. Use this function with caution for remote devices - the structure passed could be split due to Ethernet packet length and not all structure members would be written at once.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory
buffer | Pointer to data to be written. Pointer must be valid.
bufferLength | Data length in bytes
Returns
0 for success or read_write error code
Note
Function is thread-safe.

◆ Write_BLOCK_DIRECT()

read_write CTGM_COMM_INT_5::Write_BLOCK_DIRECT | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | const void * | buffer,
 |  | uint32_t | bufferLength
 | ) |  |
noexcept

Write float64_t to shared memory. For remote devices the function always waits for acknowledge.

For remote devices use this function with caution, the data structure written could be split to multiple Ethernet packets and therefore not written at once. The split could be even inside an integer or float64_t variable!

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory
buffer | Pointer to data to be written. Pointer must be valid.
bufferLength | Data length in bytes
Returns
0 for success or read_write error code
Note
Function is thread-safe. Waiting for remote device response can last several ms.

◆ Write_Double()

read_write CTGM_COMM_INT_5::Write_Double | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | float64_t | Value
 | ) |  |
noexcept

Write float64_t floating point value (8 bytes) to shared memory. For remote devices, the write request is sent and the function immediately returns.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 8
Value | Floating point value to be written
Returns
0 for success or read_write error code
Note
Function is thread-safe.

◆ Write_Double_DIRECT()

read_write CTGM_COMM_INT_5::Write_Double_DIRECT | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | float64_t | Value
 | ) |  |
noexcept

Write float64_t floating point value (8 bytes) to shared memory. For remote devices the function always waits for acknowledge.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 8
Value | Floating point value to be written
Returns
0 for success or read_write error code
Note
Function is thread-safe. Waiting for remote device response can last several ms.

◆ Write_I32()

read_write CTGM_COMM_INT_5::Write_I32 | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int32_t | Value
 | ) |  |
noexcept

Write 32bit integer to shared memory. For remote devices, the write request is sent and the function immediately returns.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 4
Value | Integer value to be written
Returns
0 for success or read_write error code
Note
Function is thread-safe.

◆ Write_I32_DIRECT()

read_write CTGM_COMM_INT_5::Write_I32_DIRECT | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int32_t | Value
 | ) |  |
noexcept

Write 32bit integer to shared memory. For remote devices the function always waits for acknowledge.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 4
Value | Integer value to be written
Returns
0 for success or read_write error code
Note
Function is thread-safe. Waiting for remote device response can last several ms.

◆ Write_I64()

read_write CTGM_COMM_INT_5::Write_I64 | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int64_t | Value
 | ) |  |
noexcept

Write 64bit integer to shared memory. For remote devices, the write request is sent and the function immediately returns.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 8
Value | Integer value to be written
Returns
0 for success or read_write error code
Note
Function is thread-safe.

◆ Write_I64_DIRECT()

read_write CTGM_COMM_INT_5::Write_I64_DIRECT | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | int64_t | Value
 | ) |  |
noexcept

Write 64bit integer to shared memory. For remote devices the function always waits for acknowledge.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 8
Value | Integer value to be written
Returns
0 for success or read_write error code
Note
Function is thread-safe. Waiting for remote device response can last several ms.

◆ Write_UI32()

read_write CTGM_COMM_INT_5::Write_UI32 | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | uint32_t | Value
 | ) |  |
noexcept

Write unsigned 32bit integer to shared memory. For remote devices, the write request is sent and the function immediately returns.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 4
Value | Integer value to be written
Returns
0 for success or read_write error code
Note
Function is thread-safe.

◆ Write_UI32_DIRECT()

read_write CTGM_COMM_INT_5::Write_UI32_DIRECT | ( | shared_memory | memoryType,
 |  | uint32_t | offset,
 |  | uint32_t | Value
 | ) |  |
noexcept

Write unsigned 32bit integer to shared memory. For remote devices the function always waits for acknowledge.

Parameters
memoryType | See enum shared_memory
offset | Byte offset to memory - for performance issues, offset should be multiple of 4
Value | Integer value to be written
Returns
0 for success or read_write error code
Note
Function is thread-safe. Waiting for remote device response can last several ms.
The documentation for this class was generated from the following file:
  • tgm_comm_int_5_dll.h
  • CTGM_COMM_INT_5


TG Motion: DIO Struct Reference

Public Attributes | Static Public Attributes | List of all members
DIO Struct Reference

Describes one servo input/output module. More...

#include <tgm.h>

Public Attributes

uint32_t | Number
number of the mapped I/O unit, interface logical number (unit 0: Number = 0, unit 1: Number = 1, etc.)
uint32_t | Node
address of the physical I/O unit, which is set on the unit directly
DIO_TYPE Type
volatile uint32_t | Control
volatile uint32_t | Status
uint32_t | Error
uint32_t | NumberIn
the number of bytes used for digital inputs (1 byte = 8 digital inputs)
uint32_t | In [N_DIG_ARRAY_SIZE]
digital inputs, all bits are used (0 - 512 bits)
uint32_t | NumberOut
the number of bytes used for digital outputs (1 byte = 8 digital outputs)
uint32_t | Out [N_DIG_ARRAY_SIZE]
digital outputs, all bits are used (0 - 512 bits)
uint32_t | NumberAI
number of connected analog inputs
int32_t | AI [N_ANA_ARRAY_SIZE]
analog inputs 0 - 7
uint32_t | NumberAO
number of connected analog outputs
int32_t | AO [N_ANA_ARRAY_SIZE]
analog outputs 0 - 7
uint32_t | Number_MeasureAmpl
number of connected strain gauges
int32_t | Ext_MeasureAmpl [N_TENZO_ARRAY_SIZE]
output voltage of strain gauges 0 - 7
uint32_t | EtherCATState
struct SDO | Sdo
SDO communicating channel.
int32_t | sdoResponseTries
unsuccessful SDO request counter from PLC
uint8_t | RxBuffer [MAX_TX_RX_BUFFER_SIZE]
auxiliary buffer for RX messages (either KL3403 or KL6041 terminals)
uint8_t | TxBuffer [MAX_TX_RX_BUFFER_SIZE]
auxiliary buffer for TX messages (either KL3403 or KL6041 terminals)
int32_t | TS_Data [8]
Type specific data (currently not used)
uint32_t | SysTimeDifference
last known difference between local time and reference time in ns
struct ECAT_REGISTER | ecatRegister
ECAT register communication channel.
uint32_t | ECATBusPosition
actual physical position on the ECAT bus
volatile uint32_t | RxPointerWrite
volatile uint32_t | RxPointerRead
volatile uint32_t | TxPointerWrite
volatile uint32_t | TxPointerRead
int32_t | IReserve1 [387]
reserved

Static Public Attributes

static constexpr uint32_t | RESET_FAULT_BIT0 { 0x0001U }
Value for DIO::Control - reset.
static constexpr uint32_t | RESET_TGMMINI_DIO_FORCE_BIT2 { 0x0004U }
Value for DIO::Control - forced reset of TGMmini internal DIO.
static constexpr uint32_t | MAX_TX_RX_BUFFER_SIZE { 32U }
size of TX and RX buffers for ECAT to serial converters (currently BK1120+EL6041 only)
static constexpr uint32_t | N_DIG_ARRAY_SIZE { 16U }
static constexpr uint32_t | N_ANA_ARRAY_SIZE { 16U }
max number of analog inputs/outputs
static constexpr uint32_t | N_TENZO_ARRAY_SIZE { 8U }
max number of strain gauges

Detailed Description

Describes one servo input/output module.

Structure size is 2048 bytes

Member Data Documentation

◆ Control

volatile uint32_t DIO::Control

bit 0 = fault reset. If there is no Error, the bit is ignored and reset back to zero.
bit 2 = force reset (TGMmini internal DIO only)

◆ Error

uint32_t DIO::Error

code of the first detected fault, if the I/O unit is in fault; the value depends on the particular type of the unit (see the I/O unit manual).
TGMmini internal DIO error value is coded as follows (any of the following bits can be set):

Bit | Description
0 | hardware fault
1 | under voltage (no 24V power supply on pin OUTPWR24), could produce other errors
8 | short circuit on pin OUT0
9 | short circuit on pin OUT1
10 | short circuit on pin OUT2
11 | short circuit on pin OUT3
12 | short circuit on pin OUT4
13 | short circuit on pin OUT5
14 | short circuit on pin OUT6
15 | short circuit on pin OUT7
16 | over voltage on pin OUT0
17 | over voltage on pin OUT1
18 | over voltage on pin OUT2
19 | over voltage on pin OUT3
20 | over voltage on pin OUT4
21 | over voltage on pin OUT5
22 | over voltage on pin OUT6
23 | over voltage on pin OUT7
24 | internal VDD warning
25 | internal VDD under voltage
26 | internal 5V under voltage
29 | DC-DC current limit

◆ EtherCATState

uint32_t DIO::EtherCATState

I/O unit communication status from EtherCAT point of view:

Value | State
0x01 | Init
0x02 | Pre-Operational
0x04 | Safe-Operational
0x08 | Operational

◆ N_DIG_ARRAY_SIZE

constexpr uint32_t DIO::N_DIG_ARRAY_SIZE { 16U }
staticconstexpr

max number of digital inputs/outputs in double words, i.e. the number of available digital i/o bits is 32 times larger (16 * 32 = 512 in this case)

◆ RxPointerRead

volatile uint32_t DIO::RxPointerRead

Read index to DIO::RxBuffer. PLC reads data from RxPointerRead to DIO::RxPointerWrite, copies them to internal stream, and sets RxPointerRead to be equal to RxPointerWrite. Value must be modulo MAX_TX_RX_BUFFER_SIZE. Written by PLC, read by TGM.

◆ RxPointerWrite

volatile uint32_t DIO::RxPointerWrite

Write index to DIO::RxBuffer. TGM writes incoming data (up to MAX_TX_RX_BUFFER_SIZE-1 bytes) from RxPointerWrite to RxPointerRead-1 and increments RxPointerWrite accordingly. Value is always modulo MAX_TX_RX_BUFFER_SIZE, i.e. from 0 to MAX_TX_RX_BUFFER_SIZE-1. Written by TGM, read by PLC.

◆ Status

volatile uint32_t DIO::Status

specifies the actual status of the I/O unit:

  • 0 = does not communicate, no communication was established or the module is faulty
  • 1 = I/O module is operational (no faults) for more details, DIO::EtherCATState can be used.

◆ TxPointerRead

volatile uint32_t DIO::TxPointerRead

Read index to DIO::TxBuffer. TGM reads data from TxPointerRead to DIO::TxPointerWrite, copies them to EtherCAT, and increments TxPointerRead up to allowable data transmit size (22 bytes for KL6041). Value is always modulo MAX_TX_RX_BUFFER_SIZE. Written by TGM, read by PLC.

◆ TxPointerWrite

volatile uint32_t DIO::TxPointerWrite

Write index to DIO::TxBuffer. PLC writes up to MAX_TX_RX_BUFFER_SIZE-1 bytes from TxPointerWrite to TxPointerRead-1 and increments TxPointerWrite accordingly. Value must be modulo MAX_TX_RX_BUFFER_SIZE. Written by PLC, read by TGM.

◆ Type

DIO_TYPE DIO::Type

I/O unit type is not indicated in TGMotion5xx.ini, TG Motion finds out automatically the connected I/O units and updates the DIO::Type.

The documentation for this struct was generated from the following file:
  • tgm.h
  • DIO


TG Motion: ECAT_REGISTER Struct Reference

Public Attributes | Static Public Attributes | List of all members
ECAT_REGISTER Struct Reference

EtherCAT registers communication. More...

#include <tgm.h>

Public Attributes

ECAT_REGISTER_CONTROL Control
Control of register communication.
uint32_t | NumberByte
Number read/write bytes (1, 2 or 4), invalid value will be changed to 4

uint32_t | Index
EtherCAT register address.
int32_t | Data
read/write data of EtherCAT register, in case of error, 0 is returned and Control is set to 3

Static Public Attributes

static constexpr uint32_t MAX_NUMBER_BYTE { 4U }
maximal EtherCAT register size to be read or written

Detailed Description

EtherCAT registers communication.

The documentation for this struct was generated from the following file:
  • tgm.h
  • ECAT_REGISTER


TG Motion: EEPROM Struct Reference

Public Attributes | List of all members
EEPROM Struct Reference

#include <tgm.h>

Public Attributes

EEPROM_CONTROL ctrl
EEprom control and status.
int32_t Data [SIZE_EEPROM_MEMORY/sizeof(int32_t)]
EEprom data.

Detailed Description

EEPROM simulation

The documentation for this struct was generated from the following file:
  • tgm.h
  • EEPROM


TG Motion: EEPROM_CONTROL Struct Reference

Public Attributes | List of all members
EEPROM_CONTROL Struct Reference

#include <tgm.h>

Public Attributes

uint32_t | Control
Control of EEprom handling 1 = load, 2 = save W.
int32_t | Status
Status of EEprom handling 0 = ready, 1 = command active, -1 = error R.

Detailed Description

EEPROM control

The documentation for this struct was generated from the following file:
  • tgm.h
  • EEPROM_CONTROL


TG Motion: EXT_SDO Struct Reference

Public Attributes | Static Public Attributes | List of all members
EXT_SDO Struct Reference

Extended SDO object communication (GENERAL_DEVICES only) More...

#include <tgm.h>

Public Attributes

volatile EXT_SDO_CONTROL | Control
Control of SDO communication 1 = write request, 2 = read request.
volatile EXT_SDO_STATUS | Status
Status of SDO communication 0 = finished, 1 = active, -1 = error.
uint32_t | NumberByte
Number of read/write bytes (1 - 128)
uint32_t | Index
Index of SDO object.
uint32_t | SubIndex
SubIndex of SDO object.
uint32_t | Data [EXT_SDO_DATA_SIZE_IN_UI32]
complete SDO data or error code in Data[0] if EXT_SDO::Status is -1

Static Public Attributes

static constexpr uint32_t EXT_SDO_DATA_SIZE_IN_UI32 { 32U }
maximal data size for extended SDO (in double words)

Detailed Description

Extended SDO object communication (GENERAL_DEVICES only)

The documentation for this struct was generated from the following file:
  • tgm.h
  • EXT_SDO


TG Motion: GEAR Struct Reference

Public Attributes | List of all members
GEAR Struct Reference

Gear generator. More...

#include <tgm.h>

Public Attributes

float64_t | Position
Output position for linear gearing or pointer to CAM for cam gearing [ inc ].
float64_t | CamPosition
Output position for cam gearing [ inc ].
float64_t | Offset
Offset of output position [ inc ].
float64_t | Shift
Desired shift of pointer to cam [ inc ].
float64_t | ActualShift
Actual shift of pointer to cam [ inc ].
float64_t | IncShift
Increment of shift pointer to cam [inc / servo tick].
float64_t | IncIn
Increment of ramp Gear.ActualIn [inc / servo tick].
float64_t | CamIncPosition
Increment of position incremental cam [ inc ].
float64_t | CamScale
Scaling factor of cam profile.
float64_t | DReserve [8]
reserved
uint32_t | SourceNumber
Number of logical servo used for source of master position.
uint32_t | SourcePosition
uint32_t | Mode
int32_t | In
Numerator of gear ratio.
int32_t | Out
Denominator of gear ratio.
int32_t | ActualIn
Actual value of numerator gear ratio.
uint32_t | CamLine
Offset in bytes to first data of cam profile in CAM_PROFILE_MEMORY or DATA_MEMORY.
uint32_t | CamLen
Number of data in cam profile.
uint32_t | CamType
Type of cam 0 = reversible cam, 1 = forward cam.
uint32_t | CamTab
uint32_t | CamExpControl
uint32_t | CamExpLine1
Offset in byte to first data of external cam 1 in CAM_PROFILE_MEMORY or DATA_MEMORY.
uint32_t | CamExpLine2
Offset in byte to first data of external cam 2 in CAM_PROFILE_MEMORY or DATA_MEMORY.
uint32_t | CamExpAddress1
Offset in bytes to output value of external cam 1.
uint32_t | CamExpAddress2
Offset in bytes to output value of external cam 2.
int32_t | IReserve [15]
reserved

Detailed Description

Gear generator.

Member Data Documentation

◆ CamExpControl

uint32_t GEAR::CamExpControl

Control of external cam data: bit0 = 1 - external cam data 1 active bit1 = 1 - external cam data 2 active

◆ CamTab

uint32_t GEAR::CamTab

Location of cam profile: 0 = cam profile is in CAM_PROFILE_MEMORY 1 = cam profile is in DATA_MEMORY

◆ Mode

uint32_t GEAR::Mode

Gear generator modes: 0 = gear generator off 1 = linear gearing is active 2 = cam gearing is active

◆ SourcePosition

uint32_t GEAR::SourcePosition

Type of master position: 1 = WritePosition 2 = Position 3 = servo tick 4 = ExtPosition

The documentation for this struct was generated from the following file:
  • tgm.h
  • GEAR


TG Motion: GENERAL_DEVICE Struct Reference

Public Attributes | Static Public Attributes | List of all members
GENERAL_DEVICE Struct Reference

Describes one general module. More...

#include <tgm.h>

Public Attributes

uint32_t | VendorID
Vendor ID, set by TGMotion during EtherCAT network scan.
uint32_t | ProductID
Product ID, set by TGMotion during EtherCAT network scan.
uint32_t | DeviceIndex
index of itself to GENERAL_MEMORY::general_devices array
int32_t | EtherCATState
I/O unit communication status from EtherCAT point of view.
ECAT_REGISTER_CONTROL Control
EtherCAT R/W control: 1 = write request, 2 = read request, 3 - error (set by TGMotion, must be cleared manually), 0 = ready.
uint32_t | NumberByte
Number of read/write bytes (1 - 256 bytes);.
uint32_t | RegisterIndex
EtherCAT register index (address)
uint32_t | Data [MAX_ECAT_REGISTER_DATA_SIZE]
read/write data of EtherCAT register, in case of error, 0 is returned and Control is set to 3
uint32_t | ECATBusPosition
actual physical position on the ECAT bus
uint32_t | bUseLRW
uint32_t | logicalReadWriteAddress
logical FMMU address for LRW command. Set by TGMotion at device init, but can be overridden by PLC.
uint32_t | logicalReadAddress
logical FMMU address for LRD command. Set by TGMotion at device init, but can be overridden by PLC.
uint32_t | logicalWriteAddress
logical FMMU address for LWR command. Set by TGMotion at device init, but can be overridden by PLC.
uint32_t | mailBoxSize
both mailBoxOut and mailBoxIn should be set to the same size. This value must be set by PLC before any SDO commands are performed.
uint32_t | mailBoxOutAddress
must be set by PLC before any SDO commands are performed
uint32_t | mailBoxInAddress
must be set by PLC before any SDO commands are performed
uint32_t | smOutputsAddress
must be set by PLC before any ECAT commands are performed
uint32_t | smInputsAddress
must be set by PLC before any ECAT commands are performed
EXT_SDO CompleteSDO
extended SDO communication channel (up to 128 data bytes)
uint32_t | userValue
user defined value, not accessed by TGMotion
uint32_t | read_write_wkc
ECAT working counter in case the bit0 of bUseLRW is set (read-write, will be 3 in the case of successful read and write)
uint32_t | read_wkc
ECAT working counter in case the bit0 of bUseLRW is zero - for read data - indicates success of read.
uint32_t | write_wkc
ECAT working counter in case the bit0 of bUseLRW is zero - for write data - indicates success of write.
uint32_t | User_PDO_Output_Size
size of the output PDO (Master->Slave)
uint32_t | User_PDO_Input_Size
size of the input PDO (Slave->Master)
volatile uint32_t | PLC_Send_Lock_Value
volatile uint32_t | TGM_Send_Lock_Value
see description of PLC_Send_Lock_Value.
uint8_t | User_PDO_Output [MAX_USER_PDO_SIZE]
output PDO as a flat array
volatile uint32_t | TGM_Recv_Lock_Value
volatile uint32_t | PLC_Recv_Lock_Value
see description of TGM_Recv_Lock_Value.
uint8_t | User_PDO_Input [MAX_USER_PDO_SIZE]
input PDO as a flat array

Static Public Attributes

static constexpr uint32_t | MAX_USER_PDO_SIZE { 256U }
static constexpr uint32_t | MAX_ECAT_REGISTER_DATA_SIZE { 64U }
Maximal size of data to be read or write by ECAT register access.
static constexpr uint32_t | USE_LRW { 0x01 }
bits for bUseLRW variable:
static constexpr uint32_t | PDO_IN_SAFEOP { 0x2 }
static constexpr uint32_t | USE_PDO_OUT_LOCK { 0x4 }
static constexpr uint32_t | USE_PDO_IN_LOCK { 0x8 }
static constexpr uint32_t | USE_COMPLETE_SDO { 0x10 }

Detailed Description

Describes one general module.

Structure size is 1024 bytes. TGMotion only copies VendorID and Product ID to the structure and the PLC must handle all the sync manager and FMMUs values.

Member Data Documentation

◆ bUseLRW

uint32_t GENERAL_DEVICE::bUseLRW

controls sending PDO: lower 16 bits: bit 0: if set to 1, use LRW command for PDO (User_PDO_Output_Size and User_PDO_Input_Size must be the same), otherwise use LRD / LWR pair.
bit 1: if set, the LRW is sent also during safe-op phase bit 2: PDO out data protect (see PDO_Send_Lock below) bit 3: PDO in data protect (see PDO_Recv_Lock below) bit 4: use complete SDO for small (up to 4 bytes) data length upper 16 bits: if set to nonzero, determines cycle time multiplier of PDO send/receive e.g. bit[31..16] = 0 or 1: PDO is sent each cycle time bit[31..16] = 2: PDO is sent each second cycle time, etc.

◆ MAX_USER_PDO_SIZE

constexpr uint32_t GENERAL_DEVICE::MAX_USER_PDO_SIZE { 256U }
staticconstexpr

Maximal size of PDO in universal or general devices. Must be number of type 2^n.

◆ PLC_Send_Lock_Value

volatile uint32_t GENERAL_DEVICE::PLC_Send_Lock_Value

PLC PDO send index: to prevent data race-condition, PLC can change User_PDO_Output[] array only when PLC_Send_Lock_Value and TGM_Send_Lock_Value are the same. After data update, PLC increments PLC_Send_Lock_Value. Just before TGM sends data to EtherCAT, copies them to temporary buffer and after copy set the TGM_Send_Lock_Value to the PLC_Send_Lock_Value. The protection works only if bit2 is set in bUseLRW variable.

◆ TGM_Recv_Lock_Value

volatile uint32_t GENERAL_DEVICE::TGM_Recv_Lock_Value

PLC PDO recv index: to prevent data race-condition, TGM can change User_PDO_Input[] array only when TGM_Recv_Lock_Value and PLC_Recv_Lock_Value are the same. After data read, TGM increments TGM_Recv_Lock_Value. PLC checks if the TGM_Recv_Lock_Value is different to PLC_Recv_Lock_Value. If so, uses the incoming data and after processing, set the PLC_Recv_Lock_Value to be equal to the TGM_Recv_Lock_Value. The protection works only if bit3 is set in bUseLRW variable.

The documentation for this struct was generated from the following file:
  • tgm.h
  • GENERAL_DEVICE


TG Motion: GENERAL_MEMORY Struct Reference

Public Attributes | Static Public Attributes | List of all members
GENERAL_MEMORY Struct Reference

Memory contains general devices (handled by PLC) More...

#include <tgm.h>

Public Attributes

GENERAL_DEVICE general_devices [MAX_GENERAL_DEVICES]
General device whose config is completely done in PLC.

Static Public Attributes

static constexpr uint32_t MAX_GENERAL_DEVICES { 16U }
maximal allowed number of general devices connected to EtherCAT

Detailed Description

Memory contains general devices (handled by PLC)

The documentation for this struct was generated from the following file:
  • tgm.h
  • GENERAL_MEMORY


TG Motion: HEADER Struct Reference

Public Attributes | List of all members
HEADER Struct Reference

The HEADER struct - fixed size 128 bytes. More...

#include <tgm.h>

Public Attributes

uint32_t | Life_Tick
Life tick counter.
uint32_t | Compatibility_Id
Compatibility code.
uint32_t | CompatibilityMem_Id
Memory compatibility code.
uint32_t | CompatibilityCnc_Id
Cnc compatibility code.
uint32_t | Reserve0
reserve
uint32_t | Mem_Number
Number of shared memory.
uint32_t | Mem_Size_System
Size of shared system memory.
uint32_t | Mem_Size_Data
Size of shared data memory.
uint32_t | Mem_Size_Cam
Size of shared cam profile memory.
uint32_t | Mem_Size_Osc
Size of shared oscilloscope memory - can be variable depending on device (PC, TGMmini)
uint32_t | Mem_Size_Servo
Size of shared servo memory.
uint32_t | Mem_Size_Dio
Size of shared dio memory.
uint32_t | Mem_Size_General
Size of shared General memory.
uint32_t | Mem_Size_Interpolator
Size of shared interpolator memory.
uint32_t | Mem_Size_InterpolatorWrite
Size of shared interpolator write memory.
uint32_t | Mem_Size_InterpolatorRead
Size of shared interpolator read memory.
uint32_t | Mem_Size_Ods
Size of shared Ods memory.
uint32_t | Mem_Size_CncOds
Size of shared CNC ODS memory.
uint32_t | Mem_Size_CncEx
Size of shared CNC Ex memory.
int32_t | Reserve1
Reserve.
int32_t | Reserve2
Reserve.
int32_t | Reserve3
Reserve.
int32_t | Internal_Reg0
Internal reg.
int32_t | Internal_Reg1
Internal reg.
int32_t | Internal_Reg2
Internal reg.
int32_t | Internal_Reg3
Internal reg.
int32_t | Internal_Reg4
Internal reg.
int32_t | Internal_Reg5
Internal reg.
int32_t | Internal_Reg6
Internal reg.
int32_t | Internal_Reg7
Internal reg.
int32_t | Internal_Reg8
Internal reg.
int32_t | Internal_Reg9
Internal reg.

Detailed Description

The HEADER struct - fixed size 128 bytes.

All values are read-only

The documentation for this struct was generated from the following file:
  • tgm.h
  • HEADER


TG Motion: INTERPOLATOR Struct Reference

Public Attributes | Static Public Attributes | List of all members
INTERPOLATOR Struct Reference

Interface to interpolator. More...

#include <tgm.h>

Public Attributes

uint32_t | Number
interpolator number
uint32_t | Number_Axes
number of axes used for interpolation (2-10)
uint32_t | Buffer_Size
size of the command buffer in items
volatile INTERPOLATOR_COMMANDS | Command
command to interpolator
int32_t | Command_Parametr [MAX_INTERPOLATOR_PARAMETERS]
parameters depending on INTERPOLATOR::Command value
int32_t | Command_Status
volatile interpolator_status | Status
volatile int32_t | Act_Part
index of the actual part of the G code
uint32_t | Adrress_External_Position
offset of TGM_Data address, where external sensor position is saved
volatile int32_t | M_Func
int32_t | Act_GFunc
actual G function number
int32_t | Act_MFunc
actual M function number
int32_t | Last_ContMFunc
last continuous M function number (M > 1000)
uint32_t | Run_Flag
uint32_t | Tool_Number
actual tool number from G-code
CONT_MFUNC_HISTORY Cont_MFunc_History
continuous M functions history

uint32_t | editorLine
actual editor line
int32_t | fileIdx
actual file index (could be negative for special internal file types)
uint32_t | correction
actual tool compensation (41 - left, 42 - right, any other value - off)
uint32_t | Run_State
extracted speed progress status from Run_Flag (higher 16 bits)
int32_t | IReserve [64U -(sizeof(CONT_MFUNC_HISTORY)/sizeof(int32_t))]
reserved
float64_t | Orig_Position [MAX_INTERPOLATOR_AXES]
direct position from interpolator
float64_t | Position [MAX_INTERPOLATOR_AXES]
filtered position (IIR and/or Spline filtration)
float64_t | PositionInc [MAX_INTERPOLATOR_AXES]
Position multiplied by INTERPOLATOR::Ratio.
float64_t | Backlash [MAX_INTERPOLATOR_AXES]
actual backlash value for each axis
float64_t | Offset [MAX_INTERPOLATOR_AXES]
offset values added to INTERPOLATOR::PositionInc
float64_t | Speed [MAX_INTERPOLATOR_AXES]
actual speed of each axis after IIR and Spline calculations
float64_t | Ratio [MAX_INTERPOLATOR_AXES]
conversion ratio (multiplier) from mm to increments

float64_t | M_Function_Parameter [MFUNC_NUMBER_PAR]
Parameters of the actual M functions. Some of the letters are reserved (G, M, N, P).
float64_t | M_Func_Params_Reserved [32U - MFUNC_NUMBER_PAR]
reserved
float64_t | Rel_Speed
wanted relative speed of the movement, 0.01 - 2.0 (i.e 1 - 200 %);
float64_t | Set_Speed
wanted speed from the G-code
float64_t | Act_Speed
actual speed
float64_t | Move_Distance
actual total distance
float64_t | Act_Rel_Speed
actual relative speed of the movement, 0.01 - 2.0 (i.e 1 - 200 %);
float64_t | DReserve [31+70]
reserved
uint32_t | LookAheadBufferValidStart
uint32_t | LookAheadBufferValidEnd
the last valid entry in INTERPOLATOR::LookAheadBuffer array
INTERPOLATOR_LOOK_AHEAD_BUFFER | LookAheadBuffer [MAX_LOOKHEAD_BUFFER_SIZE]
G-code parts to follow. The first entry in this table is always the actual G-code part.

Static Public Attributes

static constexpr uint32_t MAX_INTERPOLATOR_PARAMETERS { 12U }
max number of usable parameters

Detailed Description

Interface to interpolator.

Buffer_Size is specified in TgMotion.ini file, entry Interpolator[].Buffer_Size, e.g. Interpolator[0].Buffer_Size=2000`

Member Data Documentation

◆ Command_Status

int32_t INTERPOLATOR::Command_Status

actual status of command

value | description
0 | previous command was executed successfully and next command can be activated
1 | actual command is being performed
-1 | error occurred during the command execution

◆ LookAheadBufferValidStart

uint32_t INTERPOLATOR::LookAheadBufferValidStart

the first valid antry in INTERPOLATOR::LookAheadBuffer array, wraps around MAX_LOOKHEAD_BUFFER_SIZE

◆ M_Func

volatile int32_t INTERPOLATOR::M_Func

value of M-function; if M < 1000 the interpolator stops and waits until the value; reaches zero; it then continues with a next segment; if M > 1000, execution of the G-code continues

◆ Run_Flag

uint32_t INTERPOLATOR::Run_Flag

additional running status

lower 16 bits indicate the status of the actual part:

value | description
0 | STOP (interpolator is inactive)
1 | RUN (normal G-instruction is being executed)
2 | WAIT_WINDOW (for turning)
3 | WAIT_PULSE (for turning)
4 | WAIT_MFUNC (M-function execution started
5 | WAIT_MFUNC_WAIT_FOR_END (waiting for M-function termination)

upper 16 bits for the speed progress status:

value | description
1 | no movement
2 | acceleration
3 | required movement speed has been reached
4 | deceleration
5 | next speed segment
6 | deceleration on the last segment
7 | deceleration on emergency ramp

◆ Status

volatile interpolator_status INTERPOLATOR::Status

actual status of the interpolator

value | description
1 | movement on trajectory is under way
3 | stop at the trajectory end
4 | at least one part of the trajectory is in the buffer, start may be called
6 | stopping on emergency ramp
7 | interpolator stopped after emergency stop
8 | interpolator was stopped during the buffer filling
The documentation for this struct was generated from the following file:
  • tgm.h
  • INTERPOLATOR


TG Motion: INTERPOLATOR_LOOK_AHEAD_BUFFER Struct Reference

Public Attributes | List of all members
INTERPOLATOR_LOOK_AHEAD_BUFFER Struct Reference

Lookahead informations about the G-code. More...

#include <tgm.h>

Public Attributes

INTERPOLATOR_LOOK_AHEAD_ENTRY buf
The look ahead buffer.
float64_t allReserves [internal_calc::RESERVE_SIZE_IN_DOUBLES]
padding to ensure that the complete INTERPOLATOR structure has 16384 bytes

Detailed Description

Lookahead informations about the G-code.

The documentation for this struct was generated from the following file:
  • tgm.h
  • INTERPOLATOR_LOOK_AHEAD_BUFFER


TG Motion: INTERPOLATOR_LOOK_AHEAD_ENTRY Struct Reference

Public Attributes | List of all members
INTERPOLATOR_LOOK_AHEAD_ENTRY Struct Reference

Stores informations about CNC code parts ahead of the actual one. More...

#include <tgm.h>

Public Attributes

float64_t | allParams [MFUNC_NUMBER_PAR]
all the parameters of G-code (26 letters of English alphabet)
float64_t | tangens
tangent of the movement in radians, M functions have value > 1e38
uint32_t | movementType
0 - invalid entry, 1 - Gxx, 2 - Mxx
int32_t | movementCode
G or M function number.
uint32_t | plane
circle plane: 17 - XY, 18 - XZ, 19 - YZ, others not defined
uint32_t | tool
actual tool number
float64_t | endPos [MAX_INTERPOLATOR_AXES]
end position of the actual part
float64_t | startAngle
starting angle of arc (G2 and G3), for other (line, M func) is > 1e38
float64_t | endAngle
ending angle of arc (G2 and G3), for other (line, M func) is > 1e38
float64_t | radius
radius of the arc; for G0, G1, Mxx is set to zero
float64_t | partLength
length of the actual part
int32_t | gCodeIndex
G code index.
uint32_t | editorLine
editor line in source G code text
int32_t | fileIdx
index of source G code text file
uint32_t | correction
correction value (41 - left correction, 42 - right correction, any other - no correction)

Detailed Description

Stores informations about CNC code parts ahead of the actual one.

The documentation for this struct was generated from the following file:
  • tgm.h
  • INTERPOLATOR_LOOK_AHEAD_ENTRY


TG Motion: MAIN Struct Reference

Public Attributes | List of all members
MAIN Struct Reference

The MAIN struct - fixed size of 4096 bytes. More...

#include <tgm.h>

Public Attributes

uint32_t | TGMotion_Version
Version of TGM xxx DD MM YY.
uint32_t | TGM_TgMotionCmd
volatile uint32_t | Log_Ctrl
Control log output texts of TGM.
volatile uint32_t | LogInterpolator_Ctrl
Control log output texts od inerpolators;.
uint32_t | Reserve0
Reserved.
uint32_t | Reserve1
Reserved.
uint32_t | Reserve2
Reserved;.
volatile uint32_t | PLC_Ctrl
Control PLC ( load, run, stop... )
uint16_t | PLC_Name [MAX_PLC_FILE_NAME_SIZE]
Name of PLC program file (always UNICODE - UTF16)
uint32_t | Size_EEPROM_Memory
size of EEPROM memory, zero means size of 512 bytes (compatibility with previous TGM versions)
uint32_t | Number_Servos
Actual number of servo drives (from .INI file), read-only.
uint32_t | Number_Dios
Actual number of DIO modules (from .INI file), read-only.
uint32_t | TGMmini_internal_dio_idx
TGMmini only: Internal DIO index number, otherwise unused.
uint32_t | Number_Interpolators
Actual number of interpolators (from .INI file), read-only.
uint32_t | Reserve3
Reserved.
uint32_t | Reserve4
Reserved.
uint32_t | Reserve5
reserved
uint32_t | Servo_Tick
Counter of servo thread ticks.
uint32_t | Servo_SetCycleTime
Adjusted cycle time of servo thread [us].
uint32_t | Servo_CycleTime
Time of execute servo thread [us].
uint32_t | Servo_MaxCycle_Time
calculated maximum of servo loop time;

uint32_t | PLC_SetCycleTime_Prg1
Wanted cycle time of PLC program 1 thread [us].
uint32_t | PLC_CycleTime_Prg1
Time of execute PLC program 1 thread [us].
uint32_t | PLC_MaxCycleTime_Prg1
Maximal measured execution time PLC program 1 thread [us].
uint32_t | PLC_SetCycleTime_Prg2
Wanted cycle time of PLC program 2 thread [us].
uint32_t | PLC_CycleTime_Prg2
Time of execute PLC program 2 thread [us].
uint32_t | PLC_MaxCycleTime_Prg2
Maximal measured execution time PLC program 2 thread [us].
uint32_t | PLC_SetCycleTime_Prg3
Wanted cycle time of PLC program 3 thread [us].
uint32_t | PLC_CycleTime_Prg3
Time of execute PLC program 3 thread [us].
uint32_t | PLC_MaxCycleTime_Prg3
Maximal measured execution time PLC program 3 thread [us].
uint32_t | PLC_SetCycleTime_Prg4
Wanted cycle time of PLC program 4 thread [us] (always equal to MAIN::Servo_SetCycleTime)
uint32_t | PLC_CycleTime_Prg4
Time of execute PLC program 4 thread [us].
uint32_t | PLC_MaxCycleTime_Prg4
Maximal measured execution time PLC program 4 thread [us].
uint32_t | Act_Timer_CycleTime
actual measured main loop cycle time [us]
uint32_t | Min_Timer_CycleTime
minimal main loop cycle time
uint32_t | Max_Timer_CycleTime
maximal main loop cycle time
uint32_t | Max_Timer_Latency
calculated main loop timer latency
uint32_t | Interpolator_SetCycleTime
Adjusted cycle time of INTERPOLATOR thread [us].
uint32_t | Interpolator_CycleTime [FIXED_NUMBER_OF_INTERPOLATORS]
Time execute of INTERPOLATORS [us].
uint32_t | Max_Interpolator_Cycle_Time [FIXED_NUMBER_OF_INTERPOLATORS]
calculated maximum of interpolator time
uint32_t | ECAT_ElapsedTime
Actual time of execute ECAT packet processing [us].
uint32_t | Max_ECAT_ElapsedTime
Maximal measured execution time of ECAT processing [us].
uint32_t | PLC_CAN_BaudRate
CAN Communications speed for PLC [kbit/s].
uint32_t | CAN_Transmit_Buffer_Fullness
fullness of the CAN transmit buffer, PC: 0 or 1, TGMmini: 0 - 55
uint32_t | TGMmini_CPU_Temperature
TGMmini only: CPU chip temperature in degrees of Celsius, if zero, no measurement done yet.
uint32_t | SafetyEvent
uint32_t | SystemTimeDifferenceSum
ORed value of all DC slaves system time difference.
uint32_t | EthPacketErrorCounter
Counter of receive packet error.
uint32_t | EthNumberOfPackets
Actual number of packets for one cycle time.
int64_t | MasterClock
64-bit counter time in nanoseconds till DC started
int64_t | ReferenceClock
read 64-bit counter of the first slave with DC
int64_t | MasterClockToReferenceClockDifference
MasterClock - ReferenceClock.
int32_t | Distributed_Clock
copy of CONFIG_TGMOTION.Distributed_Clock
int32_t | StateDistributedClock
State of distributed clock on ETHERCAT 0 = off, 1 = on, -1 = error finding DC slave.
uint16_t | EtherCatDriver [MAX_ECAT_DRIVER_FILE_NAME_SIZE]
Name of ETHERCAT driver (UNICODE, PC only)
uint32_t | Found_Total_Number_Of_ECAT_Devices
number of found device on ECAT bus
uint32_t | Reserve6
reserved
uint32_t | Reserve7
reserved
uint32_t | Reserve8
reserved
uint32_t | Reserve9
reserved
uint32_t | Reserve10
reserved
uint32_t | Reserve11
reserved
uint32_t | paddingTo64bits
reserved

Detailed Description

The MAIN struct - fixed size of 4096 bytes.

Member Data Documentation

◆ SafetyEvent

uint32_t MAIN::SafetyEvent

safety event value (read-only):

Value | Description
0 | no safety event
0x36363636 | immediate stop: keep the actual servo positions
0x2A2A2A2A | EtherCAT communication is broken (no link)
0x4E4E4E4E | controlled stop to servo zero speed, set all DIO outputs to zero

◆ TGM_TgMotionCmd

uint32_t MAIN::TGM_TgMotionCmd

Special controls to TGM itself: KILL = 0x4C4C494B - exit TGMotion (PC only) RBUS = 0x53554252 - reset EtherCAT bus BOOT = 0x544F4F42 - reboot computer (TGMmini or TGMnano) LINI = 0x494E494C - reload INI file (internal TGMotion reset without boot or kill)

The documentation for this struct was generated from the following file:
  • tgm.h
  • MAIN


TG Motion: MAP_CNC Struct Reference

Public Attributes | List of all members
MAP_CNC Struct Reference

Maps interpolator axis to servo drive. More...

#include <tgm.h>

Public Attributes

uint32_t | IntNumber
Attached interpolator number.
uint32_t | AxisIndex
Attached interpolator axis number.
int32_t | Reserve1
reserved
int32_t | Reserve2
reserved

Detailed Description

Maps interpolator axis to servo drive.

The documentation for this struct was generated from the following file:
  • tgm.h
  • MAP_CNC


TG Motion: OSC Struct Reference

Public Attributes | List of all members
OSC Struct Reference

Oscilloscope control. More...

#include <tgm.h>

Public Attributes

volatile int32_t | Control
Oscilloscope control W.
volatile int32_t | Status
Oscilloscope status R.
uint32_t | Number_Periods
Number of periods for one sample W.
uint32_t | Number_Chanels
Number of channels [ 1 - 32 ] W.
SHARED_MEMORY Memory_Type_Trigger
Type memory of trigger value W.
uint32_t | Offset_Trigger
Offset off trigger value [ byte ] W.
uint32_t | Mode_Trigger
Trigger mode 0 = off 1 = rising edge 2 = falling edge W.
OSC_DATA_TYPE Type_Trigger
Type of trigger value 0 - 3 = int32_t, 4 - 9 = float64_t W.
float64_t | Level_Trigger
Trigger level W.
CHANNEL Channel [N_OSC_CHANNELS]
all the channels
uint32_t | Number_Samples
Number of samples per channel R.
uint32_t | Actual_Samples
Actual number of samples per channel R.
uint32_t | Sample_Time
Actual time of one sample [us] R.
uint32_t | Reserved
padding

Detailed Description

Oscilloscope control.

The documentation for this struct was generated from the following file:
  • tgm.h
  • OSC


TG Motion: PG Struct Reference

Public Attributes | List of all members
PG Struct Reference

Profile generator. More...

#include <tgm.h>

Public Attributes

float64_t | Acc
Desired acceleration of movement [ inc/s2 ].
float64_t | Dec
Desired deceleration of movement [ inc/s2 ].
float64_t | APos
Actual position of movement[ inc ].
float64_t | DPos
Destination position of movement[ inc ].
float64_t | ASpeed
Actual speed of movement[ inc/s ].
float64_t | PosSpeed
Desired speed of movement in position mode[ inc/s ].
float64_t | Speed
Desired speed of movement in speed mode[ inc/s ].
float64_t | DReserve [10]
reserved
uint32_t | Mode
uint32_t | Rdy
Flag end of movement 1 = Destination position is reached.
uint32_t | Type
int32_t | IReserve [13]
reserved

Detailed Description

Profile generator.

Member Data Documentation

◆ Mode

uint32_t PG::Mode

Mode of profile generator 0 = speed mode, 1 = position mode, 2 (read only) = signalizing deceleration ramp in position mode

◆ Type

uint32_t PG::Type

Type of speed profile: 0 = harmonic non symmetric 1 = harmonic symmetric 2 = full harmonic 3 = trapezoidal

The documentation for this struct was generated from the following file:
  • tgm.h
  • PG


TG Motion: PLC_DATA Struct Reference

Public Attributes | List of all members
PLC_DATA Struct Reference

main structure for communication between TGMotion and Virtual PLC More...

#include <tgm.h>

Public Attributes

size_t | structSize
structure size
SYSTEM * pSystem_Memory
pointer to system memory
void * | pData_Memory
pointer to data memory
void * | pOsc_Memory
pointer to oscilloscope memory
void * | pCam_Memory
pointer to cam memory
SERVO * pServo_Memory
pointer to servo memory
DIO * pDio_Memory
pointer to DIO memory
INTERPOLATOR * pInterpolator_Memory
pointer to interpolator memory
void * | reserved0
reserved
void * | pInterpolatorGetPosition
pointer to InterpolatorRead memory
void * | pCNCExMemory
void * | reserved2
reserved
char * | reserved3
reserved
GENERAL_MEMORY * pGeneralMemory
pointer to universal memory
void * | reserved4
reserved
const RECEIVE_DATA_CAN * | pReciveDataCan1
Pointer to CAN receive data buffer, size is RECEIVE_DATA_CAN::BUFFER_SIZE, can be null.
void * | reserved5
reserved
PLC_IMPORT_FUNCTIONS functions
structure with all exported library functions

Detailed Description

main structure for communication between TGMotion and Virtual PLC

Member Data Documentation

◆ pCNCExMemory

void* PLC_DATA::pCNCExMemory

pointer to CNCEx memory. Declared in tgm_cnc.h file as cnc::TGM_CNC_MEMORY. Here only void * is used to eliminate need of cross reference of the tgm_cnc.h file. PLC normally does not need this memory, it is set for advanced CNC control.

The documentation for this struct was generated from the following file:
  • tgm.h
  • PLC_DATA


TG Motion: PLC_IMPORT_FUNCTIONS Struct Reference

Public Attributes | List of all members
PLC_IMPORT_FUNCTIONS Struct Reference

Pointers to auxiliary functions usable in Virtual PLC. More...

#include <tgm.h>

Public Attributes

RTWPRINTF_STRING_SEVERITY * pRtWprintf_String_Severity
string output to console
SLEEPFT * pSleepFt
wait for specified number of time
CAN_TRANSMIT * pCAN_Transmit
transmit message to CAN port
CAN_TRANSMITREMOTE * pCAN_TransmitRemote
transmit remote message to CAN port

Detailed Description

Pointers to auxiliary functions usable in Virtual PLC.

The documentation for this struct was generated from the following file:
  • tgm.h
  • PLC_IMPORT_FUNCTIONS


TG Motion: PLC_LARGE_INTEGER Struct Reference

Public Attributes | List of all members
PLC_LARGE_INTEGER Struct Reference

#include <tgm.h>

Public Attributes

int64_t QuadPart
holds the value

Detailed Description

this is a Windows structure, in the original version it contains an union, which is not compatible with MISRA specifications. So use only the QuadPart member, which keeps the structure compatible. If needed low and hi 32bit words, extract them manually.

The documentation for this struct was generated from the following file:
  • tgm.h
  • PLC_LARGE_INTEGER


TG Motion: RECEIVE_DATA_CAN Struct Reference

Public Attributes | Static Public Attributes | List of all members
RECEIVE_DATA_CAN Struct Reference

One entry of incoming CAN data. More...

#include <tgm.h>

Public Attributes

uint8_t | DataBytes [CAN_DATA_SIZE]
bytes 0-7 of the message
uint32_t | Dlc
length of the message, will be 0 - 8
uint32_t | NewData
flag that new data has been received

Static Public Attributes

static constexpr uint32_t | BUFFER_SIZE { 2048U }
size of the incoming CAN messages buffer
static constexpr uint32_t | CAN_DATA_SIZE { 8U }
maximal CAN message size

Detailed Description

One entry of incoming CAN data.

The documentation for this struct was generated from the following file:
  • tgm.h
  • RECEIVE_DATA_CAN


TG Motion: RESERVE_MAIN Struct Reference

Public Attributes | List of all members
RESERVE_MAIN Struct Reference

reserve the MAIN structure to 4096 bytes More...

#include <tgm.h>

Public Attributes

uint8_t RESERVE [FIXED_MAIN_STRUCT_SIZE - sizeof(struct MAIN)]
reserved area

Detailed Description

reserve the MAIN structure to 4096 bytes

The documentation for this struct was generated from the following file:
  • tgm.h
  • RESERVE_MAIN


TG Motion: SDO Struct Reference

Public Attributes | Static Public Attributes | List of all members
SDO Struct Reference

SDO object communication. More...

#include <tgm.h>

Public Attributes

uint32_t | Control
Control of SDO communication 1 = write request, 2 = read request.
int32_t | Status
Status of SDO communication 0 = finished, 1 = active, -1 = error.
uint32_t | NumberByte
Number read/write bytes (1, 2 or 4)
uint32_t | Index
Index of SDO object.
uint32_t | SubIndex
SubIndex of SDO object.
int32_t | Data
read/write data of SDO object, error code if SDO::Status is -1

Static Public Attributes

static constexpr uint32_t MAX_NUMBER_BYTE { 4U }
maximal allowed data size in bytes

Detailed Description

SDO object communication.

The documentation for this struct was generated from the following file:
  • tgm.h
  • SDO


TG Motion: SERVO Struct Reference

Public Attributes | Static Public Attributes | List of all members
SERVO Struct Reference

Describes one servo drive (or axis) More...

#include <tgm.h>

Public Attributes

uint32_t | Number
Logical servo number.
uint32_t | Node
Communication node number.
uint32_t | Axis
Axis number (valid for multi-axis servo drives)
SERVO_TYPE Type
Servo type.
uint32_t | Resolution
Motor resolution [ inc/rev ].
int32_t | SerialNumber
Serial number of servo drives.
volatile uint32_t | Control
volatile int32_t | Status
int32_t | Mode
Servo modes.
uint32_t | Error
Fault code.
uint32_t | EtherCATState
State of communications on the ETHERCAT.
uint32_t | DigitalIn
State of servo digital inputs.
uint32_t | DigitalOut
State of servo digital outputs, writing causes setting servo digital outputs.
int32_t | TorqueFeedForward
Torque feed forward, scaling is 0.001 of rated torque.
uint32_t | ControlWord
copy of CAN control word
uint32_t | StatusWord
copy of CAN status word
uint32_t | SysTimeDifference
last known difference between local time and reference time in ns
ECAT_REGISTER ecatRegister
ECAT register communication channel.
uint32_t | ECATBusPosition
found physical position on the bus
uint32_t | ResolutionBits
Motor resolution in bits (RO)
uint32_t | LatchControlWord
Latch control word (ServoStar 700 only)
int32_t | IReserve [92]
reserved
float64_t | WritePosition
Wanted servo position [ inc ] RW.
float64_t | Position
Actual position reading from the servo [ inc ] R.
float64_t | RefPosition
Actual shift position from the servo [ inc ] R.
float64_t | ExtPosition
Actual external position reading from the servo [ inc ] R.
float64_t | Offset
Shift of the position [ inc ] W.
float64_t | Correction
Correction of position [ inc ] W.
float64_t | PositionError
Actual position error [ inc ] R.
float64_t | WriteSpeed
Actual speed writing to servo [ inc/s ] R.
float64_t | Speed
Actual speed reading from the servo [ inc/s ] R.
float64_t | LimitCurrent
Drive current limitation [ inc ] - depends on servo type W.
float64_t | Current
Actual drive current [ inc ] - depends on servo type R.
float64_t | MaxCurrent
Max. drive current [ mA ] - depends on servo type R.
float64_t | AnalogIn
Actual value from analog input [ inc ] - depends on servo type R.
float64_t | WriteAcc
Actual acceleration writing to servo [ inc/s2 ] R.
float64_t | AccMaxTorqueFeedForward
Acceleration for max feed forward [ inc/s2 ] W.
float64_t | TransformedPosition
Value to be copied to WritePosition in case of Mode == 9 (MODE_USER)
float64_t | DReserve [88]
reserved
PG Pg
Profile generator.
SDO Sdo
SDO communication object.
GEAR Gear
Gear generator.
MAP_CNC Cnc
Mapping of interpolator axis to servo.
CAPTURE Capture
Capture control.
COMMAND Command
Interface which simplifies Profile and Gear generator settings.

Static Public Attributes

static constexpr uint32_t | RESET_FAULT_BIT0 { 0x0001U }
Value for SERVO::Control - reset.
static constexpr uint32_t | DISABLE_TORQUE_BIT1 { 0x0002U }
Value for SERVO::Control - disable torque (AKD & ServoStar)
static constexpr uint32_t | RESET_ETHERCAT_BIT2 { 0x0004U }
Value for SERVO::Control - reset device on EtherCAT (reserved)
static constexpr uint32_t | CALC_TORQUE_BIT3 { 0x0008U }
Value for SERVO::Control - automatic torque calculation (AKD & TGZ)

Detailed Description

Describes one servo drive (or axis)

Structure size is 2048 bytes

Member Data Documentation

◆ Control

volatile uint32_t SERVO::Control

Servo control

bit number | description
0 | reset fault,
1 | disable torque,
2 | reset ETHERCAT Communication,
3 | automatic calculate of torque feed forward on/off

◆ Status

volatile int32_t SERVO::Status

Servo status:

value | description
-1 | communications fault
0 | no response
1 | fault
2 | ready disable
3 | ready enable
The documentation for this struct was generated from the following file:
  • tgm.h
  • SERVO


TG Motion: SYSTEM Struct Reference

Public Attributes | List of all members
SYSTEM Struct Reference

Shared memory named "TGM_System". More...

#include <tgm.h>

Public Attributes

HEADER Header
Fixed header with life tick version informations, memory sizes.
MAIN Main
PLC control, logging control, timing information.
RESERVE_MAIN Reserve_Main
padding Main to 4096 B
TIMERS Timers
Up and down timers (32 each)
OSC Osc
Oscilloscope control.
ECAT_DRIVER Ecat_Driver [MAX_ECAT_DRIVES]
PC EtherCAT Driver info.
EEPROM Eeprom
EEPROM simulation.

Detailed Description

Shared memory named "TGM_System".

The documentation for this struct was generated from the following file:
  • tgm.h
  • SYSTEM


TG Motion: TIMERS Struct Reference

Public Attributes | List of all members
TIMERS Struct Reference

Timers with fixed 1ms period. More...

#include <tgm.h>

Public Attributes

uint32_t | Timer_Up [MAX_TIMER_UP]
Up timers.
uint32_t | Timer_Down [MAX_TIMER_DOWN]
Down timers.

Detailed Description

Timers with fixed 1ms period.

Up timers count endlessly, down timers only till zero

The documentation for this struct was generated from the following file:
  • tgm.h
  • TIMERS


TG Motion: Class Index

Class Index
A | C | D | E | G | H | I | M | O | P | R | S | T
A
ACTUAL_GM_VALUES (cnc)
ARC_FEED_TABLE (cnc)
AXIS_LIMITS (cnc)
C
CALLBACK_INFO (cnc)
CAPTURE
CHANNEL
CNC_CALC_INIT_DATA
CNC_CALC_RETURN_VALUE
COMMAND
CONT_MFUNC_HISTORY
CTGM_COMM_INT_5
D
DIO
DLL_INIT_STRUCT (cnc)
E
ECAT_REGISTER
EEPROM
EEPROM_CONTROL
EXT_SDO
G
GCODE_CORRECTION (cnc)
GCODE_FEED (cnc)
GCODE_INFO (cnc)
GCODE_PARAMETERS (cnc)
GCODE_SIZE (cnc)
GEAR
GENERAL_DEVICE
GENERAL_MEMORY
H
HEADER
I
INTERNAL_MFUNC_INSERT_TABLE (cnc)
INTERPOLATOR
INTERPOLATOR_LOOK_AHEAD_BUFFER
INTERPOLATOR_LOOK_AHEAD_ENTRY
M
MACHINE_PARAMETERS (cnc)
MACHINE_STATUS (cnc)
MAIN
MAP_CNC
O
OSC
P
P10BOOL (cnc)
P10DOUBLE (cnc)
PG
PLC_DATA
PLC_IMPORT_FUNCTIONS
PLC_LARGE_INTEGER
R
RECEIVE_DATA_CAN
RESERVE_MAIN
S
SDO
SERVO
SIMPLE_GM_PARAMS_WIN32 (cnc)
SIMPLE_INFO (cnc)
SYSTEM
T
TGM_CNC_CORE_MEMORY (cnc)
TGM_CNC_CORE_MEMORY_INTERNAL (cnc)
TGM_CNC_MEMORY (cnc)
TGM_CNC_MEMORY_HEADER (cnc)
TGM_FUNCTION (cnc)
TGM_FUNCTION_INTERNAL (cnc)
TIMERS


TG Motion: Class Hierarchy

Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12]
C CAPTURE | Capture position from servo
C CHANNEL | One oscilloscope channel definition
C cnc::ACTUAL_GM_VALUES | Actual parameters
C cnc::ARC_FEED_TABLE | Table of speeds, relative arc speeds in relation to radius
C cnc::AXIS_LIMITS | Limits for one axis
C cnc::CALLBACK_INFO | Structure for transmitting information for the function ToolChainCore_GetLastError and for the callback functions AddOutputLogFunc, SetStatusBarTextFunc, MathWarningFunc
C cnc::DLL_INIT_STRUCT | Initialization structure. Used by ToolChainCore_Init
C cnc::GCODE_CORRECTION | Definition of corrections
C cnc::GCODE_FEED | Definition of default feeds
C cnc::GCODE_INFO | G-code size
C cnc::GCODE_PARAMETERS | Structure for setting G-code properties
C cnc::GCODE_SIZE | Initial position, end position and size
C cnc::INTERNAL_MFUNC_INSERT_TABLE | Values of inserted M functions
C cnc::MACHINE_PARAMETERS | Machine parameters
C cnc::MACHINE_STATUS | Machine status
C cnc::P10BOOL | Structure similar to P10DOUBLE, using integers
C cnc::P10DOUBLE | This structure defines 10 coordinates of float64_t type (8 bytes)
C cnc::SIMPLE_GM_PARAMS_WIN32 | Describes one G-code part
C cnc::SIMPLE_INFO | Auxiliary G-code functions use this structure
▼C cnc::TGM_CNC_CORE_MEMORY_INTERNAL | Shared CNC memory for one CNC core
C cnc::TGM_CNC_CORE_MEMORY | Automatically sets the size of the structure to 16384 bytes
C cnc::TGM_CNC_MEMORY | Describes the shared TGM_CNCEX memory
C cnc::TGM_CNC_MEMORY_HEADER | Header of the shared TGM_CNCEX memory
▼C cnc::TGM_FUNCTION_INTERNAL | Base structure for activating a CNC function
C cnc::TGM_FUNCTION | Automatically sets the size of the structure to 8192 bytes
C CNC_CALC_INIT_DATA | Initialization structure
C CNC_CALC_RETURN_VALUE | Holds changed G-code parts
C COMMAND | Servo command
C CONT_MFUNC_HISTORY | History of continuous M functions
C CTGM_COMM_INT_5 | C++ wrapper class for TGM_Comm_Int_2 library functions
C DIO | Describes one servo input/output module
C ECAT_REGISTER | EtherCAT registers communication
C EEPROM |
C EEPROM_CONTROL |
C EXT_SDO | Extended SDO object communication (GENERAL_DEVICES only)
C GEAR | Gear generator
C GENERAL_DEVICE | Describes one general module
C GENERAL_MEMORY | Memory contains general devices (handled by PLC)
C HEADER | The HEADER struct - fixed size 128 bytes
C INTERPOLATOR | Interface to interpolator
C INTERPOLATOR_LOOK_AHEAD_BUFFER | Lookahead informations about the G-code
C INTERPOLATOR_LOOK_AHEAD_ENTRY | Stores informations about CNC code parts ahead of the actual one
C MAIN | The MAIN struct - fixed size of 4096 bytes
C MAP_CNC | Maps interpolator axis to servo drive
C OSC | Oscilloscope control
C PG | Profile generator
C PLC_DATA | Main structure for communication between TGMotion and Virtual PLC
C PLC_IMPORT_FUNCTIONS | Pointers to auxiliary functions usable in Virtual PLC
C PLC_LARGE_INTEGER |
C RECEIVE_DATA_CAN | One entry of incoming CAN data
C RESERVE_MAIN | Reserve the MAIN structure to 4096 bytes
C SDO | SDO object communication
C SERVO | Describes one servo drive (or axis)
C SYSTEM | Shared memory named "TGM_System"
C TIMERS | Timers with fixed 1ms period


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- a -

  • A : cnc::P10BOOL , cnc::P10DOUBLE
  • absMode : cnc::GCODE_PARAMETERS
  • acc : cnc::GCODE_FEED
  • Acc : PG
  • AccMaxTorqueFeedForward : SERVO
  • Act_GFunc : INTERPOLATOR
  • Act_MFunc : INTERPOLATOR
  • Act_Part : INTERPOLATOR
  • Act_Rel_Speed : INTERPOLATOR
  • Act_Speed : INTERPOLATOR
  • Act_Timer_CycleTime : MAIN
  • actLine : cnc::CALLBACK_INFO
  • actPos : cnc::TGM_CNC_CORE_MEMORY_INTERNAL
  • Actual_Samples : OSC
  • ActualIn : GEAR
  • ActualShift : GEAR
  • addGCode : cnc::TGM_FUNCTION_INTERNAL
  • Adrress_External_Position : INTERPOLATOR
  • AI : DIO
  • allowedCircCenterAccuracy() : cnc::GCODE_PARAMETERS
  • allParams : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • allReserves : INTERPOLATOR_LOOK_AHEAD_BUFFER
  • AnalogIn : SERVO
  • angularDistancePrecision() : cnc::GCODE_PARAMETERS
  • angularPrecision() : cnc::GCODE_PARAMETERS
  • AO : DIO
  • APos : PG
  • arcFeedTable : cnc::GCODE_PARAMETERS
  • ASpeed : PG
  • Axis : SERVO
  • AxisIndex : MAP_CNC
  • axisLimits : cnc::GCODE_PARAMETERS


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- b -

  • B : cnc::P10BOOL , cnc::P10DOUBLE
  • backlash : cnc::MACHINE_PARAMETERS
  • Backlash : INTERPOLATOR
  • backlashInc : cnc::MACHINE_PARAMETERS
  • backlashValuesSource : cnc::MACHINE_PARAMETERS
  • buf : INTERPOLATOR_LOOK_AHEAD_BUFFER
  • Buffer_Size : INTERPOLATOR
  • BUFFER_SIZE : RECEIVE_DATA_CAN
  • bUseLRW : GENERAL_DEVICE


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- c -

  • C : cnc::P10BOOL , cnc::P10DOUBLE
  • CALC_TORQUE_BIT3 : SERVO
  • calcTime : cnc::GCODE_PARAMETERS
  • callbackWarningsInvokeMode : cnc::GCODE_PARAMETERS
  • CamExpAddress1 : GEAR
  • CamExpAddress2 : GEAR
  • CamExpControl : GEAR
  • CamExpLine1 : GEAR
  • CamExpLine2 : GEAR
  • CamIncPosition : GEAR
  • CamLen : GEAR
  • CamLine : GEAR
  • CamPosition : GEAR
  • CamScale : GEAR
  • CamTab : GEAR
  • CamType : GEAR
  • CAN_DATA_SIZE : RECEIVE_DATA_CAN
  • CAN_Transmit_Buffer_Fullness : MAIN
  • Capture : SERVO
  • centripetalAcc : cnc::GCODE_PARAMETERS
  • Change_Connection() : CTGM_COMM_INT_5
  • Channel : OSC
  • Close_Connection() : CTGM_COMM_INT_5
  • Close_Connections_Info_Win() : CTGM_COMM_INT_5
  • Clr_Bit_I32() : CTGM_COMM_INT_5
  • Clr_Bit_I32_DIRECT() : CTGM_COMM_INT_5
  • Clr_Bit_I64() : CTGM_COMM_INT_5
  • Clr_Bit_I64_DIRECT() : CTGM_COMM_INT_5
  • Cnc : SERVO
  • CNC_Dll_Dir : cnc::DLL_INIT_STRUCT
  • Comm_Int5_Dir : cnc::DLL_INIT_STRUCT
  • Command : INTERPOLATOR , SERVO
  • Command_Parametr : INTERPOLATOR
  • Command_Status : INTERPOLATOR
  • compatibility : CTGM_COMM_INT_5
  • Compatibility_Id : HEADER
  • CompatibilityCnc_Id : HEADER
  • CompatibilityMem_Id : HEADER
  • compatibilityToInt() : CTGM_COMM_INT_5
  • CompleteSDO : GENERAL_DEVICE
  • connected_memory : CTGM_COMM_INT_5
  • connectedMemoryToInt() : CTGM_COMM_INT_5
  • connectType : cnc::TGM_FUNCTION_INTERNAL
  • Cont_MFunc_History : INTERPOLATOR
  • Control : COMMAND , DIO , ECAT_REGISTER , EEPROM_CONTROL , EXT_SDO , GENERAL_DEVICE , OSC , SDO , SERVO
  • ControlWord : SERVO
  • coords : cnc::TGM_FUNCTION_INTERNAL
  • CopyOnlyValidValues() : cnc::P10DOUBLE
  • CopyValuesToInvalidMembers() : cnc::P10DOUBLE
  • core : cnc::TGM_CNC_MEMORY
  • correction : cnc::GCODE_PARAMETERS , INTERPOLATOR , INTERPOLATOR_LOOK_AHEAD_ENTRY
  • Correction : SERVO
  • correctionStrategy : cnc::GCODE_PARAMETERS
  • Create_Interface_2() : CTGM_COMM_INT_5
  • crossingAccuracy() : cnc::GCODE_PARAMETERS
  • ctrl : EEPROM
  • Current : SERVO


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- d -

  • Data : ECAT_REGISTER , EEPROM , EXT_SDO , GENERAL_DEVICE , SDO
  • DataBytes : RECEIVE_DATA_CAN
  • dblFeed : CNC_CALC_RETURN_VALUE
  • dec : cnc::GCODE_FEED
  • Dec : PG
  • Destroy_Interface() : CTGM_COMM_INT_5
  • device : CTGM_COMM_INT_5
  • DeviceIndex : GENERAL_DEVICE
  • deviceToInt() : CTGM_COMM_INT_5
  • DeviceToString() : CTGM_COMM_INT_5
  • DeviceToStringA() : CTGM_COMM_INT_5
  • DigitalIn : SERVO
  • DigitalOut : SERVO
  • DISABLE_TORQUE_BIT1 : SERVO
  • disableAdditionalProgramFlowInfo : cnc::GCODE_PARAMETERS
  • disableG0FeedOverride : cnc::GCODE_PARAMETERS
  • distance : cnc::INTERNAL_MFUNC_INSERT_TABLE
  • Distributed_Clock : MAIN
  • Dlc : RECEIVE_DATA_CAN
  • dParts1 : CNC_CALC_RETURN_VALUE
  • DPos : PG
  • DReserve : GEAR , INTERPOLATOR , PG , SERVO
  • dynamicG41Correction_mm : cnc::GCODE_PARAMETERS
  • dynamicG41Correction_percent : cnc::GCODE_PARAMETERS
  • dynamicG42Correction_mm : cnc::GCODE_PARAMETERS
  • dynamicG42Correction_percent : cnc::GCODE_PARAMETERS


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- e -

  • Ecat_Driver : SYSTEM
  • ECAT_ElapsedTime : MAIN
  • ECATBusPosition : DIO , GENERAL_DEVICE , SERVO
  • ecatRegister : DIO , SERVO
  • editorLine : INTERPOLATOR , INTERPOLATOR_LOOK_AHEAD_ENTRY
  • Eeprom : SYSTEM
  • enableMask : cnc::MACHINE_PARAMETERS
  • endAngle : cnc::GCODE_PARAMETERS , INTERPOLATOR_LOOK_AHEAD_ENTRY
  • endPos : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • enhancedInterpolatorParameters : cnc::MACHINE_PARAMETERS
  • Error : DIO , SERVO
  • error_code : CTGM_COMM_INT_5
  • errorCodeToInt() : CTGM_COMM_INT_5
  • ErrorCodeToString() : CTGM_COMM_INT_5
  • ErrorCodeToStringA() : CTGM_COMM_INT_5
  • EtherCatDriver : MAIN
  • EtherCATState : DIO , GENERAL_DEVICE , SERVO
  • EthNumberOfPackets : MAIN
  • EthPacketErrorCounter : MAIN
  • Ext_MeasureAmpl : DIO
  • EXT_SDO_DATA_SIZE_IN_UI32 : EXT_SDO
  • ExtPosition : SERVO


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- f -

  • F : cnc::P10DOUBLE
  • feed : cnc::GCODE_FEED
  • fileIdx : cnc::CALLBACK_INFO , INTERPOLATOR , INTERPOLATOR_LOOK_AHEAD_ENTRY
  • Flush_Buffer() : CTGM_COMM_INT_5
  • forceMode : cnc::GCODE_PARAMETERS
  • Found_Total_Number_Of_ECAT_Devices : MAIN
  • func : cnc::TGM_CNC_CORE_MEMORY_INTERNAL
  • functions : PLC_DATA


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- g -

  • gCode : cnc::GCODE_CORRECTION
  • GCODE_PARAMETERS() : cnc::GCODE_PARAMETERS
  • gCodeIndex : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • gCodeIndex_connect : cnc::TGM_FUNCTION_INTERNAL
  • GCodeInfo : cnc::TGM_CNC_CORE_MEMORY_INTERNAL
  • GCodeParameters : cnc::TGM_FUNCTION_INTERNAL
  • GCodePrecision() : cnc::GCODE_PARAMETERS
  • Gear : SERVO
  • general_devices : GENERAL_MEMORY
  • Get_Connections_Info_2() : CTGM_COMM_INT_5
  • Get_Connections_Info_Win_Dimension() : CTGM_COMM_INT_5
  • Get_Dll_Info() : CTGM_COMM_INT_5
  • Get_Server_Info() : CTGM_COMM_INT_5
  • Get_Status() : CTGM_COMM_INT_5
  • Get_Status_Graphics() : CTGM_COMM_INT_5


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- h -

  • h : cnc::TGM_CNC_MEMORY
  • Header : SYSTEM


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- i -

  • I : cnc::P10DOUBLE
  • In : DIO , GEAR
  • IncIn : GEAR
  • IncShift : GEAR
  • Index : ECAT_REGISTER , EXT_SDO , SDO
  • insertArcMaxAngle : cnc::GCODE_PARAMETERS
  • insertArcMinAngle : cnc::GCODE_PARAMETERS
  • insertArcMode : cnc::GCODE_PARAMETERS
  • insertArcPlane : cnc::GCODE_PARAMETERS
  • insertArcToleranceRMax : cnc::GCODE_PARAMETERS
  • insertArcToleranceRMin : cnc::GCODE_PARAMETERS
  • Internal_Reg0 : HEADER
  • Internal_Reg1 : HEADER
  • Internal_Reg2 : HEADER
  • Internal_Reg3 : HEADER
  • Internal_Reg4 : HEADER
  • Internal_Reg5 : HEADER
  • Internal_Reg6 : HEADER
  • Internal_Reg7 : HEADER
  • Internal_Reg8 : HEADER
  • Internal_Reg9 : HEADER
  • Interpolator_CycleTime : MAIN
  • Interpolator_SetCycleTime : MAIN
  • interpolatorConfig0 : cnc::GCODE_PARAMETERS
  • IntNumber : MAP_CNC
  • intToDevice() : CTGM_COMM_INT_5
  • intToMemoryType() : CTGM_COMM_INT_5
  • IReserve : GEAR , INTERPOLATOR , PG , SERVO
  • IReserve1 : DIO


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- j -

  • J : cnc::P10DOUBLE


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- k -

  • K : cnc::P10DOUBLE


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- l -

  • Last_ContMFunc : INTERPOLATOR
  • lastErrorID : cnc::TGM_CNC_CORE_MEMORY_INTERNAL
  • lastValidEntry : CONT_MFUNC_HISTORY
  • LatchControlWord : SERVO
  • Level_Trigger : OSC
  • Life_Tick : HEADER
  • LimitCurrent : SERVO
  • LoadDll() : CTGM_COMM_INT_5
  • Local_Core_Mode : cnc::DLL_INIT_STRUCT
  • LOCAL_CORE_MODE_DLL : cnc::DLL_INIT_STRUCT
  • LOCAL_CORE_MODE_OFFLINE : cnc::DLL_INIT_STRUCT
  • Log_Ctrl : MAIN
  • logicalReadAddress : GENERAL_DEVICE
  • logicalReadWriteAddress : GENERAL_DEVICE
  • logicalWriteAddress : GENERAL_DEVICE
  • LogInterpolator_Ctrl : MAIN
  • LookAheadBuffer : INTERPOLATOR
  • LookAheadBufferValidEnd : INTERPOLATOR
  • LookAheadBufferValidStart : INTERPOLATOR


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- m -

  • M02_programEnd1 : cnc::GCODE_PARAMETERS
  • M03_startSpindleCW : cnc::GCODE_PARAMETERS
  • M04_startSpindleCCW : cnc::GCODE_PARAMETERS
  • M05_stopSpindle : cnc::GCODE_PARAMETERS
  • M06_changeTool : cnc::GCODE_PARAMETERS
  • M07_coolOn : cnc::GCODE_PARAMETERS
  • M08_oilOn : cnc::GCODE_PARAMETERS
  • M09_coolOilOff : cnc::GCODE_PARAMETERS
  • M17_return : cnc::GCODE_PARAMETERS
  • M29_print : cnc::GCODE_PARAMETERS
  • M30_programEnd2 : cnc::GCODE_PARAMETERS
  • M80_mirrorOff : cnc::GCODE_PARAMETERS
  • M81_mirrorX : cnc::GCODE_PARAMETERS
  • M82_mirrorY : cnc::GCODE_PARAMETERS
  • M83_mirrorZ : cnc::GCODE_PARAMETERS
  • M84_mirrorXY : cnc::GCODE_PARAMETERS
  • M85_mirrorXZ : cnc::GCODE_PARAMETERS
  • M86_mirrorYZ : cnc::GCODE_PARAMETERS
  • M87_mirrorXYZ : cnc::GCODE_PARAMETERS
  • M99_defFeed : cnc::GCODE_PARAMETERS
  • m_actFeed : cnc::ACTUAL_GM_VALUES
  • m_actG00PartsLen : cnc::ACTUAL_GM_VALUES
  • m_actPartLen : cnc::ACTUAL_GM_VALUES
  • m_actPartRemain : cnc::ACTUAL_GM_VALUES
  • m_actPartsLen : cnc::ACTUAL_GM_VALUES
  • m_actualPos : cnc::ACTUAL_GM_VALUES
  • m_actWorkPartsLen : cnc::ACTUAL_GM_VALUES
  • m_axesStatus : cnc::MACHINE_STATUS
  • m_bFeedIsMin : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_bufferFullness : cnc::ACTUAL_GM_VALUES
  • m_calcE : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_calcFeed : cnc::ACTUAL_GM_VALUES
  • m_calcS : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_cc : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_cncRunTime : cnc::ACTUAL_GM_VALUES
  • m_correction : cnc::ACTUAL_GM_VALUES
  • m_diameterXValues : cnc::ACTUAL_GM_VALUES
  • m_e : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_editorLine
: cnc::ACTUAL_GM_VALUES
, cnc::SIMPLE_GM_PARAMS_WIN32
, cnc::SIMPLE_INFO
  • m_endPos : cnc::GCODE_SIZE
  • m_endSwitches : cnc::MACHINE_STATUS
  • m_errorArguments : cnc::CALLBACK_INFO
  • m_feedType : cnc::ACTUAL_GM_VALUES
  • m_fileIdx
: cnc::ACTUAL_GM_VALUES
, cnc::SIMPLE_GM_PARAMS_WIN32
, cnc::SIMPLE_INFO
  • m_fp : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_fullError : cnc::CALLBACK_INFO
  • m_func : cnc::SIMPLE_GM_PARAMS_WIN32
  • M_Func : INTERPOLATOR
  • M_Func_Params_Reserved : INTERPOLATOR
  • M_Function_Parameter : INTERPOLATOR
  • m_gCodeIndex
: cnc::ACTUAL_GM_VALUES
, cnc::SIMPLE_GM_PARAMS_WIN32
, cnc::SIMPLE_INFO
  • m_gFunc : cnc::ACTUAL_GM_VALUES
  • m_interpolatorActualPos : cnc::ACTUAL_GM_VALUES
  • m_interpolatorMotionStatus : cnc::ACTUAL_GM_VALUES
  • m_MasterEditorLine : cnc::ACTUAL_GM_VALUES
  • m_MasterFileIdx : cnc::ACTUAL_GM_VALUES
  • m_maximalPos : cnc::GCODE_SIZE
  • m_mFunc : cnc::ACTUAL_GM_VALUES
  • m_minimalPos : cnc::GCODE_SIZE
  • m_nG00Counter : cnc::ACTUAL_GM_VALUES
  • m_nG00ToWorkChanges : cnc::ACTUAL_GM_VALUES
  • m_nMCounter : cnc::ACTUAL_GM_VALUES
  • m_nWorkCounter : cnc::ACTUAL_GM_VALUES
  • m_nWorkToG00Changes : cnc::ACTUAL_GM_VALUES
  • m_planeTool : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_plcCommand : cnc::ACTUAL_GM_VALUES
  • m_r : cnc::ARC_FEED_TABLE
  • m_refDone : cnc::MACHINE_STATUS
  • m_relFeed : cnc::ACTUAL_GM_VALUES , cnc::ARC_FEED_TABLE
  • m_reserved : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_reserved1 : cnc::MACHINE_STATUS
  • m_reserved10 : cnc::MACHINE_STATUS
  • m_reserved2 : cnc::MACHINE_STATUS
  • m_reserved3 : cnc::MACHINE_STATUS
  • m_reserved4 : cnc::MACHINE_STATUS
  • m_reserved5 : cnc::MACHINE_STATUS
  • m_reserved6 : cnc::MACHINE_STATUS
  • m_reserved7 : cnc::MACHINE_STATUS
  • m_reserved8 : cnc::MACHINE_STATUS
  • m_reserved9 : cnc::MACHINE_STATUS
  • m_s : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_setFeed : cnc::ACTUAL_GM_VALUES
  • m_size : cnc::GCODE_INFO
  • m_spindleSpeed : cnc::ACTUAL_GM_VALUES
  • m_startPos : cnc::GCODE_SIZE
  • m_statusCNC : cnc::ACTUAL_GM_VALUES
  • m_toolNumber : cnc::ACTUAL_GM_VALUES
  • m_workerState : cnc::ACTUAL_GM_VALUES
  • m_zeroOffset : cnc::ACTUAL_GM_VALUES
  • Macros_Dir : cnc::DLL_INIT_STRUCT
  • mailBoxInAddress : GENERAL_DEVICE
  • mailBoxOutAddress : GENERAL_DEVICE
  • mailBoxSize : GENERAL_DEVICE
  • Main : SYSTEM
  • MasterClock : MAIN
  • MasterClockToReferenceClockDifference : MAIN
  • Max_ECAT_ElapsedTime : MAIN
  • MAX_ECAT_REGISTER_DATA_SIZE : GENERAL_DEVICE
  • MAX_GCODE_EX_SIZE : cnc::TGM_FUNCTION_INTERNAL
  • MAX_GENERAL_DEVICES : GENERAL_MEMORY
  • Max_Interpolator_Cycle_Time : MAIN
  • MAX_INTERPOLATOR_PARAMETERS : INTERPOLATOR
  • MAX_NUMBER_BYTE : ECAT_REGISTER , SDO
  • MAX_OFFLINE_COUNT : CTGM_COMM_INT_5
  • MAX_SIZE : CONT_MFUNC_HISTORY
  • Max_Timer_CycleTime : MAIN
  • Max_Timer_Latency : MAIN
  • MAX_TX_RX_BUFFER_SIZE : DIO
  • MAX_USER_PDO_SIZE : GENERAL_DEVICE
  • maxAcc : cnc::AXIS_LIMITS
  • maxConnectionDistance : cnc::GCODE_PARAMETERS
  • maxCoords : cnc::MACHINE_PARAMETERS
  • MaxCurrent : SERVO
  • maxDec : cnc::AXIS_LIMITS
  • maxFeed : cnc::AXIS_LIMITS
  • Mem_Number : HEADER
  • Mem_Size_Cam : HEADER
  • Mem_Size_CncEx : HEADER
  • Mem_Size_CncOds : HEADER
  • Mem_Size_Data : HEADER
  • Mem_Size_Dio : HEADER
  • Mem_Size_General : HEADER
  • Mem_Size_Interpolator : HEADER
  • Mem_Size_InterpolatorRead : HEADER
  • Mem_Size_InterpolatorWrite : HEADER
  • Mem_Size_Ods : HEADER
  • Mem_Size_Osc : HEADER
  • Mem_Size_Servo : HEADER
  • Mem_Size_System : HEADER
  • Memory_Type_Trigger : OSC
  • Memory_Type_Value : CHANNEL
  • memoryTypeToInt() : CTGM_COMM_INT_5
  • MemoryTypeToString() : CTGM_COMM_INT_5
  • MemoryTypeToStringA() : CTGM_COMM_INT_5
  • mFunc : cnc::INTERNAL_MFUNC_INSERT_TABLE
  • mFuncInsertTable : cnc::GCODE_PARAMETERS
  • mFuncInsertType : cnc::GCODE_PARAMETERS
  • mFuncs : CONT_MFUNC_HISTORY
  • Min_Timer_CycleTime : MAIN
  • minAllowedArcR() : cnc::GCODE_PARAMETERS
  • minAngleFeed : cnc::GCODE_PARAMETERS
  • minCoords : cnc::MACHINE_PARAMETERS
  • Mode : GEAR , PG , SERVO
  • Mode_Trigger : OSC
  • motion : cnc::GCODE_PARAMETERS
  • Move_Distance : INTERPOLATOR
  • movementCode : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • movementType : INTERPOLATOR_LOOK_AHEAD_ENTRY


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- n -

  • N_ANA_ARRAY_SIZE : DIO
  • N_DIG_ARRAY_SIZE : DIO
  • N_RESERVED : cnc::TGM_CNC_CORE_MEMORY , cnc::TGM_FUNCTION
  • N_RESERVED_ITEMS : cnc::TGM_CNC_MEMORY_HEADER
  • N_TENZO_ARRAY_SIZE : DIO
  • N_WANTED_SIZE : cnc::TGM_CNC_CORE_MEMORY , cnc::TGM_FUNCTION
  • nCoords : cnc::TGM_FUNCTION_INTERNAL
  • nCores : cnc::TGM_CNC_MEMORY_HEADER
  • nDynamicEntriesInPart1 : CNC_CALC_RETURN_VALUE
  • nEntriesInPart0 : CNC_CALC_RETURN_VALUE
  • NewData : RECEIVE_DATA_CAN
  • nLines : cnc::CALLBACK_INFO
  • noAddRMultiplier() : cnc::GCODE_PARAMETERS
  • Node : DIO , SERVO
  • number : cnc::TGM_FUNCTION_INTERNAL
  • Number : DIO , INTERPOLATOR , SERVO
  • Number_Axes : INTERPOLATOR
  • Number_Chanels : OSC
  • Number_Dios : MAIN
  • Number_Interpolators : MAIN
  • Number_MeasureAmpl : DIO
  • Number_Periods : OSC
  • Number_Samples : OSC
  • Number_Servos : MAIN
  • NumberAI : DIO
  • NumberAO : DIO
  • NumberByte : ECAT_REGISTER , EXT_SDO , GENERAL_DEVICE , SDO
  • NumberIn : DIO
  • NumberOut : DIO
  • nUserParams : cnc::TGM_FUNCTION_INTERNAL


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- o -

  • O : cnc::P10BOOL , cnc::P10DOUBLE
  • Offset : CHANNEL , GEAR , INTERPOLATOR , SERVO
  • Offset_Trigger : OSC
  • Offset_Value : CHANNEL
  • Open_Connection() : CTGM_COMM_INT_5
  • operator=()
: cnc::P10BOOL
, cnc::P10DOUBLE
, cnc::SIMPLE_GM_PARAMS_WIN32
  • options : CNC_CALC_RETURN_VALUE
  • Orig_Position : INTERPOLATOR
  • ORIG_R : cnc::P10DOUBLE
  • Osc : SYSTEM
  • Out : DIO , GEAR
  • overrideInc : cnc::GCODE_PARAMETERS


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- p -

  • P10BOOL() : cnc::P10BOOL
  • P10DOUBLE() : cnc::P10DOUBLE
  • padding : cnc::GCODE_CORRECTION , cnc::INTERNAL_MFUNC_INSERT_TABLE
  • padding1 : cnc::GCODE_FEED
  • paddingTo64bits : MAIN
  • Par : COMMAND
  • partLength : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • pCam_Memory : PLC_DATA
  • pCAN_Transmit : PLC_IMPORT_FUNCTIONS
  • pCAN_TransmitRemote : PLC_IMPORT_FUNCTIONS
  • pClrBitI32 : CNC_CALC_INIT_DATA
  • pClrBitI32Direct : CNC_CALC_INIT_DATA
  • pClrBitI64 : CNC_CALC_INIT_DATA
  • pClrBitI64Direct : CNC_CALC_INIT_DATA
  • pCNCExMemory : PLC_DATA
  • pData_Memory : PLC_DATA
  • pDio_Memory : PLC_DATA
  • pFlushBuffer : CNC_CALC_INIT_DATA
  • Pg : SERVO
  • pGeneralMemory : PLC_DATA
  • pInterpolator_Memory : PLC_DATA
  • pInterpolatorGetPosition : PLC_DATA
  • plane : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • PLC_CAN_BaudRate : MAIN
  • PLC_Ctrl : MAIN
  • PLC_CycleTime_Prg1 : MAIN
  • PLC_CycleTime_Prg2 : MAIN
  • PLC_CycleTime_Prg3 : MAIN
  • PLC_CycleTime_Prg4 : MAIN
  • PLC_MaxCycleTime_Prg1 : MAIN
  • PLC_MaxCycleTime_Prg2 : MAIN
  • PLC_MaxCycleTime_Prg3 : MAIN
  • PLC_MaxCycleTime_Prg4 : MAIN
  • PLC_Name : MAIN
  • PLC_Recv_Lock_Value : GENERAL_DEVICE
  • PLC_Send_Lock_Value : GENERAL_DEVICE
  • PLC_SetCycleTime_Prg1 : MAIN
  • PLC_SetCycleTime_Prg2 : MAIN
  • PLC_SetCycleTime_Prg3 : MAIN
  • PLC_SetCycleTime_Prg4 : MAIN
  • pOsc_Memory : PLC_DATA
  • Position : GEAR , INTERPOLATOR , SERVO
  • PositionError : SERVO
  • PositionInc : INTERPOLATOR
  • PosSpeed : PG
  • pPrintf : CNC_CALC_INIT_DATA
  • pReadBlock : CNC_CALC_INIT_DATA
  • pReadBlockDirect : CNC_CALC_INIT_DATA
  • pReadDouble : CNC_CALC_INIT_DATA
  • pReadDoubleDirect : CNC_CALC_INIT_DATA
  • pReadI32 : CNC_CALC_INIT_DATA
  • pReadI32Direct : CNC_CALC_INIT_DATA
  • pReadI64 : CNC_CALC_INIT_DATA
  • pReadI64Direct : CNC_CALC_INIT_DATA
  • pReciveDataCan1 : PLC_DATA
  • ProductID : GENERAL_DEVICE
  • pRtWprintf_String_Severity : PLC_IMPORT_FUNCTIONS
  • pServo_Memory : PLC_DATA
  • pSetBitI32 : CNC_CALC_INIT_DATA
  • pSetBitI32Direct : CNC_CALC_INIT_DATA
  • pSetBitI64 : CNC_CALC_INIT_DATA
  • pSetBitI64Direct : CNC_CALC_INIT_DATA
  • pSleepFt : PLC_IMPORT_FUNCTIONS
  • pSystem_Memory : PLC_DATA
  • pTglBitI32 : CNC_CALC_INIT_DATA
  • pTglBitI32Direct : CNC_CALC_INIT_DATA
  • pTglBitI64 : CNC_CALC_INIT_DATA
  • pTglBitI64Direct : CNC_CALC_INIT_DATA
  • pWriteBlock : CNC_CALC_INIT_DATA
  • pWriteBlockDirect : CNC_CALC_INIT_DATA
  • pWriteDouble : CNC_CALC_INIT_DATA
  • pWriteDoubleDirect : CNC_CALC_INIT_DATA
  • pWriteI32 : CNC_CALC_INIT_DATA
  • pWriteI32Direct : CNC_CALC_INIT_DATA
  • pWriteI64 : CNC_CALC_INIT_DATA
  • pWriteI64Direct : CNC_CALC_INIT_DATA
  • Pxx : cnc::TGM_CNC_CORE_MEMORY_INTERNAL


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- q -

  • QuadPart : PLC_LARGE_INTEGER


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- r -

  • R : cnc::P10DOUBLE
  • radius : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • rampType : cnc::GCODE_FEED
  • Ratio : INTERPOLATOR
  • Rdy : PG
  • Read_BLOCK() : CTGM_COMM_INT_5
  • Read_BLOCK_DIRECT() : CTGM_COMM_INT_5
  • Read_Double() : CTGM_COMM_INT_5
  • Read_Double_DIRECT() : CTGM_COMM_INT_5
  • Read_I32() : CTGM_COMM_INT_5
  • Read_I32_DIRECT() : CTGM_COMM_INT_5
  • Read_I64() : CTGM_COMM_INT_5
  • Read_I64_DIRECT() : CTGM_COMM_INT_5
  • Read_UI32() : CTGM_COMM_INT_5
  • Read_UI32_DIRECT() : CTGM_COMM_INT_5
  • read_wkc : GENERAL_DEVICE
  • read_write : CTGM_COMM_INT_5
  • read_write_wkc : GENERAL_DEVICE
  • ReadWriteCodeToString() : CTGM_COMM_INT_5
  • ReadWriteCodeToStringA() : CTGM_COMM_INT_5
  • readWriteToInt() : CTGM_COMM_INT_5
  • refCoords : cnc::MACHINE_PARAMETERS
  • ReferenceClock : MAIN
  • RefPosition : SERVO
  • regime : cnc::TGM_FUNCTION_INTERNAL
  • RegisterIndex : GENERAL_DEVICE
  • Rel_Speed : INTERPOLATOR
  • relFeed : cnc::INTERNAL_MFUNC_INSERT_TABLE
  • Reserve : COMMAND
  • RESERVE : RESERVE_MAIN
  • Reserve0 : HEADER , MAIN
  • Reserve1 : HEADER , MAIN , MAP_CNC
  • Reserve10 : MAIN
  • Reserve11 : MAIN
  • Reserve2 : HEADER , MAIN , MAP_CNC
  • Reserve3 : HEADER , MAIN
  • Reserve4 : MAIN
  • Reserve5 : MAIN
  • Reserve6 : MAIN
  • Reserve7 : MAIN
  • Reserve8 : MAIN
  • Reserve9 : MAIN
  • Reserve_Main : SYSTEM
  • reserved
: cnc::GCODE_PARAMETERS
, cnc::MACHINE_PARAMETERS
, cnc::TGM_CNC_MEMORY_HEADER
  • Reserved : OSC
  • reserved0 : cnc::TGM_FUNCTION_INTERNAL , PLC_DATA
  • reserved1 : cnc::GCODE_PARAMETERS , cnc::TGM_FUNCTION_INTERNAL
  • reserved2 : cnc::GCODE_PARAMETERS , CNC_CALC_RETURN_VALUE , PLC_DATA
  • reserved3 : PLC_DATA
  • reserved4 : PLC_DATA
  • reserved5 : PLC_DATA
  • reserved_to_wanted_size : cnc::TGM_CNC_CORE_MEMORY , cnc::TGM_FUNCTION
  • RESET_ETHERCAT_BIT2 : SERVO
  • RESET_FAULT_BIT0 : DIO , SERVO
  • RESET_TGMMINI_DIO_FORCE_BIT2 : DIO
  • Resolution : SERVO
  • ResolutionBits : SERVO
  • Run_Flag : INTERPOLATOR
  • Run_State : INTERPOLATOR
  • RxBuffer : DIO
  • RxPointerRead : DIO
  • RxPointerWrite : DIO


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- s -

  • S : cnc::P10DOUBLE
  • SafetyEvent : MAIN
  • Sample_Time : OSC
  • Sdo : DIO , SERVO
  • sdoResponseTries : DIO
  • SerialNumber : SERVO
  • Servo_CycleTime : MAIN
  • Servo_MaxCycle_Time : MAIN
  • Servo_SetCycleTime : MAIN
  • Servo_Tick : MAIN
  • Set_App_Compatibility_VN() : CTGM_COMM_INT_5
  • Set_Bit_I32() : CTGM_COMM_INT_5
  • Set_Bit_I32_DIRECT() : CTGM_COMM_INT_5
  • Set_Bit_I64() : CTGM_COMM_INT_5
  • Set_Bit_I64_DIRECT() : CTGM_COMM_INT_5
  • Set_Speed : INTERPOLATOR
  • SetAllToValue() : cnc::P10DOUBLE
  • SetToZero() : cnc::P10DOUBLE
  • shared_memory : CTGM_COMM_INT_5
  • Shift : GEAR
  • Show_Connections_Info_Win() : CTGM_COMM_INT_5
  • SIMPLE_GM_PARAMS_WIN32() : cnc::SIMPLE_GM_PARAMS_WIN32
  • size : cnc::GCODE_CORRECTION , cnc::TGM_CNC_MEMORY_HEADER
  • size_ACTUAL_GM_VALUES : cnc::TGM_CNC_MEMORY_HEADER
  • size_CALLBACK_INFO : cnc::TGM_CNC_MEMORY_HEADER
  • Size_EEPROM_Memory : MAIN
  • size_GCODE_INFO : cnc::TGM_CNC_MEMORY_HEADER
  • size_GCODE_PARAMETERS : cnc::TGM_CNC_MEMORY_HEADER
  • size_InterpolatorMemory : cnc::TGM_CNC_MEMORY_HEADER
  • size_InterpolatorReadMemory : cnc::TGM_CNC_MEMORY_HEADER
  • size_InterpolatorWriteMemory : cnc::TGM_CNC_MEMORY_HEADER
  • size_MACHINE_PARAMETERS : cnc::TGM_CNC_MEMORY_HEADER
  • size_SIMPLE_GM_PARAMS : cnc::TGM_CNC_MEMORY_HEADER
  • size_TGM_CNC_MEMORY : cnc::TGM_CNC_MEMORY_HEADER
  • smInputsAddress : GENERAL_DEVICE
  • smOutputsAddress : GENERAL_DEVICE
  • SourceNumber : GEAR
  • SourcePosition : GEAR
  • sParts0 : CNC_CALC_RETURN_VALUE
  • Speed : INTERPOLATOR , PG , SERVO
  • startAngle : cnc::GCODE_PARAMETERS , INTERPOLATOR_LOOK_AHEAD_ENTRY
  • StateDistributedClock : MAIN
  • status : CTGM_COMM_INT_5
  • Status : DIO , EEPROM_CONTROL , EXT_SDO , INTERPOLATOR , OSC , SDO , SERVO
  • statusToInt() : CTGM_COMM_INT_5
  • StatusToString() : CTGM_COMM_INT_5
  • StatusToStringA() : CTGM_COMM_INT_5
  • StatusWord : SERVO
  • stopAddGCode : cnc::TGM_CNC_CORE_MEMORY_INTERNAL
  • stopFunc : cnc::TGM_CNC_CORE_MEMORY_INTERNAL
  • stringId : cnc::CALLBACK_INFO
  • structSize : CNC_CALC_INIT_DATA , PLC_DATA
  • SubIndex : EXT_SDO , SDO
  • swapG2G3 : cnc::GCODE_PARAMETERS
  • SystemTimeDifferenceSum : MAIN
  • SysTimeDifference : DIO , SERVO


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- t -

  • tangens : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • Tgl_Bit_I32() : CTGM_COMM_INT_5
  • Tgl_Bit_I32_DIRECT() : CTGM_COMM_INT_5
  • Tgl_Bit_I64() : CTGM_COMM_INT_5
  • Tgl_Bit_I64_DIRECT() : CTGM_COMM_INT_5
  • TGM_Recv_Lock_Value : GENERAL_DEVICE
  • TGM_Send_Lock_Value : GENERAL_DEVICE
  • TGM_TgMotionCmd : MAIN
  • TGMmini_CPU_Temperature : MAIN
  • TGMmini_internal_dio_idx : MAIN
  • TGMotion_Version : MAIN
  • Timer_Down : TIMERS
  • Timer_Up : TIMERS
  • Timers : SYSTEM
  • tolerance : cnc::GCODE_PARAMETERS
  • tool : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • Tool_Number : INTERPOLATOR
  • TorqueFeedForward : SERVO
  • TransformedPosition : SERVO
  • TS_Data : DIO
  • TxBuffer : DIO
  • TxPointerRead : DIO
  • TxPointerWrite : DIO
  • Type : DIO , PG , SERVO
  • Type_Trigger : OSC
  • Type_Value : CHANNEL


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- u -

  • U : cnc::P10BOOL , cnc::P10DOUBLE
  • UnloadDll() : CTGM_COMM_INT_5
  • USE_LRW : GENERAL_DEVICE
  • User_PDO_Input : GENERAL_DEVICE
  • User_PDO_Input_Size : GENERAL_DEVICE
  • User_PDO_Output : GENERAL_DEVICE
  • User_PDO_Output_Size : GENERAL_DEVICE
  • userParams : cnc::TGM_FUNCTION_INTERNAL
  • userValue : CNC_CALC_INIT_DATA , GENERAL_DEVICE


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- v -

  • V : cnc::P10BOOL , cnc::P10DOUBLE
  • VendorID : GENERAL_DEVICE
  • version : cnc::TGM_CNC_MEMORY_HEADER


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- w -

  • W : cnc::P10BOOL , cnc::P10DOUBLE
  • worker_state : cnc::ACTUAL_GM_VALUES
  • Write_BLOCK() : CTGM_COMM_INT_5
  • Write_BLOCK_DIRECT() : CTGM_COMM_INT_5
  • Write_Double() : CTGM_COMM_INT_5
  • Write_Double_DIRECT() : CTGM_COMM_INT_5
  • Write_I32() : CTGM_COMM_INT_5
  • Write_I32_DIRECT() : CTGM_COMM_INT_5
  • Write_I64() : CTGM_COMM_INT_5
  • Write_I64_DIRECT() : CTGM_COMM_INT_5
  • Write_UI32() : CTGM_COMM_INT_5
  • Write_UI32_DIRECT() : CTGM_COMM_INT_5
  • write_wkc : GENERAL_DEVICE
  • WriteAcc : SERVO
  • WritePosition : SERVO
  • WriteSpeed : SERVO


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- x -

  • X : cnc::P10BOOL , cnc::P10DOUBLE
  • xyzcbuvwao : cnc::P10BOOL , cnc::P10DOUBLE


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- y -

  • Y : cnc::P10BOOL , cnc::P10DOUBLE


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- z -

  • Z : cnc::P10BOOL , cnc::P10DOUBLE


TG Motion: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- ~ -

  • ~P10BOOL() : cnc::P10BOOL
  • ~P10DOUBLE() : cnc::P10DOUBLE
  • ~SIMPLE_GM_PARAMS_WIN32() : cnc::SIMPLE_GM_PARAMS_WIN32


TG Motion: Class Members - Functions

- a -

  • allowedCircCenterAccuracy() : cnc::GCODE_PARAMETERS
  • angularDistancePrecision() : cnc::GCODE_PARAMETERS
  • angularPrecision() : cnc::GCODE_PARAMETERS

- c -

  • Change_Connection() : CTGM_COMM_INT_5
  • Close_Connection() : CTGM_COMM_INT_5
  • Close_Connections_Info_Win() : CTGM_COMM_INT_5
  • Clr_Bit_I32() : CTGM_COMM_INT_5
  • Clr_Bit_I32_DIRECT() : CTGM_COMM_INT_5
  • Clr_Bit_I64() : CTGM_COMM_INT_5
  • Clr_Bit_I64_DIRECT() : CTGM_COMM_INT_5
  • compatibilityToInt() : CTGM_COMM_INT_5
  • connectedMemoryToInt() : CTGM_COMM_INT_5
  • CopyOnlyValidValues() : cnc::P10DOUBLE
  • CopyValuesToInvalidMembers() : cnc::P10DOUBLE
  • Create_Interface_2() : CTGM_COMM_INT_5
  • crossingAccuracy() : cnc::GCODE_PARAMETERS

- d -

  • Destroy_Interface() : CTGM_COMM_INT_5
  • deviceToInt() : CTGM_COMM_INT_5
  • DeviceToString() : CTGM_COMM_INT_5
  • DeviceToStringA() : CTGM_COMM_INT_5

- e -

  • errorCodeToInt() : CTGM_COMM_INT_5
  • ErrorCodeToString() : CTGM_COMM_INT_5
  • ErrorCodeToStringA() : CTGM_COMM_INT_5

- f -

  • Flush_Buffer() : CTGM_COMM_INT_5

- g -

  • GCODE_PARAMETERS() : cnc::GCODE_PARAMETERS
  • GCodePrecision() : cnc::GCODE_PARAMETERS
  • Get_Connections_Info_2() : CTGM_COMM_INT_5
  • Get_Connections_Info_Win_Dimension() : CTGM_COMM_INT_5
  • Get_Dll_Info() : CTGM_COMM_INT_5
  • Get_Server_Info() : CTGM_COMM_INT_5
  • Get_Status() : CTGM_COMM_INT_5
  • Get_Status_Graphics() : CTGM_COMM_INT_5

- i -

  • intToDevice() : CTGM_COMM_INT_5
  • intToMemoryType() : CTGM_COMM_INT_5

- l -

  • LoadDll() : CTGM_COMM_INT_5

- m -

  • memoryTypeToInt() : CTGM_COMM_INT_5
  • MemoryTypeToString() : CTGM_COMM_INT_5
  • MemoryTypeToStringA() : CTGM_COMM_INT_5
  • minAllowedArcR() : cnc::GCODE_PARAMETERS

- n -

  • noAddRMultiplier() : cnc::GCODE_PARAMETERS

- o -

  • Open_Connection() : CTGM_COMM_INT_5
  • operator=()
: cnc::P10BOOL
, cnc::P10DOUBLE
, cnc::SIMPLE_GM_PARAMS_WIN32

- p -

  • P10BOOL() : cnc::P10BOOL
  • P10DOUBLE() : cnc::P10DOUBLE

- r -

  • Read_BLOCK() : CTGM_COMM_INT_5
  • Read_BLOCK_DIRECT() : CTGM_COMM_INT_5
  • Read_Double() : CTGM_COMM_INT_5
  • Read_Double_DIRECT() : CTGM_COMM_INT_5
  • Read_I32() : CTGM_COMM_INT_5
  • Read_I32_DIRECT() : CTGM_COMM_INT_5
  • Read_I64() : CTGM_COMM_INT_5
  • Read_I64_DIRECT() : CTGM_COMM_INT_5
  • Read_UI32() : CTGM_COMM_INT_5
  • Read_UI32_DIRECT() : CTGM_COMM_INT_5
  • ReadWriteCodeToString() : CTGM_COMM_INT_5
  • ReadWriteCodeToStringA() : CTGM_COMM_INT_5
  • readWriteToInt() : CTGM_COMM_INT_5

- s -

  • Set_App_Compatibility_VN() : CTGM_COMM_INT_5
  • Set_Bit_I32() : CTGM_COMM_INT_5
  • Set_Bit_I32_DIRECT() : CTGM_COMM_INT_5
  • Set_Bit_I64() : CTGM_COMM_INT_5
  • Set_Bit_I64_DIRECT() : CTGM_COMM_INT_5
  • SetAllToValue() : cnc::P10DOUBLE
  • SetToZero() : cnc::P10DOUBLE
  • Show_Connections_Info_Win() : CTGM_COMM_INT_5
  • SIMPLE_GM_PARAMS_WIN32() : cnc::SIMPLE_GM_PARAMS_WIN32
  • statusToInt() : CTGM_COMM_INT_5
  • StatusToString() : CTGM_COMM_INT_5
  • StatusToStringA() : CTGM_COMM_INT_5

- t -

  • Tgl_Bit_I32() : CTGM_COMM_INT_5
  • Tgl_Bit_I32_DIRECT() : CTGM_COMM_INT_5
  • Tgl_Bit_I64() : CTGM_COMM_INT_5
  • Tgl_Bit_I64_DIRECT() : CTGM_COMM_INT_5

- u -

  • UnloadDll() : CTGM_COMM_INT_5

- w -

  • Write_BLOCK() : CTGM_COMM_INT_5
  • Write_BLOCK_DIRECT() : CTGM_COMM_INT_5
  • Write_Double() : CTGM_COMM_INT_5
  • Write_Double_DIRECT() : CTGM_COMM_INT_5
  • Write_I32() : CTGM_COMM_INT_5
  • Write_I32_DIRECT() : CTGM_COMM_INT_5
  • Write_I64() : CTGM_COMM_INT_5
  • Write_I64_DIRECT() : CTGM_COMM_INT_5
  • Write_UI32() : CTGM_COMM_INT_5
  • Write_UI32_DIRECT() : CTGM_COMM_INT_5

- ~ -

  • ~P10BOOL() : cnc::P10BOOL
  • ~P10DOUBLE() : cnc::P10DOUBLE
  • ~SIMPLE_GM_PARAMS_WIN32() : cnc::SIMPLE_GM_PARAMS_WIN32


TG Motion: Class Members - Variables

- a -

  • A : cnc::P10BOOL , cnc::P10DOUBLE
  • absMode : cnc::GCODE_PARAMETERS
  • acc : cnc::GCODE_FEED
  • Acc : PG
  • AccMaxTorqueFeedForward : SERVO
  • Act_GFunc : INTERPOLATOR
  • Act_MFunc : INTERPOLATOR
  • Act_Part : INTERPOLATOR
  • Act_Rel_Speed : INTERPOLATOR
  • Act_Speed : INTERPOLATOR
  • Act_Timer_CycleTime : MAIN
  • actLine : cnc::CALLBACK_INFO
  • actPos : cnc::TGM_CNC_CORE_MEMORY_INTERNAL
  • Actual_Samples : OSC
  • ActualIn : GEAR
  • ActualShift : GEAR
  • addGCode : cnc::TGM_FUNCTION_INTERNAL
  • Adrress_External_Position : INTERPOLATOR
  • AI : DIO
  • allParams : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • allReserves : INTERPOLATOR_LOOK_AHEAD_BUFFER
  • AnalogIn : SERVO
  • AO : DIO
  • APos : PG
  • arcFeedTable : cnc::GCODE_PARAMETERS
  • ASpeed : PG
  • Axis : SERVO
  • AxisIndex : MAP_CNC
  • axisLimits : cnc::GCODE_PARAMETERS


TG Motion: Class Members - Variables

- b -

  • B : cnc::P10BOOL , cnc::P10DOUBLE
  • backlash : cnc::MACHINE_PARAMETERS
  • Backlash : INTERPOLATOR
  • backlashInc : cnc::MACHINE_PARAMETERS
  • backlashValuesSource : cnc::MACHINE_PARAMETERS
  • buf : INTERPOLATOR_LOOK_AHEAD_BUFFER
  • Buffer_Size : INTERPOLATOR
  • BUFFER_SIZE : RECEIVE_DATA_CAN
  • bUseLRW : GENERAL_DEVICE


TG Motion: Class Members - Variables

- c -

  • C : cnc::P10BOOL , cnc::P10DOUBLE
  • CALC_TORQUE_BIT3 : SERVO
  • calcTime : cnc::GCODE_PARAMETERS
  • callbackWarningsInvokeMode : cnc::GCODE_PARAMETERS
  • CamExpAddress1 : GEAR
  • CamExpAddress2 : GEAR
  • CamExpControl : GEAR
  • CamExpLine1 : GEAR
  • CamExpLine2 : GEAR
  • CamIncPosition : GEAR
  • CamLen : GEAR
  • CamLine : GEAR
  • CamPosition : GEAR
  • CamScale : GEAR
  • CamTab : GEAR
  • CamType : GEAR
  • CAN_DATA_SIZE : RECEIVE_DATA_CAN
  • CAN_Transmit_Buffer_Fullness : MAIN
  • Capture : SERVO
  • centripetalAcc : cnc::GCODE_PARAMETERS
  • Channel : OSC
  • Cnc : SERVO
  • CNC_Dll_Dir : cnc::DLL_INIT_STRUCT
  • Comm_Int5_Dir : cnc::DLL_INIT_STRUCT
  • Command : INTERPOLATOR , SERVO
  • Command_Parametr : INTERPOLATOR
  • Command_Status : INTERPOLATOR
  • Compatibility_Id : HEADER
  • CompatibilityCnc_Id : HEADER
  • CompatibilityMem_Id : HEADER
  • CompleteSDO : GENERAL_DEVICE
  • connectType : cnc::TGM_FUNCTION_INTERNAL
  • Cont_MFunc_History : INTERPOLATOR
  • Control : COMMAND , DIO , ECAT_REGISTER , EEPROM_CONTROL , EXT_SDO , GENERAL_DEVICE , OSC , SDO , SERVO
  • ControlWord : SERVO
  • coords : cnc::TGM_FUNCTION_INTERNAL
  • core : cnc::TGM_CNC_MEMORY
  • correction : cnc::GCODE_PARAMETERS , INTERPOLATOR , INTERPOLATOR_LOOK_AHEAD_ENTRY
  • Correction : SERVO
  • correctionStrategy : cnc::GCODE_PARAMETERS
  • ctrl : EEPROM
  • Current : SERVO


TG Motion: Class Members - Variables

- d -

  • Data : ECAT_REGISTER , EEPROM , EXT_SDO , GENERAL_DEVICE , SDO
  • DataBytes : RECEIVE_DATA_CAN
  • dblFeed : CNC_CALC_RETURN_VALUE
  • dec : cnc::GCODE_FEED
  • Dec : PG
  • DeviceIndex : GENERAL_DEVICE
  • DigitalIn : SERVO
  • DigitalOut : SERVO
  • DISABLE_TORQUE_BIT1 : SERVO
  • disableAdditionalProgramFlowInfo : cnc::GCODE_PARAMETERS
  • disableG0FeedOverride : cnc::GCODE_PARAMETERS
  • distance : cnc::INTERNAL_MFUNC_INSERT_TABLE
  • Distributed_Clock : MAIN
  • Dlc : RECEIVE_DATA_CAN
  • dParts1 : CNC_CALC_RETURN_VALUE
  • DPos : PG
  • DReserve : GEAR , INTERPOLATOR , PG , SERVO
  • dynamicG41Correction_mm : cnc::GCODE_PARAMETERS
  • dynamicG41Correction_percent : cnc::GCODE_PARAMETERS
  • dynamicG42Correction_mm : cnc::GCODE_PARAMETERS
  • dynamicG42Correction_percent : cnc::GCODE_PARAMETERS


TG Motion: Class Members - Variables

- e -

  • Ecat_Driver : SYSTEM
  • ECAT_ElapsedTime : MAIN
  • ECATBusPosition : DIO , GENERAL_DEVICE , SERVO
  • ecatRegister : DIO , SERVO
  • editorLine : INTERPOLATOR , INTERPOLATOR_LOOK_AHEAD_ENTRY
  • Eeprom : SYSTEM
  • enableMask : cnc::MACHINE_PARAMETERS
  • endAngle : cnc::GCODE_PARAMETERS , INTERPOLATOR_LOOK_AHEAD_ENTRY
  • endPos : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • enhancedInterpolatorParameters : cnc::MACHINE_PARAMETERS
  • Error : DIO , SERVO
  • EtherCatDriver : MAIN
  • EtherCATState : DIO , GENERAL_DEVICE , SERVO
  • EthNumberOfPackets : MAIN
  • EthPacketErrorCounter : MAIN
  • Ext_MeasureAmpl : DIO
  • EXT_SDO_DATA_SIZE_IN_UI32 : EXT_SDO
  • ExtPosition : SERVO


TG Motion: Class Members - Variables

- f -

  • F : cnc::P10DOUBLE
  • feed : cnc::GCODE_FEED
  • fileIdx : cnc::CALLBACK_INFO , INTERPOLATOR , INTERPOLATOR_LOOK_AHEAD_ENTRY
  • forceMode : cnc::GCODE_PARAMETERS
  • Found_Total_Number_Of_ECAT_Devices : MAIN
  • func : cnc::TGM_CNC_CORE_MEMORY_INTERNAL
  • functions : PLC_DATA


TG Motion: Class Members - Variables

- g -

  • gCode : cnc::GCODE_CORRECTION
  • gCodeIndex : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • gCodeIndex_connect : cnc::TGM_FUNCTION_INTERNAL
  • GCodeInfo : cnc::TGM_CNC_CORE_MEMORY_INTERNAL
  • GCodeParameters : cnc::TGM_FUNCTION_INTERNAL
  • Gear : SERVO
  • general_devices : GENERAL_MEMORY


TG Motion: Class Members - Variables

- h -

  • h : cnc::TGM_CNC_MEMORY
  • Header : SYSTEM


TG Motion: Class Members - Variables

- i -

  • I : cnc::P10DOUBLE
  • In : DIO , GEAR
  • IncIn : GEAR
  • IncShift : GEAR
  • Index : ECAT_REGISTER , EXT_SDO , SDO
  • insertArcMaxAngle : cnc::GCODE_PARAMETERS
  • insertArcMinAngle : cnc::GCODE_PARAMETERS
  • insertArcMode : cnc::GCODE_PARAMETERS
  • insertArcPlane : cnc::GCODE_PARAMETERS
  • insertArcToleranceRMax : cnc::GCODE_PARAMETERS
  • insertArcToleranceRMin : cnc::GCODE_PARAMETERS
  • Internal_Reg0 : HEADER
  • Internal_Reg1 : HEADER
  • Internal_Reg2 : HEADER
  • Internal_Reg3 : HEADER
  • Internal_Reg4 : HEADER
  • Internal_Reg5 : HEADER
  • Internal_Reg6 : HEADER
  • Internal_Reg7 : HEADER
  • Internal_Reg8 : HEADER
  • Internal_Reg9 : HEADER
  • Interpolator_CycleTime : MAIN
  • Interpolator_SetCycleTime : MAIN
  • interpolatorConfig0 : cnc::GCODE_PARAMETERS
  • IntNumber : MAP_CNC
  • IReserve : GEAR , INTERPOLATOR , PG , SERVO
  • IReserve1 : DIO


TG Motion: Class Members - Variables

- j -

  • J : cnc::P10DOUBLE


TG Motion: Class Members - Variables

- k -

  • K : cnc::P10DOUBLE


TG Motion: Class Members - Variables

- l -

  • Last_ContMFunc : INTERPOLATOR
  • lastErrorID : cnc::TGM_CNC_CORE_MEMORY_INTERNAL
  • lastValidEntry : CONT_MFUNC_HISTORY
  • LatchControlWord : SERVO
  • Level_Trigger : OSC
  • Life_Tick : HEADER
  • LimitCurrent : SERVO
  • Local_Core_Mode : cnc::DLL_INIT_STRUCT
  • LOCAL_CORE_MODE_DLL : cnc::DLL_INIT_STRUCT
  • LOCAL_CORE_MODE_OFFLINE : cnc::DLL_INIT_STRUCT
  • Log_Ctrl : MAIN
  • logicalReadAddress : GENERAL_DEVICE
  • logicalReadWriteAddress : GENERAL_DEVICE
  • logicalWriteAddress : GENERAL_DEVICE
  • LogInterpolator_Ctrl : MAIN
  • LookAheadBuffer : INTERPOLATOR
  • LookAheadBufferValidEnd : INTERPOLATOR
  • LookAheadBufferValidStart : INTERPOLATOR


TG Motion: Class Members - Variables

- m -

  • M02_programEnd1 : cnc::GCODE_PARAMETERS
  • M03_startSpindleCW : cnc::GCODE_PARAMETERS
  • M04_startSpindleCCW : cnc::GCODE_PARAMETERS
  • M05_stopSpindle : cnc::GCODE_PARAMETERS
  • M06_changeTool : cnc::GCODE_PARAMETERS
  • M07_coolOn : cnc::GCODE_PARAMETERS
  • M08_oilOn : cnc::GCODE_PARAMETERS
  • M09_coolOilOff : cnc::GCODE_PARAMETERS
  • M17_return : cnc::GCODE_PARAMETERS
  • M29_print : cnc::GCODE_PARAMETERS
  • M30_programEnd2 : cnc::GCODE_PARAMETERS
  • M80_mirrorOff : cnc::GCODE_PARAMETERS
  • M81_mirrorX : cnc::GCODE_PARAMETERS
  • M82_mirrorY : cnc::GCODE_PARAMETERS
  • M83_mirrorZ : cnc::GCODE_PARAMETERS
  • M84_mirrorXY : cnc::GCODE_PARAMETERS
  • M85_mirrorXZ : cnc::GCODE_PARAMETERS
  • M86_mirrorYZ : cnc::GCODE_PARAMETERS
  • M87_mirrorXYZ : cnc::GCODE_PARAMETERS
  • M99_defFeed : cnc::GCODE_PARAMETERS
  • m_actFeed : cnc::ACTUAL_GM_VALUES
  • m_actG00PartsLen : cnc::ACTUAL_GM_VALUES
  • m_actPartLen : cnc::ACTUAL_GM_VALUES
  • m_actPartRemain : cnc::ACTUAL_GM_VALUES
  • m_actPartsLen : cnc::ACTUAL_GM_VALUES
  • m_actualPos : cnc::ACTUAL_GM_VALUES
  • m_actWorkPartsLen : cnc::ACTUAL_GM_VALUES
  • m_axesStatus : cnc::MACHINE_STATUS
  • m_bFeedIsMin : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_bufferFullness : cnc::ACTUAL_GM_VALUES
  • m_calcE : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_calcFeed : cnc::ACTUAL_GM_VALUES
  • m_calcS : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_cc : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_cncRunTime : cnc::ACTUAL_GM_VALUES
  • m_correction : cnc::ACTUAL_GM_VALUES
  • m_diameterXValues : cnc::ACTUAL_GM_VALUES
  • m_e : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_editorLine
: cnc::ACTUAL_GM_VALUES
, cnc::SIMPLE_GM_PARAMS_WIN32
, cnc::SIMPLE_INFO
  • m_endPos : cnc::GCODE_SIZE
  • m_endSwitches : cnc::MACHINE_STATUS
  • m_errorArguments : cnc::CALLBACK_INFO
  • m_feedType : cnc::ACTUAL_GM_VALUES
  • m_fileIdx
: cnc::ACTUAL_GM_VALUES
, cnc::SIMPLE_GM_PARAMS_WIN32
, cnc::SIMPLE_INFO
  • m_fp : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_fullError : cnc::CALLBACK_INFO
  • m_func : cnc::SIMPLE_GM_PARAMS_WIN32
  • M_Func : INTERPOLATOR
  • M_Func_Params_Reserved : INTERPOLATOR
  • M_Function_Parameter : INTERPOLATOR
  • m_gCodeIndex
: cnc::ACTUAL_GM_VALUES
, cnc::SIMPLE_GM_PARAMS_WIN32
, cnc::SIMPLE_INFO
  • m_gFunc : cnc::ACTUAL_GM_VALUES
  • m_interpolatorActualPos : cnc::ACTUAL_GM_VALUES
  • m_interpolatorMotionStatus : cnc::ACTUAL_GM_VALUES
  • m_MasterEditorLine : cnc::ACTUAL_GM_VALUES
  • m_MasterFileIdx : cnc::ACTUAL_GM_VALUES
  • m_maximalPos : cnc::GCODE_SIZE
  • m_mFunc : cnc::ACTUAL_GM_VALUES
  • m_minimalPos : cnc::GCODE_SIZE
  • m_nG00Counter : cnc::ACTUAL_GM_VALUES
  • m_nG00ToWorkChanges : cnc::ACTUAL_GM_VALUES
  • m_nMCounter : cnc::ACTUAL_GM_VALUES
  • m_nWorkCounter : cnc::ACTUAL_GM_VALUES
  • m_nWorkToG00Changes : cnc::ACTUAL_GM_VALUES
  • m_planeTool : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_plcCommand : cnc::ACTUAL_GM_VALUES
  • m_r : cnc::ARC_FEED_TABLE
  • m_refDone : cnc::MACHINE_STATUS
  • m_relFeed : cnc::ACTUAL_GM_VALUES , cnc::ARC_FEED_TABLE
  • m_reserved : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_reserved1 : cnc::MACHINE_STATUS
  • m_reserved10 : cnc::MACHINE_STATUS
  • m_reserved2 : cnc::MACHINE_STATUS
  • m_reserved3 : cnc::MACHINE_STATUS
  • m_reserved4 : cnc::MACHINE_STATUS
  • m_reserved5 : cnc::MACHINE_STATUS
  • m_reserved6 : cnc::MACHINE_STATUS
  • m_reserved7 : cnc::MACHINE_STATUS
  • m_reserved8 : cnc::MACHINE_STATUS
  • m_reserved9 : cnc::MACHINE_STATUS
  • m_s : cnc::SIMPLE_GM_PARAMS_WIN32
  • m_setFeed : cnc::ACTUAL_GM_VALUES
  • m_size : cnc::GCODE_INFO
  • m_spindleSpeed : cnc::ACTUAL_GM_VALUES
  • m_startPos : cnc::GCODE_SIZE
  • m_statusCNC : cnc::ACTUAL_GM_VALUES
  • m_toolNumber : cnc::ACTUAL_GM_VALUES
  • m_workerState : cnc::ACTUAL_GM_VALUES
  • m_zeroOffset : cnc::ACTUAL_GM_VALUES
  • Macros_Dir : cnc::DLL_INIT_STRUCT
  • mailBoxInAddress : GENERAL_DEVICE
  • mailBoxOutAddress : GENERAL_DEVICE
  • mailBoxSize : GENERAL_DEVICE
  • Main : SYSTEM
  • MasterClock : MAIN
  • MasterClockToReferenceClockDifference : MAIN
  • Max_ECAT_ElapsedTime : MAIN
  • MAX_ECAT_REGISTER_DATA_SIZE : GENERAL_DEVICE
  • MAX_GCODE_EX_SIZE : cnc::TGM_FUNCTION_INTERNAL
  • MAX_GENERAL_DEVICES : GENERAL_MEMORY
  • Max_Interpolator_Cycle_Time : MAIN
  • MAX_INTERPOLATOR_PARAMETERS : INTERPOLATOR
  • MAX_NUMBER_BYTE : ECAT_REGISTER , SDO
  • MAX_OFFLINE_COUNT : CTGM_COMM_INT_5
  • MAX_SIZE : CONT_MFUNC_HISTORY
  • Max_Timer_CycleTime : MAIN
  • Max_Timer_Latency : MAIN
  • MAX_TX_RX_BUFFER_SIZE : DIO
  • MAX_USER_PDO_SIZE : GENERAL_DEVICE
  • maxAcc : cnc::AXIS_LIMITS
  • maxConnectionDistance : cnc::GCODE_PARAMETERS
  • maxCoords : cnc::MACHINE_PARAMETERS
  • MaxCurrent : SERVO
  • maxDec : cnc::AXIS_LIMITS
  • maxFeed : cnc::AXIS_LIMITS
  • Mem_Number : HEADER
  • Mem_Size_Cam : HEADER
  • Mem_Size_CncEx : HEADER
  • Mem_Size_CncOds : HEADER
  • Mem_Size_Data : HEADER
  • Mem_Size_Dio : HEADER
  • Mem_Size_General : HEADER
  • Mem_Size_Interpolator : HEADER
  • Mem_Size_InterpolatorRead : HEADER
  • Mem_Size_InterpolatorWrite : HEADER
  • Mem_Size_Ods : HEADER
  • Mem_Size_Osc : HEADER
  • Mem_Size_Servo : HEADER
  • Mem_Size_System : HEADER
  • Memory_Type_Trigger : OSC
  • Memory_Type_Value : CHANNEL
  • mFunc : cnc::INTERNAL_MFUNC_INSERT_TABLE
  • mFuncInsertTable : cnc::GCODE_PARAMETERS
  • mFuncInsertType : cnc::GCODE_PARAMETERS
  • mFuncs : CONT_MFUNC_HISTORY
  • Min_Timer_CycleTime : MAIN
  • minAngleFeed : cnc::GCODE_PARAMETERS
  • minCoords : cnc::MACHINE_PARAMETERS
  • Mode : GEAR , PG , SERVO
  • Mode_Trigger : OSC
  • motion : cnc::GCODE_PARAMETERS
  • Move_Distance : INTERPOLATOR
  • movementCode : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • movementType : INTERPOLATOR_LOOK_AHEAD_ENTRY


TG Motion: Class Members - Variables

- n -

  • N_ANA_ARRAY_SIZE : DIO
  • N_DIG_ARRAY_SIZE : DIO
  • N_RESERVED : cnc::TGM_CNC_CORE_MEMORY , cnc::TGM_FUNCTION
  • N_RESERVED_ITEMS : cnc::TGM_CNC_MEMORY_HEADER
  • N_TENZO_ARRAY_SIZE : DIO
  • N_WANTED_SIZE : cnc::TGM_CNC_CORE_MEMORY , cnc::TGM_FUNCTION
  • nCoords : cnc::TGM_FUNCTION_INTERNAL
  • nCores : cnc::TGM_CNC_MEMORY_HEADER
  • nDynamicEntriesInPart1 : CNC_CALC_RETURN_VALUE
  • nEntriesInPart0 : CNC_CALC_RETURN_VALUE
  • NewData : RECEIVE_DATA_CAN
  • nLines : cnc::CALLBACK_INFO
  • Node : DIO , SERVO
  • number : cnc::TGM_FUNCTION_INTERNAL
  • Number : DIO , INTERPOLATOR , SERVO
  • Number_Axes : INTERPOLATOR
  • Number_Chanels : OSC
  • Number_Dios : MAIN
  • Number_Interpolators : MAIN
  • Number_MeasureAmpl : DIO
  • Number_Periods : OSC
  • Number_Samples : OSC
  • Number_Servos : MAIN
  • NumberAI : DIO
  • NumberAO : DIO
  • NumberByte : ECAT_REGISTER , EXT_SDO , GENERAL_DEVICE , SDO
  • NumberIn : DIO
  • NumberOut : DIO
  • nUserParams : cnc::TGM_FUNCTION_INTERNAL


TG Motion: Class Members - Variables

- o -

  • O : cnc::P10BOOL , cnc::P10DOUBLE
  • Offset : CHANNEL , GEAR , INTERPOLATOR , SERVO
  • Offset_Trigger : OSC
  • Offset_Value : CHANNEL
  • options : CNC_CALC_RETURN_VALUE
  • Orig_Position : INTERPOLATOR
  • ORIG_R : cnc::P10DOUBLE
  • Osc : SYSTEM
  • Out : DIO , GEAR
  • overrideInc : cnc::GCODE_PARAMETERS


TG Motion: Class Members - Variables

- p -

  • padding : cnc::GCODE_CORRECTION , cnc::INTERNAL_MFUNC_INSERT_TABLE
  • padding1 : cnc::GCODE_FEED
  • paddingTo64bits : MAIN
  • Par : COMMAND
  • partLength : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • pCam_Memory : PLC_DATA
  • pCAN_Transmit : PLC_IMPORT_FUNCTIONS
  • pCAN_TransmitRemote : PLC_IMPORT_FUNCTIONS
  • pClrBitI32 : CNC_CALC_INIT_DATA
  • pClrBitI32Direct : CNC_CALC_INIT_DATA
  • pClrBitI64 : CNC_CALC_INIT_DATA
  • pClrBitI64Direct : CNC_CALC_INIT_DATA
  • pCNCExMemory : PLC_DATA
  • pData_Memory : PLC_DATA
  • pDio_Memory : PLC_DATA
  • pFlushBuffer : CNC_CALC_INIT_DATA
  • Pg : SERVO
  • pGeneralMemory : PLC_DATA
  • pInterpolator_Memory : PLC_DATA
  • pInterpolatorGetPosition : PLC_DATA
  • plane : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • PLC_CAN_BaudRate : MAIN
  • PLC_Ctrl : MAIN
  • PLC_CycleTime_Prg1 : MAIN
  • PLC_CycleTime_Prg2 : MAIN
  • PLC_CycleTime_Prg3 : MAIN
  • PLC_CycleTime_Prg4 : MAIN
  • PLC_MaxCycleTime_Prg1 : MAIN
  • PLC_MaxCycleTime_Prg2 : MAIN
  • PLC_MaxCycleTime_Prg3 : MAIN
  • PLC_MaxCycleTime_Prg4 : MAIN
  • PLC_Name : MAIN
  • PLC_Recv_Lock_Value : GENERAL_DEVICE
  • PLC_Send_Lock_Value : GENERAL_DEVICE
  • PLC_SetCycleTime_Prg1 : MAIN
  • PLC_SetCycleTime_Prg2 : MAIN
  • PLC_SetCycleTime_Prg3 : MAIN
  • PLC_SetCycleTime_Prg4 : MAIN
  • pOsc_Memory : PLC_DATA
  • Position : GEAR , INTERPOLATOR , SERVO
  • PositionError : SERVO
  • PositionInc : INTERPOLATOR
  • PosSpeed : PG
  • pPrintf : CNC_CALC_INIT_DATA
  • pReadBlock : CNC_CALC_INIT_DATA
  • pReadBlockDirect : CNC_CALC_INIT_DATA
  • pReadDouble : CNC_CALC_INIT_DATA
  • pReadDoubleDirect : CNC_CALC_INIT_DATA
  • pReadI32 : CNC_CALC_INIT_DATA
  • pReadI32Direct : CNC_CALC_INIT_DATA
  • pReadI64 : CNC_CALC_INIT_DATA
  • pReadI64Direct : CNC_CALC_INIT_DATA
  • pReciveDataCan1 : PLC_DATA
  • ProductID : GENERAL_DEVICE
  • pRtWprintf_String_Severity : PLC_IMPORT_FUNCTIONS
  • pServo_Memory : PLC_DATA
  • pSetBitI32 : CNC_CALC_INIT_DATA
  • pSetBitI32Direct : CNC_CALC_INIT_DATA
  • pSetBitI64 : CNC_CALC_INIT_DATA
  • pSetBitI64Direct : CNC_CALC_INIT_DATA
  • pSleepFt : PLC_IMPORT_FUNCTIONS
  • pSystem_Memory : PLC_DATA
  • pTglBitI32 : CNC_CALC_INIT_DATA
  • pTglBitI32Direct : CNC_CALC_INIT_DATA
  • pTglBitI64 : CNC_CALC_INIT_DATA
  • pTglBitI64Direct : CNC_CALC_INIT_DATA
  • pWriteBlock : CNC_CALC_INIT_DATA
  • pWriteBlockDirect : CNC_CALC_INIT_DATA
  • pWriteDouble : CNC_CALC_INIT_DATA
  • pWriteDoubleDirect : CNC_CALC_INIT_DATA
  • pWriteI32 : CNC_CALC_INIT_DATA
  • pWriteI32Direct : CNC_CALC_INIT_DATA
  • pWriteI64 : CNC_CALC_INIT_DATA
  • pWriteI64Direct : CNC_CALC_INIT_DATA
  • Pxx : cnc::TGM_CNC_CORE_MEMORY_INTERNAL


TG Motion: Class Members - Variables

- q -

  • QuadPart : PLC_LARGE_INTEGER


TG Motion: Class Members - Variables

- r -

  • R : cnc::P10DOUBLE
  • radius : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • rampType : cnc::GCODE_FEED
  • Ratio : INTERPOLATOR
  • Rdy : PG
  • read_wkc : GENERAL_DEVICE
  • read_write_wkc : GENERAL_DEVICE
  • refCoords : cnc::MACHINE_PARAMETERS
  • ReferenceClock : MAIN
  • RefPosition : SERVO
  • regime : cnc::TGM_FUNCTION_INTERNAL
  • RegisterIndex : GENERAL_DEVICE
  • Rel_Speed : INTERPOLATOR
  • relFeed : cnc::INTERNAL_MFUNC_INSERT_TABLE
  • Reserve : COMMAND
  • RESERVE : RESERVE_MAIN
  • Reserve0 : HEADER , MAIN
  • Reserve1 : HEADER , MAIN , MAP_CNC
  • Reserve10 : MAIN
  • Reserve11 : MAIN
  • Reserve2 : HEADER , MAIN , MAP_CNC
  • Reserve3 : HEADER , MAIN
  • Reserve4 : MAIN
  • Reserve5 : MAIN
  • Reserve6 : MAIN
  • Reserve7 : MAIN
  • Reserve8 : MAIN
  • Reserve9 : MAIN
  • Reserve_Main : SYSTEM
  • reserved
: cnc::GCODE_PARAMETERS
, cnc::MACHINE_PARAMETERS
, cnc::TGM_CNC_MEMORY_HEADER
  • Reserved : OSC
  • reserved0 : cnc::TGM_FUNCTION_INTERNAL , PLC_DATA
  • reserved1 : cnc::GCODE_PARAMETERS , cnc::TGM_FUNCTION_INTERNAL
  • reserved2 : cnc::GCODE_PARAMETERS , CNC_CALC_RETURN_VALUE , PLC_DATA
  • reserved3 : PLC_DATA
  • reserved4 : PLC_DATA
  • reserved5 : PLC_DATA
  • reserved_to_wanted_size : cnc::TGM_CNC_CORE_MEMORY , cnc::TGM_FUNCTION
  • RESET_ETHERCAT_BIT2 : SERVO
  • RESET_FAULT_BIT0 : DIO , SERVO
  • RESET_TGMMINI_DIO_FORCE_BIT2 : DIO
  • Resolution : SERVO
  • ResolutionBits : SERVO
  • Run_Flag : INTERPOLATOR
  • Run_State : INTERPOLATOR
  • RxBuffer : DIO
  • RxPointerRead : DIO
  • RxPointerWrite : DIO


TG Motion: Class Members - Variables

- s -

  • S : cnc::P10DOUBLE
  • SafetyEvent : MAIN
  • Sample_Time : OSC
  • Sdo : DIO , SERVO
  • sdoResponseTries : DIO
  • SerialNumber : SERVO
  • Servo_CycleTime : MAIN
  • Servo_MaxCycle_Time : MAIN
  • Servo_SetCycleTime : MAIN
  • Servo_Tick : MAIN
  • Set_Speed : INTERPOLATOR
  • Shift : GEAR
  • size : cnc::GCODE_CORRECTION , cnc::TGM_CNC_MEMORY_HEADER
  • size_ACTUAL_GM_VALUES : cnc::TGM_CNC_MEMORY_HEADER
  • size_CALLBACK_INFO : cnc::TGM_CNC_MEMORY_HEADER
  • Size_EEPROM_Memory : MAIN
  • size_GCODE_INFO : cnc::TGM_CNC_MEMORY_HEADER
  • size_GCODE_PARAMETERS : cnc::TGM_CNC_MEMORY_HEADER
  • size_InterpolatorMemory : cnc::TGM_CNC_MEMORY_HEADER
  • size_InterpolatorReadMemory : cnc::TGM_CNC_MEMORY_HEADER
  • size_InterpolatorWriteMemory : cnc::TGM_CNC_MEMORY_HEADER
  • size_MACHINE_PARAMETERS : cnc::TGM_CNC_MEMORY_HEADER
  • size_SIMPLE_GM_PARAMS : cnc::TGM_CNC_MEMORY_HEADER
  • size_TGM_CNC_MEMORY : cnc::TGM_CNC_MEMORY_HEADER
  • smInputsAddress : GENERAL_DEVICE
  • smOutputsAddress : GENERAL_DEVICE
  • SourceNumber : GEAR
  • SourcePosition : GEAR
  • sParts0 : CNC_CALC_RETURN_VALUE
  • Speed : INTERPOLATOR , PG , SERVO
  • startAngle : cnc::GCODE_PARAMETERS , INTERPOLATOR_LOOK_AHEAD_ENTRY
  • StateDistributedClock : MAIN
  • Status : DIO , EEPROM_CONTROL , EXT_SDO , INTERPOLATOR , OSC , SDO , SERVO
  • StatusWord : SERVO
  • stopAddGCode : cnc::TGM_CNC_CORE_MEMORY_INTERNAL
  • stopFunc : cnc::TGM_CNC_CORE_MEMORY_INTERNAL
  • stringId : cnc::CALLBACK_INFO
  • structSize : CNC_CALC_INIT_DATA , PLC_DATA
  • SubIndex : EXT_SDO , SDO
  • swapG2G3 : cnc::GCODE_PARAMETERS
  • SystemTimeDifferenceSum : MAIN
  • SysTimeDifference : DIO , SERVO


TG Motion: Class Members - Variables

- t -

  • tangens : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • TGM_Recv_Lock_Value : GENERAL_DEVICE
  • TGM_Send_Lock_Value : GENERAL_DEVICE
  • TGM_TgMotionCmd : MAIN
  • TGMmini_CPU_Temperature : MAIN
  • TGMmini_internal_dio_idx : MAIN
  • TGMotion_Version : MAIN
  • Timer_Down : TIMERS
  • Timer_Up : TIMERS
  • Timers : SYSTEM
  • tolerance : cnc::GCODE_PARAMETERS
  • tool : INTERPOLATOR_LOOK_AHEAD_ENTRY
  • Tool_Number : INTERPOLATOR
  • TorqueFeedForward : SERVO
  • TransformedPosition : SERVO
  • TS_Data : DIO
  • TxBuffer : DIO
  • TxPointerRead : DIO
  • TxPointerWrite : DIO
  • Type : DIO , PG , SERVO
  • Type_Trigger : OSC
  • Type_Value : CHANNEL


TG Motion: Class Members - Variables

- u -

  • U : cnc::P10BOOL , cnc::P10DOUBLE
  • USE_LRW : GENERAL_DEVICE
  • User_PDO_Input : GENERAL_DEVICE
  • User_PDO_Input_Size : GENERAL_DEVICE
  • User_PDO_Output : GENERAL_DEVICE
  • User_PDO_Output_Size : GENERAL_DEVICE
  • userParams : cnc::TGM_FUNCTION_INTERNAL
  • userValue : CNC_CALC_INIT_DATA , GENERAL_DEVICE


TG Motion: Class Members - Variables

- v -

  • V : cnc::P10BOOL , cnc::P10DOUBLE
  • VendorID : GENERAL_DEVICE
  • version : cnc::TGM_CNC_MEMORY_HEADER


TG Motion: Class Members - Variables

- w -

  • W : cnc::P10BOOL , cnc::P10DOUBLE
  • write_wkc : GENERAL_DEVICE
  • WriteAcc : SERVO
  • WritePosition : SERVO
  • WriteSpeed : SERVO


TG Motion: Class Members - Variables

- x -

  • X : cnc::P10BOOL , cnc::P10DOUBLE
  • xyzcbuvwao : cnc::P10BOOL , cnc::P10DOUBLE


TG Motion: Class Members - Variables

- y -

  • Y : cnc::P10BOOL , cnc::P10DOUBLE


TG Motion: Class Members - Variables

- z -

  • Z : cnc::P10BOOL , cnc::P10DOUBLE


TG Motion: Class Members - Enumerations

  • compatibility : CTGM_COMM_INT_5
  • connected_memory : CTGM_COMM_INT_5
  • device : CTGM_COMM_INT_5
  • error_code : CTGM_COMM_INT_5
  • read_write : CTGM_COMM_INT_5
  • shared_memory : CTGM_COMM_INT_5
  • status : CTGM_COMM_INT_5
  • worker_state : cnc::ACTUAL_GM_VALUES


TG Motion: File List

File List
Here is a list of all documented files with brief descriptions:
tgm.h | Main include file for TG Motion. Can be used as the only include for virtual PLC projects
tgm_cnc.h | Main include file for CNC module of TG Motion
tgm_cnc_linux.h | Linux specific declarations for CNC module
tgm_cnc_windows.h | Windows specific declarations
tgm_comm_int_5_dll.h | C++ interface file to TGM_Comm_Int_5 library (DLL or so)
tgm_compiler_msvc.h | Microsoft C++ compiler specific declarations


TG Motion: tgm.h File Reference

Classes | Typedefs | Enumerations | Functions | Variables
tgm.h File Reference

Main include file for TG Motion. Can be used as the only include for virtual PLC projects. More...

#include <cstdint>
#include <cstddef>
#include "tgm_compiler.h"
#include "tgm_os.h"

Classes

struct | HEADER
The HEADER struct - fixed size 128 bytes. More...
struct | MAIN
The MAIN struct - fixed size of 4096 bytes. More...
struct | RESERVE_MAIN
reserve the MAIN structure to 4096 bytes More...
struct | TIMERS
Timers with fixed 1ms period. More...
struct | CHANNEL
One oscilloscope channel definition. More...
struct | OSC
Oscilloscope control. More...
struct | EEPROM_CONTROL
struct | EEPROM
struct | SYSTEM
Shared memory named "TGM_System". More...
struct | PG
Profile generator. More...
struct | GEAR
Gear generator. More...
struct | CAPTURE
Capture position from servo. More...
struct | MAP_CNC
Maps interpolator axis to servo drive. More...
struct | SDO
SDO object communication. More...
struct | EXT_SDO
Extended SDO object communication (GENERAL_DEVICES only) More...
struct | ECAT_REGISTER
EtherCAT registers communication. More...
struct | COMMAND
Servo command. More...
struct | SERVO
Describes one servo drive (or axis) More...
struct | DIO
Describes one servo input/output module. More...
struct | GENERAL_DEVICE
Describes one general module. More...
struct | GENERAL_MEMORY
Memory contains general devices (handled by PLC) More...
struct | INTERPOLATOR_LOOK_AHEAD_ENTRY
Stores informations about CNC code parts ahead of the actual one. More...
struct | INTERPOLATOR_LOOK_AHEAD_BUFFER
Lookahead informations about the G-code. More...
struct | CONT_MFUNC_HISTORY
History of continuous M functions. More...
struct | INTERPOLATOR
Interface to interpolator. More...
struct | PLC_LARGE_INTEGER
struct | PLC_IMPORT_FUNCTIONS
Pointers to auxiliary functions usable in Virtual PLC. More...
struct | RECEIVE_DATA_CAN
One entry of incoming CAN data. More...
struct | PLC_DATA
main structure for communication between TGMotion and Virtual PLC More...

Typedefs

typedef int32_t PLC_CDECL | RTWPRINTF_STRING_SEVERITY(uint32_t id_and_severity, TGM_LPCTSTR strText)
Output string to console. More...
typedef void PLC_CDECL | SLEEPFT(PLC_LARGE_INTEGER *Pause)
Wait for specified time. Do not use in Program_04() ! More...
typedef int32_t PLC_CDECL | CAN_TRANSMIT(uint32_t Number, uint32_t Id, uint32_t Dlc, uint8_t *Tx_Data)
Send CAN message. More...
typedef int32_t PLC_CDECL | CAN_TRANSMITREMOTE(uint32_t Number, uint32_t Id, uint32_t Dlc, uint8_t *Tx_Data)
Send CAN remote message. More...
using | PPLC_DATA = PLC_DATA *
pointer to PLC_DATA

Enumerations

enum class SERVO_TYPE : uint32_t {
VIRTUAL = 0U ,
SERVOSTAR_300_700 = 3U ,
AKD = 5U ,
TGZ = 9U ,
INVALID = 0xFFFFU
}
enum class DIO_TYPE : uint32_t {
TG_IO_TYPE_BASIC = 0x0000U ,
TG_IO_TENZOMETER = 0x0008U ,
TG_IO_TYPE_NEW = 0x0014U ,
TG_IO_TYPE_BASIC_LITE = 0x00E0U ,
TG_IO_TYPE_NEW_LITE = 0x00F4U ,
PIERCE_IO_TYPE_149D = 0x0007U ,
PIERCE_IO_TYPE_147D = 0x000FU ,
PIERCE_IO_TYPE_149E = 0x0017U ,
PIERCE_IO_TYPE_147E = 0x001FU ,
BECKHOF_IO_TYPE_BK1120 = 0x0100U ,
BR_IO_TYPE = 0x0200U ,
FESTO_IO_TYPE = 0x0400U ,
TENZO_IO_TYPE = 0x0800U ,
TGM_MINI_DIO_TYPE = 0x1000U ,
DFC_IO_TYPE = 0x7B90U ,
IO_TYPE_INVALID = 0xFFFEU
}
EtherCAT DIO types. Found automatically and set to DIO::Type variable. More...
enum class SHARED_MEMORY : uint32_t {
SYSTEM = 0U ,
DATA = 1U ,
CAM_PROFILE = 2U ,
OSCILLOSCOPE = 3U ,
SERVO = 4U ,
DIO = 5U ,
GENERAL = 6U ,
INTERPOLATOR = 7U ,
INTERPOLATOR_WRITE = 8U ,
INTERPOLATOR_READ = 9U ,
ODS = 10U ,
CNC_ODS = 11U ,
CNC_EX = 12U ,
LAST_MEMORY_IDX = 13U
}
Memory numbers (types) More...
enum class OSC_DATA_TYPE : uint32_t {
I32_DEC = 0U ,
I32_HEX = 1U ,
I32_BIN = 2U ,
UI32_DEC = 3U ,
I64_DEC = 4U ,
I64_HEX = 5U ,
I64_BIN = 6U ,
UI64_DEC = 7U ,
DOUBLE = 8U ,
FLOAT = 9U ,
ASTRING = 10U ,
WSTRING = 11U ,
I32_BIN_EX = 12U ,
I64_BIN_EX = 13U
}
Oscilloscope data types. More...
enum class INTERPOLATOR_COMMANDS : int32_t {
NONE_00 = 0 ,
SET_AXIS_RATIO_1024 = 1024 ,
SET_COORDS_ON_TRAJ_2048 = 2048 ,
SET_COORDS_OUT_TRAJ_2049 = 2049 ,
EMERGENCY_STOP_04 = 4 ,
EMERGENCY_STOP_OUT_TRAJ_05 = 5 ,
NORMAL_STOP_08 = 8 ,
NORMAL_STOP_OUT_TRAJ_09 = 9 ,
SET_FILTER_PARAMETERS_M1 = -1 ,
SET_SPLINE_PARAMETERS_M2 = -2
}
enum class EXT_SDO_CONTROL : uint32_t {
FINISHED_00 = SDO_CONTROL_FINISHED ,
WRITE_01 = SDO_CONTROL_WRITE ,
READ_02 = SDO_CONTROL_READ
}
extended SDO commands (more than 4 bytes of data available) More...
enum class EXT_SDO_STATUS : int32_t {
OK_00 = SDO_STATUS_OK ,
BUSY_01 = SDO_STATUS_BUSY ,
ERROR_02 = SDO_STATUS_ERR
}
extended SDO communication status (the same as for legacy SDO) More...
enum class ECAT_REGISTER_CONTROL : uint32_t {
READY_00 = 0U ,
WRITE_01 = 1U ,
READ_02 = 2U ,
ERROR_03 = 3U ,
BUSY_04 = 4U
}
direct EtherCAT register read/write commands More...
enum class interpolator_status : uint32_t {
EMPTY_00 = 0U ,
MOVE_01 = 1U ,
STOP_03 = 3U ,
TRAJECTORY_START_04 = 4U ,
EMERGENCY_BREAKING_06 = 6U ,
EMERGENCY_STOP_07 = 7U ,
STOP_WHILE_BUFFER_FILL_08 = 8U
}
interpolator states More...
enum class ods_thread : uint32_t {
MAIN ,
SERVO_TIMER ,
PROGRAM_01 ,
PROGRAM_02 ,
PROGRAM_03 ,
INTERPOLATOR_THREAD ,
EEPROM_THREAD ,
PLC ,
CNC ,
ECAT ,
N_THREADS
}
reflects number of threads/timers for separate output debug string (ODS) areas
enum class ods_id : uint32_t {
MAIN = 0U ,
PG = 1U ,
GEAR = 2U ,
OSC = 3U ,
SERVO = 4U ,
INTERPOLATOR = 5U ,
PLC = 6U ,
ECAT_TIMER = 7U ,
EEPROM = 8U ,
PROGRAM_01 = 9U ,
PROGRAM_02 = 10U ,
PROGRAM_03 = 11U ,
PROGRAM_04 = 12U ,
SPLINE = 13U ,
AKD_CONTROL = 14U ,
SR700_CONTROL = 15U ,
TGZ_CONTROL = 16U ,
ECAT_MASTER = 17U ,
ECAT_SLAVES = 18U ,
PE_IMAGE = 19U ,
INI_FILE = 20U ,
CNC_0 = 21U ,
CNC_1 = 22U ,
CNC_2 = 23U
}
identifies the source of message
enum class ods_severity : uint32_t {
INFO_00 = 0 ,
WARNING_01 = 1 ,
ERROR_02 = 2
}
allows to specify the severity of the message

Functions

template<typename T , size_t N>
constexpr size_t | countof (T const (&)[N]) noexcept
constexpr uint32_t | ODS_ID_SEVERITY (ods_id id, ods_severity severity)
constructs info & severity number
constexpr uint32_t | ODS_ID_INFO (ods_id id)
constexpr uint32_t | ODS_ID_WARNING (ods_id id)
constexpr uint32_t | ODS_ID_ERROR (ods_id id)
template<typename T >
void | UNREFERENCED_PARAM (T &P) noexcept

Variables

constexpr uint32_t | TGM_VERSION { 502U }
Main TG Motion version.
constexpr uint32_t | ID_COMPATIBILITY { 4034U }
Compatibility number.
constexpr uint32_t | ID_MEMORY_COMPATIBILITY { 906U }
Memory Compatibility number.
constexpr uint32_t | ID_CNC_COMPATIBILITY { 124U }
CNC Compatibility ID.
constexpr uint32_t | MAX_SERVO { 256 }
constexpr uint32_t | MAX_DIO { 16 }
constexpr uint32_t | MAX_INTERPOLATOR { 3 }
constexpr uint32_t | MAX_CORES { MAX_INTERPOLATOR }
constexpr uint32_t | MAX_INTERPOLATOR_BUFFER_SIZE { 50000U }
Maximum number of entries in interpolator buffer for each interpolator.
constexpr uint32_t | MIN_INTERPOLATOR_BUFFER_SIZE { 500U }
Minimal number of entries in interpolator buffer (for each interpolator)
constexpr uint32_t | MAX_INTERPOLATOR_AXES { 10U }
Maximum interpolated axes. Must be fixed to 10.
constexpr uint32_t | MAX_TIMER_UP { 64U }
Max number timers up.
constexpr uint32_t | MAX_TIMER_DOWN { 64U }
Max number timers down.
constexpr uint32_t | TGM_LOG_MAIN { 0x0001U }
Bit masks for debug log output. More...
constexpr uint32_t | TGM_LOG_INTEPOLATOR { 0x0002U }
Log TGM interpolator.
constexpr uint32_t | TGM_LOG_CAN { 0x0004U }
Log PLC CAN messages.
constexpr uint32_t | TGM_LOG_PG { 0x0020U }
Log PG profile generator.
constexpr uint32_t | TGM_LOG_GEAR { 0x0040U }
Log GEAR generator.
constexpr uint32_t | TGM_LOG_ETHERCAT { 0x0100U }
Log basic EtherCAT traffic.
constexpr uint32_t | TGM_LOG_ETHERCAT_SDO { 0x0200U }
Log SDO traffic.
constexpr uint32_t | TGM_LOG_ETHERCAT_STATUS { 0x0400U }
Log unexpected status change.
constexpr uint32_t | TGM_LOG_ETHERCAT_DC { 0x0800U }
Log distributed clock capability & topology.
constexpr uint32_t | TGM_LOG_VERBOSE_PE { 0x2000U }
Log PLC loading - PE image analysis (PC only)
constexpr uint32_t | TGM_LOG_VERBOSE_RELOC { 0x4000U }
Log PLC loading - PE image relocation (PC only)
constexpr uint32_t | TGM_LOG_VERBOSE_EXPORTS { 0x8000U }
Log PLC loading - list of exported functions (PC only)
constexpr uint32_t | TGM_LOG_ETHERNET { 0x4000'0000U }
Log Ethernet communication (TGMmini)
constexpr uint32_t | TGM_LOG_ENABLE_RTX_SERVER { 0x8000'0000U }
Log values also to RTX debug server (PC) or console (TGMmini)
constexpr TGM_LPCTSTR | NAME_SYSTEM_MEMORY { TGM_TEXT("TGM_System") }
Names of shared memories. More...
constexpr TGM_LPCTSTR | NAME_DATA_MEMORY { TGM_TEXT("TGM_Data") }
Name of the memory for PLC data.
constexpr TGM_LPCTSTR | NAME_CAM_PROFILE_MEMORY { TGM_TEXT("TGM_Cam_Profile") }
Name of the memory for CAM profile (internal)
constexpr TGM_LPCTSTR | NAME_OSCILLOSCOPE_MEMORY { TGM_TEXT("TGM_Oscilloscope") }
Name of the memory for Oscilloscope (internal)
constexpr TGM_LPCTSTR | NAME_SERVO_MEMORY { TGM_TEXT("TGM_Servo") }
Name of the memory for SERVO [MAX_SERVO].
constexpr TGM_LPCTSTR | NAME_DIO_MEMORY { TGM_TEXT("TGM_Dio") }
Name of the memory for DIO [MAX_DIO].
constexpr TGM_LPCTSTR | NAME_INTERPOLATOR_MEMORY { TGM_TEXT("TGM_Interpolator") }
Name of the memory for INTERPOLATOR [MAX_INTERPOLATOR].
constexpr TGM_LPCTSTR | NAME_INTERPOLATOR_WRITE_MEMORY { TGM_TEXT("InterpolatorWriteMemory") }
Name of the internal interpolator <-> CNC communication memory.
constexpr TGM_LPCTSTR | NAME_INTERPOLATOR_READ_MEMORY { TGM_TEXT("InterpolatorReadMemory") }
Name of the internal interpolator <-> CNC communication memory.
constexpr TGM_LPCTSTR | NAME_ODS_MEMORY { TGM_TEXT("TGM_ODS") }
Name of the message system memory (internal)
constexpr TGM_LPCTSTR | NAME_CNCEX_MEMORY { TGM_TEXT("TGM_CNCEX") }
Name of the memory for cnc::TGM_CNC_MEMORY.
constexpr TGM_LPCTSTR | NAME_CNCODS_MEMORY { TGM_TEXT("TGM_CNCODS") }
Name of the internal CNC -> ODS communication memory.
constexpr TGM_LPCTSTR | NAME_GENERAL_MEMORY { TGM_TEXT("TGM_General") }
Name of the memory for GENERAL_MEMORY.
constexpr uint32_t | SIZE_DATA_MEMORY { 524288U }
size for PLC data
constexpr uint32_t | SIZE_CAM_PROFILE_MEMORY { 1048576U }
size for CAM profiles
constexpr uint32_t | SIZE_OSCILLOSCOPE_MEMORY { 33554432 }
constexpr uint32_t | SIZE_CNCEX_MEMORY { 65536U }
size for TGM_CNCEX memory
constexpr uint32_t | SIZE_CNCODS_MEMORY { 65536U }
size for TGM_CNCODS memory
constexpr uint32_t | MAX_PLC_FILE_NAME_SIZE { 512U }
max allowed string size for PLC file name
constexpr uint32_t | MAX_ECAT_DRIVER_FILE_NAME_SIZE { 512U }
max allowed string size for EtherCAT NIC driver file name (PC only)
constexpr uint32_t | PLC_CTRL_LOAD_BIT { 0x01U }
PLC control values. More...
constexpr uint32_t | PLC_CTRL_RESET_BIT { 0x02U }
Reset PLC.
constexpr uint32_t | PLC_CTRL_PAUSE_BIT { 0x04U }
Pause PLC.
constexpr uint32_t | PLC_CTRL_ERROR_BIT { 0x08U }
Signals PLC load error.
constexpr uint32_t | PLC_CTRL_DISABLE_DIO_BIT { 0x10U }
Disable DIO output (not yet used)
constexpr uint32_t | FIXED_MAIN_STRUCT_SIZE { 4096U }
Main memory area - fixed size 4096 bytes.
constexpr uint32_t | FIXED_NUMBER_OF_INTERPOLATORS { 3U }
Fixed maximal number of interpolators to keep the MAIN structure same for PC and TGMmini.
constexpr uint32_t | TGM_KILL { 0x4C4C'494BU }
Value for MAIN::TGM_TgMotionCmd register - exit TGMotion (PC only)
constexpr uint32_t | TGM_RESET_ECAT_BUS { 0x5355'4252U }
Value for MAIN::TGM_TgMotionCmd register - reset EtherCAT bus (rescan all devices)
constexpr uint32_t | TGM_REBOOT { 0x544F'4F42U }
Value for MAIN::TGM_TgMotionCmd register - reboot computer TGMmini and its derivatives.
constexpr uint32_t | TGM_RELOAD_INI { 0x494E'494CU }
Value for MAIN::TGM_TgMotionCmd register - reload .INI file.
constexpr uint32_t | N_OSC_CHANNELS { 32U }
Max number of oscilloscope numbers.
constexpr uint32_t | SIZE_EEPROM_MEMORY
auto calculated size EEPROM memory [ bytes ] More...
constexpr uint32_t | SDO_CONTROL_FINISHED { 0U }
SDO channel is ready for a next command.
constexpr uint32_t | SDO_CONTROL_WRITE { 1U }
Write SDO command for SDO::Control value.
constexpr uint32_t | SDO_CONTROL_READ { 2U }
Read SDO command for SDO::Control value.
constexpr int32_t | SDO_STATUS_OK { 0 }
SDO completed OK.
constexpr int32_t | SDO_STATUS_BUSY { 1 }
SDO is in progress (can have any other large positive value)
constexpr int32_t | SDO_STATUS_ERR { -1 }
SDO finished with error, the error code is in the SDO::Data.
constexpr uint32_t | MFUNC_NUMBER_PAR { 26U }
Number of M functions parameters (all the letters of English alphabet)

Detailed Description

Main include file for TG Motion. Can be used as the only include for virtual PLC projects.

Copyright
2007-2020 TG Drives s.r.o. Olomoucka 1290/79 CZ-627 00 Brno Czech Republic
Author
Antonin SAUER
Date
Jul, 20 th, 2011

Release notes

  • 26.09.2014 update ID numbers
    • ID_COMPATIBILITY 4028 to 4029
    • ID_MEMORY_COMPATIBILITY 900 to 901
    • memory CAM_PROFILE_MEMORY increased from 131072 bytes to 1048576 bytes
    • memory OSCILLOSCOPE_MEMORY increased from 131072 bytes to 1048576 bytes
  • 02.03.2016 update ID numbers
    • ID_COMPATIBILITY to 4030
    • ID_MEMORY_COMPATIBILITY 901
    • added shared memory TGM_ODS (1048576 bytes)
  • 21.06.2016 update ID numbers
    • ID_COMPATIBILITY 4031
    • ID_MEMORY_COMPATIBILITY 903
    • MAX_INTERPOLATOR 3
  • 15.08.2017 changed memory data type declarations from long int32_t to int32_t (using <stdint.h>)
    • DIO.Stav renamed to DIO.Status
    • SERVO.Axe renamed to SERVO.Axis
    • added structures needed fro PLC creation, so only this file is necessary for the PLC programmer
  • 10.05.2018
    • ID_COMPATIBILITY 4033
    • ID_MEMORY_COMPATIBILITY 904
    • CNC compatibility 119
    • new shared UNIVERSAL_MEMORY for various EtherCAT devices
  • 27.08.2018
    • CNC compatibility 121
    • added MAIN::TGMmini_CPU_Temperature field
  • 19.11.2018
    • CNC compatibility 122
  • 19.02.2020
    • rewrite for TGM500
    • CNC compatibility 123
    • ID_MEMORY_COMPATIBILITY 905
    • ID_COMPATIBILITY 4034
    • some fields of DIO changed to arrays
    • digital inputs & outputs uses full 32 bits of the variable
  • 24.02.2020
    • maximal number of DIO modules set to 16
    • maximal number of servos set to 256 (PC) or 64 (TGMmini)
    • number of interpolators is 3 (PC) or 2 (TGMmini)
    • structures HEADER, MAIN, DIO are now incompatible with the previous versions of TGMotion (TGM4xx) by offsets of the internal fields.
    • maximal number of analog inputs and outputs set to 16
    • maximal number of digital inputs and outputs set to 512
  • 08.06.2021
    • changed GENERAL_DEVICE structure (PDO send and receive locks)
    • ID_MEMORY_COMPATIBILITY 906

Typedef Documentation

◆ CAN_TRANSMIT

typedef int32_t PLC_CDECL CAN_TRANSMIT(uint32_t Number, uint32_t Id, uint32_t Dlc, uint8_t *Tx_Data)

Send CAN message.

Parameters
Number
Id
Dlc
Tx_Data
Returns

◆ CAN_TRANSMITREMOTE

typedef int32_t PLC_CDECL CAN_TRANSMITREMOTE(uint32_t Number, uint32_t Id, uint32_t Dlc, uint8_t *Tx_Data)

Send CAN remote message.

Parameters
Number
Id
Dlc
Tx_Data
Returns

◆ RTWPRINTF_STRING_SEVERITY

typedef int32_t PLC_CDECL RTWPRINTF_STRING_SEVERITY(uint32_t id_and_severity, TGM_LPCTSTR strText)

Output string to console.

Parameters
id_and_severity | combined number of source id and severity. Use ODS_ID_INFO, ODS_ID_WARNING or ODS_ID_ERROR helper functions to construct the number.
strText | UNICODE (Windows) or ANSI (Linux) string to be displayed in TG Motion debug console. Use TGM_TEXT() macro for UNICODE/ANSI text independence.
Returns
Always zero

◆ SLEEPFT

typedef void PLC_CDECL SLEEPFT(PLC_LARGE_INTEGER *Pause)

Wait for specified time. Do not use in Program_04() !

Parameters
Pause timeout in 100ns unit. Note that real time granularity could be much higher (50 us, 100 us or more, depending on operating system)

Enumeration Type Documentation

◆ DIO_TYPE

enum DIO_TYPE : uint32_t
strong

EtherCAT DIO types. Found automatically and set to DIO::Type variable.

Enumerator
TG_IO_TYPE_BASIC | digital: 32out, 48in, analog: 4out, 4in
TG_IO_TENZOMETER | digital: 8out, 8in, tenzometer: 4
TG_IO_TYPE_NEW | digital: 40out, 48in, analog: 4out, 4in
TG_IO_TYPE_BASIC_LITE | digital: 24out, 40in
TG_IO_TYPE_NEW_LITE | digital: 16out, 32in, analog: 4out, 4in
FESTO_IO_TYPE | digital: up to 128out, up to 128in
TGM_MINI_DIO_TYPE | digital: 8out, 8in
DFC_IO_TYPE | digital: 16out, 16in (not yet supported)

◆ ECAT_REGISTER_CONTROL

enum ECAT_REGISTER_CONTROL : uint32_t
strong

direct EtherCAT register read/write commands

Uses the same values as for normal (legacy) SDO

Enumerator
READY_00 | ready for request
WRITE_01 | write request
READ_02 | read request
ERROR_03 | request error, can request another
BUSY_04 | system is processing the request

◆ EXT_SDO_CONTROL

enum EXT_SDO_CONTROL : uint32_t
strong

extended SDO commands (more than 4 bytes of data available)

Uses the same values as for normal (legacy) SDO. Used in GENERAL_DEVICE.

Enumerator
FINISHED_00 | 0 - SDO is ready for a next command
WRITE_01 | 1 - Write SDO
READ_02 | 2 - Read SDO

◆ EXT_SDO_STATUS

enum EXT_SDO_STATUS : int32_t
strong

extended SDO communication status (the same as for legacy SDO)

Enumerator
OK_00 | command completed OK
BUSY_01 | command is in process
ERROR_02 | command ended with error, the error code is in EXT_SDO::Data[0]

◆ INTERPOLATOR_COMMANDS

enum INTERPOLATOR_COMMANDS : int32_t
strong

Interpolator commands (INTERPOLATOR::Command)

Enumerator
NONE_00

No command or previous command finished.

SET_AXIS_RATIO_1024

Sets the INTERPOLATOR::Ratio as a fraction

Command_Parametr | Description
0 | axis index
1 | numerator
2 | denominator
SET_COORDS_ON_TRAJ_2048

Sets the actual position, keep the on_trajectory status. All the positions are in Command_Parametr array.

SET_COORDS_OUT_TRAJ_2049

Sets the actual position, set the off_trajectory status. All the positions are in Command_Parametr array.

EMERGENCY_STOP_04

Stop the interpolator and keep it on actual status. Uses emergency stop deceleration

EMERGENCY_STOP_OUT_TRAJ_05

Stop the interpolator and set off trajectory status Uses emergency stop deceleration

NORMAL_STOP_08

Stop the interpolator and keep it on actual status. Uses normal stop deceleration

NORMAL_STOP_OUT_TRAJ_09

Stop the interpolator and set off trajectory status Uses normal stop deceleration

SET_FILTER_PARAMETERS_M1

Sets the IIR filter parameters

Command_Parametr | Description
0 | p parameter
1 | q parameter
2 | f parameter
3 | axis bit mask
SET_SPLINE_PARAMETERS_M2

Sets the spline parameters

Command_Parametr | Description
0 | number of points (50-500)
1 | jerk value

◆ interpolator_status

enum interpolator_status : uint32_t
strong

interpolator states

Enumerator
EMPTY_00 | interpolator buffer is empty, no movement is possible
MOVE_01 | movement on trajectory is under way
STOP_03 | stop at the trajectory end
TRAJECTORY_START_04 | at least one part of the trajectory is in the buffer, start may be called
EMERGENCY_BREAKING_06 | stopping on emergency ramp
EMERGENCY_STOP_07 | interpolator stopped after emergency stop
STOP_WHILE_BUFFER_FILL_08 | interpolator was stopped during the buffer filling

◆ OSC_DATA_TYPE

enum OSC_DATA_TYPE : uint32_t
strong

Oscilloscope data types.

Enumerator
I32_DEC | int32_t in decimal representation
I32_HEX | int32_t in hexadecimal representation
I32_BIN | int32_t in binary representation
UI32_DEC | uint32_t in decimal representation
I64_DEC | int64_t in decimal representation
I64_HEX | int64_t in hexadecimal representation
I64_BIN | int64_t in binary representation
UI64_DEC | uint64_t in decimal representation
DOUBLE | 64 bits real data type
FLOAT | 32 bits real data type (single data type Pascal)
ASTRING | ANSI (UTF-8) string.
WSTRING | UNICODE (UTF-16) string.
I32_BIN_EX | int32_t in binary representation, displayed bit by bit
I64_BIN_EX | int64_t in binary representation, displayed bit by bit

◆ SERVO_TYPE

enum SERVO_TYPE : uint32_t
strong

Built-in servo types

Enumerator
VIRTUAL | Virtual servo.
SERVOSTAR_300_700 | Servo drive Servostar 300 or Servostar 700.
AKD | Servo drive AKD.
TGZ | Servo drive TGZ.
INVALID | Invalid servo type.

◆ SHARED_MEMORY

enum SHARED_MEMORY : uint32_t
strong

Memory numbers (types)

The same numbers are used as memory types in TGM_Comm_Int_5.dll.

Note
The numbers are different to version TGM4xx!
Enumerator
SYSTEM | SYSTEM memory.
DATA | Virtual PLC private memory. TG Motion never writes to this memory.
CAM_PROFILE | CAM memory.
OSCILLOSCOPE | Oscilloscope memory. Stores oscilloscope values. Read-only.
SERVO | All servos.
DIO | All I/O modules.
GENERAL | Memory for general devices.
INTERPOLATOR | Interface to all interpolators.
INTERPOLATOR_WRITE | Internal memory for CNC modules.
INTERPOLATOR_READ | Internal memory for CNC modules.
ODS | Stores debug, warning and error messages in a circular buffer.
CNC_ODS | Internal memory for CNC -> ODS communication.
CNC_EX | Internal memory for CNC modules.
LAST_MEMORY_IDX | total number of shared memories

Function Documentation

◆ countof()

template<typename T , size_t N>
constexpr size_t countof ( T const(&)[N] )
constexprnoexcept

useful countof template function: determine number of elements in an array (not bytes)

◆ ODS_ID_ERROR()

constexpr uint32_t ODS_ID_ERROR ( ods_id id )
inlineconstexpr

Constructs error message number with given ods_id. Used by RTWPRINTF_STRING_SEVERITY function in PLC_DATA::functions

◆ ODS_ID_INFO()

constexpr uint32_t ODS_ID_INFO ( ods_id id )
inlineconstexpr

Constructs info message number with given ods_id. Used by RTWPRINTF_STRING_SEVERITY function in PLC_DATA::functions

◆ ODS_ID_WARNING()

constexpr uint32_t ODS_ID_WARNING ( ods_id id )
inlineconstexpr

Constructs warning message number with given ods_id. Used by RTWPRINTF_STRING_SEVERITY function in PLC_DATA::functions

◆ UNREFERENCED_PARAM()

template<typename T >
void UNREFERENCED_PARAM ( T & P )
noexcept

Used for declaring unreferenced parameter or variable. Useful for removing compiler warning about such a parameter/variable.

Variable Documentation

◆ MAX_CORES

constexpr uint32_t MAX_CORES { MAX_INTERPOLATOR }
constexpr

Maximum number of CNC cores inside TGM. Equals to MAX_INTERPOLATOR constant.

◆ MAX_DIO

constexpr uint32_t MAX_DIO { 16 }
constexpr

Max number of I/O modules - can be overridden for different TG Motion types (PC, TGMmini). Must be set in project or makefile by MAX_DIO_PROJECT_SETTINGS define. Actually only 16 is allowed.

◆ MAX_INTERPOLATOR

constexpr uint32_t MAX_INTERPOLATOR { 3 }
constexpr

Maximum number of interpolators - can be overridden for different TG Motion types (PC, TGMmini). Must be set in project or makefile be MAX_INTERPOLATOR_PROJECT_SETTINGS define. PC has up to 3 interpolators, TGMmini one or two according to hw version.

◆ MAX_SERVO

constexpr uint32_t MAX_SERVO { 256 }
constexpr

Max number of servos - can be overridden for different TG Motion types (PC, TGMmini). Must be set in project or makefile by MAX_SERVO_PROJECT_SETTINGS define. PC has up to 256 servos, TGMmini 64.

◆ NAME_SYSTEM_MEMORY

constexpr TGM_LPCTSTR NAME_SYSTEM_MEMORY { TGM_TEXT("TGM_System") }
constexpr

Names of shared memories.

Name of the memory for SYSTEM

◆ PLC_CTRL_LOAD_BIT

constexpr uint32_t PLC_CTRL_LOAD_BIT { 0x01U }
constexpr

PLC control values.

Load PLC

◆ SIZE_EEPROM_MEMORY

constexpr uint32_t SIZE_EEPROM_MEMORY
constexpr
Initial value:
{ MAX_SYSTEM_MEMORY_SIZE
- sizeof(HEADER)
- sizeof(MAIN)
- sizeof(RESERVE_MAIN)
- sizeof(TIMERS)
- sizeof(OSC)
- (MAX_ECAT_DRIVES * sizeof(ECAT_DRIVER))
- sizeof(EEPROM_CONTROL)
}
EEPROM_CONTROL
Definition: tgm.h:700
HEADER
The HEADER struct - fixed size 128 bytes.
Definition: tgm.h:386
MAIN
The MAIN struct - fixed size of 4096 bytes.
Definition: tgm.h:452
OSC
Oscilloscope control.
Definition: tgm.h:634
RESERVE_MAIN
reserve the MAIN structure to 4096 bytes
Definition: tgm.h:593
TIMERS
Timers with fixed 1ms period.
Definition: tgm.h:604

auto calculated size EEPROM memory [ bytes ]

◆ SIZE_OSCILLOSCOPE_MEMORY

constexpr uint32_t SIZE_OSCILLOSCOPE_MEMORY { 33554432 }
constexpr

size for oscilloscope data. Depends on architecture (PC or TGMmini), must be set in project or makefile by SIZE_OSCILLOSCOPE_MEMORY_PROJECT_SETTINGS define.

◆ TGM_LOG_MAIN

constexpr uint32_t TGM_LOG_MAIN { 0x0001U }
constexpr

Bit masks for debug log output.

Values are set in the TgMotion4xx.ini file, entry Log=.... Log main TGM

  • include
  • tgm.h


TG Motion: tgm_cnc.h File Reference

Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
tgm_cnc.h File Reference

Main include file for CNC module of TG Motion. More...

#include "tgm.h"
#include "tgm_cnc_internal_constants.h"
#include "tgm_cnc_windows.h"
#include <cassert>
#include <math.h>

Classes

struct | cnc::SIMPLE_INFO
Auxiliary G-code functions use this structure. More...
struct | cnc::P10DOUBLE
This structure defines 10 coordinates of float64_t type (8 bytes) More...
struct | cnc::P10BOOL
Structure similar to P10DOUBLE, using integers. More...
struct | cnc::ACTUAL_GM_VALUES
Actual parameters. More...
struct | cnc::SIMPLE_GM_PARAMS_WIN32
Describes one G-code part. More...
struct | cnc::CALLBACK_INFO
Structure for transmitting information for the function ToolChainCore_GetLastError and for the callback functions AddOutputLogFunc, SetStatusBarTextFunc, MathWarningFunc. More...
struct | cnc::GCODE_FEED
Definition of default feeds. More...
struct | cnc::AXIS_LIMITS
Limits for one axis. More...
struct | cnc::GCODE_CORRECTION
Definition of corrections. More...
struct | cnc::ARC_FEED_TABLE
Table of speeds, relative arc speeds in relation to radius. More...
struct | cnc::INTERNAL_MFUNC_INSERT_TABLE
Values of inserted M functions. More...
struct | cnc::GCODE_PARAMETERS
Structure for setting G-code properties. More...
struct | cnc::GCODE_SIZE
Initial position, end position and size. More...
struct | cnc::GCODE_INFO
G-code size. More...
struct | cnc::DLL_INIT_STRUCT
Initialization structure. Used by ToolChainCore_Init. More...
struct | cnc::MACHINE_PARAMETERS
Machine parameters. More...
struct | cnc::MACHINE_STATUS
Machine status. More...
struct | cnc::TGM_FUNCTION_INTERNAL
base structure for activating a CNC function More...
struct | cnc::TGM_FUNCTION
automatically sets the size of the structure to 8192 bytes More...
struct | cnc::TGM_CNC_CORE_MEMORY_INTERNAL
shared CNC memory for one CNC core More...
struct | cnc::TGM_CNC_CORE_MEMORY
automatically sets the size of the structure to 16384 bytes More...
struct | cnc::TGM_CNC_MEMORY_HEADER
header of the shared TGM_CNCEX memory More...
struct | cnc::TGM_CNC_MEMORY
describes the shared TGM_CNCEX memory More...
struct | CNC_CALC_INIT_DATA
Initialization structure. More...
struct | CNC_CALC_RETURN_VALUE
Holds changed G-code parts. More...

Namespaces

cnc
all CNC functions are encapsulated to cnc namespace

Typedefs

typedef int32_t | cnc::FuncPrototype(intptr_t dwUserData)
Generic callback function prototype.
typedef int32_t | cnc::AddOutputLogFunc(intptr_t dwUserData, uint32_t tab, TGM_LPCTSTR info, CALLBACK_INFO *callBackInfo)
Writes text to output log. More...
typedef int32_t | cnc::SetStatusBarTextFunc(intptr_t dwUserData, uint32_t pane, TGM_LPCTSTR strText, CALLBACK_INFO *callBackInfo)
Display informational text in the status line of the application. More...
typedef int32_t | cnc::IsDebugModeFunc(intptr_t dwUserData)
Ask if debug regime is enabled. More...
typedef int32_t | cnc::IsVerboseModeFunc(intptr_t dwUserData)
Ask if verbose regime is enabled. More...
typedef TGM_LPCTSTR | cnc::GetLibPathFunc(intptr_t dwUserData)
Returns path to external G functions stored as G-code on the disk. More...
typedef TGM_LPCTSTR | cnc::GetToolPathFunc(intptr_t dwUserData)
Returns path to files describing tools geometry. Only for lathe. More...
typedef TGM_LPCTSTR | cnc::GetSystemPathFunc(intptr_t dwUserData)
Returns path to system files. Not yet used by CNC module. More...
typedef int64_t | cnc::GetFileTimeStampFunc(intptr_t dwUserData, int32_t fileIdx)
returns time stamp of a given file (usually time in ms since epoch) More...
typedef int32_t | cnc::DoYieldFunc(intptr_t dwUserData, int32_t messageOnly)
Switch control to other thread. LOCAL_CORE_MODE_DLL only. More...
typedef void | cnc::ReadIniStringFunc(intptr_t dwUserData, TGM_LPCTSTR section, TGM_LPCTSTR key, TGM_LPCTSTR defValue, TGM_LPTSTR buffer, uint32_t bufferSizeInCharacters)
Read string from .INI file. More...
typedef float64_t | cnc::ReadIniDoubleFunc(intptr_t dwUserData, TGM_LPCTSTR section, TGM_LPCTSTR key, float64_t defValue)
Read float64_t value from .INI file. More...
typedef int32_t | cnc::ReadIniIntFunc(intptr_t dwUserData, TGM_LPCTSTR section, TGM_LPCTSTR key, int32_t defValue)
Read integer value from .INI file. More...
typedef int32_t | cnc::IsBreakpointFunc(intptr_t dwUserData, uint32_t editorLine, int32_t fileIdx)
Determines if there is a breakpoint on given G-code file line. More...
typedef int32_t | cnc::DispAndLocateErrorFunc(intptr_t dwUserData, uint32_t editorLine, int32_t fileIdx, TGM_LPCTSTR errString, CALLBACK_INFO *callBackInfo)
This function is called in case of an error. More...
typedef int32_t | cnc::AddOutputLogWithMsgBoxFunc(intptr_t dwUserData, uint32_t tab, uint32_t buttons, TGM_LPCTSTR info, CALLBACK_INFO *callBackInfo)
Writes text to output log and optionally displays it in message box dialog panel (OS dependent) More...
typedef int32_t | cnc::SetStatusBarProgressFunc(intptr_t dwUserData, uint32_t progress)
Display progress bar. More...
typedef int32_t | cnc::DriverInitializeFunc(intptr_t dwUserData, float64_t *params, uint32_t nParams, cnc_status nRunMode)
Called always before G-code execution. More...
typedef int32_t | cnc::DriverGFunc(intptr_t dwUserData, const SIMPLE_GM_PARAMS_WIN32 *v)
Called to simulate G function. More...
typedef int32_t | cnc::DriverMFunc(intptr_t dwUserData, const SIMPLE_GM_PARAMS_WIN32 *v)
Called to simulate M function. More...
typedef int32_t | cnc::ConnectPointCalcStartFunc(intptr_t dwUserData, const uint32_t nType, const uint32_t nCoords, const float64_t *coords, const uint32_t bitCodedAxesForCalc)
Initiate user connection calculation. More...
typedef int32_t | cnc::ConnectPointCalcFunc(intptr_t dwUserData, const SIMPLE_GM_PARAMS_WIN32 *part, float64_t *calcSquareDistanceFromCoords, P10DOUBLE *calcConnectPoint)
Calculate distance from initial tool point to a give G-code part. More...
typedef int32_t | cnc::ConnectPointCalcEndFunc(intptr_t dwUserData, SIMPLE_GM_PARAMS_WIN32 *partToBeConnectedTo, P10DOUBLE *connectPosToBeMovedTo)
End of connection calculation. More...
typedef int32_t | cnc::DriverEnd(intptr_t dwUserData)
Called when the G-code simulation finishes. More...
typedef int32_t | cnc::MathWarningFunc(intptr_t dwUserData, CALLBACK_INFO *pCallbackInfo)
Called in case of warning issued during tool diameter compensation calculation. More...
typedef int32_t | CNC_CALC_LOAD(const CNC_CALC_INIT_DATA *pInitData)
typedef for CNC_Calc_Load
typedef int32_t | CNC_CALC_UNLOAD()
typedef for CNC_Calc_Unload
typedef uint32_t | CNC_CALC_GET_STRUCTURES_SIZE(uint32_t structureIdx)
typedef for CNC_Calc_Get_Structures_Size
typedef int32_t | CNC_CALC_GET_COMPATIBILITY_IDS(uint32_t *pID_COMPATIBILITY, uint32_t *pID_MEMORY_COMPATIBILITY, uint32_t *pID_CNC_COMPATIBILITY)
typedef for CNC_Calc_Get_Compatibility_IDs
typedef int32_t | CNC_CALC_START(uint32_t intIdx, int32_t regime, const cnc::SIMPLE_GM_PARAMS_WIN32 *pInitPos, CNC_CALC_RETURN_VALUE *pChangedParts)
typedef for CNC_Calc_Start
typedef int32_t | CNC_CALC_GFUNC(uint32_t intIdx, const cnc::SIMPLE_GM_PARAMS_WIN32 *pGFunc, CNC_CALC_RETURN_VALUE *pChangedParts)
typedef for CNC_Calc_GFunc
typedef int32_t | CNC_CALC_MFUNC(uint32_t intIdx, const cnc::SIMPLE_GM_PARAMS_WIN32 *pMFunc, CNC_CALC_RETURN_VALUE *pChangedParts)
typedef for CNC_Calc_MFunc
typedef int32_t | CNC_CALC_FINISH(uint32_t intIdx, const cnc::SIMPLE_GM_PARAMS_WIN32 *pFinishMFunc, CNC_CALC_RETURN_VALUE *pChangedParts)
typedef for CNC_Calc_Finish

Enumerations

enum class cnc::cnc_status : int32_t {
cnc::OFFLINE_M02 = -2 ,
cnc::INVALID_00 = 0 ,
cnc::COMPILING_01 = 1 ,
cnc::COMPILE_FINISHED_M01 = -1 ,
cnc::SIMULATING_10 = 10 ,
cnc::SIMULATION_END_M10 = -10 ,
cnc::SIMULATION_BREAK_M11 = -11 ,
cnc::TEST_20 = 20 ,
cnc::TEST_END_M20 = -20 ,
cnc::TEST_BREAK_M21 = -21 ,
cnc::TRAJECTORY_START_M30 = -30 ,
cnc::TRAJECTORY_BREAK_M31 = -31 ,
cnc::TRAJECTORY_END_M32 = -32 ,
cnc::TRAJECTORY_BREAK_M0_M33 = -33 ,
cnc::FORWARD_30 = 30 ,
cnc::FORWARD_NO_MFUNC_31 = 31 ,
cnc::BACKWARD_32 = 32 ,
cnc::FORWARD_SKIP_FIRST_M_33 = 33 ,
cnc::CONNECTING_40 = 40 ,
cnc::CONNECT_MOVE_41 = 41 ,
cnc::HAND_MOVE_50 = 50 ,
cnc::OUT_OF_TRAJECTORY_M50 = -50 ,
cnc::CALCULATING_60 = 60 ,
cnc::START_M_FUNCS_70 = 70 ,
cnc::STOP_M_FUNCS_80 = 80 ,
cnc::CONNECT_INS_M_FUNCS_90 = 90 ,
cnc::NONSENSE = -1234
}
StatusCNC return codes. More...
enum class cnc::connect_type : uint32_t {
cnc::BY_COORD = 0 ,
cnc::BY_LINE_START = 1 ,
cnc::BY_LINE_END = 2 ,
cnc::BY_COORD_GO = 10 ,
cnc::BY_LINE_START_GO = 11 ,
cnc::BY_LINE_END_GO = 12 ,
cnc::BY_M_FUNC_COUNT = 20 ,
cnc::BY_M_FUNC_COUNT_REL = 21 ,
cnc::BY_GCODE_INDEX = 30 ,
cnc::BY_GCODE_INDEX_ACTUAL_COORD = 31 ,
cnc::BY_GCODE_INDEX_END = 32 ,
cnc::BY_COORD_GO_BUFFERED = 40 ,
cnc::BY_LINE_START_GO_BUFFERED = 41 ,
cnc::BY_LINE_END_GO_BUFFERED = 42 ,
cnc::BY_GCODE_INDEX_ACTUAL_COORD_GO_BUFFERED = 44 ,
cnc::BY_COORD_ON_TRAJECTORY_WITH_GCODE_INDEX_GO_BUFFERED = 46
}
Connection modes (ToolChainCore_ConnectCNCEx_Plane) More...
enum class cnc::status_after_connect : uint32_t {
cnc::KEEP_00 = 0 ,
cnc::FORCE_OUT_OF_TRAJECTORY_02 = 2
}
Specifies wanted status after successful connect for ToolChainCore_ConnectCNCEx_Plane. More...
enum class cnc::axis_idx : int32_t {
cnc::AXIS_NONE = -1 ,
cnc::AXIS_X = 0 ,
cnc::AXIS_Y = 1 ,
cnc::AXIS_Z = 2 ,
cnc::AXIS_C = 3 ,
cnc::AXIS_B = 4 ,
cnc::AXIS_U = 5 ,
cnc::AXIS_V = 6 ,
cnc::AXIS_W = 7 ,
cnc::AXIS_A = 8 ,
cnc::AXIS_O = 9 ,
cnc::AXIS_S = 100 ,
cnc::AXIS_T = 101 ,
cnc::AXIS_IO = 102 ,
cnc::AXIS_S2 = 103 ,
cnc::AXIS_XY = 200
}
Axes numbers, together with special axis types. Assignment of the axes to array indexes is fixed, i.e. the first axis (index 0) is always X axis, etc... Special axes are used internally and have no relationship to array indexes. More...
enum class cnc::reset_status_cnc : uint32_t {
cnc::TO_INVALID_00 = 0 ,
cnc::TO_OUT_OF_TYRAJECTORY_01 = 1
}
Values for ToolChainCore_ResetStatusCNC function. More...
enum class cnc::cnc_func : uint32_t {
NONE_00 = 0U ,
STOP_01 = 1U ,
START_02 = 2U ,
CONNECT_03 = 3U ,
GOTO_04 = 4U ,
SET_GCODE_PARAMETERS_05 = 5U ,
COMPILE_06 = 6U
}
CNC function to be activated from shared memory.

Functions

template<uint8_t c>
constexpr size_t | cnc::ADDR_IDX ()
simplify G-code address indexing
int32_t | ToolChainCore_Init (const cnc::DLL_INIT_STRUCT *pInitValues)
Init the CNC module. More...
int32_t | ToolChainCore_LoadFromIni (uint32_t intIdx, TGM_LPCTSTR iniFile, uint32_t *pnMaxCores)
Loads DLL chain from INI file. More...
int32_t | ToolChainCore_DestroyCNC (uint32_t intIdx)
Finishes work with DLLs and frees all the allocated memory. More...
int32_t | ToolChainCore_SetGCodeParameters (uint32_t intIdx, const cnc::GCODE_PARAMETERS *params)
Sets parameters (properties) of G-code. More...
int32_t | ToolChainCore_GetGCodeParameters (uint32_t intIdx, cnc::GCODE_PARAMETERS *params)
Obtains values set with ToolChainCore_SetGCodeParameters, or read from .INI file during startup. More...
cnc::cnc_status | ToolChainCore_StatusCNC (uint32_t intIdx)
Actual CNC module state. More...
int32_t | ToolChainCore_GetPosEx (uint32_t intIdx, int32_t reserved, cnc::ACTUAL_GM_VALUES *pos)
Returns current position of machine axes together with additional informations. More...
int32_t | ToolChainCore_CompileFromFile (uint32_t intIdx, TGM_LPCTSTR fileName)
Compiles G-code from file. More...
int32_t | ToolChainCore_CompileFromMemory (uint32_t intIdx, TGM_LPCTSTR fileName, TGM_LPCSTR mainCode)
Compiles G-code from string in memory. More...
int32_t | ToolChainCore_IsBusy (uint32_t intIdx)
Checks if the machine is executing G-code. More...
int32_t | ToolChainCore_StartCNCEx (uint32_t intIdx, cnc::cnc_status regime, TGM_LPCSTR strAddGCode)
Start or continue G-code. More...
int32_t | ToolChainCore_ResetCNC (uint32_t intIdx, int32_t regime, const uint32_t nCoords, const float64_t *coords)
Sets the initial position for G-code. More...
int32_t | ToolChainCore_StopCNCEx (uint32_t intIdx, TGM_LPCSTR strAddCode)
Stops motion or connecting (break). More...
int32_t | ToolChainCore_ConnectCNCEx_Plane (uint32_t intIdx, cnc::connect_type nType, const uint32_t nCoords, const float64_t *coords, TGM_LPCSTR strAddCode, uint32_t bitCodedAxesForCalc, uint32_t bitCodedAxesForConnect, cnc::status_after_connect trajectoryStateAfterConnectRequest)
Move to the nearest point of trajectory of G-code with possibility of M function insertion after the connection movement. More...
int32_t | ToolChainCore_GoToPosition (uint32_t intIdx, const uint32_t nCoords, const float64_t *coords)
Manual control. More...
int32_t | ToolChainCore_GoToPositionEx (uint32_t intIdx, const cnc::SIMPLE_GM_PARAMS_WIN32 *pDest)
Extended manual control. More...
int32_t | ToolChainCore_MFunc (uint32_t intIdx, const cnc::SIMPLE_GM_PARAMS_WIN32 &fun, int32_t bDirectToPLC)
Send M function directly to system. More...
int32_t | ToolChainCore_FileToIdx (uint32_t intIdx, TGM_LPCTSTR fileName)
Returns index number of the file with a given name. If the file name is new, it returns a new number. More...
TGM_LPCTSTR | ToolChainCore_IdxToFile (uint32_t intIdx, int32_t fileIdx)
Returns the complete filename of file with relevant number (index). More...
int32_t | ToolChainCore_SetRelFeed (uint32_t intIdx, float64_t relFeed)
Sets the feed override (relative speed). More...
int32_t | ToolChainCore_SetCallBack (uint32_t intIdx, uint32_t fceNo, intptr_t dwUserData, cnc::FuncPrototype *funcPtr)
Sets callback function. More...
int32_t | ToolChainCore_GetLastError (uint32_t intIdx, cnc::CALLBACK_INFO *pLastErrorInfo)
Returns the last error, if any. More...
int32_t | ToolChainCore_SetBreakpoint (uint32_t intIdx, uint32_t editorLine, int32_t fileIdx)
Set breakpoint in the G-code. More...
int32_t | ToolChainCore_GetGCodeSizeInfo (uint32_t intIdx, cnc::GCODE_INFO *pInfo)
Identifies size (dimension) of G-code. More...
int32_t | ToolChainCore_GetStructuresSize (uint32_t intIdx, uint32_t nItems, uint32_t *items)
Returns bytes sizes of internal structures. More...
TGM_LPCTSTR | ToolChainCore_GetVersionString (uint32_t intIdx)
Returns the DLLs version number and the date and time of compilation. More...
int32_t | ToolChainCore_GetMachineParameters (uint32_t intIdx, cnc::MACHINE_PARAMETERS *pParameters)
Returns actual values of MACHINE_PARAMETERS. More...
int32_t | ToolChainCore_SetMachineParameters (uint32_t intIdx, const cnc::MACHINE_PARAMETERS *pParameters)
Sets new values of MACHINE_PARAMETERS. More...
int32_t | ToolChainCore_LoadCNCCalcPlugIn (TGM_LPCTSTR fileName, uint32_t loadFlags, int64_t userValue)
Load CNC Calc plugin (see CNC Calc plug-in exported functions) More...
void | ToolChain_FlushLogFile ()
Flush (force to write to disk) the log file.
void | ToolChain_LogANSI (TGM_LPCSTR info)
Append the string to the log file. More...
int32_t | ToolChainCore_SetUserParams (uint32_t intIdx, const float64_t *userParams, uint32_t userParamsCount)
Set parameters P00 - P99 for use in G-code. More...
int32_t | ToolChainCore_GCodePrefixPostfix (uint32_t intIdx, TGM_LPCSTR strPrefix, TGM_LPCSTR strPostfix)
float64_t | ToolChainCore_GetGCodeRunTime (uint32_t intIdx, int32_t fileIdx)
int32_t | ToolChainCore_SetGCodeRunTime (uint32_t intIdx, int32_t fileIdx, float64_t timeInS)
Set runtime of the G code. More...
int32_t | ToolChainCore_ResetStatusCNC (uint32_t intIdx, cnc::reset_status_cnc mode)
Enables to clear the memory or set the status to out of trajectory. More...
int32_t | ToolChainCore_SetLogValue (uint32_t logValue) noexcept
Set new log value directly to CNC module. More...
uint32_t | ToolChainCore_GetLogValue () noexcept
Get actual log value set by INI file or by ToolChainCore_SetLogValue() More...
CNC_CALC_DLL_EXPORT int32_t | CNC_Calc_Load (const CNC_CALC_INIT_DATA *pInitData)
Plug-in DLL initialization. More...
CNC_CALC_DLL_EXPORT int32_t | CNC_Calc_Unload ()
Plug-in DLL cleanup. More...
CNC_CALC_DLL_EXPORT uint32_t | CNC_Calc_Get_Structures_Size (uint32_t structureIdx)
Check structure sizes - test for compatibility. More...
CNC_CALC_DLL_EXPORT int32_t | CNC_Calc_Get_Compatibility_IDs (uint32_t *pID_COMPATIBILITY, uint32_t *pID_MEMORY_COMPATIBILITY, uint32_t *pID_CNC_COMPATIBILITY)
Returns compatibility numbers at the time of plug-in build. More...
CNC_CALC_DLL_EXPORT int32_t | CNC_Calc_Start (uint32_t intIdx, int32_t regime, const cnc::SIMPLE_GM_PARAMS_WIN32 *pInitPos, CNC_CALC_RETURN_VALUE *pChangedParts)
Called before the G-code execution. More...
CNC_CALC_DLL_EXPORT int32_t | CNC_Calc_GFunc (uint32_t intIdx, const cnc::SIMPLE_GM_PARAMS_WIN32 *pGFunc, CNC_CALC_RETURN_VALUE *pChangedParts)
Called for any G function inside G-code. More...
CNC_CALC_DLL_EXPORT int32_t | CNC_Calc_MFunc (uint32_t intIdx, const cnc::SIMPLE_GM_PARAMS_WIN32 *pMFunc, CNC_CALC_RETURN_VALUE *pChangedParts)
Called for any M function inside G-code. More...
CNC_CALC_DLL_EXPORT int32_t | CNC_Calc_Finish (uint32_t intIdx, const cnc::SIMPLE_GM_PARAMS_WIN32 *pFinishMFunc, CNC_CALC_RETURN_VALUE *pChangedParts)
Called as the last function of the G-code. More...

Variables

constexpr uint32_t | cnc::COMM_DLL_VERSION { 510U }
CNC and communication library (TGMmini_5.dll) version.
constexpr float64_t | cnc::INVALID_VALUE { 1e38 }
this "nonsense" value is used for not used G-code addresses.
constexpr float32_t | cnc::INVALID_VALUE_F { 1e38F }
this "nonsense" value is used for not used G-code addresses (float32_t version)
constexpr uint32_t | cnc::MAX_FUNC_ADDRESSES { MFUNC_NUMBER_PAR }
number of letters in alphabet, i.e. all the G-code addresses
constexpr int32_t | cnc::TOOL_CHAIN_BAD_INTR_INDEX { -2 }
ToolChainCore_XXX functions return codes. More...
constexpr int32_t | cnc::TOOL_CHAIN_ERROR { -1 }
unknown error (pointer is null, invalid parameter value, etc...)
constexpr int32_t | cnc::TOOL_CHAIN_SUCCESS { 0 }
OK value.
constexpr int32_t | cnc::TOOL_CHAIN_XEXEC { 1 }
error during execution
constexpr int32_t | cnc::TOOL_CHAIN_XBREAK { 2 }
execution has been interrupted
constexpr uint32_t | cnc::ACTUAL_N_AXES { MAX_INTERPOLATOR_AXES }
number of axes used in CNC module (currently 10)
constexpr uint32_t | cnc::RESET_CNC_NO_G92 { 1U }
Additional regimes for ToolChainCore_ResetCNC function. More...
constexpr uint32_t | cnc::NUMBER_OF_VARIABLES { 100U }
Max number of user Pxx parameters.
constexpr uint32_t | cnc::SUB_PARS { 50U }
Number of system parameters (P100 - P149)
constexpr uint32_t | cnc::MAX_DECLARED_PARAMS { NUMBER_OF_VARIABLES + SUB_PARS }
Total number of parameters.
constexpr uint32_t | cnc::MAXLABELLENGTH { 40U }
Max label length in the G-code (in characters)
constexpr int32_t | cnc::FILE_IDX_UNKNOWN { -1 }
special file indexes More...
constexpr int32_t | cnc::FILE_IDX_END { -2 }
end of G-code
constexpr int32_t | cnc::FILE_IDX_STOP { -3 }
reserved
constexpr int32_t | cnc::FILE_IDX_EXEC { -4 }
reserved
constexpr int32_t | cnc::FILE_IDX_INSERT_M_FUNCS { -5 }
Start or Stop CNC additional M functions.
constexpr int32_t | cnc::FILE_IDX_INSERT_G_FUNCS { -6 }
Move to connection point.
constexpr int32_t | cnc::FILE_IDX_RUNTIME_ERROR { -7 }
reserved
constexpr int32_t | cnc::FILE_IDX_MOVE { -8 }
GoTo position.
constexpr uint32_t | cnc::LOG_DEBUG_SWITCH { 0x00000001U }
constexpr uint32_t | cnc::LOG_VERBOSE_SWITCH { 0x00000002U }
Produces more informational output to log and debug files.
constexpr uint32_t | cnc::LOG_WORKER { 0x00000004U }
Enables logging of SF_XYZWorker_5 library messages.
constexpr uint32_t | cnc::LOG_TOOLCHAIN { 0x00000008U }
Enables logging of SF_TCh_5 library messages.
constexpr uint32_t | cnc::LOG_DRIVER { 0x00000010U }
Enables logging of SF_RTDrv_5 library messages.
constexpr uint32_t | cnc::LOG_COMPILER { 0x00000020U }
Enables logging of SF_DComp_5 library messages.
constexpr uint32_t | cnc::LOG_EXEC { 0x00000040U }
Enables logging of SF_DExec_5 library messages.
constexpr uint32_t | cnc::LOG_MATH { 0x00000080U }
Enables logging of SF_XYZMath_5 library messages.
constexpr uint32_t | cnc::LOG_SEND_TO_DBGVIEW { 0x10000000U }
constexpr uint32_t | cnc::LOG_SEND_TO_FILE { 0x20000000U }
constexpr uint32_t | cnc::LOG_SEND_TO_TGM { 0x40000000U }
constexpr uint32_t | cnc::MAX_M_FUNC_IN_G { 4U }
constexpr uint32_t | cnc::PLANE_XY { 17 }
CNC planes. More...
constexpr uint32_t | cnc::PLANE_XZ { 18 }
G18.
constexpr uint32_t | cnc::PLANE_YZ { 19 }
G19.
constexpr uint32_t | cnc::PLANE_ZX { 20 }
G-18 - lathe only.
constexpr uint32_t | cnc::PLANE_XYZ { 21 }
21 - general plane oriented in XYZ 3D space
constexpr uint32_t | cnc::CORR_STRATEGY_G41_ALREADY_CORRECTED { 0U }
G41, G42 means already corrected coordinate; G40 says that only the end of the following motion will be left uncorrected.
constexpr uint32_t | cnc::CORR_STRATEGY_G41_STARTS_CORRECTION { 1U }
G41, G42 only corrects the end of the following motion; G40 says the end of the previous motion will not be corrected.
constexpr uint32_t | cnc::CORR_STRATEGY_MASK { 0xFFU }
bits not used for correction strategy
constexpr uint32_t | cnc::CORR_STRATEGY_OLD_VERSION { 0x80000000U }
constexpr uint32_t | cnc::CORR_STRATEGY_G00_WITHOUT_CORR { 0x40000000U }
If this bit is set, G00 is always without correction.
constexpr uint32_t | cnc::CORR_STRATEGY_FORCE_TO_CONTINUE { 0x20000000U }
constexpr uint32_t | cnc::CORR_STRATEGY_CHECK_ORIGINAL_GCODE { 0x02000000U }
checks continuity of the G-code with the given tolerance (see GCODE_PARAMETERS::tolerance).
constexpr uint32_t | cnc::CORR_STRATEGY_REMOVE_LAST_ARC { 0x01000000 }
removes the last arc of a closed conture (in the case that the arc is the exit of the conture) if the equidistants do not cross
constexpr uint32_t | cnc::CORR_STRATEGY_REMOVE_FIRST_ARC { 0x00800000U }
removes the first arc of a closed conture (in the case that the arc is the approach of the conture) if the equidistants do not cross
constexpr uint32_t | cnc::CORR_STRATEGY_NO_ADD_R { 0x00400000U }
constexpr uint32_t | cnc::CORR_STRATEGY_REMOVE_SMALL_ARCS { 0x00200000U }
constexpr uint32_t | cnc::CORR_STRATEGY_ALLOW_REVERSE_LINES { 0x00100000U }
Allow more exact calculation of the tool compensation by reverse search with the buffer. Slows down the calculation.
constexpr uint32_t | cnc::CORR_STRATEGY_REMOVE_CROSSES { 0x00080000U }
After the calculation, if there are crossed parts (which are not crossed in the original G-code), these parts are removed.
constexpr uint32_t | cnc::CORR_STRATEGY_CONNECT_WRONG_BY_G1 { 0x00040000U }
After correction calculation, if there are unconnected parts, connect them by inserted G1.
constexpr uint32_t | cnc::CORR_STRATEGY_CONNECT_WRONG_BY_MOVE { 0x00020000U }
constexpr uint32_t | cnc::CORR_STRATEGY_ALLOW_FIRST_LAST_CROSS { 0x00010000U }
Allow crossing of the first and last part of the closed conture. In that case, parts inside are not removed.
constexpr uint32_t | cnc::CORR_STRATEGY_SEARCH_MASK { 0x00000700U }
mask bits for search deep number
constexpr uint32_t | cnc::CORR_STRATEGY_SEARCH_DEEP_10 { 0x00000100U }
Search at least 10 parts for possible crosses.
constexpr uint32_t | cnc::CORR_STRATEGY_SEARCH_DEEP_50 { 0x00000200U }
Search at least 50 parts for possible crosses.
constexpr uint32_t | cnc::CORR_STRATEGY_SEARCH_DEEP_100 { 0x00000300U }
Search at least 100 parts for possible crosses.
constexpr uint32_t | cnc::CORR_STRATEGY_SEARCH_DEEP_500 { 0x00000400U }
Search at least 500 parts for possible crosses.
constexpr uint32_t | cnc::CORR_STRATEGY_SEARCH_DEEP_1000 { 0x00000500U }
Search at least 1000 parts for possible crosses.
constexpr uint32_t | cnc::CORR_STRATEGY_SEARCH_DEEP_2000 { 0x00000600U }
Search at least 2000 parts for possible crosses.
constexpr uint32_t | cnc::CORR_STRATEGY_SEARCH_DEEP_ALL { 0x00000700U }
Search all parts for possible crosses.
constexpr uint32_t | cnc::CORR_STRATEGY_DEFAULT_DEEP { 1000U }
Default deep search number. Search at least 1000 G-code parts for possible crosses.
constexpr uint32_t | cnc::CORR_STRATEGY_MIN_DEEP { 10U }
Minimal search number.
constexpr uint32_t | cnc::F_BY_GCODE { 0U }
Feed is fully defined in G-code.
constexpr uint32_t | cnc::F_BY_PARAMETERS { 1U }
All feeds are set by values in motion array.
constexpr uint32_t | cnc::F_BY_PARAMETERS_FP_BY_GCODE { 2U }
All feeds are set by values in motion array but can be overridden by FP address.
constexpr uint32_t | cnc::DEF_GCODE_FEED_G00 { 0U }
indexes to feed table (GCODE_PARAMETERS::motion) More...
constexpr uint32_t | cnc::DEF_GCODE_FEED_G01 { 1U }
linear interpolation G1
constexpr uint32_t | cnc::DEF_GCODE_FEED_REVERSE { 2U }
backward movement (cnc_status::BACKWARD_32)
constexpr uint32_t | cnc::DEF_GCODE_FEED_CONNECT { 3U }
connect to trajectory
constexpr uint32_t | cnc::DEF_GCODE_FEED_WITHOUT_M { 4U }
movement without M functions
constexpr uint32_t | cnc::DEF_GCODE_FEED_GOTO_POSITION { 5U }
goto position
constexpr uint32_t | cnc::DEF_GCODE_FEED_NORMAL_STOP { 6U }
stop (only deceleration is used)
constexpr uint32_t | cnc::DEF_GCODE_FEED_EMERGENCY_STOP { 7U }
emergency stop (only deceleration is used)
constexpr uint32_t | cnc::DISABLE_OPCODE_CALL { 0x00000001U }
constexpr uint32_t | cnc::DISABLE_ASSIGN_CALL { 0x00000002U }
constexpr uint32_t | cnc::DISABLE_REFRESH_ALL_PARAMS_CALL { 0x00000004U }
constexpr uint32_t | cnc::GCODE_ALLOWED_CIRC_CENTER_ACCURACY { 0U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | cnc::GCODE_CROSSING_ACCURACY { 1U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | cnc::GCODE_ANGULAR_PRECISION { 2U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | cnc::GCODE_ANGULAR_DISTANCE_PRECISION { 3U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | cnc::GCODE_MINIMAL_ALLOWED_ARC_R { 4U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | cnc::GCODE_NO_ADD_R_MULTIPLIER { 5U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | cnc::GCODE_SOURCE_PRECISION { 6U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | cnc::GCODE_MINIMAL_ALLOWED_LINE_LENGTH { 7U }
index to GCODE_PARAMETERS::tolerance array
constexpr uint32_t | cnc::INTERPOLATOR_CONFIG0_USE_REL_SPEED_BY_TIME { 0x0000'0001 }
constexpr uint32_t | cnc::INTERPOLATOR_CONFIG0_CONT_M_FUNC_IN_PLACE { 0x0000'0002 }
constexpr uint32_t | cnc::INTERPOLATOR_CONFIG0_DO_NOT_STOP_BETWEEN_G00_G01 { 0x0001'0000 }
constexpr uint32_t | cnc::INTERPOLATOR_CONFIG0_USE_FAST_FEED_IN_ALL_REGIMES { 0x0002'0000 }
constexpr uint32_t | cnc::GCODE_SIZE_ORIGINAL_IDX { 0U }
original G-code
constexpr uint32_t | cnc::GCODE_SIZE_CORRECTED_IDX { 1U }
compensated G-code
constexpr uint32_t | cnc::GCODE_SIZE_ROTATED_IDX { 2U }
original rotated G-code
constexpr uint32_t | cnc::GCODE_SIZE_ROTATED_CORRECTED_IDX { 3U }
compensated rotated G-code
constexpr uint32_t | cnc::DEVICE_ERROR_OUT_TAB { 0U }
add log message to specific log window if possible
constexpr uint32_t | cnc::CNC_OUT_TAB { 1U }
add log message to specific log window if possible
constexpr uint32_t | cnc::M29_OUT_TAB { 2U }
add log message to specific log window if possible
constexpr uint32_t | cnc::STATUS_LINE_ONLY { 3U }
add log message to specific log window if possible
constexpr uint32_t | cnc::ACTIVATE_TAB { 0x100U }
activate the selected tab
constexpr uint32_t | cnc::PREFIX_TIME { 0x200U }
prefix the message with time
constexpr uint32_t | cnc::APP_AddOutputLogFunc { 1U }
callback index number
constexpr uint32_t | cnc::APP_SetStatusBarTextFunc { 2U }
callback index number
constexpr uint32_t | cnc::APP_IsDebugModeFunc { 3U }
callback index number
constexpr uint32_t | cnc::APP_IsVerboseModeFunc { 4U }
callback index number
constexpr uint32_t | cnc::APP_GetLibPathFunc { 5U }
callback index number
constexpr uint32_t | cnc::APP_GetToolPathFunc { 6U }
callback index number
constexpr uint32_t | cnc::APP_GetSystemPathFunc { 7U }
callback index number
constexpr uint32_t | cnc::APP_GetFileTimeStampFunc { 10U }
callback index number
constexpr uint32_t | cnc::APP_DoYieldFunc { 11U }
callback index number
constexpr uint32_t | cnc::APP_ReadIniStringFunc { 12U }
callback index number
constexpr uint32_t | cnc::APP_ReadIniDoubleFunc { 13U }
callback index number
constexpr uint32_t | cnc::APP_ReadIniIntFunc { 14U }
callback index number
constexpr uint32_t | cnc::APP_IsBreakpointFunc { 17U }
callback index number
constexpr uint32_t | cnc::APP_DispAndLocateErrorFunc { 18U }
callback index number
constexpr uint32_t | cnc::APP_SetStatusBarProgressFunc { 32U }
callback index number
constexpr uint32_t | cnc::APP_MaxFuncNumber { 1000U }
last function in APP group
constexpr uint32_t | cnc::DRV_InitializeFunc { 1001U }
callback index number
constexpr uint32_t | cnc::DRV_GFunc { 1002U }
callback index number
constexpr uint32_t | cnc::DRV_MFunc { 1003U }
callback index number
constexpr uint32_t | cnc::ConnectPointCalcStartFuncNumber { 1004U }
callback index number
constexpr uint32_t | cnc::ConnectPointCalcFunc_UseReturnValues { 1U }
Return value of ConnectPointCalcFunc or ConnectPointCalcEndFunc values are used.
constexpr uint32_t | cnc::ConnectPointCalcFuncNumber { 1005U }
callback index number
constexpr uint32_t | cnc::ConnectPointCalcEndFuncNumber { 1006U }
callback index number
constexpr uint32_t | cnc::DRV_End { 1007U }
callback index number
constexpr int32_t | CNC_CALC_MFUNC_OFFSET { 10000 }
constexpr uint32_t | CNC_CALC_DISABLE_AUTOMATIC_GCODEINDEX_UPDATE_BIT { 0x01U }
if used, TGMotion does not automatically update GCodeIndex value of the inserted parts
constexpr uint32_t | CNC_CALC_MAX_STATIC_RETURNED_PARTS { 8U }
constexpr int32_t | CNC_CALC_RETURN_ERROR { -1 }
constexpr int32_t | CNC_CALC_RETURN_IGNORE { 0 }
constexpr int32_t | CNC_CALC_RETURN_USE { 1 }
constexpr int32_t | CNC_CALC_RETURN_OK { 1 }
constexpr int32_t | CNC_CALC_RETURN_FEED_ONLY { 2 }
constexpr uint32_t | CNC_CALC_IDX_INIT_DATA_STRUCT { 0U }
parameter for CNC_Calc_Get_Structures_Size
constexpr uint32_t | CNC_CALC_IDX_SIMPLE_GM_PARAMS_BASE_STRUCT { 1U }
parameter for CNC_Calc_Get_Structures_Size
constexpr uint32_t | CNC_CALC_IDX_RETURN_VALUE_STRUCT { 2U }
parameter for CNC_Calc_Get_Structures_Size
constexpr int32_t | G_FUNC_SETTINGS { 900 }
Special G-code function number. See Special settings function G900.
constexpr uint32_t | G_FUNC_SETTINGS_PUSH { 1U }
See Special settings function G900.
constexpr uint32_t | G_FUNC_SETTINGS_POP { 2U }
See Special settings function G900.
constexpr uint32_t | G_FUNC_SETTINGS_SET_AXIS_LIMITS { 7U }
See Special settings function G900.
constexpr uint32_t | G_FUNC_SETTINGS_SET_MUTUAL_ANGLES { 9U }
See Special settings function G900.
constexpr uint32_t | G_FUNC_SETTINGS_ENA_MUTUAL_ANGLES { 10U }
See Special settings function G900.
constexpr uint32_t | G_FUNC_SETTINGS_ENA_FEED_CALC { 11U }
See Special settings function G900.
constexpr uint32_t | G_FUNC_SETTINGS_SET_ANGLE_MODE { 12U }
See Special settings function G900.
constexpr uint32_t | G_FUNC_SETTINGS_IGNORE_ARC_FEED_TBL { 13U }
See Special settings function G900.
constexpr uint32_t | G_FUNC_SETTINGS_FEED_G00 { 20U }
See Special settings function G900.
constexpr uint32_t | G_FUNC_SETTINGS_FEED_FORWARD { 30U }
See Special settings function G900.
constexpr uint32_t | G_FUNC_SETTINGS_FEED_FORWARD_NO_M { 31U }
See Special settings function G900.
constexpr uint32_t | G_FUNC_SETTINGS_FEED_BACKWARD { 32U }
See Special settings function G900.
constexpr uint32_t | G_FUNC_SETTINGS_FEED_CONNECT { 40U }
See Special settings function G900.
constexpr uint32_t | G_FUNC_SETTINGS_FEED_GOTO { 50U }
See Special settings function G900.
constexpr uint32_t | G_FUNC_SETTINGS_FEED_NORMAL_STOP { 60U }
See Special settings function G900.
constexpr uint32_t | G_FUNC_SETTINGS_FEED_EMERGENCY_STOP { 70U }
See Special settings function G900.

Detailed Description

Main include file for CNC module of TG Motion.

Copyright
2007-2018 TG Drives s.r.o. Olomoucka 1290/79 CZ-627 00 Brno Czech Republic
Author
Jan Vasina

Release notes

  • 09.04.2018 Initial release
  • 25.06.2018 Added G900 function description
  • 03.10.2018 CNC plug-ins, new callback function for connecting
  • 16.10.2019 Rewritten according to AUTOSAR rules
  • include
  • tgm_cnc.h


TG Motion: tgm_cnc_linux.h File Reference

tgm_cnc_linux.h File Reference

Linux specific declarations for CNC module. More...

Detailed Description

Linux specific declarations for CNC module.

Copyright
2007-2019 TG Drives s.r.o. Olomoucka 1290/79 CZ-627 00 Brno Czech Republic
Author
Jan Vasina

Release notes

  • 16.10.2019 Initial release
  • include
  • tgm_cnc_linux.h


TG Motion: tgm_cnc_windows.h File Reference

Macros
tgm_cnc_windows.h File Reference

Windows specific declarations. More...

Detailed Description

Windows specific declarations.

Copyright
2007-2019 TG Drives s.r.o. Olomoucka 1290/79 CZ-627 00 Brno Czech Republic
Author
Jan Vasina

Release notes

  • 16.10.2019 Initial release
  • include
  • tgm_cnc_windows.h


TG Motion: tgm_comm_int_5_dll.h File Reference

Classes | Typedefs
tgm_comm_int_5_dll.h File Reference

C++ interface file to TGM_Comm_Int_5 library (DLL or so) More...

#include "tgm.h"
#include "fmt/printf.h"
#include "xcompatibility.h"

Classes

class CTGM_COMM_INT_5
C++ wrapper class for TGM_Comm_Int_2 library functions. More...

Typedefs

using | TGM_IF_ERR = CTGM_COMM_INT_5::error_code
Simplify write of CTGM_COMM_INT_5::error_code.
using | TGM_IF_RW = CTGM_COMM_INT_5::read_write
Simplify write of CTGM_COMM_INT_5::read_write.
using | TGM_IF_STAT = CTGM_COMM_INT_5::status
Simplify write of CTGM_COMM_INT_5::status.
using | TGM_IF_DEV = CTGM_COMM_INT_5::device
Simplify write of CTGM_COMM_INT_5::device.
using | TGM_IF_MEM = CTGM_COMM_INT_5::shared_memory
Simplify write of CTGM_COMM_INT_5::shared_memory.
using | TGM_IF_CONN_MEM = CTGM_COMM_INT_5::connected_memory
Simplify write of CTGM_COMM_INT_5::connected_memory.

Detailed Description

C++ interface file to TGM_Comm_Int_5 library (DLL or so)

Copyright
2007-2020 TG Drives s.r.o. Olomoucka 1290/79 CZ-627 00 Brno Czech Republic
Author
Jan Vasina
Date
2020.02.20

TGM_Comm_Int_5 library serves as an interface between user application and TG Motion real-time system. All the communication to/from TG Motion is done through shared memories. The TGM_Comm_Int_5 library hides the details of shared memory opening, closing, etc. This wrapper class can be used on both Windows (uses plain Win32 API) or Linux (uses Qt portable library) operating systems.

  • include
  • tgm_comm_int_5_dll.h


TG Motion: tgm_compiler_msvc.h File Reference

tgm_compiler_msvc.h File Reference

Microsoft C++ compiler specific declarations. More...

Detailed Description

Microsoft C++ compiler specific declarations.

Copyright
TG Drives s.r.o.
Author
Jan Vasina
Date
2019.10.01
  • include
  • tgm_compiler_msvc.h


TG Motion: File Members

Here is a list of all documented file members with links to the documentation:

- c -

  • CAN_TRANSMIT : tgm.h
  • CAN_TRANSMITREMOTE : tgm.h
  • CNC_CALC_DISABLE_AUTOMATIC_GCODEINDEX_UPDATE_BIT : tgm_cnc.h
  • CNC_Calc_Finish() : tgm_cnc.h
  • CNC_CALC_FINISH : tgm_cnc.h
  • CNC_Calc_Get_Compatibility_IDs() : tgm_cnc.h
  • CNC_CALC_GET_COMPATIBILITY_IDS : tgm_cnc.h
  • CNC_Calc_Get_Structures_Size() : tgm_cnc.h
  • CNC_CALC_GET_STRUCTURES_SIZE : tgm_cnc.h
  • CNC_Calc_GFunc() : tgm_cnc.h
  • CNC_CALC_GFUNC : tgm_cnc.h
  • CNC_CALC_IDX_INIT_DATA_STRUCT : tgm_cnc.h
  • CNC_CALC_IDX_RETURN_VALUE_STRUCT : tgm_cnc.h
  • CNC_CALC_IDX_SIMPLE_GM_PARAMS_BASE_STRUCT : tgm_cnc.h
  • CNC_Calc_Load() : tgm_cnc.h
  • CNC_CALC_LOAD : tgm_cnc.h
  • CNC_CALC_MAX_STATIC_RETURNED_PARTS : tgm_cnc.h
  • CNC_Calc_MFunc() : tgm_cnc.h
  • CNC_CALC_MFUNC : tgm_cnc.h
  • CNC_CALC_MFUNC_OFFSET : tgm_cnc.h
  • CNC_CALC_RETURN_ERROR : tgm_cnc.h
  • CNC_CALC_RETURN_FEED_ONLY : tgm_cnc.h
  • CNC_CALC_RETURN_IGNORE : tgm_cnc.h
  • CNC_CALC_RETURN_OK : tgm_cnc.h
  • CNC_CALC_RETURN_USE : tgm_cnc.h
  • CNC_Calc_Start() : tgm_cnc.h
  • CNC_CALC_START : tgm_cnc.h
  • CNC_Calc_Unload() : tgm_cnc.h
  • CNC_CALC_UNLOAD : tgm_cnc.h
  • countof() : tgm.h

- d -

  • DIO_TYPE : tgm.h

- e -

  • ECAT_REGISTER_CONTROL : tgm.h
  • EXT_SDO_CONTROL : tgm.h
  • EXT_SDO_STATUS : tgm.h

- f -

  • FIXED_MAIN_STRUCT_SIZE : tgm.h
  • FIXED_NUMBER_OF_INTERPOLATORS : tgm.h

- g -

  • G_FUNC_SETTINGS : tgm_cnc.h
  • G_FUNC_SETTINGS_ENA_FEED_CALC : tgm_cnc.h
  • G_FUNC_SETTINGS_ENA_MUTUAL_ANGLES : tgm_cnc.h
  • G_FUNC_SETTINGS_FEED_BACKWARD : tgm_cnc.h
  • G_FUNC_SETTINGS_FEED_CONNECT : tgm_cnc.h
  • G_FUNC_SETTINGS_FEED_EMERGENCY_STOP : tgm_cnc.h
  • G_FUNC_SETTINGS_FEED_FORWARD : tgm_cnc.h
  • G_FUNC_SETTINGS_FEED_FORWARD_NO_M : tgm_cnc.h
  • G_FUNC_SETTINGS_FEED_G00 : tgm_cnc.h
  • G_FUNC_SETTINGS_FEED_GOTO : tgm_cnc.h
  • G_FUNC_SETTINGS_FEED_NORMAL_STOP : tgm_cnc.h
  • G_FUNC_SETTINGS_IGNORE_ARC_FEED_TBL : tgm_cnc.h
  • G_FUNC_SETTINGS_POP : tgm_cnc.h
  • G_FUNC_SETTINGS_PUSH : tgm_cnc.h
  • G_FUNC_SETTINGS_SET_ANGLE_MODE : tgm_cnc.h
  • G_FUNC_SETTINGS_SET_AXIS_LIMITS : tgm_cnc.h
  • G_FUNC_SETTINGS_SET_MUTUAL_ANGLES : tgm_cnc.h

- i -

  • ID_CNC_COMPATIBILITY : tgm.h
  • ID_COMPATIBILITY : tgm.h
  • ID_MEMORY_COMPATIBILITY : tgm.h
  • INTERPOLATOR_COMMANDS : tgm.h
  • interpolator_status : tgm.h

- m -

  • MAX_CORES : tgm.h
  • MAX_DIO : tgm.h
  • MAX_ECAT_DRIVER_FILE_NAME_SIZE : tgm.h
  • MAX_INTERPOLATOR : tgm.h
  • MAX_INTERPOLATOR_AXES : tgm.h
  • MAX_INTERPOLATOR_BUFFER_SIZE : tgm.h
  • MAX_PLC_FILE_NAME_SIZE : tgm.h
  • MAX_SERVO : tgm.h
  • MAX_TIMER_DOWN : tgm.h
  • MAX_TIMER_UP : tgm.h
  • MFUNC_NUMBER_PAR : tgm.h
  • MIN_INTERPOLATOR_BUFFER_SIZE : tgm.h

- n -

  • N_OSC_CHANNELS : tgm.h
  • NAME_CAM_PROFILE_MEMORY : tgm.h
  • NAME_CNCEX_MEMORY : tgm.h
  • NAME_CNCODS_MEMORY : tgm.h
  • NAME_DATA_MEMORY : tgm.h
  • NAME_DIO_MEMORY : tgm.h
  • NAME_GENERAL_MEMORY : tgm.h
  • NAME_INTERPOLATOR_MEMORY : tgm.h
  • NAME_INTERPOLATOR_READ_MEMORY : tgm.h
  • NAME_INTERPOLATOR_WRITE_MEMORY : tgm.h
  • NAME_ODS_MEMORY : tgm.h
  • NAME_OSCILLOSCOPE_MEMORY : tgm.h
  • NAME_SERVO_MEMORY : tgm.h
  • NAME_SYSTEM_MEMORY : tgm.h

- o -

  • ods_id : tgm.h
  • ODS_ID_ERROR() : tgm.h
  • ODS_ID_INFO() : tgm.h
  • ODS_ID_SEVERITY() : tgm.h
  • ODS_ID_WARNING() : tgm.h
  • ods_severity : tgm.h
  • ods_thread : tgm.h
  • OSC_DATA_TYPE : tgm.h

- p -

  • PLC_CTRL_DISABLE_DIO_BIT : tgm.h
  • PLC_CTRL_ERROR_BIT : tgm.h
  • PLC_CTRL_LOAD_BIT : tgm.h
  • PLC_CTRL_PAUSE_BIT : tgm.h
  • PLC_CTRL_RESET_BIT : tgm.h
  • PPLC_DATA : tgm.h

- r -

  • RTWPRINTF_STRING_SEVERITY : tgm.h

- s -

  • SDO_CONTROL_FINISHED : tgm.h
  • SDO_CONTROL_READ : tgm.h
  • SDO_CONTROL_WRITE : tgm.h
  • SDO_STATUS_BUSY : tgm.h
  • SDO_STATUS_ERR : tgm.h
  • SDO_STATUS_OK : tgm.h
  • SERVO_TYPE : tgm.h
  • SHARED_MEMORY : tgm.h
  • SIZE_CAM_PROFILE_MEMORY : tgm.h
  • SIZE_CNCEX_MEMORY : tgm.h
  • SIZE_CNCODS_MEMORY : tgm.h
  • SIZE_DATA_MEMORY : tgm.h
  • SIZE_EEPROM_MEMORY : tgm.h
  • SIZE_OSCILLOSCOPE_MEMORY : tgm.h
  • SLEEPFT : tgm.h

- t -

  • TGM_IF_CONN_MEM : tgm_comm_int_5_dll.h
  • TGM_IF_DEV : tgm_comm_int_5_dll.h
  • TGM_IF_ERR : tgm_comm_int_5_dll.h
  • TGM_IF_MEM : tgm_comm_int_5_dll.h
  • TGM_IF_RW : tgm_comm_int_5_dll.h
  • TGM_IF_STAT : tgm_comm_int_5_dll.h
  • TGM_KILL : tgm.h
  • TGM_LOG_CAN : tgm.h
  • TGM_LOG_ENABLE_RTX_SERVER : tgm.h
  • TGM_LOG_ETHERCAT : tgm.h
  • TGM_LOG_ETHERCAT_DC : tgm.h
  • TGM_LOG_ETHERCAT_SDO : tgm.h
  • TGM_LOG_ETHERCAT_STATUS : tgm.h
  • TGM_LOG_ETHERNET : tgm.h
  • TGM_LOG_GEAR : tgm.h
  • TGM_LOG_INTEPOLATOR : tgm.h
  • TGM_LOG_MAIN : tgm.h
  • TGM_LOG_PG : tgm.h
  • TGM_LOG_VERBOSE_EXPORTS : tgm.h
  • TGM_LOG_VERBOSE_PE : tgm.h
  • TGM_LOG_VERBOSE_RELOC : tgm.h
  • TGM_REBOOT : tgm.h
  • TGM_RELOAD_INI : tgm.h
  • TGM_RESET_ECAT_BUS : tgm.h
  • TGM_VERSION : tgm.h
  • ToolChain_FlushLogFile() : tgm_cnc.h
  • ToolChain_LogANSI() : tgm_cnc.h
  • ToolChainCore_CompileFromFile() : tgm_cnc.h
  • ToolChainCore_CompileFromMemory() : tgm_cnc.h
  • ToolChainCore_ConnectCNCEx_Plane() : tgm_cnc.h
  • ToolChainCore_DestroyCNC() : tgm_cnc.h
  • ToolChainCore_FileToIdx() : tgm_cnc.h
  • ToolChainCore_GCodePrefixPostfix() : tgm_cnc.h
  • ToolChainCore_GetGCodeParameters() : tgm_cnc.h
  • ToolChainCore_GetGCodeRunTime() : tgm_cnc.h
  • ToolChainCore_GetGCodeSizeInfo() : tgm_cnc.h
  • ToolChainCore_GetLastError() : tgm_cnc.h
  • ToolChainCore_GetLogValue() : tgm_cnc.h
  • ToolChainCore_GetMachineParameters() : tgm_cnc.h
  • ToolChainCore_GetPosEx() : tgm_cnc.h
  • ToolChainCore_GetStructuresSize() : tgm_cnc.h
  • ToolChainCore_GetVersionString() : tgm_cnc.h
  • ToolChainCore_GoToPosition() : tgm_cnc.h
  • ToolChainCore_GoToPositionEx() : tgm_cnc.h
  • ToolChainCore_IdxToFile() : tgm_cnc.h
  • ToolChainCore_Init() : tgm_cnc.h
  • ToolChainCore_IsBusy() : tgm_cnc.h
  • ToolChainCore_LoadCNCCalcPlugIn() : tgm_cnc.h
  • ToolChainCore_LoadFromIni() : tgm_cnc.h
  • ToolChainCore_MFunc() : tgm_cnc.h
  • ToolChainCore_ResetCNC() : tgm_cnc.h
  • ToolChainCore_ResetStatusCNC() : tgm_cnc.h
  • ToolChainCore_SetBreakpoint() : tgm_cnc.h
  • ToolChainCore_SetCallBack() : tgm_cnc.h
  • ToolChainCore_SetGCodeParameters() : tgm_cnc.h
  • ToolChainCore_SetGCodeRunTime() : tgm_cnc.h
  • ToolChainCore_SetLogValue() : tgm_cnc.h
  • ToolChainCore_SetMachineParameters() : tgm_cnc.h
  • ToolChainCore_SetRelFeed() : tgm_cnc.h
  • ToolChainCore_SetUserParams() : tgm_cnc.h
  • ToolChainCore_StartCNCEx() : tgm_cnc.h
  • ToolChainCore_StatusCNC() : tgm_cnc.h
  • ToolChainCore_StopCNCEx() : tgm_cnc.h

- u -

  • UNREFERENCED_PARAM() : tgm.h


TG Motion: File Members

- c -

  • CNC_Calc_Finish() : tgm_cnc.h
  • CNC_Calc_Get_Compatibility_IDs() : tgm_cnc.h
  • CNC_Calc_Get_Structures_Size() : tgm_cnc.h
  • CNC_Calc_GFunc() : tgm_cnc.h
  • CNC_Calc_Load() : tgm_cnc.h
  • CNC_Calc_MFunc() : tgm_cnc.h
  • CNC_Calc_Start() : tgm_cnc.h
  • CNC_Calc_Unload() : tgm_cnc.h
  • countof() : tgm.h

- o -

  • ODS_ID_ERROR() : tgm.h
  • ODS_ID_INFO() : tgm.h
  • ODS_ID_SEVERITY() : tgm.h
  • ODS_ID_WARNING() : tgm.h

- t -

  • ToolChain_FlushLogFile() : tgm_cnc.h
  • ToolChain_LogANSI() : tgm_cnc.h
  • ToolChainCore_CompileFromFile() : tgm_cnc.h
  • ToolChainCore_CompileFromMemory() : tgm_cnc.h
  • ToolChainCore_ConnectCNCEx_Plane() : tgm_cnc.h
  • ToolChainCore_DestroyCNC() : tgm_cnc.h
  • ToolChainCore_FileToIdx() : tgm_cnc.h
  • ToolChainCore_GCodePrefixPostfix() : tgm_cnc.h
  • ToolChainCore_GetGCodeParameters() : tgm_cnc.h
  • ToolChainCore_GetGCodeRunTime() : tgm_cnc.h
  • ToolChainCore_GetGCodeSizeInfo() : tgm_cnc.h
  • ToolChainCore_GetLastError() : tgm_cnc.h
  • ToolChainCore_GetLogValue() : tgm_cnc.h
  • ToolChainCore_GetMachineParameters() : tgm_cnc.h
  • ToolChainCore_GetPosEx() : tgm_cnc.h
  • ToolChainCore_GetStructuresSize() : tgm_cnc.h
  • ToolChainCore_GetVersionString() : tgm_cnc.h
  • ToolChainCore_GoToPosition() : tgm_cnc.h
  • ToolChainCore_GoToPositionEx() : tgm_cnc.h
  • ToolChainCore_IdxToFile() : tgm_cnc.h
  • ToolChainCore_Init() : tgm_cnc.h
  • ToolChainCore_IsBusy() : tgm_cnc.h
  • ToolChainCore_LoadCNCCalcPlugIn() : tgm_cnc.h
  • ToolChainCore_LoadFromIni() : tgm_cnc.h
  • ToolChainCore_MFunc() : tgm_cnc.h
  • ToolChainCore_ResetCNC() : tgm_cnc.h
  • ToolChainCore_ResetStatusCNC() : tgm_cnc.h
  • ToolChainCore_SetBreakpoint() : tgm_cnc.h
  • ToolChainCore_SetCallBack() : tgm_cnc.h
  • ToolChainCore_SetGCodeParameters() : tgm_cnc.h
  • ToolChainCore_SetGCodeRunTime() : tgm_cnc.h
  • ToolChainCore_SetLogValue() : tgm_cnc.h
  • ToolChainCore_SetMachineParameters() : tgm_cnc.h
  • ToolChainCore_SetRelFeed() : tgm_cnc.h
  • ToolChainCore_SetUserParams() : tgm_cnc.h
  • ToolChainCore_StartCNCEx() : tgm_cnc.h
  • ToolChainCore_StatusCNC() : tgm_cnc.h
  • ToolChainCore_StopCNCEx() : tgm_cnc.h

- u -

  • UNREFERENCED_PARAM() : tgm.h


TG Motion: File Members

- c -

  • CNC_CALC_DISABLE_AUTOMATIC_GCODEINDEX_UPDATE_BIT : tgm_cnc.h
  • CNC_CALC_IDX_INIT_DATA_STRUCT : tgm_cnc.h
  • CNC_CALC_IDX_RETURN_VALUE_STRUCT : tgm_cnc.h
  • CNC_CALC_IDX_SIMPLE_GM_PARAMS_BASE_STRUCT : tgm_cnc.h
  • CNC_CALC_MAX_STATIC_RETURNED_PARTS : tgm_cnc.h
  • CNC_CALC_MFUNC_OFFSET : tgm_cnc.h
  • CNC_CALC_RETURN_ERROR : tgm_cnc.h
  • CNC_CALC_RETURN_FEED_ONLY : tgm_cnc.h
  • CNC_CALC_RETURN_IGNORE : tgm_cnc.h
  • CNC_CALC_RETURN_OK : tgm_cnc.h
  • CNC_CALC_RETURN_USE : tgm_cnc.h

- f -

  • FIXED_MAIN_STRUCT_SIZE : tgm.h
  • FIXED_NUMBER_OF_INTERPOLATORS : tgm.h

- g -

  • G_FUNC_SETTINGS : tgm_cnc.h
  • G_FUNC_SETTINGS_ENA_FEED_CALC : tgm_cnc.h
  • G_FUNC_SETTINGS_ENA_MUTUAL_ANGLES : tgm_cnc.h
  • G_FUNC_SETTINGS_FEED_BACKWARD : tgm_cnc.h
  • G_FUNC_SETTINGS_FEED_CONNECT : tgm_cnc.h
  • G_FUNC_SETTINGS_FEED_EMERGENCY_STOP : tgm_cnc.h
  • G_FUNC_SETTINGS_FEED_FORWARD : tgm_cnc.h
  • G_FUNC_SETTINGS_FEED_FORWARD_NO_M : tgm_cnc.h
  • G_FUNC_SETTINGS_FEED_G00 : tgm_cnc.h
  • G_FUNC_SETTINGS_FEED_GOTO : tgm_cnc.h
  • G_FUNC_SETTINGS_FEED_NORMAL_STOP : tgm_cnc.h
  • G_FUNC_SETTINGS_IGNORE_ARC_FEED_TBL : tgm_cnc.h
  • G_FUNC_SETTINGS_POP : tgm_cnc.h
  • G_FUNC_SETTINGS_PUSH : tgm_cnc.h
  • G_FUNC_SETTINGS_SET_ANGLE_MODE : tgm_cnc.h
  • G_FUNC_SETTINGS_SET_AXIS_LIMITS : tgm_cnc.h
  • G_FUNC_SETTINGS_SET_MUTUAL_ANGLES : tgm_cnc.h

- i -

  • ID_CNC_COMPATIBILITY : tgm.h
  • ID_COMPATIBILITY : tgm.h
  • ID_MEMORY_COMPATIBILITY : tgm.h

- m -

  • MAX_CORES : tgm.h
  • MAX_DIO : tgm.h
  • MAX_ECAT_DRIVER_FILE_NAME_SIZE : tgm.h
  • MAX_INTERPOLATOR : tgm.h
  • MAX_INTERPOLATOR_AXES : tgm.h
  • MAX_INTERPOLATOR_BUFFER_SIZE : tgm.h
  • MAX_PLC_FILE_NAME_SIZE : tgm.h
  • MAX_SERVO : tgm.h
  • MAX_TIMER_DOWN : tgm.h
  • MAX_TIMER_UP : tgm.h
  • MFUNC_NUMBER_PAR : tgm.h
  • MIN_INTERPOLATOR_BUFFER_SIZE : tgm.h

- n -

  • N_OSC_CHANNELS : tgm.h
  • NAME_CAM_PROFILE_MEMORY : tgm.h
  • NAME_CNCEX_MEMORY : tgm.h
  • NAME_CNCODS_MEMORY : tgm.h
  • NAME_DATA_MEMORY : tgm.h
  • NAME_DIO_MEMORY : tgm.h
  • NAME_GENERAL_MEMORY : tgm.h
  • NAME_INTERPOLATOR_MEMORY : tgm.h
  • NAME_INTERPOLATOR_READ_MEMORY : tgm.h
  • NAME_INTERPOLATOR_WRITE_MEMORY : tgm.h
  • NAME_ODS_MEMORY : tgm.h
  • NAME_OSCILLOSCOPE_MEMORY : tgm.h
  • NAME_SERVO_MEMORY : tgm.h
  • NAME_SYSTEM_MEMORY : tgm.h

- p -

  • PLC_CTRL_DISABLE_DIO_BIT : tgm.h
  • PLC_CTRL_ERROR_BIT : tgm.h
  • PLC_CTRL_LOAD_BIT : tgm.h
  • PLC_CTRL_PAUSE_BIT : tgm.h
  • PLC_CTRL_RESET_BIT : tgm.h

- s -

  • SDO_CONTROL_FINISHED : tgm.h
  • SDO_CONTROL_READ : tgm.h
  • SDO_CONTROL_WRITE : tgm.h
  • SDO_STATUS_BUSY : tgm.h
  • SDO_STATUS_ERR : tgm.h
  • SDO_STATUS_OK : tgm.h
  • SIZE_CAM_PROFILE_MEMORY : tgm.h
  • SIZE_CNCEX_MEMORY : tgm.h
  • SIZE_CNCODS_MEMORY : tgm.h
  • SIZE_DATA_MEMORY : tgm.h
  • SIZE_EEPROM_MEMORY : tgm.h
  • SIZE_OSCILLOSCOPE_MEMORY : tgm.h

- t -

  • TGM_KILL : tgm.h
  • TGM_LOG_CAN : tgm.h
  • TGM_LOG_ENABLE_RTX_SERVER : tgm.h
  • TGM_LOG_ETHERCAT : tgm.h
  • TGM_LOG_ETHERCAT_DC : tgm.h
  • TGM_LOG_ETHERCAT_SDO : tgm.h
  • TGM_LOG_ETHERCAT_STATUS : tgm.h
  • TGM_LOG_ETHERNET : tgm.h
  • TGM_LOG_GEAR : tgm.h
  • TGM_LOG_INTEPOLATOR : tgm.h
  • TGM_LOG_MAIN : tgm.h
  • TGM_LOG_PG : tgm.h
  • TGM_LOG_VERBOSE_EXPORTS : tgm.h
  • TGM_LOG_VERBOSE_PE : tgm.h
  • TGM_LOG_VERBOSE_RELOC : tgm.h
  • TGM_REBOOT : tgm.h
  • TGM_RELOAD_INI : tgm.h
  • TGM_RESET_ECAT_BUS : tgm.h
  • TGM_VERSION : tgm.h


TG Motion: File Members

  • CAN_TRANSMIT : tgm.h
  • CAN_TRANSMITREMOTE : tgm.h
  • CNC_CALC_FINISH : tgm_cnc.h
  • CNC_CALC_GET_COMPATIBILITY_IDS : tgm_cnc.h
  • CNC_CALC_GET_STRUCTURES_SIZE : tgm_cnc.h
  • CNC_CALC_GFUNC : tgm_cnc.h
  • CNC_CALC_LOAD : tgm_cnc.h
  • CNC_CALC_MFUNC : tgm_cnc.h
  • CNC_CALC_START : tgm_cnc.h
  • CNC_CALC_UNLOAD : tgm_cnc.h
  • PPLC_DATA : tgm.h
  • RTWPRINTF_STRING_SEVERITY : tgm.h
  • SLEEPFT : tgm.h
  • TGM_IF_CONN_MEM : tgm_comm_int_5_dll.h
  • TGM_IF_DEV : tgm_comm_int_5_dll.h
  • TGM_IF_ERR : tgm_comm_int_5_dll.h
  • TGM_IF_MEM : tgm_comm_int_5_dll.h
  • TGM_IF_RW : tgm_comm_int_5_dll.h
  • TGM_IF_STAT : tgm_comm_int_5_dll.h


TG Motion: File Members

  • DIO_TYPE : tgm.h
  • ECAT_REGISTER_CONTROL : tgm.h
  • EXT_SDO_CONTROL : tgm.h
  • EXT_SDO_STATUS : tgm.h
  • INTERPOLATOR_COMMANDS : tgm.h
  • interpolator_status : tgm.h
  • ods_id : tgm.h
  • ods_severity : tgm.h
  • ods_thread : tgm.h
  • OSC_DATA_TYPE : tgm.h
  • SERVO_TYPE : tgm.h
  • SHARED_MEMORY : tgm.h


TG Motion: include Directory Reference

include Directory Reference

Files

file | tgm.h
Main include file for TG Motion. Can be used as the only include for virtual PLC projects.
file | tgm_cnc.h
Main include file for CNC module of TG Motion.
file | tgm_cnc_linux.h
Linux specific declarations for CNC module.
file | tgm_cnc_windows.h
Windows specific declarations.
file | tgm_comm_int_5_dll.h
C++ interface file to TGM_Comm_Int_5 library (DLL or so)
file | tgm_compiler_msvc.h
Microsoft C++ compiler specific declarations.
  • include


TG Motion: Member List

cnc::TGM_FUNCTION_INTERNAL Member List

This is the complete list of members for cnc::TGM_FUNCTION_INTERNAL, including all inherited members.

addGCode | cnc::TGM_FUNCTION_INTERNAL |
connectType | cnc::TGM_FUNCTION_INTERNAL |
coords | cnc::TGM_FUNCTION_INTERNAL |
gCodeIndex_connect | cnc::TGM_FUNCTION_INTERNAL |
GCodeParameters | cnc::TGM_FUNCTION_INTERNAL |
MAX_GCODE_EX_SIZE | cnc::TGM_FUNCTION_INTERNAL | static
nCoords | cnc::TGM_FUNCTION_INTERNAL |
number | cnc::TGM_FUNCTION_INTERNAL |
nUserParams | cnc::TGM_FUNCTION_INTERNAL |
regime | cnc::TGM_FUNCTION_INTERNAL |
reserved0 | cnc::TGM_FUNCTION_INTERNAL |
reserved1 | cnc::TGM_FUNCTION_INTERNAL |
userParams | cnc::TGM_FUNCTION_INTERNAL |


TG Motion: Member List

INTERPOLATOR Member List

This is the complete list of members for INTERPOLATOR, including all inherited members.

Act_GFunc | INTERPOLATOR |
Act_MFunc | INTERPOLATOR |
Act_Part | INTERPOLATOR |
Act_Rel_Speed | INTERPOLATOR |
Act_Speed | INTERPOLATOR |
Adrress_External_Position | INTERPOLATOR |
Backlash | INTERPOLATOR |
Buffer_Size | INTERPOLATOR |
Command | INTERPOLATOR |
Command_Parametr | INTERPOLATOR |
Command_Status | INTERPOLATOR |
Cont_MFunc_History | INTERPOLATOR |
correction | INTERPOLATOR |
DReserve | INTERPOLATOR |
editorLine | INTERPOLATOR |
fileIdx | INTERPOLATOR |
IReserve | INTERPOLATOR |
Last_ContMFunc | INTERPOLATOR |
LookAheadBuffer | INTERPOLATOR |
LookAheadBufferValidEnd | INTERPOLATOR |
LookAheadBufferValidStart | INTERPOLATOR |
M_Func | INTERPOLATOR |
M_Func_Params_Reserved | INTERPOLATOR |
M_Function_Parameter | INTERPOLATOR |
MAX_INTERPOLATOR_PARAMETERS | INTERPOLATOR | static
Move_Distance | INTERPOLATOR |
Number | INTERPOLATOR |
Number_Axes | INTERPOLATOR |
Offset | INTERPOLATOR |
Orig_Position | INTERPOLATOR |
Position | INTERPOLATOR |
PositionInc | INTERPOLATOR |
Ratio | INTERPOLATOR |
Rel_Speed | INTERPOLATOR |
Run_Flag | INTERPOLATOR |
Run_State | INTERPOLATOR |
Set_Speed | INTERPOLATOR |
Speed | INTERPOLATOR |
Status | INTERPOLATOR |
Tool_Number | INTERPOLATOR |


TG Motion: Member List

cnc::ACTUAL_GM_VALUES Member List

This is the complete list of members for cnc::ACTUAL_GM_VALUES, including all inherited members.

m_actFeed | cnc::ACTUAL_GM_VALUES
m_actG00PartsLen | cnc::ACTUAL_GM_VALUES
m_actPartLen | cnc::ACTUAL_GM_VALUES
m_actPartRemain | cnc::ACTUAL_GM_VALUES
m_actPartsLen | cnc::ACTUAL_GM_VALUES
m_actualPos | cnc::ACTUAL_GM_VALUES
m_actWorkPartsLen | cnc::ACTUAL_GM_VALUES
m_bufferFullness | cnc::ACTUAL_GM_VALUES
m_calcFeed | cnc::ACTUAL_GM_VALUES
m_cncRunTime | cnc::ACTUAL_GM_VALUES
m_correction | cnc::ACTUAL_GM_VALUES
m_diameterXValues | cnc::ACTUAL_GM_VALUES
m_editorLine | cnc::ACTUAL_GM_VALUES
m_feedType | cnc::ACTUAL_GM_VALUES
m_fileIdx | cnc::ACTUAL_GM_VALUES
m_gCodeIndex | cnc::ACTUAL_GM_VALUES
m_gFunc | cnc::ACTUAL_GM_VALUES
m_interpolatorActualPos | cnc::ACTUAL_GM_VALUES
m_interpolatorMotionStatus | cnc::ACTUAL_GM_VALUES
m_MasterEditorLine | cnc::ACTUAL_GM_VALUES
m_MasterFileIdx | cnc::ACTUAL_GM_VALUES
m_mFunc | cnc::ACTUAL_GM_VALUES
m_nG00Counter | cnc::ACTUAL_GM_VALUES
m_nG00ToWorkChanges | cnc::ACTUAL_GM_VALUES
m_nMCounter | cnc::ACTUAL_GM_VALUES
m_nWorkCounter | cnc::ACTUAL_GM_VALUES
m_nWorkToG00Changes | cnc::ACTUAL_GM_VALUES
m_plcCommand | cnc::ACTUAL_GM_VALUES
m_relFeed | cnc::ACTUAL_GM_VALUES
m_setFeed | cnc::ACTUAL_GM_VALUES
m_spindleSpeed | cnc::ACTUAL_GM_VALUES
m_statusCNC | cnc::ACTUAL_GM_VALUES
m_toolNumber | cnc::ACTUAL_GM_VALUES
m_workerState | cnc::ACTUAL_GM_VALUES
m_zeroOffset | cnc::ACTUAL_GM_VALUES
worker_state enum name | cnc::ACTUAL_GM_VALUES


TG Motion: Member List

PG Member List

This is the complete list of members for PG, including all inherited members.

Acc | PG
APos | PG
ASpeed | PG
Dec | PG
DPos | PG
DReserve | PG
IReserve | PG
Mode | PG
PosSpeed | PG
Rdy | PG
Speed | PG
Type | PG


TG Motion: Member List

ECAT_REGISTER Member List

This is the complete list of members for ECAT_REGISTER, including all inherited members.

Control | ECAT_REGISTER |
Data | ECAT_REGISTER |
Index | ECAT_REGISTER |
MAX_NUMBER_BYTE | ECAT_REGISTER | static
NumberByte | ECAT_REGISTER |


TG Motion: Member List

cnc::GCODE_SIZE Member List

This is the complete list of members for cnc::GCODE_SIZE, including all inherited members.

m_endPos | cnc::GCODE_SIZE
m_maximalPos | cnc::GCODE_SIZE
m_minimalPos | cnc::GCODE_SIZE
m_startPos | cnc::GCODE_SIZE


TG Motion: Member List

GENERAL_DEVICE Member List

This is the complete list of members for GENERAL_DEVICE, including all inherited members.

bUseLRW | GENERAL_DEVICE |
CompleteSDO | GENERAL_DEVICE |
Control | GENERAL_DEVICE |
Data | GENERAL_DEVICE |
DeviceIndex | GENERAL_DEVICE |
ECATBusPosition | GENERAL_DEVICE |
EtherCATState | GENERAL_DEVICE |
logicalReadAddress | GENERAL_DEVICE |
logicalReadWriteAddress | GENERAL_DEVICE |
logicalWriteAddress | GENERAL_DEVICE |
mailBoxInAddress | GENERAL_DEVICE |
mailBoxOutAddress | GENERAL_DEVICE |
mailBoxSize | GENERAL_DEVICE |
MAX_ECAT_REGISTER_DATA_SIZE | GENERAL_DEVICE | static
MAX_USER_PDO_SIZE | GENERAL_DEVICE | static
NumberByte | GENERAL_DEVICE |
PDO_IN_SAFEOP (defined in GENERAL_DEVICE) | GENERAL_DEVICE | static
PLC_Recv_Lock_Value | GENERAL_DEVICE |
PLC_Send_Lock_Value | GENERAL_DEVICE |
ProductID | GENERAL_DEVICE |
read_wkc | GENERAL_DEVICE |
read_write_wkc | GENERAL_DEVICE |
RegisterIndex | GENERAL_DEVICE |
smInputsAddress | GENERAL_DEVICE |
smOutputsAddress | GENERAL_DEVICE |
TGM_Recv_Lock_Value | GENERAL_DEVICE |
TGM_Send_Lock_Value | GENERAL_DEVICE |
USE_COMPLETE_SDO (defined in GENERAL_DEVICE) | GENERAL_DEVICE | static
USE_LRW | GENERAL_DEVICE | static
USE_PDO_IN_LOCK (defined in GENERAL_DEVICE) | GENERAL_DEVICE | static
USE_PDO_OUT_LOCK (defined in GENERAL_DEVICE) | GENERAL_DEVICE | static
User_PDO_Input | GENERAL_DEVICE |
User_PDO_Input_Size | GENERAL_DEVICE |
User_PDO_Output | GENERAL_DEVICE |
User_PDO_Output_Size | GENERAL_DEVICE |
userValue | GENERAL_DEVICE |
VendorID | GENERAL_DEVICE |
write_wkc | GENERAL_DEVICE |


TG Motion: Member List

cnc::SIMPLE_GM_PARAMS_WIN32 Member List

This is the complete list of members for cnc::SIMPLE_GM_PARAMS_WIN32, including all inherited members.

m_bFeedIsMin | cnc::SIMPLE_GM_PARAMS_WIN32 |
m_calcE | cnc::SIMPLE_GM_PARAMS_WIN32 |
m_calcS | cnc::SIMPLE_GM_PARAMS_WIN32 |
m_cc | cnc::SIMPLE_GM_PARAMS_WIN32 |
m_e | cnc::SIMPLE_GM_PARAMS_WIN32 |
m_editorLine | cnc::SIMPLE_GM_PARAMS_WIN32 |
m_fileIdx | cnc::SIMPLE_GM_PARAMS_WIN32 |
m_fp | cnc::SIMPLE_GM_PARAMS_WIN32 |
m_func | cnc::SIMPLE_GM_PARAMS_WIN32 |
m_gCodeIndex | cnc::SIMPLE_GM_PARAMS_WIN32 |
m_planeTool | cnc::SIMPLE_GM_PARAMS_WIN32 |
m_reserved | cnc::SIMPLE_GM_PARAMS_WIN32 |
m_s | cnc::SIMPLE_GM_PARAMS_WIN32 |
operator=(const SIMPLE_GM_PARAMS_WIN32 &)=default | cnc::SIMPLE_GM_PARAMS_WIN32 |
operator=(SIMPLE_GM_PARAMS_WIN32 &&)=default | cnc::SIMPLE_GM_PARAMS_WIN32 |
SIMPLE_GM_PARAMS_WIN32() noexcept=default | cnc::SIMPLE_GM_PARAMS_WIN32 |
SIMPLE_GM_PARAMS_WIN32(bool bNoInit) noexcept | cnc::SIMPLE_GM_PARAMS_WIN32 | inlineexplicit
SIMPLE_GM_PARAMS_WIN32(const SIMPLE_GM_PARAMS_WIN32 &n)=default | cnc::SIMPLE_GM_PARAMS_WIN32 |
SIMPLE_GM_PARAMS_WIN32(SIMPLE_GM_PARAMS_WIN32 &&)=default | cnc::SIMPLE_GM_PARAMS_WIN32 |
~SIMPLE_GM_PARAMS_WIN32()=default | cnc::SIMPLE_GM_PARAMS_WIN32 |


TG Motion: Member List

INTERPOLATOR_LOOK_AHEAD_ENTRY Member List

This is the complete list of members for INTERPOLATOR_LOOK_AHEAD_ENTRY, including all inherited members.

allParams | INTERPOLATOR_LOOK_AHEAD_ENTRY
correction | INTERPOLATOR_LOOK_AHEAD_ENTRY
editorLine | INTERPOLATOR_LOOK_AHEAD_ENTRY
endAngle | INTERPOLATOR_LOOK_AHEAD_ENTRY
endPos | INTERPOLATOR_LOOK_AHEAD_ENTRY
fileIdx | INTERPOLATOR_LOOK_AHEAD_ENTRY
gCodeIndex | INTERPOLATOR_LOOK_AHEAD_ENTRY
movementCode | INTERPOLATOR_LOOK_AHEAD_ENTRY
movementType | INTERPOLATOR_LOOK_AHEAD_ENTRY
partLength | INTERPOLATOR_LOOK_AHEAD_ENTRY
plane | INTERPOLATOR_LOOK_AHEAD_ENTRY
radius | INTERPOLATOR_LOOK_AHEAD_ENTRY
startAngle | INTERPOLATOR_LOOK_AHEAD_ENTRY
tangens | INTERPOLATOR_LOOK_AHEAD_ENTRY
tool | INTERPOLATOR_LOOK_AHEAD_ENTRY


TG Motion: Member List

CONT_MFUNC_HISTORY Member List

This is the complete list of members for CONT_MFUNC_HISTORY, including all inherited members.

lastValidEntry | CONT_MFUNC_HISTORY |
MAX_SIZE | CONT_MFUNC_HISTORY | static
mFuncs | CONT_MFUNC_HISTORY |


TG Motion: Member List

TIMERS Member List

This is the complete list of members for TIMERS, including all inherited members.

Timer_Down | TIMERS
Timer_Up | TIMERS


TG Motion: Member List

cnc::TGM_CNC_MEMORY Member List

This is the complete list of members for cnc::TGM_CNC_MEMORY, including all inherited members.

core | cnc::TGM_CNC_MEMORY
h | cnc::TGM_CNC_MEMORY


TG Motion: Member List

SDO Member List

This is the complete list of members for SDO, including all inherited members.

Control | SDO |
Data | SDO |
Index | SDO |
MAX_NUMBER_BYTE | SDO | static
NumberByte | SDO |
Status | SDO |
SubIndex | SDO |


TG Motion: Member List

cnc::TGM_CNC_CORE_MEMORY_INTERNAL Member List

This is the complete list of members for cnc::TGM_CNC_CORE_MEMORY_INTERNAL, including all inherited members.

actPos | cnc::TGM_CNC_CORE_MEMORY_INTERNAL
func | cnc::TGM_CNC_CORE_MEMORY_INTERNAL
GCodeInfo | cnc::TGM_CNC_CORE_MEMORY_INTERNAL
lastErrorID | cnc::TGM_CNC_CORE_MEMORY_INTERNAL
Pxx | cnc::TGM_CNC_CORE_MEMORY_INTERNAL
stopAddGCode | cnc::TGM_CNC_CORE_MEMORY_INTERNAL
stopFunc | cnc::TGM_CNC_CORE_MEMORY_INTERNAL


TG Motion: Member List

INTERPOLATOR_LOOK_AHEAD_BUFFER Member List

This is the complete list of members for INTERPOLATOR_LOOK_AHEAD_BUFFER, including all inherited members.

allReserves | INTERPOLATOR_LOOK_AHEAD_BUFFER
buf | INTERPOLATOR_LOOK_AHEAD_BUFFER


TG Motion: Member List

cnc::GCODE_FEED Member List

This is the complete list of members for cnc::GCODE_FEED, including all inherited members.

acc | cnc::GCODE_FEED
dec | cnc::GCODE_FEED
feed | cnc::GCODE_FEED
padding1 | cnc::GCODE_FEED
rampType | cnc::GCODE_FEED


TG Motion: Member List

CNC_CALC_INIT_DATA Member List

This is the complete list of members for CNC_CALC_INIT_DATA, including all inherited members.

pClrBitI32 | CNC_CALC_INIT_DATA
pClrBitI32Direct | CNC_CALC_INIT_DATA
pClrBitI64 | CNC_CALC_INIT_DATA
pClrBitI64Direct | CNC_CALC_INIT_DATA
pFlushBuffer | CNC_CALC_INIT_DATA
pPrintf | CNC_CALC_INIT_DATA
pReadBlock | CNC_CALC_INIT_DATA
pReadBlockDirect | CNC_CALC_INIT_DATA
pReadDouble | CNC_CALC_INIT_DATA
pReadDoubleDirect | CNC_CALC_INIT_DATA
pReadI32 | CNC_CALC_INIT_DATA
pReadI32Direct | CNC_CALC_INIT_DATA
pReadI64 | CNC_CALC_INIT_DATA
pReadI64Direct | CNC_CALC_INIT_DATA
pSetBitI32 | CNC_CALC_INIT_DATA
pSetBitI32Direct | CNC_CALC_INIT_DATA
pSetBitI64 | CNC_CALC_INIT_DATA
pSetBitI64Direct | CNC_CALC_INIT_DATA
pTglBitI32 | CNC_CALC_INIT_DATA
pTglBitI32Direct | CNC_CALC_INIT_DATA
pTglBitI64 | CNC_CALC_INIT_DATA
pTglBitI64Direct | CNC_CALC_INIT_DATA
pWriteBlock | CNC_CALC_INIT_DATA
pWriteBlockDirect | CNC_CALC_INIT_DATA
pWriteDouble | CNC_CALC_INIT_DATA
pWriteDoubleDirect | CNC_CALC_INIT_DATA
pWriteI32 | CNC_CALC_INIT_DATA
pWriteI32Direct | CNC_CALC_INIT_DATA
pWriteI64 | CNC_CALC_INIT_DATA
pWriteI64Direct | CNC_CALC_INIT_DATA
structSize | CNC_CALC_INIT_DATA
userValue | CNC_CALC_INIT_DATA


TG Motion: Member List

cnc::P10DOUBLE Member List

This is the complete list of members for cnc::P10DOUBLE, including all inherited members.

A | cnc::P10DOUBLE | static
B | cnc::P10DOUBLE | static
C | cnc::P10DOUBLE | static
CopyOnlyValidValues(const P10DOUBLE &n) noexcept | cnc::P10DOUBLE | inline
CopyValuesToInvalidMembers(const P10DOUBLE &n) noexcept | cnc::P10DOUBLE | inline
F | cnc::P10DOUBLE | static
I | cnc::P10DOUBLE | static
J | cnc::P10DOUBLE | static
K | cnc::P10DOUBLE | static
O | cnc::P10DOUBLE | static
operator=(const P10DOUBLE &n)=default | cnc::P10DOUBLE |
operator=(P10DOUBLE &&)=default | cnc::P10DOUBLE |
ORIG_R | cnc::P10DOUBLE | static
P10DOUBLE(float64_t xVal, float64_t yVal, float64_t zVal, float64_t cVal, float64_t bVal, float64_t uVal, float64_t vVal, float64_t wVal, float64_t aVal, float64_t oVal) noexcept | cnc::P10DOUBLE | inline
P10DOUBLE(size_t arraySize, float64_t arrayValues[]) noexcept | cnc::P10DOUBLE | inlineexplicit
P10DOUBLE() noexcept | cnc::P10DOUBLE | inline
P10DOUBLE(float64_t value) noexcept | cnc::P10DOUBLE | inlineexplicit
P10DOUBLE(bool bNoInit) noexcept | cnc::P10DOUBLE | inlineexplicit
P10DOUBLE(const P10DOUBLE &n)=default | cnc::P10DOUBLE |
P10DOUBLE(P10DOUBLE &&)=default | cnc::P10DOUBLE |
R | cnc::P10DOUBLE | static
S | cnc::P10DOUBLE | static
SetAllToValue(const float64_t value) noexcept | cnc::P10DOUBLE | inline
SetToZero() noexcept | cnc::P10DOUBLE | inline
U | cnc::P10DOUBLE | static
V | cnc::P10DOUBLE | static
W | cnc::P10DOUBLE | static
X | cnc::P10DOUBLE | static
xyzcbuvwao | cnc::P10DOUBLE |
Y | cnc::P10DOUBLE | static
Z | cnc::P10DOUBLE | static
~P10DOUBLE()=default | cnc::P10DOUBLE |


TG Motion: Member List

PLC_LARGE_INTEGER Member List

This is the complete list of members for PLC_LARGE_INTEGER, including all inherited members.

QuadPart PLC_LARGE_INTEGER


TG Motion: Member List

cnc::MACHINE_STATUS Member List

This is the complete list of members for cnc::MACHINE_STATUS, including all inherited members.

m_axesStatus | cnc::MACHINE_STATUS
m_endSwitches | cnc::MACHINE_STATUS
m_refDone | cnc::MACHINE_STATUS
m_reserved1 | cnc::MACHINE_STATUS
m_reserved10 | cnc::MACHINE_STATUS
m_reserved2 | cnc::MACHINE_STATUS
m_reserved3 | cnc::MACHINE_STATUS
m_reserved4 | cnc::MACHINE_STATUS
m_reserved5 | cnc::MACHINE_STATUS
m_reserved6 | cnc::MACHINE_STATUS
m_reserved7 | cnc::MACHINE_STATUS
m_reserved8 | cnc::MACHINE_STATUS
m_reserved9 | cnc::MACHINE_STATUS


TG Motion: Member List

cnc::GCODE_PARAMETERS Member List

This is the complete list of members for cnc::GCODE_PARAMETERS, including all inherited members.

absMode | cnc::GCODE_PARAMETERS |
allowedCircCenterAccuracy() const noexcept | cnc::GCODE_PARAMETERS | inline
angularDistancePrecision() const noexcept | cnc::GCODE_PARAMETERS | inline
angularPrecision() const noexcept | cnc::GCODE_PARAMETERS | inline
arcFeedTable | cnc::GCODE_PARAMETERS |
axisLimits | cnc::GCODE_PARAMETERS |
calcTime | cnc::GCODE_PARAMETERS |
callbackWarningsInvokeMode | cnc::GCODE_PARAMETERS |
centripetalAcc | cnc::GCODE_PARAMETERS |
correction | cnc::GCODE_PARAMETERS |
correctionStrategy | cnc::GCODE_PARAMETERS |
crossingAccuracy() const noexcept | cnc::GCODE_PARAMETERS | inline
disableAdditionalProgramFlowInfo | cnc::GCODE_PARAMETERS |
disableG0FeedOverride | cnc::GCODE_PARAMETERS |
dynamicG41Correction_mm | cnc::GCODE_PARAMETERS |
dynamicG41Correction_percent | cnc::GCODE_PARAMETERS |
dynamicG42Correction_mm | cnc::GCODE_PARAMETERS |
dynamicG42Correction_percent | cnc::GCODE_PARAMETERS |
endAngle | cnc::GCODE_PARAMETERS |
forceMode | cnc::GCODE_PARAMETERS |
GCODE_PARAMETERS() noexcept | cnc::GCODE_PARAMETERS | inline
GCodePrecision() const noexcept | cnc::GCODE_PARAMETERS | inline
insertArcMaxAngle | cnc::GCODE_PARAMETERS |
insertArcMinAngle | cnc::GCODE_PARAMETERS |
insertArcMode | cnc::GCODE_PARAMETERS |
insertArcPlane | cnc::GCODE_PARAMETERS |
insertArcToleranceRMax | cnc::GCODE_PARAMETERS |
insertArcToleranceRMin | cnc::GCODE_PARAMETERS |
interpolatorConfig0 | cnc::GCODE_PARAMETERS |
M02_programEnd1 | cnc::GCODE_PARAMETERS |
M03_startSpindleCW | cnc::GCODE_PARAMETERS |
M04_startSpindleCCW | cnc::GCODE_PARAMETERS |
M05_stopSpindle | cnc::GCODE_PARAMETERS |
M06_changeTool | cnc::GCODE_PARAMETERS |
M07_coolOn | cnc::GCODE_PARAMETERS |
M08_oilOn | cnc::GCODE_PARAMETERS |
M09_coolOilOff | cnc::GCODE_PARAMETERS |
M17_return | cnc::GCODE_PARAMETERS |
M29_print | cnc::GCODE_PARAMETERS |
M30_programEnd2 | cnc::GCODE_PARAMETERS |
M80_mirrorOff | cnc::GCODE_PARAMETERS |
M81_mirrorX | cnc::GCODE_PARAMETERS |
M82_mirrorY | cnc::GCODE_PARAMETERS |
M83_mirrorZ | cnc::GCODE_PARAMETERS |
M84_mirrorXY | cnc::GCODE_PARAMETERS |
M85_mirrorXZ | cnc::GCODE_PARAMETERS |
M86_mirrorYZ | cnc::GCODE_PARAMETERS |
M87_mirrorXYZ | cnc::GCODE_PARAMETERS |
M99_defFeed | cnc::GCODE_PARAMETERS |
maxConnectionDistance | cnc::GCODE_PARAMETERS |
mFuncInsertTable | cnc::GCODE_PARAMETERS |
mFuncInsertType | cnc::GCODE_PARAMETERS |
minAllowedArcR() const noexcept | cnc::GCODE_PARAMETERS | inline
minAngleFeed | cnc::GCODE_PARAMETERS |
motion | cnc::GCODE_PARAMETERS |
noAddRMultiplier() const noexcept | cnc::GCODE_PARAMETERS | inline
overrideInc | cnc::GCODE_PARAMETERS |
reserved | cnc::GCODE_PARAMETERS |
reserved1 | cnc::GCODE_PARAMETERS |
reserved2 | cnc::GCODE_PARAMETERS |
startAngle | cnc::GCODE_PARAMETERS |
swapG2G3 | cnc::GCODE_PARAMETERS |
tolerance | cnc::GCODE_PARAMETERS |


TG Motion: Member List

cnc::DLL_INIT_STRUCT Member List

This is the complete list of members for cnc::DLL_INIT_STRUCT, including all inherited members.

CNC_Dll_Dir | cnc::DLL_INIT_STRUCT |
Comm_Int5_Dir | cnc::DLL_INIT_STRUCT |
Local_Core_Mode | cnc::DLL_INIT_STRUCT |
LOCAL_CORE_MODE_DLL | cnc::DLL_INIT_STRUCT | static
LOCAL_CORE_MODE_OFFLINE | cnc::DLL_INIT_STRUCT | static
Macros_Dir | cnc::DLL_INIT_STRUCT |


TG Motion: Member List

cnc::TGM_CNC_CORE_MEMORY Member List

This is the complete list of members for cnc::TGM_CNC_CORE_MEMORY, including all inherited members.

actPos | cnc::TGM_CNC_CORE_MEMORY_INTERNAL |
func | cnc::TGM_CNC_CORE_MEMORY_INTERNAL |
GCodeInfo | cnc::TGM_CNC_CORE_MEMORY_INTERNAL |
lastErrorID | cnc::TGM_CNC_CORE_MEMORY_INTERNAL |
N_RESERVED | cnc::TGM_CNC_CORE_MEMORY | static
N_WANTED_SIZE | cnc::TGM_CNC_CORE_MEMORY | static
Pxx | cnc::TGM_CNC_CORE_MEMORY_INTERNAL |
reserved_to_wanted_size | cnc::TGM_CNC_CORE_MEMORY |
stopAddGCode | cnc::TGM_CNC_CORE_MEMORY_INTERNAL |
stopFunc | cnc::TGM_CNC_CORE_MEMORY_INTERNAL |


TG Motion: Member List

cnc::P10BOOL Member List

This is the complete list of members for cnc::P10BOOL, including all inherited members.

A | cnc::P10BOOL | static
B | cnc::P10BOOL | static
C | cnc::P10BOOL | static
O | cnc::P10BOOL | static
operator=(const P10BOOL &n)=default | cnc::P10BOOL |
operator=(P10BOOL &&n)=default | cnc::P10BOOL |
P10BOOL(int32_t x, int32_t y, int32_t z, int32_t c, int32_t b, int32_t u, int32_t v, int32_t w, int32_t a, int32_t o) noexcept | cnc::P10BOOL | inline
P10BOOL()=default | cnc::P10BOOL |
P10BOOL(const P10BOOL &n)=default | cnc::P10BOOL |
P10BOOL(P10BOOL &&n)=default | cnc::P10BOOL |
U | cnc::P10BOOL | static
V | cnc::P10BOOL | static
W | cnc::P10BOOL | static
X | cnc::P10BOOL | static
xyzcbuvwao | cnc::P10BOOL |
Y | cnc::P10BOOL | static
Z | cnc::P10BOOL | static
~P10BOOL()=default | cnc::P10BOOL |


TG Motion: Member List

SYSTEM Member List

This is the complete list of members for SYSTEM, including all inherited members.

Ecat_Driver | SYSTEM
Eeprom | SYSTEM
Header | SYSTEM
Main | SYSTEM
Osc | SYSTEM
Reserve_Main | SYSTEM
Timers | SYSTEM


TG Motion: Member List

cnc::TGM_CNC_MEMORY_HEADER Member List

This is the complete list of members for cnc::TGM_CNC_MEMORY_HEADER, including all inherited members.

N_RESERVED_ITEMS | cnc::TGM_CNC_MEMORY_HEADER | static
nCores | cnc::TGM_CNC_MEMORY_HEADER |
reserved | cnc::TGM_CNC_MEMORY_HEADER |
size | cnc::TGM_CNC_MEMORY_HEADER |
size_ACTUAL_GM_VALUES | cnc::TGM_CNC_MEMORY_HEADER |
size_CALLBACK_INFO | cnc::TGM_CNC_MEMORY_HEADER |
size_GCODE_INFO | cnc::TGM_CNC_MEMORY_HEADER |
size_GCODE_PARAMETERS | cnc::TGM_CNC_MEMORY_HEADER |
size_InterpolatorMemory | cnc::TGM_CNC_MEMORY_HEADER |
size_InterpolatorReadMemory | cnc::TGM_CNC_MEMORY_HEADER |
size_InterpolatorWriteMemory | cnc::TGM_CNC_MEMORY_HEADER |
size_MACHINE_PARAMETERS | cnc::TGM_CNC_MEMORY_HEADER |
size_SIMPLE_GM_PARAMS | cnc::TGM_CNC_MEMORY_HEADER |
size_TGM_CNC_MEMORY | cnc::TGM_CNC_MEMORY_HEADER |
version | cnc::TGM_CNC_MEMORY_HEADER |


TG Motion: Member List

RECEIVE_DATA_CAN Member List

This is the complete list of members for RECEIVE_DATA_CAN, including all inherited members.

BUFFER_SIZE | RECEIVE_DATA_CAN | static
CAN_DATA_SIZE | RECEIVE_DATA_CAN | static
DataBytes | RECEIVE_DATA_CAN |
Dlc | RECEIVE_DATA_CAN |
NewData | RECEIVE_DATA_CAN |


TG Motion: Member List

OSC Member List

This is the complete list of members for OSC, including all inherited members.

Actual_Samples | OSC
Channel | OSC
Control | OSC
Level_Trigger | OSC
Memory_Type_Trigger | OSC
Mode_Trigger | OSC
Number_Chanels | OSC
Number_Periods | OSC
Number_Samples | OSC
Offset_Trigger | OSC
Reserved | OSC
Sample_Time | OSC
Status | OSC
Type_Trigger | OSC


TG Motion: Member List

COMMAND Member List

This is the complete list of members for COMMAND, including all inherited members.

Control | COMMAND
Par | COMMAND
Reserve | COMMAND


TG Motion: Member List

MAIN Member List

This is the complete list of members for MAIN, including all inherited members.

Act_Timer_CycleTime | MAIN
CAN_Transmit_Buffer_Fullness | MAIN
Distributed_Clock | MAIN
ECAT_ElapsedTime | MAIN
EtherCatDriver | MAIN
EthNumberOfPackets | MAIN
EthPacketErrorCounter | MAIN
Found_Total_Number_Of_ECAT_Devices | MAIN
Interpolator_CycleTime | MAIN
Interpolator_SetCycleTime | MAIN
Log_Ctrl | MAIN
LogInterpolator_Ctrl | MAIN
MasterClock | MAIN
MasterClockToReferenceClockDifference | MAIN
Max_ECAT_ElapsedTime | MAIN
Max_Interpolator_Cycle_Time | MAIN
Max_Timer_CycleTime | MAIN
Max_Timer_Latency | MAIN
Min_Timer_CycleTime | MAIN
Number_Dios | MAIN
Number_Interpolators | MAIN
Number_Servos | MAIN
paddingTo64bits | MAIN
PLC_CAN_BaudRate | MAIN
PLC_Ctrl | MAIN
PLC_CycleTime_Prg1 | MAIN
PLC_CycleTime_Prg2 | MAIN
PLC_CycleTime_Prg3 | MAIN
PLC_CycleTime_Prg4 | MAIN
PLC_MaxCycleTime_Prg1 | MAIN
PLC_MaxCycleTime_Prg2 | MAIN
PLC_MaxCycleTime_Prg3 | MAIN
PLC_MaxCycleTime_Prg4 | MAIN
PLC_Name | MAIN
PLC_SetCycleTime_Prg1 | MAIN
PLC_SetCycleTime_Prg2 | MAIN
PLC_SetCycleTime_Prg3 | MAIN
PLC_SetCycleTime_Prg4 | MAIN
ReferenceClock | MAIN
Reserve0 | MAIN
Reserve1 | MAIN
Reserve10 | MAIN
Reserve11 | MAIN
Reserve2 | MAIN
Reserve3 | MAIN
Reserve4 | MAIN
Reserve5 | MAIN
Reserve6 | MAIN
Reserve7 | MAIN
Reserve8 | MAIN
Reserve9 | MAIN
SafetyEvent | MAIN
Servo_CycleTime | MAIN
Servo_MaxCycle_Time | MAIN
Servo_SetCycleTime | MAIN
Servo_Tick | MAIN
Size_EEPROM_Memory | MAIN
StateDistributedClock | MAIN
SystemTimeDifferenceSum | MAIN
TGM_TgMotionCmd | MAIN
TGMmini_CPU_Temperature | MAIN
TGMmini_internal_dio_idx | MAIN
TGMotion_Version | MAIN


TG Motion: Member List

GENERAL_MEMORY Member List

This is the complete list of members for GENERAL_MEMORY, including all inherited members.

general_devices | GENERAL_MEMORY |
MAX_GENERAL_DEVICES | GENERAL_MEMORY | static


TG Motion: Member List

cnc::INTERNAL_MFUNC_INSERT_TABLE Member List

This is the complete list of members for cnc::INTERNAL_MFUNC_INSERT_TABLE, including all inherited members.

distance | cnc::INTERNAL_MFUNC_INSERT_TABLE
mFunc | cnc::INTERNAL_MFUNC_INSERT_TABLE
padding | cnc::INTERNAL_MFUNC_INSERT_TABLE
relFeed | cnc::INTERNAL_MFUNC_INSERT_TABLE


TG Motion: Member List

cnc::ARC_FEED_TABLE Member List

This is the complete list of members for cnc::ARC_FEED_TABLE, including all inherited members.

m_r | cnc::ARC_FEED_TABLE
m_relFeed | cnc::ARC_FEED_TABLE


TG Motion: Member List

CTGM_COMM_INT_5 Member List

This is the complete list of members for CTGM_COMM_INT_5, including all inherited members.

Change_Connection(device deviceType, uint32_t IPAddress) noexcept | CTGM_COMM_INT_5 |
Close_Connection() noexcept | CTGM_COMM_INT_5 |
Close_Connections_Info_Win() noexcept | CTGM_COMM_INT_5 |
Clr_Bit_I32(shared_memory memoryType, uint32_t offset, int32_t Value) noexcept | CTGM_COMM_INT_5 |
Clr_Bit_I32_DIRECT(shared_memory memoryType, uint32_t offset, int32_t Value) noexcept | CTGM_COMM_INT_5 |
Clr_Bit_I64(shared_memory memoryType, uint32_t offset, int64_t Value) noexcept | CTGM_COMM_INT_5 |
Clr_Bit_I64_DIRECT(shared_memory memoryType, uint32_t offset, int64_t Value) noexcept | CTGM_COMM_INT_5 |
compatibility enum name | CTGM_COMM_INT_5 |
compatibilityToInt(const compatibility comp) noexcept | CTGM_COMM_INT_5 | inlinestatic
connected_memory enum name | CTGM_COMM_INT_5 |
connectedMemoryToInt(const connected_memory mem) | CTGM_COMM_INT_5 | inlinestatic
Create_Interface_2(const TGM_TCHAR *DLL_Directory) noexcept | CTGM_COMM_INT_5 |
Destroy_Interface() noexcept | CTGM_COMM_INT_5 |
device enum name | CTGM_COMM_INT_5 |
deviceToInt(const device deviceType) noexcept | CTGM_COMM_INT_5 | inlinestatic
DeviceToString(device deviceType) noexcept | CTGM_COMM_INT_5 | static
DeviceToStringA(device deviceType) noexcept | CTGM_COMM_INT_5 | static
error_code enum name | CTGM_COMM_INT_5 |
errorCodeToInt(const error_code errorCode) | CTGM_COMM_INT_5 | inlinestatic
ErrorCodeToString(error_code code) noexcept | CTGM_COMM_INT_5 | static
ErrorCodeToStringA(error_code code) noexcept | CTGM_COMM_INT_5 | static
Flush_Buffer() noexcept | CTGM_COMM_INT_5 |
Get_Connections_Info_2(device *pDeviceType, uint32_t *IPAddress, connected_memory *pConnectedMemory) noexcept | CTGM_COMM_INT_5 |
Get_Connections_Info_Win_Dimension(int32_t *pWidth, int32_t *pHeight) noexcept | CTGM_COMM_INT_5 |
Get_Dll_Info(device deviceType, int32_t *pVersion, int32_t *pCompatibilityID, int32_t *pCompatibilityMemID) noexcept | CTGM_COMM_INT_5 |
Get_Server_Info(device deviceType, int32_t *pCompatibilityID, int32_t *pCompatibilityMemID, status *pConnectionStatus) noexcept | CTGM_COMM_INT_5 |
Get_Status() noexcept | CTGM_COMM_INT_5 |
Get_Status_Graphics(int32_t *pBackgroundColor, int32_t *pTextColor, TGM_TCHAR *statusText) noexcept | CTGM_COMM_INT_5 |
intToDevice(const uint32_t deviceType) noexcept | CTGM_COMM_INT_5 | inlinestatic
intToMemoryType(const uint32_t memoryType) | CTGM_COMM_INT_5 | static
LoadDll(const char *fileName) | CTGM_COMM_INT_5 |
MAX_OFFLINE_COUNT | CTGM_COMM_INT_5 | static
memoryTypeToInt(const shared_memory memoryType) noexcept | CTGM_COMM_INT_5 | inlinestatic
MemoryTypeToString(shared_memory memory) noexcept | CTGM_COMM_INT_5 | static
MemoryTypeToStringA(shared_memory memory) noexcept | CTGM_COMM_INT_5 | static
Open_Connection(int32_t keepOnline, int32_t commTimeout, device deviceType, uint32_t IPAddress) noexcept | CTGM_COMM_INT_5 |
Read_BLOCK(shared_memory memoryType, uint32_t offset, void *buffer, uint32_t bufferLength) noexcept | CTGM_COMM_INT_5 |
Read_BLOCK_DIRECT(shared_memory memoryType, uint32_t offset, void *buffer, uint32_t bufferLength) noexcept | CTGM_COMM_INT_5 |
Read_Double(shared_memory memoryType, uint32_t offset, float64_t *pValue) noexcept | CTGM_COMM_INT_5 |
Read_Double_DIRECT(shared_memory memoryType, uint32_t offset, float64_t *pValue) noexcept | CTGM_COMM_INT_5 |
Read_I32(shared_memory memoryType, uint32_t offset, int32_t *pValue) noexcept | CTGM_COMM_INT_5 |
Read_I32_DIRECT(shared_memory memoryType, uint32_t offset, int32_t *pValue) noexcept | CTGM_COMM_INT_5 |
Read_I64(shared_memory memoryType, uint32_t offset, int64_t *pValue) noexcept | CTGM_COMM_INT_5 |
Read_I64_DIRECT(shared_memory memoryType, uint32_t offset, int64_t *pValue) noexcept | CTGM_COMM_INT_5 |
Read_UI32(shared_memory memoryType, uint32_t offset, uint32_t *pValue) noexcept | CTGM_COMM_INT_5 |
Read_UI32_DIRECT(shared_memory memoryType, uint32_t offset, uint32_t *pValue) noexcept | CTGM_COMM_INT_5 |
read_write enum name | CTGM_COMM_INT_5 |
ReadWriteCodeToString(read_write code) noexcept | CTGM_COMM_INT_5 | static
ReadWriteCodeToStringA(read_write code) noexcept | CTGM_COMM_INT_5 | static
readWriteToInt(const read_write rwCode) noexcept | CTGM_COMM_INT_5 | inlinestatic
Set_App_Compatibility_VN(int32_t compatibilityID, int32_t compatibilityMemID, int32_t version, const TGM_TCHAR *appName) noexcept | CTGM_COMM_INT_5 |
Set_Bit_I32(shared_memory memoryType, uint32_t offset, int32_t Value) noexcept | CTGM_COMM_INT_5 |
Set_Bit_I32_DIRECT(shared_memory memoryType, uint32_t offset, int32_t Value) noexcept | CTGM_COMM_INT_5 |
Set_Bit_I64(shared_memory memoryType, uint32_t offset, int64_t Value) noexcept | CTGM_COMM_INT_5 |
Set_Bit_I64_DIRECT(shared_memory memoryType, uint32_t offset, int64_t Value) noexcept | CTGM_COMM_INT_5 |
shared_memory enum name | CTGM_COMM_INT_5 |
Show_Connections_Info_Win(TGM_HWND parent, int32_t enableChangeConnection) noexcept | CTGM_COMM_INT_5 |
status enum name | CTGM_COMM_INT_5 |
statusToInt(const status statusCode) noexcept | CTGM_COMM_INT_5 | inlinestatic
StatusToString(status code) noexcept | CTGM_COMM_INT_5 | static
StatusToStringA(const status code) noexcept | CTGM_COMM_INT_5 | static
Tgl_Bit_I32(shared_memory memoryType, uint32_t offset, int32_t Value) noexcept | CTGM_COMM_INT_5 |
Tgl_Bit_I32_DIRECT(shared_memory memoryType, uint32_t offset, int32_t Value) noexcept | CTGM_COMM_INT_5 |
Tgl_Bit_I64(shared_memory memoryType, uint32_t offset, int64_t Value) noexcept | CTGM_COMM_INT_5 |
Tgl_Bit_I64_DIRECT(shared_memory memoryType, uint32_t offset, int64_t Value) noexcept | CTGM_COMM_INT_5 |
UnloadDll() noexcept | CTGM_COMM_INT_5 |
Write_BLOCK(shared_memory memoryType, uint32_t offset, const void *buffer, uint32_t bufferLength) noexcept | CTGM_COMM_INT_5 |
Write_BLOCK_DIRECT(shared_memory memoryType, uint32_t offset, const void *buffer, uint32_t bufferLength) noexcept | CTGM_COMM_INT_5 |
Write_Double(shared_memory memoryType, uint32_t offset, float64_t Value) noexcept | CTGM_COMM_INT_5 |
Write_Double_DIRECT(shared_memory memoryType, uint32_t offset, float64_t Value) noexcept | CTGM_COMM_INT_5 |
Write_I32(shared_memory memoryType, uint32_t offset, int32_t Value) noexcept | CTGM_COMM_INT_5 |
Write_I32_DIRECT(shared_memory memoryType, uint32_t offset, int32_t Value) noexcept | CTGM_COMM_INT_5 |
Write_I64(shared_memory memoryType, uint32_t offset, int64_t Value) noexcept | CTGM_COMM_INT_5 |
Write_I64_DIRECT(shared_memory memoryType, uint32_t offset, int64_t Value) noexcept | CTGM_COMM_INT_5 |
Write_UI32(shared_memory memoryType, uint32_t offset, uint32_t Value) noexcept | CTGM_COMM_INT_5 |
Write_UI32_DIRECT(shared_memory memoryType, uint32_t offset, uint32_t Value) noexcept | CTGM_COMM_INT_5 |


TG Motion: Member List

cnc::GCODE_CORRECTION Member List

This is the complete list of members for cnc::GCODE_CORRECTION, including all inherited members.

gCode | cnc::GCODE_CORRECTION
padding | cnc::GCODE_CORRECTION
size | cnc::GCODE_CORRECTION


TG Motion: Member List

cnc::TGM_FUNCTION Member List

This is the complete list of members for cnc::TGM_FUNCTION, including all inherited members.

addGCode | cnc::TGM_FUNCTION_INTERNAL |
connectType | cnc::TGM_FUNCTION_INTERNAL |
coords | cnc::TGM_FUNCTION_INTERNAL |
gCodeIndex_connect | cnc::TGM_FUNCTION_INTERNAL |
GCodeParameters | cnc::TGM_FUNCTION_INTERNAL |
MAX_GCODE_EX_SIZE | cnc::TGM_FUNCTION_INTERNAL | static
N_RESERVED | cnc::TGM_FUNCTION | static
N_WANTED_SIZE | cnc::TGM_FUNCTION | static
nCoords | cnc::TGM_FUNCTION_INTERNAL |
number | cnc::TGM_FUNCTION_INTERNAL |
nUserParams | cnc::TGM_FUNCTION_INTERNAL |
regime | cnc::TGM_FUNCTION_INTERNAL |
reserved0 | cnc::TGM_FUNCTION_INTERNAL |
reserved1 | cnc::TGM_FUNCTION_INTERNAL |
reserved_to_wanted_size | cnc::TGM_FUNCTION |
userParams | cnc::TGM_FUNCTION_INTERNAL |


TG Motion: Member List

MAP_CNC Member List

This is the complete list of members for MAP_CNC, including all inherited members.

AxisIndex | MAP_CNC
IntNumber | MAP_CNC
Reserve1 | MAP_CNC
Reserve2 | MAP_CNC


TG Motion: Member List

CNC_CALC_RETURN_VALUE Member List

This is the complete list of members for CNC_CALC_RETURN_VALUE, including all inherited members.

dblFeed | CNC_CALC_RETURN_VALUE
dParts1 | CNC_CALC_RETURN_VALUE
nDynamicEntriesInPart1 | CNC_CALC_RETURN_VALUE
nEntriesInPart0 | CNC_CALC_RETURN_VALUE
options | CNC_CALC_RETURN_VALUE
reserved2 | CNC_CALC_RETURN_VALUE
sParts0 | CNC_CALC_RETURN_VALUE


TG Motion: Member List

RESERVE_MAIN Member List

This is the complete list of members for RESERVE_MAIN, including all inherited members.

RESERVE RESERVE_MAIN


TG Motion: Member List

CHANNEL Member List

This is the complete list of members for CHANNEL, including all inherited members.

Memory_Type_Value | CHANNEL
Offset | CHANNEL
Offset_Value | CHANNEL
Type_Value | CHANNEL


TG Motion: Member List

SERVO Member List

This is the complete list of members for SERVO, including all inherited members.

AccMaxTorqueFeedForward | SERVO |
AnalogIn | SERVO |
Axis | SERVO |
CALC_TORQUE_BIT3 | SERVO | static
Capture | SERVO |
Cnc | SERVO |
Command | SERVO |
Control | SERVO |
ControlWord | SERVO |
Correction | SERVO |
Current | SERVO |
DigitalIn | SERVO |
DigitalOut | SERVO |
DISABLE_TORQUE_BIT1 | SERVO | static
DReserve | SERVO |
ECATBusPosition | SERVO |
ecatRegister | SERVO |
Error | SERVO |
EtherCATState | SERVO |
ExtPosition | SERVO |
Gear | SERVO |
IReserve | SERVO |
LatchControlWord | SERVO |
LimitCurrent | SERVO |
MaxCurrent | SERVO |
Mode | SERVO |
Node | SERVO |
Number | SERVO |
Offset | SERVO |
Pg | SERVO |
Position | SERVO |
PositionError | SERVO |
RefPosition | SERVO |
RESET_ETHERCAT_BIT2 | SERVO | static
RESET_FAULT_BIT0 | SERVO | static
Resolution | SERVO |
ResolutionBits | SERVO |
Sdo | SERVO |
SerialNumber | SERVO |
Speed | SERVO |
Status | SERVO |
StatusWord | SERVO |
SysTimeDifference | SERVO |
TorqueFeedForward | SERVO |
TransformedPosition | SERVO |
Type | SERVO |
WriteAcc | SERVO |
WritePosition | SERVO |
WriteSpeed | SERVO |


TG Motion: Member List

GEAR Member List

This is the complete list of members for GEAR, including all inherited members.

ActualIn | GEAR
ActualShift | GEAR
CamExpAddress1 | GEAR
CamExpAddress2 | GEAR
CamExpControl | GEAR
CamExpLine1 | GEAR
CamExpLine2 | GEAR
CamIncPosition | GEAR
CamLen | GEAR
CamLine | GEAR
CamPosition | GEAR
CamScale | GEAR
CamTab | GEAR
CamType | GEAR
DReserve | GEAR
In | GEAR
IncIn | GEAR
IncShift | GEAR
IReserve | GEAR
Mode | GEAR
Offset | GEAR
Out | GEAR
Position | GEAR
Shift | GEAR
SourceNumber | GEAR
SourcePosition | GEAR


TG Motion: Member List

cnc::AXIS_LIMITS Member List

This is the complete list of members for cnc::AXIS_LIMITS, including all inherited members.

maxAcc | cnc::AXIS_LIMITS
maxDec | cnc::AXIS_LIMITS
maxFeed | cnc::AXIS_LIMITS


TG Motion: Member List

cnc::MACHINE_PARAMETERS Member List

This is the complete list of members for cnc::MACHINE_PARAMETERS, including all inherited members.

backlash | cnc::MACHINE_PARAMETERS
backlashInc | cnc::MACHINE_PARAMETERS
backlashValuesSource | cnc::MACHINE_PARAMETERS
enableMask | cnc::MACHINE_PARAMETERS
enhancedInterpolatorParameters | cnc::MACHINE_PARAMETERS
maxCoords | cnc::MACHINE_PARAMETERS
minCoords | cnc::MACHINE_PARAMETERS
refCoords | cnc::MACHINE_PARAMETERS
reserved | cnc::MACHINE_PARAMETERS


TG Motion: Member List

PLC_IMPORT_FUNCTIONS Member List

This is the complete list of members for PLC_IMPORT_FUNCTIONS, including all inherited members.

pCAN_Transmit | PLC_IMPORT_FUNCTIONS
pCAN_TransmitRemote | PLC_IMPORT_FUNCTIONS
pRtWprintf_String_Severity | PLC_IMPORT_FUNCTIONS
pSleepFt | PLC_IMPORT_FUNCTIONS


TG Motion: Member List

cnc::GCODE_INFO Member List

This is the complete list of members for cnc::GCODE_INFO, including all inherited members.

m_size cnc::GCODE_INFO


TG Motion: Member List

DIO Member List

This is the complete list of members for DIO, including all inherited members.

AI | DIO |
AO | DIO |
Control | DIO |
ECATBusPosition | DIO |
ecatRegister | DIO |
Error | DIO |
EtherCATState | DIO |
Ext_MeasureAmpl | DIO |
In | DIO |
IReserve1 | DIO |
MAX_TX_RX_BUFFER_SIZE | DIO | static
N_ANA_ARRAY_SIZE | DIO | static
N_DIG_ARRAY_SIZE | DIO | static
N_TENZO_ARRAY_SIZE | DIO | static
Node | DIO |
Number | DIO |
Number_MeasureAmpl | DIO |
NumberAI | DIO |
NumberAO | DIO |
NumberIn | DIO |
NumberOut | DIO |
Out | DIO |
RESET_FAULT_BIT0 | DIO | static
RESET_TGMMINI_DIO_FORCE_BIT2 | DIO | static
RxBuffer | DIO |
RxPointerRead | DIO |
RxPointerWrite | DIO |
Sdo | DIO |
sdoResponseTries | DIO |
Status | DIO |
SysTimeDifference | DIO |
TS_Data | DIO |
TxBuffer | DIO |
TxPointerRead | DIO |
TxPointerWrite | DIO |
Type | DIO |


TG Motion: Member List

cnc::SIMPLE_INFO Member List

This is the complete list of members for cnc::SIMPLE_INFO, including all inherited members.

m_editorLine | cnc::SIMPLE_INFO
m_fileIdx | cnc::SIMPLE_INFO
m_gCodeIndex | cnc::SIMPLE_INFO


TG Motion: Member List

EXT_SDO Member List

This is the complete list of members for EXT_SDO, including all inherited members.

Control | EXT_SDO |
Data | EXT_SDO |
EXT_SDO_DATA_SIZE_IN_UI32 | EXT_SDO | static
Index | EXT_SDO |
NumberByte | EXT_SDO |
Status | EXT_SDO |
SubIndex | EXT_SDO |


TG Motion: Member List

PLC_DATA Member List

This is the complete list of members for PLC_DATA, including all inherited members.

functions | PLC_DATA
pCam_Memory | PLC_DATA
pCNCExMemory | PLC_DATA
pData_Memory | PLC_DATA
pDio_Memory | PLC_DATA
pGeneralMemory | PLC_DATA
pInterpolator_Memory | PLC_DATA
pInterpolatorGetPosition | PLC_DATA
pOsc_Memory | PLC_DATA
pReciveDataCan1 | PLC_DATA
pServo_Memory | PLC_DATA
pSystem_Memory | PLC_DATA
reserved0 | PLC_DATA
reserved2 | PLC_DATA
reserved3 | PLC_DATA
reserved4 | PLC_DATA
reserved5 | PLC_DATA
structSize | PLC_DATA


TG Motion: Member List

cnc::CALLBACK_INFO Member List

This is the complete list of members for cnc::CALLBACK_INFO, including all inherited members.

actLine | cnc::CALLBACK_INFO
fileIdx | cnc::CALLBACK_INFO
m_errorArguments | cnc::CALLBACK_INFO
m_fullError | cnc::CALLBACK_INFO
nLines | cnc::CALLBACK_INFO
stringId | cnc::CALLBACK_INFO


TG Motion: Member List

EEPROM_CONTROL Member List

This is the complete list of members for EEPROM_CONTROL, including all inherited members.

Control | EEPROM_CONTROL
Status | EEPROM_CONTROL


TG Motion: Member List

HEADER Member List

This is the complete list of members for HEADER, including all inherited members.

Compatibility_Id | HEADER
CompatibilityCnc_Id | HEADER
CompatibilityMem_Id | HEADER
Internal_Reg0 | HEADER
Internal_Reg1 | HEADER
Internal_Reg2 | HEADER
Internal_Reg3 | HEADER
Internal_Reg4 | HEADER
Internal_Reg5 | HEADER
Internal_Reg6 | HEADER
Internal_Reg7 | HEADER
Internal_Reg8 | HEADER
Internal_Reg9 | HEADER
Life_Tick | HEADER
Mem_Number | HEADER
Mem_Size_Cam | HEADER
Mem_Size_CncEx | HEADER
Mem_Size_CncOds | HEADER
Mem_Size_Data | HEADER
Mem_Size_Dio | HEADER
Mem_Size_General | HEADER
Mem_Size_Interpolator | HEADER
Mem_Size_InterpolatorRead | HEADER
Mem_Size_InterpolatorWrite | HEADER
Mem_Size_Ods | HEADER
Mem_Size_Osc | HEADER
Mem_Size_Servo | HEADER
Mem_Size_System | HEADER
Reserve0 | HEADER
Reserve1 | HEADER
Reserve2 | HEADER
Reserve3 | HEADER


TG Motion: Member List

EEPROM Member List

This is the complete list of members for EEPROM, including all inherited members.

ctrl | EEPROM
Data | EEPROM