hathach 8 лет назад
Родитель
Сommit
7707fe194f

+ 5 - 5
tinyusb/class/cdc/cdc_rndis_host.c

@@ -173,7 +173,7 @@ tusb_error_t rndish_open_subtask(uint8_t dev_addr, cdch_data_t *p_cdc)
 
   //------------- Message Initialize -------------//
   memcpy(msg_payload, &msg_init, sizeof(rndis_msg_initialize_t));
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
       send_message_get_response_subtask( dev_addr, p_cdc,
                                          msg_payload, sizeof(rndis_msg_initialize_t),
                                          msg_payload),
@@ -191,7 +191,7 @@ tusb_error_t rndish_open_subtask(uint8_t dev_addr, cdch_data_t *p_cdc)
   memcpy(msg_payload, &msg_query_permanent_addr, sizeof(rndis_msg_query_t));
   memclr_(msg_payload + sizeof(rndis_msg_query_t), 6); // 6 bytes for MAC address
 
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
       send_message_get_response_subtask( dev_addr, p_cdc,
                                          msg_payload, sizeof(rndis_msg_query_t) + 6,
                                          msg_payload),
@@ -208,7 +208,7 @@ tusb_error_t rndish_open_subtask(uint8_t dev_addr, cdch_data_t *p_cdc)
   memclr_(msg_payload + sizeof(rndis_msg_set_t), 4); // 4 bytes for filter flags
   ((rndis_msg_set_t*) msg_payload)->oid_buffer[0] = (RNDIS_PACKET_TYPE_DIRECTED | RNDIS_PACKET_TYPE_MULTICAST | RNDIS_PACKET_TYPE_BROADCAST);
 
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
       send_message_get_response_subtask( dev_addr, p_cdc,
                                          msg_payload, sizeof(rndis_msg_set_t) + 4,
                                          msg_payload),
