Browse Source

clean up some examples

hathach 5 năm trước cách đây
mục cha
commit
2882390c82

+ 2 - 4
examples/device/cdc_dual_ports/src/main.c

@@ -63,13 +63,11 @@ static void echo_serial_port(uint8_t itf, uint8_t buf[], uint32_t count)
     }
     else
     {
-      // echo back additional ports as upper case
+      // echo back 2nd port as upper case
       if (islower(buf[i])) buf[i] -= 'a' - 'A';
     }
 
     tud_cdc_n_write_char(itf, buf[i]);
-
-    if ( buf[i] == '\r' ) tud_cdc_n_write_char(itf, '\n');
   }
   tud_cdc_n_write_flush(itf);
 }
@@ -85,7 +83,7 @@ static void cdc_task(void)
   {
     // connected() check for DTR bit
     // Most but not all terminal client set this when making connection
-    if ( tud_cdc_n_connected(itf) )
+    // if ( tud_cdc_n_connected(itf) )
     {
       if ( tud_cdc_n_available(itf) )
       {

+ 2 - 0
examples/device/cdc_dual_ports/src/tusb_config.h

@@ -104,6 +104,8 @@
 #define CFG_TUD_CDC_RX_BUFSIZE   (TUD_OPT_HIGH_SPEED ? 512 : 64)
 #define CFG_TUD_CDC_TX_BUFSIZE   (TUD_OPT_HIGH_SPEED ? 512 : 64)
 
+// CDC Endpoint transfer buffer size, more is faster
+#define CFG_TUD_CDC_EP_BUFSIZE   (TUD_OPT_HIGH_SPEED ? 512 : 64)
 
 #ifdef __cplusplus
  }

+ 13 - 15
examples/device/cdc_msc/src/main.c

@@ -48,7 +48,6 @@ enum  {
 static uint32_t blink_interval_ms = BLINK_NOT_MOUNTED;
 
 void led_blinking_task(void);
-
 void cdc_task(void);
 
 /*------------- MAIN -------------*/
@@ -112,18 +111,16 @@ void cdc_task(void)
     // connected and there are data available
     if ( tud_cdc_available() )
     {
-      uint8_t buf[64];
-
-      // read and echo back
+      // read datas
+      char buf[64];
       uint32_t count = tud_cdc_read(buf, sizeof(buf));
+      (void) count;
 
-      for(uint32_t i=0; i<count; i++)
-      {
-        tud_cdc_write_char(buf[i]);
-
-        if ( buf[i] == '\r' ) tud_cdc_write_char('\n');
-      }
-
+      // Echo back
+      // Note: Skip echo by commenting out write() and write_flush()
+      // for throughput test e.g
+      //    $ dd if=/dev/zero of=/dev/ttyACM0 count=10000
+      tud_cdc_write(buf, count);
       tud_cdc_write_flush();
     }
   }
@@ -135,12 +132,13 @@ void tud_cdc_line_state_cb(uint8_t itf, bool dtr, bool rts)
   (void) itf;
   (void) rts;
 
-  // connected
+  // TODO set some indicator
   if ( dtr )
   {
-    // print initial message when connected
-    tud_cdc_write_str("\r\nTinyUSB CDC MSC device example\r\n");
-    tud_cdc_write_flush();
+    // Terminal connected
+  }else
+  {
+    // Terminal disconnected
   }
 }
 

+ 3 - 0
examples/device/cdc_msc/src/tusb_config.h

@@ -106,6 +106,9 @@
 #define CFG_TUD_CDC_RX_BUFSIZE   (TUD_OPT_HIGH_SPEED ? 512 : 64)
 #define CFG_TUD_CDC_TX_BUFSIZE   (TUD_OPT_HIGH_SPEED ? 512 : 64)
 
+// CDC Endpoint transfer buffer size, more is faster
+#define CFG_TUD_CDC_EP_BUFSIZE   (TUD_OPT_HIGH_SPEED ? 512 : 64)
+
 // MSC Buffer size of Device Mass storage
 #define CFG_TUD_MSC_EP_BUFSIZE   512
 

+ 11 - 11
examples/device/cdc_msc_freertos/src/main.c

@@ -179,14 +179,13 @@ void cdc_task(void* params)
 
         // read and echo back
         uint32_t count = tud_cdc_read(buf, sizeof(buf));
+        (void) count;
 
-        for(uint32_t i=0; i<count; i++)
-        {
-          tud_cdc_write_char(buf[i]);
-
-          if ( buf[i] == '\r' ) tud_cdc_write_char('\n');
-        }
-
+        // Echo back
+        // Note: Skip echo by commenting out write() and write_flush()
+        // for throughput test e.g
+        //    $ dd if=/dev/zero of=/dev/ttyACM0 count=10000
+        tud_cdc_write(buf, count);
         tud_cdc_write_flush();
       }
     }
@@ -202,12 +201,13 @@ void tud_cdc_line_state_cb(uint8_t itf, bool dtr, bool rts)
   (void) itf;
   (void) rts;
 
-  // connected
+  // TODO set some indicator
   if ( dtr )
   {
-    // print initial message when connected
-    tud_cdc_write_str("\r\nTinyUSB CDC MSC device with FreeRTOS example\r\n");
-    tud_cdc_write_flush();
+    // Terminal connected
+  }else
+  {
+    // Terminal disconnected
   }
 }
 

+ 3 - 0
examples/device/cdc_msc_freertos/src/tusb_config.h

@@ -106,6 +106,9 @@
 #define CFG_TUD_CDC_RX_BUFSIZE   (TUD_OPT_HIGH_SPEED ? 512 : 64)
 #define CFG_TUD_CDC_TX_BUFSIZE   (TUD_OPT_HIGH_SPEED ? 512 : 64)
 
+// CDC Endpoint transfer buffer size, more is faster
+#define CFG_TUD_CDC_EP_BUFSIZE   (TUD_OPT_HIGH_SPEED ? 512 : 64)
+
 // MSC Buffer size of Device Mass storage
 #define CFG_TUD_MSC_EP_BUFSIZE   512