@Override public void OnMessage(int MessageType, Object data, int firmwareVersion) { switch (MessageType) { case CONNECTED: String count = (String) data; if (count.equals("1")) connectToDevice(firmwareVersion); break; case DISCONNECTED: gLEDOff(); IsConnected = false; m_ButtonUI.setEnable(ButtonUI.BUTTON_START, false); m_ButtonUI.setEnable(ButtonUI.BUTTON_STOP, false); m_ButtonUI.setEnable(ButtonUI.BUTTON_PROTOCOL, false); m_PCRTask.killTimer(NopTimer.TIMER_NUMBER); m_PCRStatusText.setMessage(UIConstant.DEFAULT_STATUS_MESSAGE0, 0); m_PCRStatusText.setMessage(UIConstant.DEFAULT_STATUS_MESSAGE1, 1); m_PCRStatusText.setMessage(UIConstant.DEFAULT_STATUS_MESSAGE2, 2); break; } }
private void connectToDevice(int firmwareVersion) { try { if (m_Device != null) { m_Device.close(); m_Device = null; } m_Device = m_Manager.openById(DeviceConstant.VENDOR_ID, DeviceConstant.PRODUCT_ID, serialNumber); if (m_Device != null) { IsConnected = true; m_Device.disableBlocking(); m_ButtonUI.setEnable(ButtonUI.BUTTON_START, true); m_ButtonUI.setEnable(ButtonUI.BUTTON_STOP, false); m_ButtonUI.setEnable(ButtonUI.BUTTON_PROTOCOL, true); m_PCRStatusText.setMessage(m_Device.getSerialNumberString(), 0); m_PCRTask.setTimer(NopTimer.TIMER_NUMBER); setTitle(m_Device.getSerialNumberString()); setSerialNumber(m_Device.getSerialNumberString()); gLEDOn(); if (firmwareVersion == 0) currentVersion = null; else currentVersion = ((firmwareVersion >> 8) & 0xff) + "." + (firmwareVersion & 0xff); // 150506 YJ Firmware check disable // UpdateFromServer(); } else { // ���� ���� ó�� System.out.println("Fatal Error!"); gLEDOff(); } } catch (IOException e) { e.printStackTrace(); } }
/** * Handler�� implements �� �ҵ�. �ٸ� Ŭ�����κ��� ���� Message�� �´�. * * @param MessageType int ���� ���� * @param data Object ������ ���� ���� ������ */ @Override public void OnHandleMessage(int MessageType, Object data) { switch (MessageType) { // Protocol �� �о��ٴ� ���� �� ��� case MESSAGE_READ_PROTOCOL: // Protocol ����Ʈ�� ����ִ�. Action[] actions = (Action[]) data; // null �� ���� �������� ������ �߸� �ҷ��� ��� if (actions == null) JOptionPane.showMessageDialog(this, "�ùٸ��� ���� Protocol �����Դϴ�."); else { // �÷��� �ʱ�ȭ IsProtocolRead = false; // action�� 0��° �迭�� ���̺��� null�� ���� �߸��� ������ ���. if (actions[0].getLabel() == null) return; // List�� ����ش�. m_ProtocolList.ResetContent(); // ���� �������� ��ŭ insert ���ش�. for (Action action : actions) { m_ProtocolList.InsertData(action); } int total = 0; int goton = 0; for (int i = 0; i < actions.length; i++) { if (!actions[i].getLabel().equals("GOTO")) total += Integer.parseInt(actions[i].getTime()); else { int count = Integer.parseInt(actions[i].getTime()); if (goton < count) { String gotoLabel = actions[i].getTemp(); for (int j = 0; j < actions.length; j++) { if (actions[j].getLabel().equals(gotoLabel)) { i = j - 1; break; } } goton++; } else { goton = 0; } } } // �ƿ� �������ݵ��� ��������� �������ش�. m_ActionList = actions; // �о�� �������� ������ �̸��� ��ܿ� ǥ���Ѵ�. m_ProtocolText.setProtocolText(actions[0].getProtocolName()); m_ProtocolText.setRemainingTimeText( String.format( "%02d:%02d:%02d", total / 3600, (total % 3600) / 60, (total % 3600) % 60)); // �о����� �÷��� true IsProtocolRead = true; } break; // ��ŸƮ ��ư�� ������ ��. case MESSAGE_START_PCR: if (IsConnected) { // �ҷ��� �������� ������ ���� ��쿡�� ���� if (IsProtocolRead) { rLEDOff(); m_PCRTask.PCR_Start(m_LidText.getText()); m_PCRTask.setTimer(GoTimer.TIMER_NUMBER); m_ButtonUI.setEnable(ButtonUI.BUTTON_START, false); m_ButtonUI.setEnable(ButtonUI.BUTTON_STOP, true); m_ButtonUI.setEnable(ButtonUI.BUTTON_PROTOCOL, false); } else { JOptionPane.showMessageDialog(this, "�ҷ��� �������� ������ �����ϴ�."); } } break; // ��ž ��ư�� ������ �� case MESSAGE_STOP_PCR: if (IsConnected) { // ���� ó�� m_PCRTask.Stop_PCR(); m_ButtonUI.setEnable(ButtonUI.BUTTON_START, true); m_ButtonUI.setEnable(ButtonUI.BUTTON_STOP, false); m_ButtonUI.setEnable(ButtonUI.BUTTON_PROTOCOL, true); // �÷��� ���� IsNoStop = false; // Stop ������ �˸��� ���α��� �� final ProgressDialog dialog = new ProgressDialog(this, "Stoping this device...", 10); // ����� ����� ���� ��� ��ȭ���ڸ� ���� ���� ������ ���� Thread tempThread = new Thread() { public void run() { dialog.setModal(true); dialog.setVisible(true); } }; tempThread.start(); // 0.2�� ���� ���α����ٰ� 1ĭ�� �����ϵ��� 2���� ���� �ð��� �д�. ( �������� ���Ḧ ���� ) Thread tempThread2 = new Thread() { public void run() { for (int i = 1; i <= 10; i++) { dialog.setProgressValue(i); try { Thread.sleep(200); } catch (InterruptedException e) { e.printStackTrace(); } } dialog.setVisible(false); m_PCRTask.PCR_End(); } }; tempThread2.start(); } break; // Start ����, �������ݵ��� ���� ���� ���� ��쿡 NOP Ÿ�̸Ӹ� ���� ��Ű�� ���� ���� case MESSAGE_TASK_WRITE_END: try { Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace(); } // NopTimer ���۽�Ų��. m_PCRTask.setTimer(NopTimer.TIMER_NUMBER); break; } }