private static void handleMotionSensorControllerMessage(Message Msg) { if (Msg.GetMessage().equalsIgnoreCase(MOTION_SENSOR_ON)) // window break Sensor on { messageWindow.WriteMessage("Motion Sensor on"); MotionSensorState = true; } if (Msg.GetMessage().equalsIgnoreCase(MOTION_SENSOR_OFF)) // window break Sensor off { messageWindow.WriteMessage("Motion Sensor off"); MotionSensorState = false; } }
private static void performSensorprocess() { /** * ************************************************ Here we start the main simulation loop that * will continuously look for control messages ************************************************* */ messageWindow.WriteMessage("Motion Sensor off"); while (!Done) { // postArmStatus try { queue = messageManager.GetMessageQueue(); // get messages from message manager sendHeartBeat(messageManager, "22", "MotionSensor", "This device detectes motion"); } catch (Exception e) { messageWindow.WriteMessage("Error getting message queue::" + e); } int qlen = queue.GetSize(); for (int i = 0; i < qlen; i++) { Msg = queue.GetMessage(); if (Msg.GetMessageId() == MOTION_SENSOR_ID) { handleMotionSensorControllerMessage(Msg); } if (Msg.GetMessageId() == HALT_SECURITY_ID) { handleExitMessage(); } if (MotionSensorState) { if (Msg.GetMessageId() == MOTION_SIMULATE_ID) { if (SIMULATE_ON.equals(Msg.GetMessage())) { simulate = true; messageWindow.WriteMessage("Send MOTION_DETECTED"); sendMessageToMessageManager(MOTION_DETECTED, MOTION_SENSE_MSG_ID); } else { simulate = false; messageWindow.WriteMessage("Send STOP_ALARM"); sendMessageToMessageManager(STOP_ALARM, MOTION_SENSE_MSG_ID); } } } } if (MotionSensorState) { if (simulate) { messageWindow.WriteMessage("Send MOTION_DETECTED"); sendMessageToMessageManager(MOTION_DETECTED, MOTION_SENSE_MSG_ID); } else { messageWindow.WriteMessage("Send OK"); sendMessageToMessageManager(OK, MOTION_SENSE_MSG_ID); } } try { Thread.sleep(Delay); } catch (Exception e) { System.out.println("Sleep error:: " + e); } } }