Пример #1
0
 public function index()
 {
     $template_data = array();
     $ret_val = 0;
     $this->load->library('parser');
     $this->lang->load('manage', $this->config->item('language'));
     $this->lang->load('printerstate/index', $this->config->item('language'));
     $this->load->helper(array('zimapi', 'printerstate'));
     if (!ZimAPI_cameraOn(ZIMAPI_PRM_CAMERA_PRINTSTART)) {
         $this->load->helper('printerlog');
         PrinterLog_logError('can not set camera', __FILE__, __LINE__);
     }
     $ret_val = PrinterState_getStripLedStatus($status_strip);
     if ($ret_val != ERROR_OK) {
         $status_strip = FALSE;
     }
     $ret_val = PrinterState_getTopLedStatus($status_head);
     if ($ret_val != ERROR_OK) {
         $status_head = FALSE;
     }
     //parse the main body
     $template_data = array('back' => t('back'), 'what' => t('what'), 'loading_player' => t('loading_player'), 'platform_view_title' => t('platform_view_title'), 'reset' => t('reset_title'), 'home_text' => t('home_text'), 'head' => t('head_title'), 'head_text' => t('head_text'), 'platform' => t('platform_title'), 'platform_text' => t('platform_text'), 'filament' => t('filament_title'), 'filament_text' => t('filament_text'), 'manage_left' => t('manage_left'), 'manage_right' => t('manage_right'), 'bed_title' => t('bed_title'), 'bed_text' => t('bed_text'), 'video_error' => t('video_error'), 'video_url' => $this->config->item('video_url'), 'reboot' => t('reboot'), 'shutdown' => t('shutdown'), 'lighting_title' => t('lighting_title'), 'strip_led' => t('strip_led'), 'head_led' => t('head_led'), 'led_on' => t('led_on'), 'led_off' => t('led_off'), 'left' => t('left'), 'right' => t('right'), 'strip_led_on' => $status_strip == TRUE ? "selected=selected" : NULL, 'head_led_on' => $status_head == TRUE ? "selected=selected" : NULL, 'bicolor' => $this->config->item('nb_extruder') >= 2 ? 'true' : 'false');
     // parse all page
     $this->_parseBaseTemplate(t('manage_index_pagetitle'), $this->parser->parse('manage/index', $template_data, TRUE), '<link rel="stylesheet" href="/assets/jquery-mobile-fluid960.min.css">');
     return;
 }
Пример #2
0
 public function index()
 {
     $this->load->helper('zimapi');
     ZimAPI_cameraOn(ZIMAPI_PRM_CAMERA_PRINTSTART);
     $this->load->library('parser');
     $this->parser->parse('test_video', array('video_url' => $this->config->item('video_url')));
     return;
 }
