add custom paths to config.py

This commit is contained in:
sinseman44
2020-11-15 07:41:21 +00:00
parent 0509e07270
commit e55f8ea1a2
3 changed files with 44 additions and 46 deletions

View File

@@ -15,3 +15,8 @@ NUM_ROWS = 2
PG_UP = 17 PG_UP = 17
PG_DOWN = 22 PG_DOWN = 22
PG_OK = 27 PG_OK = 27
# rootfs config.
PYCNC_EXEC="/usr/local/bin/pycnc"
GCODE_REPO="/srv/ftp"

View File

@@ -10,7 +10,6 @@ from src.menu import menu
################################################################### ###################################################################
end_flag = False
GPIO.setwarnings(False) GPIO.setwarnings(False)
lcd = CharLCD(pin_rs=LCD_RS, lcd = CharLCD(pin_rs=LCD_RS,
pin_e=LCD_E, pin_e=LCD_E,
@@ -45,7 +44,11 @@ tilde = (
) )
lcd.create_char(0, arrow) lcd.create_char(0, arrow)
lcd.create_char(1, tilde) lcd.create_char(1, tilde)
menu = menu(lcd, cols=NUM_COLS, rows=NUM_ROWS) menu = menu(lcd,
cols=NUM_COLS,
rows=NUM_ROWS,
pycnc=PYCNC_EXEC,
gcode_path=GCODE_REPO)
def pg_up_cb(channel): def pg_up_cb(channel):
''' page up button callback ''' ''' page up button callback '''

View File

@@ -26,14 +26,16 @@ class menu:
files_menu = ['..'] files_menu = ['..']
def __init__(self, lcd=None, cols=0, rows=0): def __init__(self, lcd=None, cols=0, rows=0, pycnc="", gcode_path=""):
''' constructor ''' ''' constructor '''
self.lcd = lcd self.lcd = lcd
self.pycnc_path=pycnc
self.gcode_path=gcode_path
self.max_cols = cols self.max_cols = cols
self.max_rows = rows self.max_rows = rows
self.current_cursor = 0 self.current_cursor = 0
self.current_menu = self.main_menu self.current_menu = self.main_menu
for dirs,r,files in os.walk("/srv/ftp"): for dirs,r,files in os.walk(self.gcode_path):
for f in files: for f in files:
if len(f) > 14: if len(f) > 14:
f = f[:13]+'~' f = f[:13]+'~'
@@ -59,7 +61,20 @@ class menu:
self.lcd.clear() self.lcd.clear()
self.lcd.home() self.lcd.home()
self.lcd.write_string(" drawing ...") self.lcd.write_string(" drawing ...")
os.system("sudo python /home/pi/PyCNC/pycnc " + os.path.join("/srv/ftp/", filename)) os.system(self.pycnc_path + os.path.join(self.gcode_path, filename))
self.lcd.clear()
self.lcd.cursor_pos = (self.current_cursor % self.max_rows, 0)
self.lcd.write_string('\x00')
self.__refresh_menu()
def __pre_cmd(self):
''' pre command '''
self.lcd.clear()
self.lcd.home()
self.lcd.write_string(" waiting ...")
def __post_cmd(self):
''' post command '''
self.lcd.clear() self.lcd.clear()
self.lcd.cursor_pos = (self.current_cursor % self.max_rows, 0) self.lcd.cursor_pos = (self.current_cursor % self.max_rows, 0)
self.lcd.write_string('\x00') self.lcd.write_string('\x00')
@@ -67,48 +82,31 @@ class menu:
def __homing(self): def __homing(self):
''' set homing command ''' ''' set homing command '''
self.lcd.clear() self.__pre_cmd()
self.lcd.home()
self.lcd.write_string(" waiting ...")
with open("/tmp/homing.gcode", 'w') as f: with open("/tmp/homing.gcode", 'w') as f:
f.write("G28 (Homing)") f.write("G28 (Homing)")
os.system("sudo python /home/pi/PyCNC/pycnc /tmp/homing.gcode") os.system(self.pycnc_path + os.path.join("/tmp/homing.gcode"))
self.lcd.clear() self.__post_cmd()
self.lcd.cursor_pos = (self.current_cursor % self.max_rows, 0)
self.lcd.write_string('\x00')
self.__refresh_menu()
def __set_up_pen(self): def __set_up_pen(self):
''' set up pen ''' ''' set up pen '''
self.lcd.clear() self.__pre_cmd()
self.lcd.home()
self.lcd.write_string(" waiting ...")
with open("/tmp/set_up_pen.gcode", 'w') as f: with open("/tmp/set_up_pen.gcode", 'w') as f:
f.write("M300 S50 (UP Pen)") f.write("M300 S50 (UP Pen)")
os.system("sudo python /home/pi/PyCNC/pycnc /tmp/set_up_pen.gcode") os.system(self.pycnc_path + os.path.join("/tmp/set_up_pen.gcode"))
self.lcd.clear() self.__post_cmd()
self.lcd.cursor_pos = (self.current_cursor % self.max_rows, 0)
self.lcd.write_string('\x00')
self.__refresh_menu()
def __set_down_pen(self): def __set_down_pen(self):
''' set down pen ''' ''' set down pen '''
self.lcd.clear() self.__pre_cmd()
self.lcd.home()
self.lcd.write_string(" waiting ...")
with open("/tmp/set_down_pen.gcode", 'w') as f: with open("/tmp/set_down_pen.gcode", 'w') as f:
f.write("M300 S30 (DOWN Pen)") f.write("M300 S30 (DOWN Pen)")
os.system("sudo python /home/pi/PyCNC/pycnc /tmp/set_down_pen.gcode") os.system(self.pycnc_path + os.path.join("/tmp/set_down_pen.gcode"))
self.lcd.clear() self.__post_cmd()
self.lcd.cursor_pos = (self.current_cursor % self.max_rows, 0)
self.lcd.write_string('\x00')
self.__refresh_menu()
def __set_line_1cm(self, axis='X'): def __set_line_1cm(self, axis='X'):
''' set a 1cm line in X or Y axis ''' ''' set a 1cm line in X or Y axis '''
self.lcd.clear() self.__pre_cmd()
self.lcd.home()
self.lcd.write_string(" waiting ...")
with open("/tmp/set_line.gcode", 'w') as f: with open("/tmp/set_line.gcode", 'w') as f:
f.write("M300 S50 (UP Pen)\n") f.write("M300 S50 (UP Pen)\n")
f.write("G28 (Homing)\n") f.write("G28 (Homing)\n")
@@ -128,28 +126,20 @@ class menu:
f.write("G1 X15 F1000.0\n") f.write("G1 X15 F1000.0\n")
f.write("M300 S50 (UP Pen)\n") f.write("M300 S50 (UP Pen)\n")
f.write("G28 (Homing)\n") f.write("G28 (Homing)\n")
os.system("sudo python /home/pi/PyCNC/pycnc /tmp/set_line.gcode") os.system(self.pycnc_path + os.path.join("/tmp/set_line.gcode"))
self.lcd.clear() self.__post_cmd()
self.lcd.cursor_pos = (self.current_cursor % self.max_rows, 0)
self.lcd.write_string('\x00')
self.__refresh_menu()
def __set_rect(self): def __set_rect(self):
''' set a rectangle ''' ''' set a rectangle '''
self.lcd.clear() self.__pre_cmd()
self.lcd.home()
self.lcd.write_string(" waiting ...")
with open("/tmp/set_rect.gcode", 'w') as f: with open("/tmp/set_rect.gcode", 'w') as f:
f.write("G28 (Homing)\n") f.write("G28 (Homing)\n")
f.write("G1 X30 Y0 F2000.0\n") f.write("G1 X30 Y0 F2000.0\n")
f.write("G1 X30 Y30 F2000.0\n") f.write("G1 X30 Y30 F2000.0\n")
f.write("G1 X0 Y30 F2000.0\n") f.write("G1 X0 Y30 F2000.0\n")
f.write("G1 X0 Y0 F2000.0\n") f.write("G1 X0 Y0 F2000.0\n")
os.system("sudo python /home/pi/PyCNC/pycnc /tmp/set_rect.gcode") os.system(self.pycnc_path + os.path.join("/tmp/set_rect.gcode"))
self.lcd.clear() self.__post_cmd()
self.lcd.cursor_pos = (self.current_cursor % self.max_rows, 0)
self.lcd.write_string('\x00')
self.__refresh_menu()
def init_menu(self): def init_menu(self):
''' display menu ''' ''' display menu '''
@@ -184,7 +174,7 @@ class menu:
elif self.current_menu[self.current_cursor].startswith('Files'): elif self.current_menu[self.current_cursor].startswith('Files'):
self.current_menu = self.files_menu self.current_menu = self.files_menu
self.files_menu = ['..'] self.files_menu = ['..']
for dirs,r,files in os.walk("/srv/ftp"): for dirs,r,files in os.walk(self.gcode_path):
for f in files: for f in files:
if len(f) > 14: if len(f) > 14:
f = f[:13]+'~' f = f[:13]+'~'