


numstr.py - компонент ,который пишет номер текущей строки gcode(сделать исполняемым)
line-number.log - файл,в котором сохраняется номер текущей строки gcode
file_yesterday.ngc - файл,в котором сохраняется последний выполняемый gcode
restart.py - скрипт функции рестарта со строки в line-number.log(сделать исполняемым)

test_restart.ngc - просто файл Gcode для проверки
==================================

test_restart.ngc - в папке с gcode

файлы restart.py , file_yesterday.ngc  - в папке с gcode
файлы numstr.py , line-number.log  - в папке конфига

===============================

в ini файле прописываем новую скцию:

[RESTART]
MAIN_NAME = restart.py

======================================
в основной  hal файл добавляем:

loadusr -Wn numstr python numstr.py
net line  motion.program-line       numstr.in 
net enbl  halui.program.is-running  numstr.enbl

==========================================

в файле axis (/usr/bin/axis) (файл без расширения)

для внесения нижеуказанных изменений в терминале командуем:
sudo gedit /usr/bin/axis

находим строки :
    try:
        # be sure to switch modes to cause an interp synch, which
        # writes out the var file.  there was a reset here, and that
        # causes a var file write, but nukes important settings like
        # TLO.
        
и ПОСЛЕ них вставляем :
	        
        file_yesterday = inifile.find("DISPLAY", "OPEN_FILE")#nkp
        main_file =  inifile.find("RESTART", "MAIN_NAME")
        if (f != file_yesterday):
            string_fy = ''
            fy  = open(file_yesterday, "w")
            if (os.path.basename(f) != main_file):                           
                string_fy = '(source %s)\n' % f
            for ysf in open(f):
                string_fy += ysf 
            fy.write(string_fy)
            fy.close()




=====================================================================
СЛЕДУЮЩИЕ ИЗМЕНЕНИЯ ДЛЯ КНОПКИ В AXIS
ее можно и не делать - просто из стандартного меню емс 
открывать файл restart.py (в принципе  это и делает кнопочка))
====================================================================
в файле axis.tcl (/usr/share/axis/tcl/axis.tcl)

для внесения нижеуказанных изменений в терминале командуем:
sudo gedit /usr/share/axis/tcl/axis.tcl

находим строку :

vrule .toolbar.rule4

и ПЕРЕД ней вставляем :

Button .toolbar.gcode_cycle_load \
	-command { open_explicit_code } \
	-helptext [_ "open explicit code_cycle "] \
	-image [load_image code] \
	-relief link \
	-takefocus 0	
setup_widget_accel .toolbar.gcode_cycle_load {}
-------------------------------------------------
находим строки :

# Pack widget .toolbar.reload
pack .toolbar.reload \
	-side left
	
и ПОСЛЕ них вставляем :	

# Pack widget .toolbar.gcode_cycle_load
pack .toolbar.gcode_cycle_load \
	-side left
===============================================
файл code.gif  помещаем в /usr/share/axis/images
================================================

в файле axis (/usr/bin/axis) (файл без расширения)

для внесения нижеуказанных изменений в терминале командуем:
sudo gedit /usr/bin/axis

находим строку :

class TclCommands(nf.TclCommands):

и ПЕРЕД ней вставляем :

def open_explicit_code(refilter=False):
    if running(): return
    s.poll()
    if not loaded_file:
        root_window.tk.call("set_mode_from_tab")
        return
    line = vars.highlight_line.get()
    o.set_highlight_line(None)
    
    main_file =  inifile.find("RESTART", "MAIN_NAME")
    fs=os.path.join(open_directory, main_file)
    open_file_guts(fs, False, True)
    if line:
        o.set_highlight_line(line)
        
-------------------------------















