# zamiast grzebać w axis.tcl, axis.py można pisać w .axisrc
#
# AXIS MODIFICATION example:
# https://forum.linuxcnc.org/21-axis/29735-axis-modifications
# http://linuxcnc.org/docs/devel/html/gui/axis.html#_axis_customization_hints
#
# fullscreen:
maxgeo=root_window.tk.call("wm","maxsize",".")
fullsize=maxgeo.split(' ')[0] + 'x' + maxgeo.split(' ')[1]
#root_window.tk.call("wm","geometry",".",fullsize)
# opcja określenia współrzędnych z wyrównaniem do lewej strony 
root_window.tk.call("wm","geometry",".","1280x900+0+0")
# do prawej strony 
#root_window.tk.call("wm","geometry",".","1280x900-0+0")
#
# domyślmy widok:
# mam zmodyfikowany widok z2 na obrot o 180 i ustawiam go jako domyslny
# https://www.cnc.info.pl/dodatkowy-widok-z-gory-t98474.html#p679187
commands.set_view_z2()
#
# idź do home X i Y funkcja:
def goto_home(axis):
    if s.interp_state == linuxcnc.INTERP_IDLE:
#        home = inifile.find('JOINT_' + str(inifile.find('TRAJ', 'COORDINATES').upper().index(axis)), 'HOME')
# tu u gory jest błąd. Dla osi Y idzie do home o wartości z HOME Z, dla X jest ok:
# funkcja wyszukiwania sprytna ale wyszukuje niewłaściwy HOME z JOINT_2 zamiast JOINT_1 dla Y.... ????
# jak w ini są HOME = 0.0 to się tego nie zauważy. 
# wniosek - .index w stringu "X Y Z" uwzględnia spację 
# czyli do mojego ini mogę dopisać nową sekcję TRAJH z "COORDINATES =XYZ"
# i problem rozwiązany ;-). 
# było: home = inifile.find('JOINT_' + str(inifile.find('TRAJ', 'COORDINATES').upper().index(axis)), 'HOME')
        home = inifile.find('JOINT_' + str(inifile.find('TRAJH', 'COORDINATES').upper().index(axis)), 'HOME')
        mode = s.task_mode
        if s.task_mode != linuxcnc.MODE_MDI:
            c.mode(linuxcnc.MODE_MDI)
# podnieś do góry przed jazdą na podaną wysokość:
        c.mdi('G53 G0 Z 30')
        c.mdi('G53 G0 ' + axis + home)

# idź do home X:
# make a button to home x axis
root_window.tk.call('button','.pane.top.tabs.fmanual.homex','-text','jazda do HOME X','-command','goto_home X','-height','1')
# place the button
root_window.tk.call('grid','.pane.top.tabs.fmanual.homex','-column','1','-row','7','-columnspan','2','-padx','4','-sticky','w')

# idź do home Y:
# make a button to home y axis
root_window.tk.call('button','.pane.top.tabs.fmanual.homey','-text','jazda do HOME Y','-command','goto_home Y','-height','1')
# place the button
root_window.tk.call('grid','.pane.top.tabs.fmanual.homey','-column','1','-row','8','-columnspan','2','-padx','4','-sticky','w')

# any function called from tcl needs to be added to TclCommands
TclCommands.goto_home = goto_home
commands = TclCommands(root_window)
