Fix incorrect printf format specifier in the HIDReportViewer project.
[pub/USBasp.git] / Demos / Device / ClassDriver / AudioOutput / AudioOutput.c
index 77727f0..e0c5734 100644 (file)
@@ -91,7 +91,8 @@ void SetupHardware(void)
 ISR(TIMER0_COMPA_vect, ISR_BLOCK)
 {
        uint8_t PrevEndpoint = Endpoint_GetCurrentEndpoint();
 ISR(TIMER0_COMPA_vect, ISR_BLOCK)
 {
        uint8_t PrevEndpoint = Endpoint_GetCurrentEndpoint();
-
+       
+       /* Check that the USB bus is ready for the next sample to read */
        if (Audio_Device_IsSampleReceived(&Speaker_Audio_Interface))
        {
                /* Retrieve the signed 16-bit left and right audio samples, convert to 8-bit */
        if (Audio_Device_IsSampleReceived(&Speaker_Audio_Interface))
        {
                /* Retrieve the signed 16-bit left and right audio samples, convert to 8-bit */
@@ -214,7 +215,7 @@ void EVENT_USB_Device_ControlRequest(void)
  *
  *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state.
  *  \param[in]     EndpointProperty    Property of the endpoint to get or set, a value from Audio_ClassRequests_t.
  *
  *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state.
  *  \param[in]     EndpointProperty    Property of the endpoint to get or set, a value from Audio_ClassRequests_t.
- *  \param[in]     EndpointIndex       Index of the streaming endpoint whose property is being referenced.
+ *  \param[in]     EndpointAddress     Address of the streaming endpoint whose property is being referenced.
  *  \param[in]     EndpointControl     Parameter of the endpoint to get or set, a value from Audio_EndpointControls_t.
  *  \param[in,out] DataLength          For SET operations, the length of the parameter data to set. For GET operations, the maximum
  *                                     length of the retrieved data. When NULL, the function should return whether the given property
  *  \param[in]     EndpointControl     Parameter of the endpoint to get or set, a value from Audio_EndpointControls_t.
  *  \param[in,out] DataLength          For SET operations, the length of the parameter data to set. For GET operations, the maximum
  *                                     length of the retrieved data. When NULL, the function should return whether the given property
@@ -224,15 +225,15 @@ void EVENT_USB_Device_ControlRequest(void)
  *
  *  \return Boolean true if the property get/set was successful, false otherwise
  */
  *
  *  \return Boolean true if the property get/set was successful, false otherwise
  */
-bool CALLBACK_Audio_GetSetEndpointProperty(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo,
-                                           const uint8_t EndpointProperty,
-                                           const uint8_t EndpointIndex,
-                                           const uint8_t EndpointControl,
-                                           uint16_t* const DataLength,
-                                           uint8_t* Data)
+bool CALLBACK_Audio_Device_GetSetEndpointProperty(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo,
+                                                  const uint8_t EndpointProperty,
+                                                  const uint8_t EndpointAddress,
+                                                  const uint8_t EndpointControl,
+                                                  uint16_t* const DataLength,
+                                                  uint8_t* Data)
 {
        /* Check the requested endpoint to see if a supported endpoint is being manipulated */
 {
        /* Check the requested endpoint to see if a supported endpoint is being manipulated */
-       if (EndpointIndex == Speaker_Audio_Interface.Config.DataOUTEndpointNumber)
+       if (EndpointAddress == (ENDPOINT_DESCRIPTOR_DIR_OUT | Speaker_Audio_Interface.Config.DataOUTEndpointNumber))
        {
                /* Check the requested control to see if a supported control is being manipulated */
                if (EndpointControl == AUDIO_EPCONTROL_SamplingFreq)
        {
                /* Check the requested control to see if a supported control is being manipulated */
                if (EndpointControl == AUDIO_EPCONTROL_SamplingFreq)