経由で返品peripheral:didReceiveWriteRequestする場合。CBATTRequesthex-encoded NSDatarequest.value
これは私が試したものです
// Define struct
typedef struct __attribute__((packed)) {
UInt8 pktNo;
UInt8 ctrlCmd;
UInt8 txPowerRequest;
UInt16 uuid;
UInt16 userPayload; // how to store 15 octets?
} Packet;
// Unpack
Packet *packet = (Packet *)request.value.bytes;
if (packet) {
UInt8 pktNo = packet->pktNo;
UInt8 cmd = packet->ctrlCmd;
UInt8 tx = packet->txPowerRequest;
UInt16 uuid = packet->uuid;
UInt16 payload = packet->userPayload;
NSLog(@"pktNo: %hhu, cmd: %hhu, tx: %hhu, uuid: %hu, payload: %hu", pktNo, cmd, tx, uuid, payload);
}
コンソール
pktNo: 121, cmd: 202, tx: 130, uuid: 48321, payload: 21421
まず、これらの数値は不正確に見えます。また、デバッグ ツールから取得した次の類似の値が一致しないように見えるため、これがどのような形式になっているのかもわかりません。
デフォルト:生の文字列?
packet Packet * 0x281af0cc0 0x0000000281af0cc0
pktNo UInt8 'y'
ctrlCmd UInt8 '\xca'
txPowerRequest UInt8 '\x82'
uuid UInt16 48321
userPayload UInt16 21421