1#pragma once 2 3/* 4 * Parameters for use with mSBC over eSCO link 5 */ 6 7#define MSBC_H2_ID0 0x01 8#define MSBC_H2_ID1 0x08 9#define MSBC_FRAME_SIZE 57 10 11#define MSBC_SYNC_BYTE 0xad 12 13struct msbc_h2_id1_s { 14 uint8_t id1:4; 15 uint8_t sn0:2; 16 uint8_t sn1:2; 17} __attribute__ ((packed)); 18 19union msbc_h2_id1 { 20 struct msbc_h2_id1_s s; 21 uint8_t b; 22}; 23 24struct msbc_h2_header { 25 uint8_t id0; 26 union msbc_h2_id1 id1; 27} __attribute__ ((packed)); 28 29struct msbc_frame { 30 struct msbc_h2_header hdr; 31 uint8_t payload[MSBC_FRAME_SIZE]; 32 uint8_t padding; /* must be zero */ 33} __attribute__ ((packed)); 34 35#define MSBC_PACKET_SIZE sizeof(struct msbc_frame) 36