diff --git a/module_usb_audio/audio.xc b/module_usb_audio/audio.xc index 1b1839ea..edadc756 100755 --- a/module_usb_audio/audio.xc +++ b/module_usb_audio/audio.xc @@ -704,7 +704,7 @@ unsigned static deliver(chanend c_out, chanend ?c_spd_out, /* Manual IN instruction since compiler generates an extra setc per IN (bug #15256) */ unsigned sample; asm volatile("in %0, res[%1]" : "=r"(sample) : "r"(p_i2s_adc[index++])); - + if(buffIndex) samplesIn_1[((frameCount-1)&(I2S_CHANS_PER_FRAME-1))+i] = bitrev(sample); // channels 1, 3, 5.. on each line. else diff --git a/module_usb_audio/endpoint0/descriptors.h b/module_usb_audio/endpoint0/descriptors.h index 339c8c92..c537f4a1 100644 --- a/module_usb_audio/endpoint0/descriptors.h +++ b/module_usb_audio/endpoint0/descriptors.h @@ -1417,10 +1417,10 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2= /* Type 1 Format Type Descriptor */ .Audio_Out_Format = { - .bLength = 0x06, - .bDescriptorType = UAC_CS_DESCTYPE_INTERFACE, - .bDescriptorSubtype = UAC_CS_AS_INTERFACE_SUBTYPE_FORMAT_TYPE, - .bFormatType = UAC_FORMAT_TYPE_I, + .bLength = 0x06, + .bDescriptorType = UAC_CS_DESCTYPE_INTERFACE, + .bDescriptorSubtype = UAC_CS_AS_INTERFACE_SUBTYPE_FORMAT_TYPE, + .bFormatType = UAC_FORMAT_TYPE_I, .bSubslotSize = HS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES, .bBitResolution = HS_STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS, }, @@ -1430,7 +1430,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2= { .bLength = sizeof(USB_Descriptor_Endpoint_t), .bDescriptorType = USB_DESCTYPE_ENDPOINT, - .bEndpointAddress = ENDPOINT_ADDRESS_OUT_AUDIO, + .bEndpointAddress = ENDPOINT_ADDRESS_OUT_AUDIO, .bmAttributes = 0x05, /* (bitmap) */ .wMaxPacketSize = HS_STREAM_FORMAT_OUTPUT_1_MAXPACKETSIZE, .bInterval = 1, @@ -1451,11 +1451,11 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2= #if (NUM_USB_CHAN_IN == 0) || defined(UAC_FORCE_FEEDBACK_EP) .Audio_Out_Fb_Endpoint = { - .bLength = 0x07, - .bDescriptorType = USB_DESCTYPE_ENDPOINT, - .bEndpointAddress = ENDPOINT_ADDRESS_IN_FEEDBACK, + .bLength = 0x07, + .bDescriptorType = USB_DESCTYPE_ENDPOINT, + .bEndpointAddress = ENDPOINT_ADDRESS_IN_FEEDBACK, .bmAttributes = 17, /* (bitmap) */ - .wMaxPacketSize = 0x0004, + .wMaxPacketSize = 0x0004, .bInterval = 4, /* Only values <= 1 frame (4) supported by MS */ }, #endif @@ -1616,7 +1616,7 @@ USB_Config_Descriptor_Audio2_t cfgDesc_Audio2= .wMaxPacketSize = 0x0004, .bInterval = 4, /* Only values <= 1 frame (4) supported by MS */ }, -#endif +#endif #endif /* OUTPUT_FORMAT_COUNT > 2 */ #endif /* OUTPUT */ #if (NUM_USB_CHAN_IN > 0) diff --git a/module_usb_audio/endpoint0/endpoint0.c b/module_usb_audio/endpoint0/endpoint0.c index 7961c9fe..f3d4f51b 100755 --- a/module_usb_audio/endpoint0/endpoint0.c +++ b/module_usb_audio/endpoint0/endpoint0.c @@ -586,7 +586,7 @@ void Endpoint0(chanend c_ep0_out, chanend c_ep0_in, chanend c_audioControl, * - Audio STREAMING interface request (In or Out) * - Audio endpoint request (Audio 1.0 Sampling freq requests are sent to the endpoint) */ - if(((interfaceNum == 0) || (interfaceNum == 1) || (interfaceNum == 2)) + if(((interfaceNum == 0) || (interfaceNum == 1) || (interfaceNum == 2)) #ifdef DFU && !DFU_mode_active #endif diff --git a/module_usb_audio/mixer/mixer.xc b/module_usb_audio/mixer/mixer.xc index e882f71c..e251e401 100644 --- a/module_usb_audio/mixer/mixer.xc +++ b/module_usb_audio/mixer/mixer.xc @@ -362,10 +362,10 @@ static void mixer1(chanend c_host, chanend c_mix_ctl, chanend c_mixer2) /* Request from audio()/mixer2() */ request = inuint(c_mixer2); - + /* Forward on Request for data to decouple thread */ outuint(c_host, request); - + /* Between request to decouple and respose ~ 400nS latency for interrupt to fire */ select { diff --git a/module_usb_audio/usb_buffer/decouple.xc b/module_usb_audio/usb_buffer/decouple.xc index 86fa931f..ee279499 100644 --- a/module_usb_audio/usb_buffer/decouple.xc +++ b/module_usb_audio/usb_buffer/decouple.xc @@ -92,7 +92,7 @@ xc_ptr g_aud_to_host_dptr; xc_ptr g_aud_to_host_rdptr; xc_ptr g_aud_to_host_zeros; int sampsToWrite = DEFAULT_FREQ/8000; /* HS assumed here. Expect to be junked during a overflow before stream start */ -int totalSampsToWrite = DEFAULT_FREQ/8000; +int totalSampsToWrite = DEFAULT_FREQ/8000; int aud_data_remaining_to_device = 0; /* Audio over/under flow flags */ @@ -436,7 +436,7 @@ __builtin_unreachable(); /* Round up to nearest word - note, not needed for slotsize == 4! */ datasize = (datasize+3) & (~0x3); - + /* Move wr ptr on by old packet length */ g_aud_to_host_wrptr += 4+datasize; @@ -447,10 +447,10 @@ __builtin_unreachable(); } g_aud_to_host_dptr = g_aud_to_host_wrptr + 4; - - /* Now calculate new packet length... + + /* Now calculate new packet length... * First get feedback val (ideally this would be syncronised) - * Note, if customer hasn't applied a valid MCLK this could go to 0 + * Note, if customer hasn't applied a valid MCLK this could go to 0 * we need to handle this gracefully */ asm volatile("ldw %0, dp[g_speed]" : "=r" (speed) :); @@ -475,36 +475,36 @@ __builtin_unreachable(); space_left = aud_to_host_fifo_end - g_aud_to_host_wrptr; } - //if((space_left > 0) && (space_left < (totalSampsToWrite * g_numUsbChan_In * g_curSubSlot_In + 4))) - if((space_left < (totalSampsToWrite * g_numUsbChan_In * g_curSubSlot_In + 4))) + //if((space_left > 0) && (space_left < (totalSampsToWrite * g_numUsbChan_In * g_curSubSlot_In + 4))) + if((space_left < (totalSampsToWrite * g_numUsbChan_In * g_curSubSlot_In + 4))) { - /* In pipe has filled its buffer - we need to overflow + /* In pipe has filled its buffer - we need to overflow * Accept the packet, and throw away the oldest in the buffer */ - + /* Keep throwing away packets until buffer is at a nice level.. */ do - { + { unsigned rdPtr; - + /* Read length of packet in buffer at read pointer */ unsigned datalength; - + GET_SHARED_GLOBAL(rdPtr, g_aud_to_host_rdptr); asm volatile("ldw %0, %1[0]":"=r"(datalength):"r"(rdPtr)); - + /* Round up datalength */ - datalength = ((datalength+3) & ~0x3) + 4; - - /* Move read pointer on by length */ + datalength = ((datalength+3) & ~0x3) + 4; + + /* Move read pointer on by length */ rdPtr += datalength; if (rdPtr >= aud_to_host_fifo_end) { rdPtr = aud_to_host_fifo_start; - } - + } + space_left += datalength; SET_SHARED_GLOBAL(g_aud_to_host_rdptr, rdPtr); - + } while(space_left < (BUFF_SIZE_IN*4/2)); } @@ -556,7 +556,7 @@ static inline void SetupZerosSendBuffer(XUD_ep aud_to_host_usb_ep, unsigned samp /* Set IN stream packet size to something sensible. We expect the buffer to * over flow and this to be reset */ SET_SHARED_GLOBAL(sampsToWrite, 0); - SET_SHARED_GLOBAL(totalSampsToWrite, 0); + SET_SHARED_GLOBAL(totalSampsToWrite, 0); mid *= g_numUsbChan_In * slotSize; @@ -564,7 +564,7 @@ static inline void SetupZerosSendBuffer(XUD_ep aud_to_host_usb_ep, unsigned samp /* Mark EP ready with the zero buffer. Note this will simply update the packet size * if it is already ready */ - + /* g_aud_to_host_buffer is already set to g_aud_to_host_zeros */ GET_SHARED_GLOBAL(p, g_aud_to_host_buffer); diff --git a/module_usb_audio/usb_buffer/usb_buffer.xc b/module_usb_audio/usb_buffer/usb_buffer.xc index 2e6fdeb3..14289ac9 100644 --- a/module_usb_audio/usb_buffer/usb_buffer.xc +++ b/module_usb_audio/usb_buffer/usb_buffer.xc @@ -94,7 +94,7 @@ unsigned char fb_clocks[16]; * @param c_aud_fb chanend for feeback to xud * @return void */ -void buffer(register chanend c_aud_out, register chanend c_aud_in, +void buffer(register chanend c_aud_out, register chanend c_aud_in, #if (NUM_USB_CHAN_IN == 0) || defined (UAC_FORCE_FEEDBACK_EP) chanend c_aud_fb, #endif @@ -322,7 +322,7 @@ void buffer(register chanend c_aud_out, register chanend c_aud_in, int min, mid, max; GetADCCounts(sampleFreq, min, mid, max); g_speed = mid<<16; - + } /* Ideally we want to wait for handshake (and pass back up) here. But we cannot keep this