예제 #1
0
 @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;
   }
 }
예제 #2
0
  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();
    }
  }
예제 #3
0
  /**
   * 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;
    }
  }