Browse Source

Merge pull request #1836 from HiFiPhile/Pe381

Fix IAR warning: Warning[Pe381]: extra ";" ignored
Ha Thach 3 years ago
parent
commit
cde16b802b
2 changed files with 39 additions and 42 deletions
  1. 38 41
      src/class/usbtmc/usbtmc_device.c
  2. 1 1
      src/osal/osal.h

+ 38 - 41
src/class/usbtmc/usbtmc_device.c

@@ -157,8 +157,10 @@ static bool handle_devMsgOut(uint8_t rhport, void *data, size_t len, size_t pack
 static uint8_t termChar;
 static uint8_t termChar;
 static uint8_t termCharRequested = false;
 static uint8_t termCharRequested = false;
 
 
-OSAL_MUTEX_DEF(usbtmcLockBuffer);
-static osal_mutex_t usbtmcLock;
+#if OSAL_MUTEX_REQUIRED
+static OSAL_MUTEX_DEF(usbtmcLockBuffer);
+#endif
+osal_mutex_t usbtmcLock;
 
 
 // Our own private lock, mostly for the state variable.
 // Our own private lock, mostly for the state variable.
 #define criticalEnter() do { (void) osal_mutex_lock(usbtmcLock,OSAL_TIMEOUT_WAIT_FOREVER); } while (0)
 #define criticalEnter() do { (void) osal_mutex_lock(usbtmcLock,OSAL_TIMEOUT_WAIT_FOREVER); } while (0)
@@ -362,7 +364,7 @@ bool tud_usbtmc_start_bus_read()
   case STATE_RCV:
   case STATE_RCV:
     break;
     break;
   default:
   default:
-    TU_VERIFY(false);
+    return false;
   }
   }
   TU_VERIFY(usbd_edpt_xfer(usbtmc_state.rhport, usbtmc_state.ep_bulk_out, usbtmc_state.ep_bulk_out_buf, (uint16_t)usbtmc_state.ep_bulk_out_wMaxPacketSize));
   TU_VERIFY(usbd_edpt_xfer(usbtmc_state.rhport, usbtmc_state.ep_bulk_out, usbtmc_state.ep_bulk_out_buf, (uint16_t)usbtmc_state.ep_bulk_out_wMaxPacketSize));
   return true;
   return true;
