/***************************************************************************** * * @name TestApp_Init * * @brief This function is the entry for Audio generator * * @param None * * @return None ** *****************************************************************************/ void APP_init(void) { printf("Hid_audio_TestApp_Init\n"); audio_config_callback.composite_application_callback.callback = Audio_USB_App_Callback; audio_config_callback.composite_application_callback.arg = &g_audio_handle; audio_config_callback.class_specific_callback.callback = Audio_App_Param_Callback; audio_config_callback.class_specific_callback.arg = &g_audio_handle; audio_config_callback.desc_callback_ptr = &desc_callback; audio_config_callback.type = USB_CLASS_AUDIO; /* initialize the Global Variable Structure */ OS_Mem_zero(&g_mouse, sizeof(MOUSE_GLOBAL_VARIABLE_STRUCT)); /* Initialize the USB interface */ Hid_config_callback.composite_application_callback.callback = Hid_App_Callback; Hid_config_callback.composite_application_callback.arg = &g_mouse.app_handle; Hid_config_callback.class_specific_callback.callback = Hid_App_Param_Callback; Hid_config_callback.class_specific_callback.arg = &g_mouse.app_handle; Hid_config_callback.desc_callback_ptr = &desc_callback; Hid_config_callback.type = USB_CLASS_HID; usb_composite_callback.count = 2; usb_composite_callback.class_app_callback = composite_cfg; usb_composite_callback.class_app_callback[0] = audio_config_callback; usb_composite_callback.class_app_callback[1] = Hid_config_callback; /* Initialize the USB interface */ USB_Composite_Init(CONTROLLER_ID, &usb_composite_callback, &g_app_handle); USB_Composite_Get_Class_Handle(g_app_handle, USB_CLASS_HID, &g_mouse.app_handle); USB_Composite_Get_Class_Handle(g_app_handle, USB_CLASS_AUDIO, &g_audio_handle); Hid_TestApp_Init(); Audio_TestApp_Init(); // while(1); }
/***************************************************************************** * * @name APP_init * * @brief This function do initialization for APP. * * @param None * * @return None ** *****************************************************************************/ void USB_init() { class_config_struct_t* cdc_vcom_config_callback_handle; class_config_struct_t* msc_disk_config_callback_handle; cdc_vcom_preinit(); msc_disk_preinit(); #if (OS_ADAPTER_ACTIVE_OS == OS_ADAPTER_MQX) if (NULL == g_composite_device) { g_composite_device = OS_Mem_alloc_uncached_zero(sizeof(composite_device_struct_t)); } /* cdc vcom device */ cdc_vcom_config_callback_handle = &g_composite_device->composite_device_config_list[CDC_VCOM_INTERFACE_INDEX]; cdc_vcom_config_callback_handle->composite_application_callback.callback = VCom_USB_App_Device_Callback; cdc_vcom_config_callback_handle->composite_application_callback.arg = &g_composite_device->cdc_vcom; cdc_vcom_config_callback_handle->class_specific_callback.callback = (usb_class_specific_handler_func) VCom_USB_App_Class_Callback; cdc_vcom_config_callback_handle->class_specific_callback.arg = &g_composite_device->cdc_vcom; cdc_vcom_config_callback_handle->desc_callback_ptr = &desc_callback; cdc_vcom_config_callback_handle->type = USB_CLASS_CDC; /* msc disk device */ msc_disk_config_callback_handle = &g_composite_device->composite_device_config_list[MSC_DISK_INTERFACE_INDEX]; msc_disk_config_callback_handle->composite_application_callback.callback = Disk_USB_App_Device_Callback; msc_disk_config_callback_handle->composite_application_callback.arg = &g_composite_device->msc_disk; msc_disk_config_callback_handle->class_specific_callback.callback = (usb_class_specific_handler_func) Disk_USB_App_Class_Callback; msc_disk_config_callback_handle->class_specific_callback.arg = &g_composite_device->msc_disk; msc_disk_config_callback_handle->desc_callback_ptr = &desc_callback; msc_disk_config_callback_handle->type = USB_CLASS_MSC; OS_Mem_zero(&g_composite_device->msc_disk, sizeof(disk_struct_t)); g_composite_device->composite_device_config_callback.count = 2; g_composite_device->composite_device_config_callback.class_app_callback = g_composite_device->composite_device_config_list; msc_disk_init(&g_composite_device->msc_disk); /* Initialize the USB interface */ USB_Composite_Init(CONTROLLER_ID, &g_composite_device->composite_device_config_callback, &g_composite_device->composite_device); g_composite_device->cdc_vcom = (cdc_handle_t) g_composite_device->composite_device_config_list[CDC_VCOM_INTERFACE_INDEX].class_handle; g_composite_device->msc_disk.app_handle = (msd_handle_t) g_composite_device->composite_device_config_list[MSC_DISK_INTERFACE_INDEX].class_handle; cdc_vcom_init(&g_composite_device->cdc_vcom); #else /* cdc vcom device */ cdc_vcom_config_callback_handle = &g_composite_device.composite_device_config_list[CDC_VCOM_INTERFACE_INDEX]; cdc_vcom_config_callback_handle->composite_application_callback.callback = VCom_USB_App_Device_Callback; cdc_vcom_config_callback_handle->composite_application_callback.arg = &g_composite_device.cdc_vcom; cdc_vcom_config_callback_handle->class_specific_callback.callback = (usb_class_specific_handler_func) VCom_USB_App_Class_Callback; cdc_vcom_config_callback_handle->class_specific_callback.arg = &g_composite_device.cdc_vcom; cdc_vcom_config_callback_handle->desc_callback_ptr = &desc_callback; cdc_vcom_config_callback_handle->type = USB_CLASS_CDC; /* msc disk device */ msc_disk_config_callback_handle = &g_composite_device.composite_device_config_list[MSC_DISK_INTERFACE_INDEX]; msc_disk_config_callback_handle->composite_application_callback.callback = Disk_USB_App_Device_Callback; msc_disk_config_callback_handle->composite_application_callback.arg = &g_composite_device.msc_disk; msc_disk_config_callback_handle->class_specific_callback.callback = (usb_class_specific_handler_func) Disk_USB_App_Class_Callback; msc_disk_config_callback_handle->class_specific_callback.arg = &g_composite_device.msc_disk; msc_disk_config_callback_handle->desc_callback_ptr = &desc_callback; msc_disk_config_callback_handle->type = USB_CLASS_MSC; OS_Mem_zero(&g_composite_device.msc_disk, sizeof(disk_struct_t)); g_composite_device.composite_device_config_callback.count = 2; g_composite_device.composite_device_config_callback.class_app_callback = g_composite_device.composite_device_config_list; msc_disk_init(&g_composite_device.msc_disk); /* Initialize the USB interface */ USB_Composite_Init(CONTROLLER_ID, &g_composite_device.composite_device_config_callback, &g_composite_device.composite_device); g_composite_device.cdc_vcom = (cdc_handle_t) g_composite_device.composite_device_config_list[CDC_VCOM_INTERFACE_INDEX].class_handle; g_composite_device.msc_disk.app_handle = (msd_handle_t) g_composite_device.composite_device_config_list[MSC_DISK_INTERFACE_INDEX].class_handle; cdc_vcom_init(&g_composite_device.cdc_vcom); #endif }