Jeremiah McCarthy 5 лет назад
Родитель
Сommit
18e9d253e9
2 измененных файлов с 17 добавлено и 30 удалено
  1. 17 22
      src/class/dfu/dfu_device.c
  2. 0 8
      src/class/dfu/dfu_device.h

+ 17 - 22
src/class/dfu/dfu_device.c

@@ -160,32 +160,27 @@ void dfu_moded_reset(uint8_t rhport)
   {
       _dfu_state_ctx.state = DFU_IDLE;
   } else {
-    if ( tud_dfu_usb_reset_cb )
+    switch (_dfu_state_ctx.state)
     {
-      tud_dfu_usb_reset_cb(rhport, &_dfu_state_ctx.state);
-    } else {
-      switch (_dfu_state_ctx.state)
+      case DFU_IDLE:
+      case DFU_DNLOAD_SYNC:
+      case DFU_DNBUSY:
+      case DFU_DNLOAD_IDLE:
+      case DFU_MANIFEST_SYNC:
+      case DFU_MANIFEST:
+      case DFU_MANIFEST_WAIT_RESET:
+      case DFU_UPLOAD_IDLE:
       {
-        case DFU_IDLE:
-        case DFU_DNLOAD_SYNC:
-        case DFU_DNBUSY:
-        case DFU_DNLOAD_IDLE:
-        case DFU_MANIFEST_SYNC:
-        case DFU_MANIFEST:
-        case DFU_MANIFEST_WAIT_RESET:
-        case DFU_UPLOAD_IDLE:
-        {
-          _dfu_state_ctx.state = (tud_dfu_firmware_valid_check_cb()) ?  APP_IDLE : DFU_ERROR;
-        }
-        break;
+        _dfu_state_ctx.state = (tud_dfu_firmware_valid_check_cb()) ?  APP_IDLE : DFU_ERROR;
+      }
+      break;
 
-        case DFU_ERROR:
-        default:
-        {
-          _dfu_state_ctx.state = APP_IDLE;
-        }
-        break;
+      case DFU_ERROR:
+      default:
+      {
+        _dfu_state_ctx.state = APP_IDLE;
       }
+      break;
     }
   }
 

+ 0 - 8
src/class/dfu/dfu_device.h

@@ -58,14 +58,6 @@ uint8_t tud_dfu_init_attrs_cb(void);
 // to the status description string table.
 TU_ATTR_WEAK uint8_t tud_dfu_get_status_desc_table_index_cb(void);
 
-// Invoked during a USB reset
-// Lets the app perform custom behavior on a USB reset.
-// If not defined, the default behavior remains the DFU specification of
-// Checking the firmware valid and changing to the error state or rebooting to runtime
-// Note: If used, the application must perform the reset logic for all states.
-// Changing the state to APP_IDLE will result in tud_dfu_reboot_to_rt_cb being called
-TU_ATTR_WEAK void tud_dfu_usb_reset_cb(uint8_t rhport, dfu_state_t *state);
-
 // Invoked during a DFU_GETSTATUS request to set the timeout in ms to use
 // before the subsequent DFU_GETSTATUS requests.
 // The purpose of this value is to allow the device to tell the host