@@ -464,53 +466,52 @@ bool usbtmcd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t result, uint
     switch(usbtmc_state.state)
     switch(usbtmc_state.state)
     {
     {
     case STATE_IDLE:
     case STATE_IDLE:
-      TU_VERIFY(xferred_bytes >= sizeof(usbtmc_msg_generic_t));
-      msg = (usbtmc_msg_generic_t*)(usbtmc_state.ep_bulk_out_buf);
-      uint8_t invInvTag = (uint8_t)~(msg->header.bTagInverse);
-      TU_VERIFY(msg->header.bTag == invInvTag);
-      TU_VERIFY(msg->header.bTag != 0x00);
-
-      switch(msg->header.MsgID) {
-      case USBTMC_MSGID_DEV_DEP_MSG_OUT:
-        if(!handle_devMsgOutStart(rhport, msg, xferred_bytes))
-        {
-          usbd_edpt_stall(rhport, usbtmc_state.ep_bulk_out);
-          TU_VERIFY(false);
-        }
-        break;
+      {
+        TU_VERIFY(xferred_bytes >= sizeof(usbtmc_msg_generic_t));
+        msg = (usbtmc_msg_generic_t*)(usbtmc_state.ep_bulk_out_buf);
+        uint8_t invInvTag = (uint8_t)~(msg->header.bTagInverse);
+        TU_VERIFY(msg->header.bTag == invInvTag);
+        TU_VERIFY(msg->header.bTag != 0x00);
+
+        switch(msg->header.MsgID) {
+        case USBTMC_MSGID_DEV_DEP_MSG_OUT:
+          if(!handle_devMsgOutStart(rhport, msg, xferred_bytes))
+          {
+            usbd_edpt_stall(rhport, usbtmc_state.ep_bulk_out);
+            return false;
+          }
+          break;
 
 
-      case USBTMC_MSGID_DEV_DEP_MSG_IN:
-        TU_VERIFY(handle_devMsgIn(msg, xferred_bytes));
-        break;
+        case USBTMC_MSGID_DEV_DEP_MSG_IN:
+          TU_VERIFY(handle_devMsgIn(msg, xferred_bytes));
+          break;
 
 
 #if (CFG_TUD_USBTMC_ENABLE_488)
 #if (CFG_TUD_USBTMC_ENABLE_488)
-      case USBTMC_MSGID_USB488_TRIGGER:
-        // Spec says we halt the EP if we didn't declare we support it.
-        TU_VERIFY(usbtmc_state.capabilities->bmIntfcCapabilities488.supportsTrigger);
-        TU_VERIFY(tud_usbtmc_msg_trigger_cb(msg));
+        case USBTMC_MSGID_USB488_TRIGGER:
+          // Spec says we halt the EP if we didn't declare we support it.
+          TU_VERIFY(usbtmc_state.capabilities->bmIntfcCapabilities488.supportsTrigger);
+          TU_VERIFY(tud_usbtmc_msg_trigger_cb(msg));
 
 
-        break;
+          break;
 #endif
 #endif
-      case USBTMC_MSGID_VENDOR_SPECIFIC_MSG_OUT:
-      case USBTMC_MSGID_VENDOR_SPECIFIC_IN:
-      default:
-        usbd_edpt_stall(rhport, usbtmc_state.ep_bulk_out);
-        TU_VERIFY(false);
-        return false;
+        case USBTMC_MSGID_VENDOR_SPECIFIC_MSG_OUT:
+        case USBTMC_MSGID_VENDOR_SPECIFIC_IN:
+        default:
+          usbd_edpt_stall(rhport, usbtmc_state.ep_bulk_out);
+          return false;
+        }
+        return true;
       }
       }
-      return true;
-
     case STATE_RCV:
     case STATE_RCV:
       if(!handle_devMsgOut(rhport, usbtmc_state.ep_bulk_out_buf, xferred_bytes, xferred_bytes))
       if(!handle_devMsgOut(rhport, usbtmc_state.ep_bulk_out_buf, xferred_bytes, xferred_bytes))
       {
       {
         usbd_edpt_stall(rhport, usbtmc_state.ep_bulk_out);
         usbd_edpt_stall(rhport, usbtmc_state.ep_bulk_out);
-        TU_VERIFY(false);
+        return false;
       }
       }
       return true;
       return true;
 
 
     case STATE_ABORTING_BULK_OUT:
     case STATE_ABORTING_BULK_OUT:
-      TU_VERIFY(false);
-      return false; // Should be stalled by now, shouldn't have received a packet.
+      return false;
 
 
     case STATE_TX_REQUESTED:
     case STATE_TX_REQUESTED:
     case STATE_TX_INITIATED:
     case STATE_TX_INITIATED:
@@ -518,7 +519,7 @@ bool usbtmcd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t result, uint
     case STATE_ABORTING_BULK_IN_SHORTED:
     case STATE_ABORTING_BULK_IN_SHORTED:
     case STATE_ABORTING_BULK_IN_ABORTED:
     case STATE_ABORTING_BULK_IN_ABORTED:
     default:
     default:
-      TU_VERIFY(false);
+      return false;
     }
     }
   }
   }
   else if(ep_addr == usbtmc_state.ep_bulk_in)
   else if(ep_addr == usbtmc_state.ep_bulk_in)
@@ -567,7 +568,6 @@ bool usbtmcd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t result, uint
 
 
     default:
     default:
       TU_ASSERT(false);
       TU_ASSERT(false);
-      return false;
     }
     }
   }
   }
   else if (ep_addr == usbtmc_state.ep_int_in) {
   else if (ep_addr == usbtmc_state.ep_int_in) {
@@ -871,16 +871,13 @@ bool usbtmcd_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb_control_request
   case USB488_bREQUEST_LOCAL_LOCKOUT:
   case USB488_bREQUEST_LOCAL_LOCKOUT:
     {
     {
       TU_VERIFY(request->bmRequestType == 0xA1); // in,class,interface
       TU_VERIFY(request->bmRequestType == 0xA1); // in,class,interface
-      TU_VERIFY(false);
       return false;
       return false;
     }
     }
 #endif
 #endif
 
 
   default:
   default:
-    TU_VERIFY(false);
     return false;
     return false;
   }
   }
-  TU_VERIFY(false);
 }
 }
 
 
 #endif /* CFG_TUD_TSMC */
 #endif /* CFG_TUD_TSMC */

+ 1 - 1
src/osal/osal.h

@@ -44,7 +44,7 @@ typedef void (*osal_task_func_t)( void * );
 // Mutex is required when using a preempted RTOS or MCU has multiple cores
 // Mutex is required when using a preempted RTOS or MCU has multiple cores
 #if (CFG_TUSB_OS == OPT_OS_NONE) && !TUP_MCU_MULTIPLE_CORE
 #if (CFG_TUSB_OS == OPT_OS_NONE) && !TUP_MCU_MULTIPLE_CORE
   #define OSAL_MUTEX_REQUIRED   0
   #define OSAL_MUTEX_REQUIRED   0
-  #define OSAL_MUTEX_DEF(_name)
+  #define OSAL_MUTEX_DEF(_name) uint8_t :0
 #else
 #else
   #define OSAL_MUTEX_REQUIRED   1
   #define OSAL_MUTEX_REQUIRED   1
   #define OSAL_MUTEX_DEF(_name) osal_mutex_def_t _name
   #define OSAL_MUTEX_DEF(_name) osal_mutex_def_t _name