Beispiel #1
0
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'))
Beispiel #2
0
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'))
Beispiel #3
0
### 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'))