@@ -244,7 +244,7 @@ static tusb_error_t send_message_get_response_subtask( uint8_t dev_addr, cdch_da
   OSAL_SUBTASK_BEGIN
 
   //------------- Send RNDIS Control Message -------------//
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
       usbh_control_xfer_subtask( dev_addr, bm_request_type(TUSB_DIR_OUT, TUSB_REQ_TYPE_CLASS, TUSB_REQ_RCPT_INTERFACE),
                                  CDC_REQUEST_SEND_ENCAPSULATED_COMMAND, 0, p_cdc->interface_number,
                                  mess_length, p_mess),
@@ -259,7 +259,7 @@ static tusb_error_t send_message_get_response_subtask( uint8_t dev_addr, cdch_da
   SUBTASK_ASSERT(msg_notification[dev_addr-1][0] == 1);
 
   //------------- Get RNDIS Message Initialize Complete -------------//
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
     usbh_control_xfer_subtask( dev_addr, bm_request_type(TUSB_DIR_IN, TUSB_REQ_TYPE_CLASS, TUSB_REQ_RCPT_INTERFACE),
                                CDC_REQUEST_GET_ENCAPSULATED_RESPONSE, 0, p_cdc->interface_number,
                                RNDIS_MSG_PAYLOAD_MAX, p_response),

+ 2 - 2
tinyusb/class/hid/hid_host.c

@@ -198,7 +198,7 @@ tusb_error_t hidh_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con
   OSAL_SUBTASK_BEGIN
 
   //------------- SET IDLE (0) request -------------//
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
     usbh_control_xfer_subtask( dev_addr, bm_request_type(TUSB_DIR_OUT, TUSB_REQ_TYPE_CLASS, TUSB_REQ_RCPT_INTERFACE),
                                HID_REQUEST_CONTROL_SET_IDLE, 0, p_interface_desc->bInterfaceNumber,
                                0, NULL ),
@@ -210,7 +210,7 @@ tusb_error_t hidh_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con
   //------------- Get Report Descriptor TODO HID parser -------------//
   if ( p_desc_hid->bNumDescriptors )
   {
-    OSAL_SUBTASK_INVOKED_AND_WAIT(
+    OSAL_SUBTASK_INVOKED(
         usbh_control_xfer_subtask( dev_addr, bm_request_type(TUSB_DIR_IN, TUSB_REQ_TYPE_STANDARD, TUSB_REQ_RCPT_INTERFACE),
                                    TUSB_REQUEST_GET_DESCRIPTOR, (p_desc_hid->bReportType << 8), 0,
                                    p_desc_hid->wReportLength, report_descriptor ),

+ 3 - 3
tinyusb/class/msc/msc_host.c

@@ -327,7 +327,7 @@ tusb_error_t msch_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con
 
 
   //------------- Get Max Lun -------------//
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
     usbh_control_xfer_subtask( dev_addr, bm_request_type(TUSB_DIR_IN, TUSB_REQ_TYPE_CLASS, TUSB_REQ_RCPT_INTERFACE),
                                MSC_REQUEST_GET_MAX_LUN, 0, msch_data[dev_addr-1].interface_number,
                                1, msch_buffer ),
@@ -339,7 +339,7 @@ tusb_error_t msch_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con
 
 #if 0
   //------------- Reset -------------//
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
     usbh_control_xfer_subtask( dev_addr, bm_request_type(TUSB_DIR_OUT, TUSB_REQ_TYPE_CLASS, TUSB_REQ_RCPT_INTERFACE),
                                MSC_REQUEST_RESET, 0, msch_data[dev_addr-1].interface_number,
                                0, NULL ),
@@ -365,7 +365,7 @@ tusb_error_t msch_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con
   // Read Capacity --> Stalled --> Clear Stall --> Request Sense --> Read Capacity (2) to work
   if ( hcd_pipe_is_stalled(msch_data[dev_addr-1].bulk_in) )
   { // clear stall TODO abstract clear stall function
-    OSAL_SUBTASK_INVOKED_AND_WAIT(
+    OSAL_SUBTASK_INVOKED(
       usbh_control_xfer_subtask( dev_addr, bm_request_type(TUSB_DIR_OUT, TUSB_REQ_TYPE_STANDARD, TUSB_REQ_RCPT_ENDPOINT),
                                  TUSB_REQUEST_CLEAR_FEATURE, 0, hcd_pipe_get_endpoint_addr(msch_data[dev_addr-1].bulk_in),
                                  0, NULL ),

+ 6 - 6
tinyusb/host/hub.c

@@ -77,7 +77,7 @@ tusb_error_t hub_port_clear_feature_subtask(uint8_t hub_addr, uint8_t hub_port,
                  feature <= HUB_FEATURE_PORT_RESET_CHANGE);
 
   //------------- Clear Port Feature request -------------//
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
       usbh_control_xfer_subtask( hub_addr, bm_request_type(TUSB_DIR_OUT, TUSB_REQ_TYPE_CLASS, TUSB_REQ_RCPT_OTHER),
                                  HUB_REQUEST_CLEAR_FEATURE, feature, hub_port,
                                  0, NULL ),
@@ -86,7 +86,7 @@ tusb_error_t hub_port_clear_feature_subtask(uint8_t hub_addr, uint8_t hub_port,
   SUBTASK_ASSERT_STATUS( error );
 
   //------------- Get Port Status to check if feature is cleared -------------//
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
       usbh_control_xfer_subtask( hub_addr, bm_request_type(TUSB_DIR_IN, TUSB_REQ_TYPE_CLASS, TUSB_REQ_RCPT_OTHER),
                                  HUB_REQUEST_GET_STATUS, 0, hub_port,
                                  4, hub_enum_buffer ),
@@ -111,7 +111,7 @@ tusb_error_t hub_port_reset_subtask(uint8_t hub_addr, uint8_t hub_port)
   OSAL_SUBTASK_BEGIN
 
   //------------- Set Port Reset -------------//
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
       usbh_control_xfer_subtask( hub_addr, bm_request_type(TUSB_DIR_OUT, TUSB_REQ_TYPE_CLASS, TUSB_REQ_RCPT_OTHER),
                                  HUB_REQUEST_SET_FEATURE, HUB_FEATURE_PORT_RESET, hub_port,
                                  0, NULL ),
@@ -122,7 +122,7 @@ tusb_error_t hub_port_reset_subtask(uint8_t hub_addr, uint8_t hub_port)
   osal_task_delay(RESET_DELAY); // TODO Hub wait for Status Endpoint on Reset Change
 
   //------------- Get Port Status to check if port is enabled, powered and reset_change -------------//
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
       usbh_control_xfer_subtask( hub_addr, bm_request_type(TUSB_DIR_IN, TUSB_REQ_TYPE_CLASS, TUSB_REQ_RCPT_OTHER),
                                  HUB_REQUEST_GET_STATUS, 0, hub_port,
                                  4, hub_enum_buffer ),
@@ -179,7 +179,7 @@ tusb_error_t hub_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t cons
   (*p_length) = sizeof(tusb_descriptor_interface_t) + sizeof(tusb_descriptor_endpoint_t);
 
   //------------- Get Hub Descriptor -------------//
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
     usbh_control_xfer_subtask( dev_addr, bm_request_type(TUSB_DIR_IN, TUSB_REQ_TYPE_CLASS, TUSB_REQ_RCPT_DEVICE),
                                HUB_REQUEST_GET_DESCRIPTOR, 0, 0,
                                sizeof(descriptor_hub_desc_t), hub_enum_buffer ),
@@ -194,7 +194,7 @@ tusb_error_t hub_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t cons
   static uint8_t i;
   for(i=1; i <= hub_data[dev_addr-1].port_number; i++)
   {
-    OSAL_SUBTASK_INVOKED_AND_WAIT(
+    OSAL_SUBTASK_INVOKED(
       usbh_control_xfer_subtask( dev_addr, bm_request_type(TUSB_DIR_OUT, TUSB_REQ_TYPE_CLASS, TUSB_REQ_RCPT_OTHER),
                                  HUB_REQUEST_SET_FEATURE, HUB_FEATURE_PORT_POWER, i,
                                  0, NULL ),

+ 13 - 13
tinyusb/host/usbh.c

@@ -406,7 +406,7 @@ tusb_error_t enumeration_body_subtask(void)
   else
   {
     //------------- Get Port Status -------------//
-    OSAL_SUBTASK_INVOKED_AND_WAIT(
+    OSAL_SUBTASK_INVOKED(
         usbh_control_xfer_subtask( usbh_devices[0].hub_addr, bm_request_type(TUSB_DIR_IN, TUSB_REQ_TYPE_CLASS, TUSB_REQ_RCPT_OTHER),
                                    HUB_REQUEST_GET_STATUS, 0, usbh_devices[0].hub_port,
                                    4, enum_data_buffer ),
@@ -416,7 +416,7 @@ tusb_error_t enumeration_body_subtask(void)
     SUBTASK_ASSERT_STATUS_WITH_HANDLER(error, hub_status_pipe_queue( usbh_devices[0].hub_addr) ); // TODO hub refractor
 
     // Acknowledge Port Connection Change
-    OSAL_SUBTASK_INVOKED_AND_WAIT( hub_port_clear_feature_subtask(usbh_devices[0].hub_addr, usbh_devices[0].hub_port, HUB_FEATURE_PORT_CONNECTION_CHANGE), error );
+    OSAL_SUBTASK_INVOKED( hub_port_clear_feature_subtask(usbh_devices[0].hub_addr, usbh_devices[0].hub_port, HUB_FEATURE_PORT_CONNECTION_CHANGE), error );
 
     hub_port_status_response_t * p_port_status;
     p_port_status = ((hub_port_status_response_t *) enum_data_buffer);
@@ -432,14 +432,14 @@ tusb_error_t enumeration_body_subtask(void)
     }
     else
     { // Connection Event
-      OSAL_SUBTASK_INVOKED_AND_WAIT ( hub_port_reset_subtask(usbh_devices[0].hub_addr, usbh_devices[0].hub_port), error );
+      OSAL_SUBTASK_INVOKED ( hub_port_reset_subtask(usbh_devices[0].hub_addr, usbh_devices[0].hub_port), error );
 //      SUBTASK_ASSERT_STATUS( error );
       SUBTASK_ASSERT_STATUS_WITH_HANDLER(error, hub_status_pipe_queue( usbh_devices[0].hub_addr) ); // TODO hub refractor
 
       usbh_devices[0].speed = hub_port_get_speed();
 
       // Acknowledge Port Reset Change
-      OSAL_SUBTASK_INVOKED_AND_WAIT( hub_port_clear_feature_subtask(usbh_devices[0].hub_addr, usbh_devices[0].hub_port, HUB_FEATURE_PORT_RESET_CHANGE), error );
+      OSAL_SUBTASK_INVOKED( hub_port_clear_feature_subtask(usbh_devices[0].hub_addr, usbh_devices[0].hub_port, HUB_FEATURE_PORT_RESET_CHANGE), error );
     }
   }
   #endif
@@ -448,7 +448,7 @@ tusb_error_t enumeration_body_subtask(void)
   usbh_devices[0].state = TUSB_DEVICE_STATE_ADDRESSED;
 
   //------------- Get first 8 bytes of device descriptor to get Control Endpoint Size -------------//
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
       usbh_control_xfer_subtask( 0, bm_request_type(TUSB_DIR_IN, TUSB_REQ_TYPE_STANDARD, TUSB_REQ_RCPT_DEVICE),
                                  TUSB_REQUEST_GET_DESCRIPTOR, (TUSB_DESC_DEVICE << 8), 0,
                                  8, enum_data_buffer ),
@@ -466,11 +466,11 @@ tusb_error_t enumeration_body_subtask(void)
   else
   { // connected via a hub
     SUBTASK_ASSERT_STATUS_WITH_HANDLER(error, hub_status_pipe_queue( usbh_devices[0].hub_addr) ); // TODO hub refractor
-    OSAL_SUBTASK_INVOKED_AND_WAIT ( hub_port_reset_subtask(usbh_devices[0].hub_addr, usbh_devices[0].hub_port), error );
+    OSAL_SUBTASK_INVOKED ( hub_port_reset_subtask(usbh_devices[0].hub_addr, usbh_devices[0].hub_port), error );
 
     if ( TUSB_ERROR_NONE == error )
     { // Acknowledge Port Reset Change if Reset Successful
-      OSAL_SUBTASK_INVOKED_AND_WAIT( hub_port_clear_feature_subtask(usbh_devices[0].hub_addr, usbh_devices[0].hub_port, HUB_FEATURE_PORT_RESET_CHANGE), error );
+      OSAL_SUBTASK_INVOKED( hub_port_clear_feature_subtask(usbh_devices[0].hub_addr, usbh_devices[0].hub_port, HUB_FEATURE_PORT_RESET_CHANGE), error );
     }
 
     (void) hub_status_pipe_queue( usbh_devices[0].hub_addr ); // done with hub, waiting for next data on status pipe
@@ -481,7 +481,7 @@ tusb_error_t enumeration_body_subtask(void)
   new_addr = get_new_address();
   SUBTASK_ASSERT(new_addr <= TUSB_CFG_HOST_DEVICE_MAX); // TODO notify application we reach max devices
 
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
     usbh_control_xfer_subtask( 0, bm_request_type(TUSB_DIR_OUT, TUSB_REQ_TYPE_STANDARD, TUSB_REQ_RCPT_DEVICE),
                                TUSB_REQUEST_SET_ADDRESS, new_addr, 0,
                                0, NULL ),
@@ -503,7 +503,7 @@ tusb_error_t enumeration_body_subtask(void)
   SUBTASK_ASSERT_STATUS ( usbh_pipe_control_open(new_addr, ((tusb_descriptor_device_t*) enum_data_buffer)->bMaxPacketSize0 ) );
 
   //------------- Get full device descriptor -------------//
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
       usbh_control_xfer_subtask( new_addr, bm_request_type(TUSB_DIR_IN, TUSB_REQ_TYPE_STANDARD, TUSB_REQ_RCPT_DEVICE),
                                  TUSB_REQUEST_GET_DESCRIPTOR, (TUSB_DESC_DEVICE << 8), 0,
                                  18, enum_data_buffer ),
@@ -520,7 +520,7 @@ tusb_error_t enumeration_body_subtask(void)
   SUBTASK_ASSERT(configure_selected <= usbh_devices[new_addr].configure_count); // TODO notify application when invalid configuration
 
   //------------- Get 9 bytes of configuration descriptor -------------//
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
       usbh_control_xfer_subtask( new_addr, bm_request_type(TUSB_DIR_IN, TUSB_REQ_TYPE_STANDARD, TUSB_REQ_RCPT_DEVICE),
                                  TUSB_REQUEST_GET_DESCRIPTOR, (TUSB_DESC_CONFIGURATION << 8) | (configure_selected - 1), 0,
                                  9, enum_data_buffer ),
@@ -531,7 +531,7 @@ tusb_error_t enumeration_body_subtask(void)
                             tuh_device_mount_failed_cb(TUSB_ERROR_USBH_MOUNT_CONFIG_DESC_TOO_LONG, NULL) );
 
   //------------- Get full configuration descriptor -------------//
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
       usbh_control_xfer_subtask( new_addr, bm_request_type(TUSB_DIR_IN, TUSB_REQ_TYPE_STANDARD, TUSB_REQ_RCPT_DEVICE),
                                  TUSB_REQUEST_GET_DESCRIPTOR, (TUSB_DESC_CONFIGURATION << 8) | (configure_selected - 1), 0,
                                  TUSB_CFG_HOST_ENUM_BUFFER_SIZE, enum_data_buffer ),
@@ -543,7 +543,7 @@ tusb_error_t enumeration_body_subtask(void)
   usbh_devices[new_addr].interface_count = ((tusb_descriptor_configuration_t*) enum_data_buffer)->bNumInterfaces;
 
   //------------- Set Configure -------------//
-  OSAL_SUBTASK_INVOKED_AND_WAIT(
+  OSAL_SUBTASK_INVOKED(
     usbh_control_xfer_subtask( new_addr, bm_request_type(TUSB_DIR_OUT, TUSB_REQ_TYPE_STANDARD, TUSB_REQ_RCPT_DEVICE),
                                TUSB_REQUEST_SET_CONFIGURATION, configure_selected, 0,
                                0, NULL ),
@@ -578,7 +578,7 @@ tusb_error_t enumeration_body_subtask(void)
         static uint16_t length;
         length = 0;
 
-        OSAL_SUBTASK_INVOKED_AND_WAIT ( // parameters in task/sub_task must be static storage (static or global)
+        OSAL_SUBTASK_INVOKED ( // parameters in task/sub_task must be static storage (static or global)
             usbh_class_drivers[class_index].open_subtask( new_addr, (tusb_descriptor_interface_t*) p_desc, &length ),
             error
         );

+ 1 - 1
tinyusb/osal/osal.h

@@ -75,7 +75,7 @@
   #define OSAL_SUBTASK_END      return TUSB_ERROR_NONE;
 
   #define SUBTASK_RETURN(error)   return error;
-  #define OSAL_SUBTASK_INVOKED_AND_WAIT(subtask, status) status = subtask
+  #define OSAL_SUBTASK_INVOKED(subtask, status) status = subtask
 
   //------------- Sub Task Assert -------------//
   #define SUBTASK_ASSERT_STATUS(sts) VERIFY_STATUS(sts)

+ 1 - 1
tinyusb/osal/osal_none.h

@@ -115,7 +115,7 @@ static inline osal_task_t osal_task_create(osal_func_t code, const char* name, u
   }}\
   return TUSB_ERROR_NONE;
 
-#define OSAL_SUBTASK_INVOKED_AND_WAIT(subtask, status) \
+#define OSAL_SUBTASK_INVOKED(subtask, status) \
     do {\
       state = __LINE__; case __LINE__:\
       {\