void audio_micro_get_vol_res(void) { Usb_reset_endpoint_fifo_access(EP_CONTROL); Usb_write_endpoint_data(EP_CONTROL, 16, Usb_format_mcu_to_usb_data(16, MICRO_VOL_RES)); Usb_ack_control_in_ready_send(); while(!Is_usb_control_out_received()) // send a ZLP { TASKS_SCHEDULE(); } Usb_ack_control_out_received_free(); }
void audio_speaker_get_vol_max(void) { Usb_reset_endpoint_fifo_access(EP_CONTROL); Usb_write_endpoint_data(EP_CONTROL, 16, Usb_format_mcu_to_usb_data(16, USB_SPEAKER_VOL_MAX)); Usb_ack_control_in_ready_send(); while(!Is_usb_control_out_received()) // send a ZLP { TASKS_SCHEDULE(); } Usb_ack_control_out_received_free(); }
#include "usb_descriptors.h" #include "usb_standard_request.h" #include "usb_specific_request.h" #include "hid.h" //_____ M A C R O S ________________________________________________________ //_____ D E F I N I T I O N S ______________________________________________ // usb_user_device_descriptor const S_usb_device_descriptor usb_dev_desc = { sizeof(S_usb_device_descriptor), DEVICE_DESCRIPTOR, Usb_format_mcu_to_usb_data(16, USB_SPECIFICATION), DEVICE_CLASS, DEVICE_SUB_CLASS, DEVICE_PROTOCOL, EP_CONTROL_LENGTH, Usb_format_mcu_to_usb_data(16, VENDOR_ID), Usb_format_mcu_to_usb_data(16, PRODUCT_ID), Usb_format_mcu_to_usb_data(16, RELEASE_NUMBER), MAN_INDEX, PROD_INDEX, SN_INDEX, NB_CONFIGURATION }; // usb_user_configuration_descriptor FS
#include "usb_descriptors.h" #include "usb_standard_request.h" #include "usb_specific_request.h" //_____ M A C R O S ________________________________________________________ //_____ D E F I N I T I O N S ______________________________________________ // usb_user_device_descriptor const S_usb_device_descriptor usb_dev_desc = { sizeof(S_usb_device_descriptor), DEVICE_DESCRIPTOR, Usb_format_mcu_to_usb_data(16, USB_SPECIFICATION), DEVICE_CLASS, DEVICE_SUB_CLASS, DEVICE_PROTOCOL, EP_CONTROL_LENGTH, Usb_format_mcu_to_usb_data(16, VENDOR_ID), Usb_format_mcu_to_usb_data(16, PRODUCT_ID), Usb_format_mcu_to_usb_data(16, RELEASE_NUMBER), MAN_INDEX, PROD_INDEX, SN_INDEX, NB_CONFIGURATION }; // usb_user_configuration_descriptor FS
0x75, 0x08, // 74|1 , Report Size(8) =field size in bits = 1 byte 0x95, 0x04, // 94|1:ReportCount 0xB1, 0x02, // B0|1: Feature report 0xC0 // C0|0 , End Collection }; // usb_user_device_descriptor const S_usb_device_descriptor usb_dev_desc = { sizeof(S_usb_device_descriptor), DEVICE_DESCRIPTOR, Usb_format_mcu_to_usb_data(16, USB_SPECIFICATION), DEVICE_CLASS, DEVICE_SUB_CLASS, DEVICE_PROTOCOL, EP_CONTROL_LENGTH, Usb_format_mcu_to_usb_data(16, VENDOR_ID), Usb_format_mcu_to_usb_data(16, PRODUCT_ID), Usb_format_mcu_to_usb_data(16, RELEASE_NUMBER), MAN_INDEX, PROD_INDEX, SN_INDEX, NB_CONFIGURATION }; // usb_user_configuration_descriptor FS
//_____ M A C R O S ________________________________________________________ //_____ D E F I N I T I O N S ______________________________________________ // image specific definitions moved to *_usb_descriptors.c U16 configTSK_USB_DEV_PERIOD; // usb_user_language_id const S_usb_language_id usb_user_language_id = { sizeof(S_usb_language_id), STRING_DESCRIPTOR, Usb_format_mcu_to_usb_data(16, LANGUAGE_ID) }; // usb_user_manufacturer_string_descriptor const S_usb_manufacturer_string_descriptor usb_user_manufacturer_string_descriptor = { sizeof(S_usb_manufacturer_string_descriptor), STRING_DESCRIPTOR, USB_MANUFACTURER_NAME }; // usb_user_product_string_descriptor const S_usb_product_string_descriptor usb_user_product_string_descriptor = {
0x19, 0x00, // USAGE_MINIMUM (Reserved (no event indicated)) 0x29, 0x65, // USAGE_MAXIMUM (Keyboard Application) 0x81, 0x00, // INPUT (Data,Ary,Abs) 0x09, 0x03, // USAGE (Keyboard ErrorUndefine) 0x75, 0x08, // REPORT_SIZE (8) 0x95, KEYBOARD_FEATURE_COUNT, // REPORT_COUNT (64) 0xB1, 0x02, // FEATURE (Data,Var,Abs) 0xc0, // END_COLLECTION }; // usb_user_device_descriptor const S_usb_device_descriptor usb_dev_desc = { sizeof (S_usb_device_descriptor), DEVICE_DESCRIPTOR, Usb_format_mcu_to_usb_data (16, USB_SPECIFICATION), DEVICE_CLASS, DEVICE_SUB_CLASS, DEVICE_PROTOCOL, EP_CONTROL_LENGTH, Usb_format_mcu_to_usb_data (16, VENDOR_ID), Usb_format_mcu_to_usb_data (16, PRODUCT_ID), Usb_format_mcu_to_usb_data (16, RELEASE_NUMBER), MAN_INDEX, PROD_INDEX, SN_INDEX, NB_CONFIGURATION }; // usb_user_configuration_descriptor FS
#include "usb_specific_request.h" #include "usb_audio.h" //_____ M A C R O S ________________________________________________________ //_____ D E F I N I T I O N S ______________________________________________ // usb_user_device_descriptor const S_usb_device_descriptor uac2_dg8saq_usb_dev_desc = { sizeof(S_usb_device_descriptor), DEVICE_DESCRIPTOR, Usb_format_mcu_to_usb_data(16, USB_SPECIFICATION), DEVICE_CLASS, DEVICE_SUB_CLASS, DEVICE_PROTOCOL, EP_CONTROL_LENGTH, Usb_format_mcu_to_usb_data(16, DG8SAQ_VENDOR_ID), Usb_format_mcu_to_usb_data(16, DG8SAQ_PRODUCT_ID), Usb_format_mcu_to_usb_data(16, RELEASE_NUMBER), MAN_INDEX, PROD_INDEX, SN_INDEX, NB_CONFIGURATION }; const S_usb_device_descriptor uac2_audio_usb_dev_desc = {