summaryrefslogtreecommitdiff
path: root/configs/sim/axis/remap/iocontrol-removed/iocontrol-removed.ini
blob: db2294e576e922924167283ebe4857cba71d4469 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
# General section -------------------------------------------------------------
[EMC]

# make emcsrv not create tool rcs channels if not using iocontrol
TOOL_CHANNELS = 0

# Name of NML file to use.  toolCmd and toolSts, and tool process disabled
NML_FILE =              no-iotask.nml

# Version of this INI file
VERSION =               $Revision$

# Name of machine, for use with display, etc.
MACHINE =               iocontrol-removed.ini

# Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
#DEBUG =               0x7FFFFFFF
#DEBUG =               0x7FFFDEFF  #no interp,oword
#DEBUG  =   	       0x00008000 # py only
#DEBUG  =   	       0x0000E000 # py + remap + Oword
#DEBUG  =   	       0x0000C000 # py + remap
#DEBUG  =   	       0x0000C100 # py + remap + Interpreter
#DEBUG  =   	       0x0000C140 # py + remap + Interpreter + NML msgs
#DEBUG  =   	       0x0004C140 # py + remap + Interpreter + NML msgs + PythonTask
#DEBUG  =   	       0x0000C040 # py + remap + NML
#DEBUG  =   	       0x0004C040 # py + remap + NML + PythonTask
#DEBUG  =   	       0x0003E100 # py + remap + Interpreter + oword + signals + namedparams
#DEBUG =                0x00008000
#DEBUG = 0 # 0x00000100
DEBUG=0x00040000   #PythonTask
#define EMC_DEBUG_IOCONTROL         0x00001000
#define EMC_DEBUG_OWORD             0x00002000
#define EMC_DEBUG_REMAP             0x00004000
#define EMC_DEBUG_PYTHON            0x00008000
#define EMC_DEBUG_NAMEDPARAM        0x00010000
#define EMC_DEBUG_GDBONSIGNAL 	    0x00020000
#define EMC_DEBUG_PYTHON_TASK       0x00040000


# Sections for display options ------------------------------------------------

[DISPLAY]
# how to use the Firefox SQlite manager plugin as tooltable editor:
#
# 0: read http://code.google.com/p/sqlite-manager
#
# 1. download 'SQLiteManager 0.7.7 as XULRunner App' (or whatever the latest version is,
#    eg http://code.google.com/p/sqlite-manager/downloads/detail?name=sqlitemanager-xr-0.7.7-all.zip&can=2&q==
#
# 2. create a directory under your home directory, eg ~/sqlite-manager
#
# 3. unzip the zp file from 1) into this directory
# 
# 4. try running firefox with this plugin and the tooltable.sqlite file in this directory
#    like so:
#
#    firefox -app <homdir>/sqlite-manager/application.ini -f tooltable.sqlite
#   
# firefox should come up with the sqlite manager extension and having this database opened
#
# 5. adapt the following command line with appropriate paths:
#
TOOL_EDITOR= firefox -app  /home/mah/sqlite-manager/application.ini -f /home/mah/emc2-dev/configs/sim/remap/iocontrol-removed/tooltable.sqlite

GLADEVCP=-c gladevcp racktoolchange-noioctl.glade

# Name of display program, e.g., xemc
DISPLAY =             axis

#OPEN_FILE=/home/mah/emc2-tc/nc_files/taskcall.ngc
OPEN_FILE=./nc_files/tcdemo.ngc

# Cycle time, in seconds, that display will sleep between polls
CYCLE_TIME =            0.100

# Path to help file
HELP_FILE =             doc/help.txt

# Initial display setting for position, RELATIVE or MACHINE
POSITION_OFFSET =       RELATIVE

# Initial display setting for position, COMMANDED or ACTUAL
POSITION_FEEDBACK =     ACTUAL

# Highest value that will be allowed for feed override, 1.0 = 100%
MAX_FEED_OVERRIDE =     1.2
MAX_SPINDLE_OVERRIDE =  1.0

# Prefix to be used
PROGRAM_PREFIX = ../../nc_files/

# Introductory graphic
#INTRO_GRAPHIC = emc2.gif
INTRO_TIME = 0

