2016-12-24 4 views
0

Ich habe eine BT-Verbindung mit einem Zephyr Bioharness Device, das funktioniert gut, aber ich habe Probleme beim Empfang von periodischen Paketen. Die API sagte mir, das Flag auf 1 zu setzen, aber ich bekomme nur eine Antwortnachricht, wenn das Flag auf 0 gesetzt. Die API sagt, dass das 4. Byte ist der Übertragungsstatus (Payload), 1 = aktiviert, 0 = deaktiviert undZephyr Bioharness API - periodische Pakete bekommen

„Es gibt keine Nutzdaten innerhalb der Nachricht als das Paket lediglich bestätigt, dass die Daten akzeptiert wurden, und daß die Ferneinheit hat den Übertragungszustand in den forderter Modus gesetzt.“

Beispiel:

Anfrage:

// Set General Data Packet Transmit State 
    stream.Write(new byte[] { 0x02, 0x14, 1, 1, 0x00, 0x03 }, 0, 6); 

Antwort:

No Response 

Anfrage:

stream.Write(new byte[] { 0x02, 0x14, 1, 0, 0x00, 0x03 }, 0, 6); 

Antwort:

Message: 0x02 0x14 0x00 0x00 0x06 

ich das Problem mit jeder Art von periodischen Pakete erhalten, nur die responde bekommen, wenn ihr Zustand zu versetzen zu 0. Aber ich erhalte erfolgreich Event-Pakete. Habe auch 0x01 als Flag versucht.

Antwort

0

Verdammt, ich habe nur vergessen, die CRC8 (Byte an Position 6) zu berechnen. Wenn ich den Verbindungsstatus auf 0 setze, ist der CRC ebenfalls 0, deshalb erhalte ich eine Antwortnachricht.