/***************************************************************************** * * @name APP_task * * @brief This function runs APP task. * @param None * * @return None ** *****************************************************************************/ void APP_task(void) { while (TRUE) { /* call the periodic task function */ USB_CDC_Periodic_Task(); /*check whether enumeration is complete or not */ if ((start_app == TRUE) && (start_transactions == TRUE)) { Virtual_Com_App(); } }/* Endwhile */ }
/***************************************************************************** * * @name TestApp_Init * * @brief This function is the entry for mouse (or other usuage) * * @param None * * @return None ** *****************************************************************************/ void TestApp_Init(void) { //uint_8 error; CDC_CONFIG_STRUCT cdc_config; USB_CLASS_CDC_ENDPOINT * endPoint_ptr; g_curr_recv_buf = _mem_alloc_uncached(DATA_BUFF_SIZE); g_curr_send_buf = _mem_alloc_uncached(DATA_BUFF_SIZE); endPoint_ptr = USB_mem_alloc_zero(sizeof(USB_CLASS_CDC_ENDPOINT)*CDC_DESC_ENDPOINT_COUNT); cdc_config.comm_feature_data_size = COMM_FEATURE_DATA_SIZE; cdc_config.usb_ep_data = &usb_desc_ep; cdc_config.desc_endpoint_cnt = CDC_DESC_ENDPOINT_COUNT; cdc_config.cdc_class_cb.callback = USB_App_Callback; cdc_config.cdc_class_cb.arg = &g_app_handle; cdc_config.vendor_req_callback.callback = NULL; cdc_config.vendor_req_callback.arg = NULL; cdc_config.param_callback.callback = USB_Notif_Callback; cdc_config.param_callback.arg = &g_app_handle; cdc_config.desc_callback_ptr = &desc_callback; cdc_config.ep = endPoint_ptr; cdc_config.cic_send_endpoint = CIC_NOTIF_ENDPOINT; /* Always happend in control endpoint hence hard coded in Class layer*/ //cdc_config.cic_recv_endpoint = cdc_config.dic_send_endpoint = DIC_BULK_IN_ENDPOINT; cdc_config.dic_recv_endpoint = DIC_BULK_OUT_ENDPOINT; if (MQX_OK != _usb_device_driver_install(USBCFG_DEFAULT_DEVICE_CONTROLLER)) { printf("Driver could not be installed\n"); return; } /* Initialize the USB interface */ g_app_handle = USB_Class_CDC_Init(&cdc_config); g_recv_size = 0; g_send_size= 0; while (TRUE) { /* call the periodic task function */ USB_CDC_Periodic_Task(); /*check whether enumeration is complete or not */ if((start_app==TRUE) && (start_transactions==TRUE)) { Virtual_Com_App(); } }/* Endwhile */ }
/****************************************************************************** * * @name TestApp_Task * * @brief Application task function. It is called from the main loop * * @param None * * @return None * ***************************************************************************** * Application task function. It is called from the main loop *****************************************************************************/ void TestApp_Task(void) { #if (defined _MC9S08JE128_H) || (defined _MC9S08JM16_H) || (defined _MC9S08JM60_H) || (defined _MC9S08JS16_H) || (defined _MC9S08MM128_H) if(USB_PROCESS_PENDING()) { USB_Engine(); } #endif /* call the periodic task function */ USB_Class_CDC_Periodic_Task(); /*check whether enumeration is complete or not */ if((start_app==TRUE) && (start_transactions==TRUE)) { Virtual_Com_App(); } }
static void Task_Start(void *arg) { #if (USE_RTOS) APP_init(); while (TRUE) { #endif /* call the periodic task function */ USB_CDC_Periodic_Task(); /*check whether enumeration is complete or not */ if ((start_app == TRUE) && (start_transactions == TRUE)) { Virtual_Com_App(); } #if (USE_RTOS) }/* Endwhile */ #endif }