PortHandler.java 文件源码

java
阅读 15 收藏 0 点赞 0 评论 0

项目:iot-libelium-lora-gateway 作者:
/**
 * Event notification must be enabled for every event in setSerialPort() above.
 * We can't call displayMessage.display() from this method, as we are not in FX thread.
 * 
 * @param event
 */
@Override
public void serialEvent(SerialPortEvent event) {

    switch(event.getEventType()) {
    case SerialPortEvent.BI:
    case SerialPortEvent.CD:
    case SerialPortEvent.CTS:
    case SerialPortEvent.DSR:
    case SerialPortEvent.FE:
    case SerialPortEvent.OE:
    case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
    case SerialPortEvent.PE:
    case SerialPortEvent.RI:
        break;
    case SerialPortEvent.DATA_AVAILABLE:
        short[] payload;
        int b;
        while (true) {
            try {
                if (in.available() == 0) {
                    // No more data available.
                    break;
                }
                b = in.read();
            } catch (IOException e) {
                displayMessage.displayLogLater("error on receive: " + e.getMessage());
                break;
            }
            payload = frameHandler.frameAssembler(b);
            if (payload != null) {
                displayMessage.displayFrameLater(frameHandler.displayFrame(payload));
            }
        }
        break;
    default:
        displayMessage.displayLogLater("FrameHandler.serialEvent() - unknown event type: " + event.getEventType());
    }

}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号