void checkSerialAPI(){ xbee.readPacket(); if (xbee.getResponse().isAvailable()) { if (xbee.getResponse().getApiId() == ZB_RX_RESPONSE) { xbee.getResponse().getZBRxResponse(rx); if (rx.getOption() == ZB_PACKET_ACKNOWLEDGED) { } else {} int len = rx.getDataLength(); char m[len+1]; for(int i=0;i<len;i++){ m[i]=rx.getData(i); } m[len]='\0'; splitString(m, CMD,DEL,BRI, R, G ,B, TOUT); t=millis() + TOUT * 1000; } else if (xbee.getResponse().getApiId() == MODEM_STATUS_RESPONSE) { xbee.getResponse().getModemStatusResponse(msr); if (msr.getStatus() == ASSOCIATED) {} else if (msr.getStatus() == DISASSOCIATED) {} else {} } else {} } else if (xbee.getResponse().isError()) {} }
void printResponseCb(ZBRxResponse& rx, uintptr_t data) { Print *p = (Print*)data; p->println(F("ZBRxResponse received:")); printField(p, F(" From: 0x"), rx.getRemoteAddress64()); printField(p, F(" From: 0x"), rx.getRemoteAddress16()); printField(p, F(" Receive options: 0x"), rx.getOption()); if (rx.getDataLength() > 8) p->print(" Payload:\r\n "); else p->print(" Payload: "); printHex(*p, rx.getFrameData() + rx.getDataOffset(), rx.getDataLength(), F(" "), F("\r\n "), 8); p->println(); }