daily pastebin goal
40%
SHARE
TWEET

ughhhhhhh

a guest Jun 3rd, 2013 53 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # #######################################
  2. #
  3. # HAL file for HostMot2 with 3 servos
  4. #
  5. # Derived from Ted Hyde's original hm2-servo config
  6. #
  7. # Based up work and discussion with Seb & Peter & Jeff
  8. # GNU license references - insert here. www.linuxcnc.org
  9. #
  10. #
  11. # ########################################
  12. # Firmware files are in /lib/firmware/hm2/7i43/
  13. # Must symlink the hostmot2 firmware directory of sanbox to
  14. # /lib/firmware before running EMC2...
  15. # sudo ln -s $HOME/emc2-sandbox/src/hal/drivers/mesa-hostmot2/firmware /lib/firmware/hm2
  16. #
  17. # See also:
  18. # <http://www.linuxcnc.org/docs/devel/html/man/man9/hostmot2.9.html#config%20modparam>
  19. # and http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?HostMot2
  20. #
  21. # #####################################################################
  22.  
  23.  
  24. # ###################################
  25. # Core EMC/HAL Loads
  26. # ###################################
  27.  
  28. # kinematics
  29. loadrt trivkins
  30. loadrt and2 count=2
  31.  
  32. # motion controller, get name and thread periods from ini file
  33. loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
  34.  
  35. #thread for classicladder ~10ms
  36. #thread for gui display stuff ~60ms
  37. loadrt threads name1=classicladder-thread period1=2000000 name2=gui-thread period2=20000000
  38.  
  39.  
  40. # standard components
  41. loadrt pid num_chan=3
  42.  
  43. #setup classic ladder stuff
  44. #set in and out values
  45. loadrt classicladder_rt numS32in=7 numS32out=7 numPhysInputs=35 numBits=30 numPhysOutputs=22
  46. #set classic ladder refresh
  47. addf classicladder.0.refresh classicladder-thread
  48. loadusr -w classicladder --nogui hnc.clp
  49.  
  50. # hostmot2 driver
  51. # if you have any firmware trouble, enable the debug flags here and see what's going on in the syslog
  52. #loadrt hostmot2 debug_idrom=1 debug_module_descriptors=1 debug_pin_descriptors=1 debug_modules=1
  53. loadrt hostmot2
  54.  
  55. # load low-level driver
  56. loadrt [HOSTMOT2](DRIVER) config=[HOSTMOT2](CONFIG)
  57.  
  58. setp hm2_[HOSTMOT2](BOARD).0.pwmgen.pwm_frequency 40000
  59.  
  60. setp hm2_[HOSTMOT2](BOARD).0.watchdog.timeout_ns 10000000
  61. _____________________________________________________________________________________________________
  62.  
  63.  
  64. ini file
  65.  
  66. _____________________________________________________________________________________________________
  67.  
  68.  
  69. [HOSTMOT2]
  70. DRIVER=hm2_pci
  71. BOARD=5i20
  72. CONFIG="firmware=hm2/5i20/SVST8_4.BIT num_encoders=3 num_pwmgens=3 num_stepgens=0"
  73.  
  74.  
  75.  
  76.  
  77. [EMC]
  78.  
  79. # Name of machine, for use with display, etc.
  80. MACHINE =               HM2-Servo
  81.  
  82.  
  83. # Name of NML file to use, default is emc.nml
  84. #NML_FILE =              emc.nml
  85.  
  86. # Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
  87. #DEBUG =                0x00000003
  88. #DEBUG =                0x00000007
  89. DEBUG = 0
  90.  
  91.  
  92.  
  93.  
  94. [DISPLAY]
  95.  
  96. # Name of display program, e.g., tkemc
  97. DISPLAY =              axis
  98.  
  99. LATHE = 1
  100.  
  101. PYVCP = hm2-servo.xml
  102. #PYVCP = spindle-spd.xml
  103. #PYVCP = hm2-servo.xml
  104.  
  105. # Cycle time, in seconds, that display will sleep between polls
  106. CYCLE_TIME =            0.0500
  107.  
  108. # Path to help file
  109. HELP_FILE =             tkemc.txt
  110.  
  111. # Initial display setting for position, RELATIVE or MACHINE
  112. POSITION_OFFSET =       RELATIVE
  113.  
  114. # Initial display setting for position, COMMANDED or ACTUAL
  115. POSITION_FEEDBACK =     ACTUAL
  116.  
  117. # Highest value that will be allowed for feed override, 1.0 = 100%
  118. MAX_FEED_OVERRIDE =     1.5
  119.  
  120. # Prefix to be used
  121. PROGRAM_PREFIX = /home/daniel/linuxcnc/nc_files
  122.  
  123. EDITOR = gedit
  124.  
  125. # Introductory graphic
  126. INTRO_GRAPHIC =         emc2.gif
  127. INTRO_TIME =            1
  128.  
  129.  
  130.  
  131.  
  132. [TASK]
  133.  
  134. # Name of task controller program, e.g., milltask
  135. TASK =                  milltask
  136.  
  137. # Cycle time, in seconds, that task controller will sleep between polls
  138. CYCLE_TIME =            0.010
  139.  
  140.  
  141.  
  142.  
  143. [RS274NGC]
  144.  
  145. # File containing interpreter variables
  146. PARAMETER_FILE = hm2-servo.var
  147. RS274NGC_STARTUP_CODE = G18 G7
  148.  
  149.  
  150.  
  151. [EMCMOT]
  152.  
  153. EMCMOT =                motmod
  154.  
  155. # Timeout for comm to emcmot, in seconds
  156. COMM_TIMEOUT =          1.0
  157.  
  158. # Interval between tries to emcmot, in seconds
  159. COMM_WAIT =             0.010
  160.  
  161. # Servo task period, in nanoseconds
  162. SERVO_PERIOD =          1000000
  163.  
  164.  
  165.  
  166.  
  167. [HAL]
  168.  
  169. # The run script first uses halcmd to execute any HALFILE
  170. # files, and then to execute any individual HALCMD commands.
  171.  
  172. # list of hal config files to run through halcmd
  173. # files are executed in the order in which they appear
  174.  
  175. HALFILE = hm2-servo.hal
  176. HALUI= halui
  177. POSTGUI_HALFILE = gearchanger_to_pyvcp.hal
  178.  
  179.  
  180. # list of halcmd commands to execute
  181. # commands are executed in the order in which they appear
  182. #HALCMD =               save neta
  183.  
  184.  
  185.  
  186.  
  187. [TRAJ]
  188.  
  189. AXES =                  3
  190. # COORDINATES =         X Y Z R P W
  191. COORDINATES =           X Z
  192. HOME =                  0 0 0 0
  193. LINEAR_UNITS =          inch
  194. ANGULAR_UNITS =         degree
  195. CYCLE_TIME =            0.010
  196. DEFAULT_VELOCITY =      2.0
  197. MAX_VELOCITY =          3.3333334
  198. DEFAULT_ACCELERATION =  20.0
  199. MAX_ACCELERATION =      20.0
  200.  
  201.  
  202.  
  203.  
  204. [AXIS_0]
  205.  
  206. TYPE =                  LINEAR
  207. MAX_VELOCITY =          3.3333334
  208. MAX_ACCELERATION =      20.0
  209. BACKLASH =              0.000
  210. FERROR =                0.0012
  211. MIN_FERROR =            0.002
  212.  
  213. INPUT_SCALE =           -204800
  214.  
  215. OUTPUT_SCALE =          -10.000
  216. OUTPUT_OFFSET =         0
  217. MAX_OUTPUT =            8.5
  218.  
  219. MIN_LIMIT =             -5.0
  220. MAX_LIMIT =             0.05
  221. HOME =                  0.000
  222. HOME_OFFSET =          -0.25
  223. HOME_SEARCH_VEL =       0.15
  224. HOME_LATCH_VEL =        0.05
  225. # the X axis servo's encoder does not have an index channel, so we have to home without index
  226. HOME_USE_INDEX =        YES
  227. HOME_IGNORE_LIMITS =    YES
  228.  
  229. # PID tuning params
  230. DEADBAND =              0.000015
  231. P =                     350.
  232. I =                     0.000
  233. D =                     0.5
  234. FF0 =                   0.000
  235. FF1 =                   1.7
  236. FF2 =                   0.0
  237. BIAS =                  0.000
  238.  
  239.  
  240.  
  241.  
  242. [AXIS_2]
  243.  
  244. TYPE =                  LINEAR
  245. MAX_VELOCITY =          3.3333334
  246. MAX_ACCELERATION =      20.0
  247. BACKLASH =              0.0019
  248. FERROR =                0.001
  249. MIN_FERROR =            0.002
  250.  
  251. INPUT_SCALE =           -204800
  252.  
  253. OUTPUT_SCALE =          -10.000
  254. OUTPUT_OFFSET =         0
  255. MAX_OUTPUT =            8.5
  256.  
  257. MIN_LIMIT =             -12.8
  258. MAX_LIMIT =             0.05
  259. HOME =                  0.0
  260. HOME_OFFSET =           -2.8
  261. HOME_SEARCH_VEL =       0.15
  262. HOME_LATCH_VEL =        0.05
  263. # the Z axis servo's encoder does not have an index channel, so we have to home without index
  264. HOME_USE_INDEX =        YES
  265. HOME_IGNORE_LIMITS =    YES
  266.  
  267. # PID tuning params
  268. DEADBAND =              0.000015
  269. P =                     400.
  270. I =                     0.000
  271. D =                     0.5
  272. FF0 =                   0.000
  273. FF1 =                   2.1
  274. FF2 =                   0.0
  275. BIAS =                  0.000
  276.  
  277.  
  278.  
  279.  
  280. [EMCIO]
  281.  
  282. # Name of IO controller program, e.g., io
  283. EMCIO =                 io
  284.  
  285. # cycle time, in seconds
  286. CYCLE_TIME =            0.100
  287.  
  288. # tool table file
  289. TOOL_TABLE = tool.tbl
  290.  
  291. TOOL_CHANGE_POSITION = 0 0 0
  292.  
  293.  
  294.  
  295.  
  296.  
  297. # ################################################
  298. # THREADS
  299. # ################################################
  300.  
  301. addf hm2_[HOSTMOT2](BOARD).0.read          servo-thread
  302.  
  303. addf motion-command-handler                servo-thread
  304. addf motion-controller                     servo-thread
  305.  
  306. addf pid.0.do-pid-calcs                    servo-thread
  307. addf pid.1.do-pid-calcs                    servo-thread
  308. addf pid.2.do-pid-calcs                    servo-thread
  309.  
  310. addf hm2_[HOSTMOT2](BOARD).0.write         servo-thread
  311. addf hm2_[HOSTMOT2](BOARD).0.pet_watchdog  servo-thread
  312. addf and2.0                                servo-thread
  313. addf and2.1                                servo-thread
  314.        
  315. #load weighted sum for turret decodes
  316. loadrt weighted_sum wsum_sizes=4
  317. addf process_wsums servo-thread
  318. setp wsum.0.offset 0
  319.  
  320.  
  321.  
  322. # ######################################################
  323. # Axis-of-motion Specific Configs (not the GUI)
  324. # ######################################################
  325.  
  326.  
  327. # ################
  328. # X [0] Axis
  329. # ################
  330.  
  331. # axis enable chain
  332. newsig emcmot.00.enable bit
  333. sets emcmot.00.enable FALSE
  334. net emcmot.00.enable => pid.0.enable
  335. net emcmot.00.enable => hm2_[HOSTMOT2](BOARD).0.pwmgen.00.enable hm2_[HOSTMOT2](BOARD).0.gpio.064.out
  336. net emcmot.00.enable <= axis.0.amp-enable-out
  337.  
  338. # encoder feedback
  339. setp hm2_[HOSTMOT2](BOARD).0.encoder.00.counter-mode 0
  340. setp hm2_[HOSTMOT2](BOARD).0.encoder.00.filter 1
  341. setp hm2_[HOSTMOT2](BOARD).0.encoder.00.index-invert 0
  342. setp hm2_[HOSTMOT2](BOARD).0.encoder.00.index-mask 0
  343. setp hm2_[HOSTMOT2](BOARD).0.encoder.00.index-mask-invert 0
  344.  
  345. setp  hm2_[HOSTMOT2](BOARD).0.encoder.00.scale  [AXIS_0]INPUT_SCALE
  346. net motor.00.pos-fb hm2_[HOSTMOT2](BOARD).0.encoder.00.position => pid.0.feedback
  347. net motor.00.pos-fb => axis.0.motor-pos-fb #push copy back to Axis GUI
  348.  
  349. # set PID loop gains from inifile
  350. setp pid.0.Pgain [AXIS_0]P
  351. setp pid.0.Igain [AXIS_0]I
  352. setp pid.0.Dgain [AXIS_0]D
  353. setp pid.0.bias [AXIS_0]BIAS
  354. setp pid.0.FF0 [AXIS_0]FF0
  355. setp pid.0.FF1 [AXIS_0]FF1
  356. setp pid.0.FF2 [AXIS_0]FF2
  357. setp pid.0.deadband [AXIS_0]DEADBAND
  358. setp pid.0.maxoutput [AXIS_0]MAX_OUTPUT
  359.  
  360. # position command signals
  361. setp hm2_[HOSTMOT2](BOARD).0.pwmgen.00.output-type 1 #pwm on pin1, dir on pin2
  362. setp hm2_[HOSTMOT2](BOARD).0.pwmgen.00.scale  [AXIS_0]OUTPUT_SCALE
  363.  
  364. net emcmot.00.pos-cmd axis.0.motor-pos-cmd => pid.0.command
  365. net motor.00.command  pid.0.output  =>  hm2_[HOSTMOT2](BOARD).0.pwmgen.00.value
  366.  
  367.  
  368.  
  369. # ################
  370. # Z [2] Axis
  371. # ################
  372.  
  373. # axis enable chain
  374. newsig emcmot.02.enable bit
  375. sets emcmot.02.enable FALSE
  376. net emcmot.02.enable => pid.2.enable
  377. net emcmot.02.enable => hm2_[HOSTMOT2](BOARD).0.pwmgen.02.enable
  378. net emcmot.02.enable <= axis.2.amp-enable-out
  379.  
  380. # encoder feedback
  381. setp hm2_[HOSTMOT2](BOARD).0.encoder.02.counter-mode 0
  382. setp hm2_[HOSTMOT2](BOARD).0.encoder.02.filter 1
  383. setp hm2_[HOSTMOT2](BOARD).0.encoder.02.index-invert 0
  384. setp hm2_[HOSTMOT2](BOARD).0.encoder.02.index-mask 0
  385. setp hm2_[HOSTMOT2](BOARD).0.encoder.02.index-mask-invert 0
  386.  
  387. setp  hm2_[HOSTMOT2](BOARD).0.encoder.02.scale  [AXIS_2]INPUT_SCALE
  388. net motor.02.pos-fb hm2_[HOSTMOT2](BOARD).0.encoder.02.position => pid.2.feedback
  389. net motor.02.pos-fb => axis.2.motor-pos-fb #push copy back to Axis GUI
  390.  
  391. # set PID loop gains from inifile
  392. setp pid.2.Pgain [AXIS_2]P
  393. setp pid.2.Igain [AXIS_2]I
  394. setp pid.2.Dgain [AXIS_2]D
  395. setp pid.2.bias [AXIS_2]BIAS
  396. setp pid.2.FF0 [AXIS_2]FF0
  397. setp pid.2.FF1 [AXIS_2]FF1
  398. setp pid.2.FF2 [AXIS_2]FF2
  399. setp pid.2.deadband [AXIS_2]DEADBAND
  400. setp pid.2.maxoutput [AXIS_2]MAX_OUTPUT
  401.  
  402. # position command signals
  403. setp hm2_[HOSTMOT2](BOARD).0.pwmgen.02.output-type 1 #pwm on pin1, dir on pin2
  404. setp hm2_[HOSTMOT2](BOARD).0.pwmgen.02.scale [AXIS_2]OUTPUT_SCALE
  405.  
  406. net emcmot.02.pos-cmd axis.2.motor-pos-cmd => pid.2.command
  407. net motor.02.command  pid.2.output  =>  hm2_[HOSTMOT2](BOARD).0.pwmgen.02.value
  408.  
  409.  
  410. # ##################################################
  411. # Standard I/O Block - EStop, Etc
  412. # ##################################################
  413.  
  414. # create a signal for the estop loopback
  415. net estop-loop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in
  416.  
  417. # create signals for tool loading loopback
  418. setp hm2_[HOSTMOT2](BOARD).0.gpio.048.is_output 0
  419. setp hm2_[HOSTMOT2](BOARD).0.gpio.050.is_output 0
  420. setp hm2_[HOSTMOT2](BOARD).0.gpio.052.is_output 0
  421. setp hm2_[HOSTMOT2](BOARD).0.gpio.054.is_output 0
  422. setp hm2_[HOSTMOT2](BOARD).0.gpio.056.is_output 0
  423. setp hm2_[HOSTMOT2](BOARD).0.gpio.022.is_opendrain 0
  424. setp hm2_[HOSTMOT2](BOARD).0.gpio.064.is_output 1
  425. setp hm2_[HOSTMOT2](BOARD).0.gpio.064.invert_output true
  426. setp hm2_[HOSTMOT2](BOARD).0.gpio.065.is_output 1
  427. setp hm2_[HOSTMOT2](BOARD).0.gpio.065.invert_output true
  428. setp hm2_[HOSTMOT2](BOARD).0.gpio.066.is_output 1
  429. setp hm2_[HOSTMOT2](BOARD).0.gpio.066.invert_output true
  430. setp hm2_[HOSTMOT2](BOARD).0.gpio.067.is_output 1
  431. setp hm2_[HOSTMOT2](BOARD).0.gpio.067.invert_output true
  432. setp hm2_[HOSTMOT2](BOARD).0.gpio.068.is_output 1
  433. setp hm2_[HOSTMOT2](BOARD).0.gpio.068.invert_output true
  434. setp hm2_[HOSTMOT2](BOARD).0.gpio.069.is_output 1
  435. setp hm2_[HOSTMOT2](BOARD).0.gpio.069.invert_output true
  436. setp hm2_[HOSTMOT2](BOARD).0.gpio.070.is_output 1
  437. setp hm2_[HOSTMOT2](BOARD).0.gpio.070.invert_output true
  438. setp hm2_[HOSTMOT2](BOARD).0.gpio.071.is_output 1
  439. setp hm2_[HOSTMOT2](BOARD).0.gpio.071.invert_output true
  440. setp hm2_[HOSTMOT2](BOARD).0.gpio.024.is_output 0
  441. setp hm2_[HOSTMOT2](BOARD).0.gpio.026.is_output 0
  442. setp hm2_[HOSTMOT2](BOARD).0.gpio.028.is_output 0
  443. setp hm2_[HOSTMOT2](BOARD).0.gpio.030.is_output 0
  444. setp hm2_[HOSTMOT2](BOARD).0.gpio.032.is_output 0
  445.  
  446.  
  447. #spindle control section############################################################################################
  448.  
  449. net Spindlefwd motion.spindle-forward => hm2_[HOSTMOT2](BOARD).0.gpio.065.out
  450. # motion.spindle-at-speed
  451. #net Spindlerev motion.spindle-reverse => hm2_[HOSTMOT2](BOARD).0.gpio.065.out
  452. #net Spindlebrake motion.spindle-brake => hm2_[HOSTMOT2](BOARD).0.gpio.067.out
  453.  
  454.  
  455. net flood-control iocontrol.0.coolant-flood => hm2_[HOSTMOT2](BOARD).0.gpio.067.out
  456. setp hm2_[HOSTMOT2](BOARD).0.pwmgen.01.scale 750
  457. setp hm2_[HOSTMOT2](BOARD).0.pwmgen.01.output-type 1
  458.  
  459.  
  460. # Spindle gear selection code.
  461. loadrt toggle count=2
  462. loadrt not count=2
  463. loadrt gearchange count=1
  464. addf toggle.0 servo-thread
  465. addf toggle.1 servo-thread
  466. addf not.0 servo-thread
  467. addf not.1 servo-thread
  468. addf gearchange.0 servo-thread
  469. setp toggle.0.debounce 0
  470. setp gearchange.0.min1 150
  471. setp gearchange.0.max1 600
  472. setp gearchange.0.min2 575
  473. setp gearchange.0.max2 3000
  474. setp gearchange.0.scale2 3.85
  475.  
  476.  
  477. loadrt near
  478. addf near.0 servo-thread
  479. net spindle-cmd motion.spindle-speed-out-rps near.0.in1
  480. net spindle-velocity near.0.in2
  481. net spindle-at-speed motion.spindle-at-speed <= near.0.out
  482. setp near.0.scale 10
  483.  
  484.  
  485.  
  486. # we're not controlling the direction with the gearchanger, so reverse isn't set
  487. # and the dir-in and dir-out pins aren't linked
  488. net spindle-speed-raw motion.spindle-speed-out gearchange.0.speed-in
  489. net spindle-speed gearchange.0.speed-out hm2_[HOSTMOT2](BOARD).0.pwmgen.01.value
  490. #net spindle-speed-link motion.spindle-speed-out-rps motion.spindle-speed-in
  491.  
  492. setp hm2_[HOSTMOT2](BOARD).0.encoder.01.counter-mode 1
  493. setp hm2_[HOSTMOT2](BOARD).0.encoder.01.filter 1
  494. setp hm2_[HOSTMOT2](BOARD).0.encoder.01.index-invert 0
  495. setp hm2_[HOSTMOT2](BOARD).0.encoder.01.index-mask 0
  496. setp hm2_[HOSTMOT2](BOARD).0.encoder.01.index-mask-invert 0
  497.  
  498. setp  hm2_[HOSTMOT2](BOARD).0.encoder.01.scale  1000
  499. net spindle-position hm2_[HOSTMOT2](BOARD).0.encoder.01.position => motion.spindle-revs
  500. net spindle-velocity hm2_[HOSTMOT2](BOARD).0.encoder.01.velocity => motion.spindle-speed-in
  501. net spindle-index-enable hm2_[HOSTMOT2](BOARD).0.encoder.01.index-enable <=> motion.spindle-index-enable
  502.  
  503. net spindle-on motion.spindle-on hm2_[HOSTMOT2](BOARD).0.pwmgen.01.enable
  504.  
  505.  
  506.  
  507.  
  508.  
  509. #####
  510. #turrets
  511. #####
  512.  
  513. ################
  514. # Decode for turrets
  515. ################
  516. # Tool  1       2       3       4       5       6       7       8
  517. # BitD  0       0       0       0       0       0       0       1
  518. # BitC  0       0       0       1       1       1       1       0
  519. # BitB  0       1       1       0       0       1       1       0
  520. # BitA  1       0       1       0       1       0       1       0
  521. ################
  522.  
  523. #turret bit ins
  524. #t1
  525. net t1-bit0 wsum.0.bit.0.in <= hm2_[HOSTMOT2](BOARD).0.gpio.056.in
  526. net t1-bit1 wsum.0.bit.1.in <= hm2_[HOSTMOT2](BOARD).0.gpio.050.in
  527. net t1-bit2 wsum.0.bit.2.in <= hm2_[HOSTMOT2](BOARD).0.gpio.052.in
  528. net t1-bit3 wsum.0.bit.3.in <= hm2_[HOSTMOT2](BOARD).0.gpio.054.in
  529.  
  530. net turret1-num wsum.0.sum => classicladder.0.s32in-00
  531.  
  532.  
  533. #TURRET UP SWITCH INPUT
  534. net turret1-down classicladder.0.in-20 <= hm2_[HOSTMOT2](BOARD).0.gpio.032.in_not
  535.  
  536. #turret relays
  537. #turret1
  538. net raise-t1 classicladder.0.out-09 <= hm2_[HOSTMOT2](BOARD).0.gpio.071.out
  539. net stop-t1 classicladder.0.out-11 <= hm2_[HOSTMOT2](BOARD).0.gpio.070.out
  540.  
  541.  
  542. #called number output
  543. net prep-num classicladder.0.s32in-01 <= iocontrol.0.tool-prep-number
  544.  
  545. #TRUE when a tool change is requested
  546. net tool_change classicladder.0.in-22 <= iocontrol.0.tool-change
  547.  
  548. #TRUE when a tool change is completed
  549. net tool_changed iocontrol.0.tool-changed <= classicladder.0.out-07
  550.  
  551. #TRUE when a tool prepare is requested
  552. net tool_prep classicladder.0.in-23 <= iocontrol.0.tool-prepare
  553.  
  554. #TRUE when a tool prepare is completed
  555. net tool_preped iocontrol.0.tool-prepared <= classicladder.0.out-08
  556.  
  557. net program-running halui.program.is-running classicladder.0.in-07
  558. net program-is-auto halui.mode.is-auto classicladder.0.in-08
  559.  
  560.  
  561. #####
  562. #end turrets
  563. #####
  564.  
  565.  
  566.  
  567.  
  568. #
  569. # homing
  570.  
  571. #
  572.  
  573. net X-home and2.1.out axis.0.home-sw-in
  574. net x-fine hm2_[HOSTMOT2](BOARD).0.gpio.028.in_not => and2.1.in1
  575. net x-course hm2_[HOSTMOT2](BOARD).0.gpio.030.in_not => and2.1.in0
  576.  
  577. net z-fine hm2_[HOSTMOT2](BOARD).0.gpio.024.in_not => and2.0.in1
  578. net z-course hm2_[HOSTMOT2](BOARD).0.gpio.026.in_not => and2.0.in0
  579.  
  580. net z-home and2.0.out axis.2.home-sw-in
  581.  
  582.  
  583. # only the Y servo has an index, X and Z home without using the index
  584. net x-index-enable hm2_[HOSTMOT2](BOARD).0.encoder.00.index-enable <=> axis.0.index-enable
  585. net z-index-enable hm2_[HOSTMOT2](BOARD).0.encoder.02.index-enable <=> axis.2.index-enable
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top