Пример #1
0
 /*****************************************************************************
 *  
 *   @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);
} 
Пример #2
0
/*****************************************************************************
 *
 *    @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
}