Advertisement
Guest User

ughhhhhhh

a guest
Jun 3rd, 2013
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.78 KB | None | 0 0
  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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement