def safety_callback(channel): open(config.get('task', 'lock_file'), 'w').close() message = {'type': '', 'code': ''} write_emergency(json.dumps(message)) su = SerialUtils() GPIO_STATUS=GPIO.input(2) type="emergency" if(GPIO_STATUS == 0): su.sendGCode('M730') reply = su.getReply() #print ">>>> ", reply if(reply != ''): decodedReply = decodeReply(reply) if decodedReply != None : special_codes = [110, 120, 121] if(decodedReply in special_codes): if decodedReply == 110: type="alert" su.flush() su.sendGCode('M999') elif decodedReply == 120 or decodedReply == 121: if(settings['bothy'] == 'Shutdown' or settings['bothz'] == 'Shutdown'): call (['sudo php /var/www/fabui/application/modules/controller/ajax/shutdown.php'], shell=True) GPIO.cleanup() #we can disable GPIO as we are rebooting the system. message = {'type': type, 'code': str(decodedReply)} ws.send(json.dumps(message)) write_emergency(json.dumps(message)) su.flush() su.close() GPIO_STATUS=GPIO.HIGH if os.path.isfile(config.get('task', 'lock_file')): os.remove(config.get('task', 'lock_file'))
def safety_callback(channel): open(config.get('task', 'lock_file'), 'w').close() message = {'type': '', 'code': ''} write_emergency(json.dumps(message)) su = SerialUtils() GPIO_STATUS = GPIO.input(2) type = "emergency" if (GPIO_STATUS == 0): su.sendGCode('M730') reply = su.getReply() #print ">>>> ", reply if (reply != ''): decodedReply = decodeReply(reply) if decodedReply != None: special_codes = [110, 120, 121] if (decodedReply in special_codes): if decodedReply == 110: type = "alert" su.flush() su.sendGCode('M999') elif decodedReply == 120 or decodedReply == 121: if (settings['bothy'] == 'Shutdown' or settings['bothz'] == 'Shutdown'): call([ 'sudo php /var/www/fabui/application/modules/controller/ajax/shutdown.php' ], shell=True) GPIO.cleanup( ) #we can disable GPIO as we are rebooting the system. message = {'type': type, 'code': str(decodedReply)} ws.send(json.dumps(message)) write_emergency(json.dumps(message)) su.flush() su.close() GPIO_STATUS = GPIO.HIGH if os.path.isfile(config.get('task', 'lock_file')): os.remove(config.get('task', 'lock_file'))
### set ambient colors su.sendGCode( ('M701 S%s\r\nM702 S%s\r\nM703 S%s' % (settings['color']['r'], settings['color']['g'], settings['color']['b']))) ### set safety door open: enable/disable warnings su.sendGCode(('M732 S%s' % settings['safety']['door'])) ### set collision-warning enable/disable warnings su.sendGCode(('M734 S%s' % settings['safety']['collision-warning'])) ### set homing preferences su.sendGCode(('M714 S%s' % settings['switch'])) """ install head """ if (settings['hardware']['head']['type'] in HEAD_VERSION_CMDS): HEAD_VERSION_CMDS[settings['hardware']['head']['type']](su, settings) else: hybridHead(su, settings) """ exec hardware revisions """ if (settings['settings_type'] == 'custom'): customHardware(su, settings, config.get('printer', 'custom_settings_file')) elif hw_version in HW_VERSION_CMDS: HW_VERSION_CMDS[hw_version](su, settings, config.get('printer', 'settings_file')) else: settings['feeder']['show'] = True saveSettings(settings, config.get('printer', 'settings_file')) ### alive machine su.sendGCode('M728') su.close() if os.path.isfile(config.get('task', 'lock_file')): os.remove(config.get('task', 'lock_file'))