EDITOR = gedit

INCREMENTS = 1 mm, .01 in, .1mm, 1 mil, .1 mil, 1/8000 in
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Script

png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python

# Task controller section -----------------------------------------------------
[TASK]

# Name of task controller program, e.g., milltask
TASK =                  milltask

# Cycle time, in seconds, that task controller will sleep between polls
CYCLE_TIME =            0.001

# the Python plugins serves interpreter and task

[PYTHON]
# where to find Python code
# code specific for this configuration	
PATH_PREPEND=./python
# generic support code
PATH_APPEND=../../nc_files/remap_lib/python-stdglue

# import the following Python module
TOPLEVEL=python/toplevel.py

# the higher the more verbose tracing of the Python plugin
LOG_LEVEL = 0

RELOAD_ON_CHANGE=1

LOG_LEVEL = 2

# start a Python (really IO) Task class
# see end of python/task.py to see how it's instantiated
PYTHON_TASK=1

# section for everything tool related
# relevant only if NOT using iocontrol - see EMCIO in that case

# needed to keep axis happy for now
# technically the  [EMCIO] section for main IO controller parameters is gone

[EMCIO]
TOOL_TABLE = tool.tbl


[TOOL]

# how to connect to a toolstore in an SQL database
ODBC_CONNECT= Driver=SQLite3;Database=tooltable.sqlite

# legacy tool table filename
TOOL_TABLE = tool.tbl

# if nonzero, save tool-in-spindle and pocket-prepped on exit, and restore on startup
# ODBC only
SAVE_TOOLSTATE=1

# manual, random, any other
CHANGER_TYPE= manual

# if TASK_TOOLCHANGE_PINS=1, the task Python plugin will emulate the
# following iocontrol.0 pins:
#   tool-change
#   tool-changed
#   tool-number
#   tool-prep-number
#   tool-prep-pocket
#   tool-prepare
#   tool-prepared
#
TASK_TOOLCHANGE_PINS=1

# if TASK_START_CHANGE_PINS=1,  the task Python plugin will emulate the
# start-change/start-change-ack pins and their protocol as per iocontrolv2:
TASK_START_CHANGE_PINS=1

# if TASK_TOOLCHANGE_FAULT_PINS=1 the task Python plugin will emulate the iocontrolv2 pins:
# emc-abort
# emc-abort-ack
# emc-reason
# toolchanger-fault
# toolchanger-fault-ack
# toolchanger-reason
# toolchanger-faulted
# toolchanger-clear-fault
TASK_TOOLCHANGE_FAULT_PINS=1


# Part program interpreter section --------------------------------------------
[RS274NGC]

SUBROUTINE_PATH = nc_subroutines:../../nc_files/remap_lib/common_nc_subs

# optional features - a bit mask to selectively turn on experimental/dubious features
# see 
# RETAIN_G43           0x00000001
# OWORD_N_ARGS         0x00000002
# INI_VARS             0x00000004
# HAL_PIN_VARS         0x00000008
# NO_DOWNCASE_OWORD    0x00000010

# turn on all optional features except RETAIN_G43
FEATURES=30

# handler procedure called on aborts - to cleanup HAL pins etc
ON_ABORT_COMMAND=O <on_abort> call 

LOG_LEVEL = 9
# File containing interpreter variables
PARAMETER_FILE =        sim_mm.var

# see python/remap.py for the prolog and epilog handlers
# see nc_files/remap-subroutines for the NGC procedures
#
REMAP=M6   modalgroup=6  prolog=change_prolog   ngc=rack_change  epilog=change_epilog    

# accessible in interp as #<_[section]name>
[TOOL_HOLDER_CLEAR]
X = 10
Y = 30  
Z = 10

[TOOL_SLOT_DELTA]
X = 0
Y = 10  
Z = 0

# this is not named TOOL_CHANGE_POSITION  ón purpose - canon uses it and will
# interfere
[CHANGE_POSITION]
X = 10
Y = 10  
Z = 10

[DWELL]
LOCK_TIME = 0.5
MYSTERY = 0
NEW_TOOL = 1.0
POST_UNLOCK = 0.5