Пример #3
0
 public function set()
 {
     $parameter = NULL;
     $cr = 0;
     $this->load->helper(array('printerstate', 'zimapi', 'slicer'));
     $parameter = $this->input->get('p');
     //return false if missing
     if ($parameter) {
         switch ($parameter) {
             case PRINTERSTATE_PRM_EXTRUDER:
                 $api_prm = $this->input->get('v');
                 if ($api_prm) {
                     // refuse getting data not existed for mono extruder
                     if ($api_prm == 'l' && $this->config->item('nb_extruder') == 1) {
                         $cr = ERROR_WRONG_PRM;
                     } else {
                         $cr = PrinterState_setExtruder($api_prm);
                     }
                 } else {
                     $cr = ERROR_MISS_PRM;
                 }
                 break;
             case PRINTERSTATE_PRM_TEMPER:
                 // check which temperature we want
                 $val_temper = 0;
                 $api_prm = NULL;
                 $val_temper = $this->input->get('v');
                 $has_e = $this->input->get('e');
                 $has_h = $this->input->get('h');
                 if ($has_e === FALSE && $has_h === FALSE) {
                     $cr = ERROR_MISS_PRM;
                 } else {
                     if (!($has_e === FALSE) && !($has_h === FALSE)) {
                         $cr = ERROR_WRONG_PRM;
                     } else {
                         $api_prm = $has_e === FALSE ? 'h' : 'e';
                         $cr = PrinterState_setTemperature($val_temper, $api_prm);
                     }
                 }
                 break;
             case PRINTERSTATE_PRM_ACCELERATION:
                 $val_acceleration = (int) $this->input->get('v');
                 if ($val_acceleration) {
                     $cr = PrinterState_setAcceleration($val_acceleration);
                 } else {
                     $cr = ERROR_MISS_PRM;
                 }
                 break;
             case PRINTERSTATE_PRM_SPEED_MOVE:
             case PRINTERSTATE_PRM_SPEED_EXTRUDE:
                 $val_speed = (int) $this->input->get('v');
                 if ($val_speed) {
                     $cr = PrinterState_setSpeed($val_speed);
                 } else {
                     $cr = ERROR_MISS_PRM;
                 }
                 break;
             case PRINTERSTATE_PRM_COLDEXTRUSION:
                 $this->_return_under_construction();
                 return;
                 break;
             case PRINTERSTATE_PRM_STRIPLED:
                 $status_set = $this->input->get('v');
                 if ($status_set) {
                     $cr = PrinterState_setStripLed($status_set);
                 } else {
                     $cr = ERROR_MISS_PRM;
                 }
                 break;
             case PRINTERSTATE_PRM_MOTOR_OFF:
                 $status_set = $this->input->get('v');
                 if ($status_set == 'off') {
                     $cr = PrinterState_disableSteppers();
                 } else {
                     if ($status_set) {
                         $cr = ERROR_WRONG_PRM;
                     } else {
                         $cr = ERROR_MISS_PRM;
                     }
                 }
                 break;
             case PRINTERSTATE_PRM_HEADLED:
                 $status_set = $this->input->get('v');
                 if ($status_set) {
                     $cr = PrinterState_setHeadLed($status_set);
                 } else {
                     $cr = ERROR_MISS_PRM;
                 }
                 break;
             case PRINTERSTATE_PRM_OFFSET:
                 $axis = $this->input->get('axis');
                 $val_offset = $this->input->get('adjustment');
                 if ($axis && $val_offset !== FALSE) {
                     $cr = PrinterState_setOffset(array($axis => $val_offset));
                 } else {
                     $cr = ERROR_MISS_PRM;
                 }
                 break;
             case ZIMAPI_PRM_PASSWD:
                 $old_password = $this->input->get('o');
                 $password = $this->input->get('v');
                 if (ZimAPI_checkCameraPassword($old_password)) {
                     if (ZimAPI_setCameraPassword($password)) {
                         $cr = ERROR_OK;
                     } else {
                         $cr = ERROR_INTERNAL;
                     }
                 } else {
                     $cr = ERROR_WRONG_PWD;
                 }
                 break;
             case ZIMAPI_PRM_VIDEO_MODE:
                 $set_status = $this->input->get('v');
                 $password = $this->input->get('s');
                 $parameter = $this->input->get('m');
                 if (!ZimAPI_checkCameraPassword($password)) {
                     $cr = ERROR_WRONG_PWD;
                     break;
                 }
                 if ($set_status && $set_status == 'off') {
                     if (ZimAPI_cameraOff()) {
                         $cr = ERROR_OK;
                     } else {
                         $cr = ERROR_INTERNAL;
                     }
                 } else {
                     if ($set_status && $set_status == 'on') {
                         // temporary change - jump out of verification if we have no parameter 20140811
                         if (!$parameter) {
                             $parameter = ZIMAPI_PRM_CAMERA_PRINTSTART;
                         }
                         if (ZimAPI_cameraOn($parameter)) {
                             $cr = ERROR_OK;
                         } else {
                             $cr = ERROR_INTERNAL;
                         }
                         // 						}
                         // 						else {
                         // 							$cr = ERROR_MISS_PRM;
                         // 						}
                     } else {
                         if ($set_status) {
                             $cr = ERROR_WRONG_PRM;
                         } else {
                             $cr = ERROR_MISS_PRM;
                         }
                     }
                 }
                 break;
             case ZIMAPI_PRM_PRESET:
                 $id_preset = $this->input->get('id');
                 if ($id_preset) {
                     $cr = ZimAPI_setPreset($id_preset);
                 } else {
                     $cr = ERROR_MISS_PRM;
                 }
                 break;
             case SLICER_PRM_PRM:
                 $density = $this->input->get('density');
                 $skirt = $this->input->get('skirt');
                 $raft = $this->input->get('raft');
                 $support = $this->input->get('support');
                 $array_setting = array();
                 if ($density !== FALSE) {
                     $density = (int) $density / 100;
                     if ($density <= 0 || $density >= 1) {
                         $cr = ERROR_MISS_PRM;
                         break;
                     }
                     $array_setting['fill_density'] = $density;
                 }
                 if ($skirt !== FALSE) {
                     $array_setting['skirts'] = (int) $skirt == 1 ? 1 : 0;
                 }
                 if ($raft !== FALSE) {
                     $array_setting['raft_layers'] = (int) $raft == 1 ? 1 : 0;
                 }
                 if ($support !== FALSE) {
                     $array_setting['support_material'] = (int) $support == 1 ? 1 : 0;
                 }
                 if (count($array_setting) == 0) {
                     $cr = ERROR_MISS_PRM;
                 } else {
                     $cr = Slicer_changeParameter($array_setting);
                 }
                 break;
             case ZIMAPI_PRM_SSO_NAME:
                 $name = $this->input->get('name');
                 if ($name) {
                     $cr = ZimAPI_setPrinterSSOName($name);
                 } else {
                     $cr = ERROR_MISS_PRM;
                 }
                 break;
             case ZIMAPI_PRM_UPGRADE:
                 $status_set = $this->input->get('v');
                 $profile = $this->input->get('profile');
                 if ($status_set) {
                     $cr = ZimAPI_setUpgradeMode($status_set, $profile);
                 } else {
                     $cr = ERROR_MISS_PRM;
                 }
                 break;
             case ZIMAPI_PRM_PROXY:
                 $status_set = $this->input->get('v');
                 if ($status_set) {
                     $cr = ZimAPI_setTromboning($status_set);
                 } else {
                     $cr = ERROR_MISS_PRM;
                 }
                 break;
             case ZIMAPI_PRM_SSH:
                 $status_set = $this->input->get('v');
                 if ($status_set) {
                     $cr = ZimAPI_setSSH($status_set);
                 } else {
                     $cr = ERROR_MISS_PRM;
                 }
                 break;
             case ZIMAPI_PRM_STATS:
                 $status_set = $this->input->get('v');
                 if ($status_set) {
                     $cr = ZimAPI_setStatistic($status_set);
                 } else {
                     $cr = ERROR_MISS_PRM;
                 }
                 break;
             default:
                 $cr = ERROR_WRONG_PRM;
                 break;
         }
     } else {
         $cr = ERROR_MISS_PRM;
     }
     $this->_return_cr($cr);
     return;
 }
