#!/usr/bin/python
import os
import hal, time

# h = hal.component("jogwheel", wait_name='jogwheel')
h = hal.component("jogwheel")
h.newpin("in", hal.HAL_FLOAT, hal.HAL_IN)
h.newpin("out", hal.HAL_FLOAT, hal.HAL_OUT)


#pins fuer handrad
#x achse
h.newpin("radxknopf", hal.HAL_BIT, hal.HAL_IN)
h.newpin("radxled", hal.HAL_BIT, hal.HAL_OUT)
#y achse
h.newpin("radyknopf", hal.HAL_BIT, hal.HAL_IN)
h.newpin("radyled", hal.HAL_BIT, hal.HAL_OUT)
#z achse
h.newpin("radzknopf", hal.HAL_BIT, hal.HAL_IN)
h.newpin("radzled", hal.HAL_BIT, hal.HAL_OUT)
#vorschub aufheben
h.newpin("radaufhebenknopf", hal.HAL_BIT, hal.HAL_IN)
h.newpin("radaufhebenled", hal.HAL_BIT, hal.HAL_OUT)
#x achse
h.newpin("radhundertstelknopf", hal.HAL_BIT, hal.HAL_IN)
h.newpin("radhundertstelled", hal.HAL_BIT, hal.HAL_OUT)
h.newpin("radjogscale", hal.HAL_FLOAT, hal.HAL_OUT) #scalierung des handradjogens


hundertstel = 1
h['radhundertstelled'] = 1
h['radjogscale'] = 0.0000025

time.sleep(0.5)

h.ready()

try:
    while 1:
# ansteuerung handrad
	if h['radxknopf'] == 1:
		h['radxled'] = 1
		h['radyled'] = 0
		h['radzled'] = 0
		h['radaufhebenled'] = 0
	if h['radyknopf'] == 1:
		h['radxled'] = 0
		h['radyled'] = 1
		h['radzled'] = 0
		h['radaufhebenled'] = 0
	if h['radzknopf'] == 1:
		h['radxled'] = 0
		h['radyled'] = 0
		h['radzled'] = 1
		h['radaufhebenled'] = 0
	if h['radaufhebenknopf'] == 1:
		h['radxled'] = 0
		h['radyled'] = 0
		h['radzled'] = 0
		h['radaufhebenled'] = 1	
	if h['radhundertstelknopf'] == 0: #knopf ist ein oeffner und kein schliesser
		time.sleep(0.25)
		if hundertstel == 1:
			hundertstel = 0
			h['radhundertstelled'] = 0
			h['radjogscale'] = 0.000025
		else:
			hundertstel = 1
			h['radhundertstelled'] = 1
			h['radjogscale'] = 0.0000025



except KeyboardInterrupt:
    raise SystemExit
