61 const uint8_t itf_ac = first_itf;
62 uint8_t itf_as = (uint8_t)(first_itf + 1);
66 p =
writeIAD(p, itf_ac, (uint8_t)(1 + num_as));
70 p =
writeStdIface(p, itf_ac, 0, ac_nEps, 0x01 , 0x01 , 0x20 );
73 uint8_t* cs_ac_start = p;
102 const uint16_t cs_ac_len = (uint16_t)(p - cs_ac_start);
103 cs_ac_start[6] = (uint8_t)(cs_ac_len & 0xFF);
104 cs_ac_start[7] = (uint8_t)(cs_ac_len >> 8);
140 uint16_t outLen = (uint16_t)(p - desc);
164 return bytes_per_sample * (uint16_t)(((rate + 999) / 1000) + 1);
194 uint8_t*
writeIAD(uint8_t* p, uint8_t first_itf, uint8_t count) {
208 uint8_t nEps, uint8_t cls, uint8_t sub, uint8_t proto) {
243 if (has_in && !has_out)
return 0x03;
244 if (!has_in && has_out)
return 0x01;
282 uint16_t term_type, uint8_t clock_id) {
288 *p++ = (uint8_t)(term_type & 0xFF);
289 *p++ = (uint8_t)(term_type >> 8);
293 *p++ = (uint8_t)(ch_cfg & 0xFF);
294 *p++ = (uint8_t)((ch_cfg >> 8) & 0xFF);
295 *p++ = (uint8_t)((ch_cfg >> 16) & 0xFF);
296 *p++ = (uint8_t)((ch_cfg >> 24) & 0xFF);
326 *p++ = 0x0F; *p++ = 0x00; *p++ = 0x00; *p++ = 0x00;
329 *p++ = 0x0F; *p++ = 0x00; *p++ = 0x00; *p++ = 0x00;
337 uint8_t src_id, uint8_t clock_id) {
342 *p++ = (uint8_t)(term_type & 0xFF);
343 *p++ = (uint8_t)(term_type >> 8);
359 *p++ = terminal_link;
363 *p++ = 0x01; *p++ = 0x00; *p++ = 0x00; *p++ = 0x00;
365 *p++ = (uint8_t)(ch_cfg & 0xFF);
366 *p++ = (uint8_t)((ch_cfg >> 8) & 0xFF);
367 *p++ = (uint8_t)((ch_cfg >> 16) & 0xFF);
368 *p++ = (uint8_t)((ch_cfg >> 24) & 0xFF);
403 bool const is_in = (ep_addr & 0x80u);
404 bool const is_out = !is_in;
406 if (is_in) bmAttr = 0x05u;
413 *p++ = (uint8_t)(pkt & 0xFF);
414 *p++ = (uint8_t)(pkt >> 8);