Пример #4
0
 public function cancel()
 {
     $ret_val = NULL;
     $this->load->helper('printer');
     $ret_val = Printer_stopPrint();
     if ($ret_val == TRUE) {
         $template_data = array();
         $array_status = array();
         $this->load->library('parser');
         $this->lang->load('printdetail', $this->config->item('language'));
         $this->load->helper('zimapi');
         if (Printer_checkCancelStatus() || !file_exists(ZIMAPI_FILEPATH_VIDEO_TS)) {
             if (ZimAPI_checkCamera($mode_current) && $mode_current == ZIMAPI_VALUE_MODE_HLS_IMG) {
                 $this->load->helper('printerlog');
                 PrinterLog_logMessage('detected in hls image timelapse mode, do not set camera', __FILE__, __LINE__);
             } else {
                 if (!ZimAPI_cameraOn(ZIMAPI_PRM_CAMERA_PRINTSTART)) {
                     $this->load->helper('printerlog');
                     PrinterLog_logError('can not set camera', __FILE__, __LINE__);
                 }
             }
         }
         // parse the main body
         $template_data = array('title' => t('Control your printing'), 'loading_player' => t('loading_player'), 'wait_info' => t('wait_hint_cancel'), 'finish_info' => t('finish_hint_cancel'), 'return_button' => t('Home'), 'return_url' => '/', 'video_url' => $this->config->item('video_url'), 'restart_url' => NULL, 'again_button' => t('Print again'));
         if (CoreStatus_getStatusArray($array_status) && is_array($array_status) && isset($array_status[CORESTATUS_TITLE_PRINTMODEL])) {
             if (strpos($array_status[CORESTATUS_TITLE_PRINTMODEL], CORESTATUS_VALUE_MID_PREFIXGCODE) === 0) {
                 // gcode library model
                 $gid = (int) substr($array_status[CORESTATUS_TITLE_PRINTMODEL], strlen(CORESTATUS_VALUE_MID_PREFIXGCODE));
                 $template_data['restart_url'] = '/printdetail/printgcode?id=' . $gid;
             } else {
                 $abb_cartridge = NULL;
                 $restart_url = NULL;
                 switch ($array_status[CORESTATUS_TITLE_PRINTMODEL]) {
                     case CORESTATUS_VALUE_MID_SLICE:
                         $restart_url = '/printdetail/printslice';
                         break;
                     case CORESTATUS_VALUE_MID_PRIME_L:
                         $abb_cartridge = 'l';
                     case CORESTATUS_VALUE_MID_PRIME_R:
                         $abb_cartridge = is_null($abb_cartridge) ? 'r' : $abb_cartridge;
                         $restart_url = '/printdetail/printprime?v=' . $abb_cartridge;
                         $template_data['title'] = t('title_prime');
                         $template_data['again_button'] = t('prime_agin');
                         break;
                     case CORESTATUS_VALUE_MID_CALIBRATION:
                         $restart_url = '/printmodel/detail?id=calibration';
                         break;
                     default:
                         // treat as pre-sliced model
                         $restart_url = '/printdetail/printmodel?id=' . $array_status[CORESTATUS_TITLE_PRINTMODEL];
                         break;
                 }
                 $template_data['restart_url'] = $restart_url;
             }
         }
         // parse all page
         $this->_parseBaseTemplate(t('printdetail_cancel_pagetitle'), $this->parser->parse('printdetail/cancel', $template_data, TRUE));
         return;
     } else {
         $this->load->helper('printerlog');
         PrinterLog_logError('can not stop printing', __FILE__, __LINE__);
         $this->output->set_status_header(403);
         return;
     }
     return;
 }