# motion.digital-out-NN pins
[PINS]
LOCK = 0
FLUSH = 1


# Motion control section ------------------------------------------------------
[EMCMOT]

EMCMOT =              motmod

# Timeout for comm to emcmot, in seconds
COMM_TIMEOUT =          1.0

# Interval between tries to emcmot, in seconds
COMM_WAIT =             0.010

# BASE_PERIOD is unused in this configuration but specified in core_sim.hal
BASE_PERIOD  =               0
# Servo task period, in nano-seconds
SERVO_PERIOD =               1000000

# Hardware Abstraction Layer section --------------------------------------------------
[HAL]

# The run script first uses halcmd to execute any HALFILE
# files, and then to execute any individual HALCMD commands.
#

# list of hal config files to run through halcmd
# files are executed in the order in which they appear

# POSTTASK_HALFILE is executed by task after initialisation
# because task now sports HAL pins
# POSTGUI_HALFILE is only supported by Axis
POSTTASK_HALFILE = core_sim.hal
POSTTASK_HALFILE = racktoolchange.hal
POSTTASK_HALFILE = simulated_home.hal

POSTGUI_HALFILE= gladevcp.hal

#HALFILE = gamepad.hal

# list of halcmd commands to execute
# commands are executed in the order in which they appear
#HALCMD =                    save neta

# Single file that is executed after the GUI has started.  Only supported by
# AXIS at this time (only AXIS creates a HAL component of its own)
#POSTGUI_HALFILE = test_postgui.hal

HALUI = halui

# Trajectory planner section --------------------------------------------------
[TRAJ]

AXES =                  3
COORDINATES =           X Y Z
HOME =                  0 0 0
LINEAR_UNITS =          mm
ANGULAR_UNITS =         degree
CYCLE_TIME =            0.010
DEFAULT_VELOCITY =      30.48
MAX_VELOCITY =          53.34
DEFAULT_ACCELERATION =  508
MAX_ACCELERATION =      508
POSITION_FILE = position_mm.txt
NO_FORCE_HOMING =       1

# Axes sections ---------------------------------------------------------------

# First axis
[AXIS_0]

TYPE =                          LINEAR
HOME =                          0.000
MAX_VELOCITY =                  30.48
MAX_ACCELERATION =              508
BACKLASH = 0.000
INPUT_SCALE =                   157.48
OUTPUT_SCALE = 1.000
MIN_LIMIT =                     -254
MAX_LIMIT =                     254
FERROR = 1.27
MIN_FERROR = .254
HOME_OFFSET =                    0.0
HOME_SEARCH_VEL =                127
HOME_LATCH_VEL =                 25.4
HOME_USE_INDEX =                 NO
HOME_IGNORE_LIMITS =             NO
HOME_SEQUENCE = 1
HOME_IS_SHARED = 1

# Second axis
[AXIS_1]

TYPE =                          LINEAR
HOME =                          0.000
MAX_VELOCITY =                  30.48
MAX_ACCELERATION =              508
BACKLASH = 0.000
INPUT_SCALE =                   157.48
OUTPUT_SCALE = 1.000
MIN_LIMIT =                     -254
MAX_LIMIT =                     254
FERROR = 1.27
MIN_FERROR = .254
HOME_OFFSET =                    0.0
HOME_SEARCH_VEL =                127
HOME_LATCH_VEL =                 25.4
HOME_USE_INDEX =                 NO
HOME_IGNORE_LIMITS =             NO
HOME_SEQUENCE = 1

# Third axis
[AXIS_2]

TYPE =                          LINEAR
HOME =                          0.0
MAX_VELOCITY =                  30.48
MAX_ACCELERATION =              508
BACKLASH = 0.000
INPUT_SCALE =                   157.48
OUTPUT_SCALE = 1.000
MIN_LIMIT =                     -50.8
MAX_LIMIT =                     101.6
FERROR = 1.27
MIN_FERROR = .254
HOME_OFFSET =                    25.4
HOME_SEARCH_VEL =                127
HOME_LATCH_VEL =                 25.4
HOME_USE_INDEX =                 NO
HOME_IGNORE_LIMITS =             NO
HOME_SEQUENCE = 0
HOME_IS_SHARED = 1