summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorhathach <[email protected]>2018-11-13 15:34:50 +0700
committerhathach <[email protected]>2018-11-13 15:45:22 +0700
commit3fe7cd165902948240ecc40468b3610686f579c3 (patch)
tree9ea447ee168f57de15123049b375340971425d64 /examples
parent5a046799f6d22af0b849e4312ceed14f2250a85e (diff)
added tud_cdc_write_str, tu_fifo only use mutex for RTOS config
Diffstat (limited to 'examples')
-rw-r--r--examples/device/nrf52840/segger/nrf52840.emProject12
-rw-r--r--examples/device/nrf52840/src/main.c83
-rw-r--r--examples/device/nrf52840/src/segger_rtt/SEGGER_RTT.c (renamed from examples/device/nrf52840/segger/SEGGER_RTT.c)0
-rw-r--r--examples/device/nrf52840/src/segger_rtt/SEGGER_RTT.h (renamed from examples/device/nrf52840/segger/SEGGER_RTT.h)0
-rw-r--r--examples/device/nrf52840/src/segger_rtt/SEGGER_RTT_Conf.h (renamed from examples/device/nrf52840/segger/SEGGER_RTT_Conf.h)0
-rw-r--r--examples/device/nrf52840/src/segger_rtt/SEGGER_RTT_SES.c (renamed from examples/device/nrf52840/segger/SEGGER_RTT_SES.c)0
-rw-r--r--examples/device/nrf52840_freertos/segger/nrf5x_freertos.emProject12
-rw-r--r--examples/device/nrf52840_freertos/src/main.c26
-rw-r--r--examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT.c (renamed from examples/device/nrf52840_freertos/segger/SEGGER_RTT.c)0
-rw-r--r--examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT.h (renamed from examples/device/nrf52840_freertos/segger/SEGGER_RTT.h)0
-rw-r--r--examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT_Conf.h (renamed from examples/device/nrf52840_freertos/segger/SEGGER_RTT_Conf.h)0
-rw-r--r--examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT_SES.c (renamed from examples/device/nrf52840_freertos/segger/SEGGER_RTT_SES.c)0
-rw-r--r--examples/device/nrf52840_freertos/src/tusb_config.h2
13 files changed, 83 insertions, 52 deletions
diff --git a/examples/device/nrf52840/segger/nrf52840.emProject b/examples/device/nrf52840/segger/nrf52840.emProject
index 8775d1bca..5851c33d6 100644
--- a/examples/device/nrf52840/segger/nrf52840.emProject
+++ b/examples/device/nrf52840/segger/nrf52840.emProject
@@ -32,12 +32,6 @@
target_reset_script="Reset();"
target_script_file="$(ProjectDir)/nRF_Target.js"
target_trace_initialize_script="EnableTrace(&quot;$(TraceInterfaceType)&quot;)" />
- <folder Name="RTT Files">
- <file file_name="SEGGER_RTT.c" />
- <file file_name="SEGGER_RTT.h" />
- <file file_name="SEGGER_RTT_Conf.h" />
- <file file_name="SEGGER_RTT_SES.c" />
- </folder>
<folder Name="Script Files">
<file file_name="nRF_Target.js">
<configuration Name="Common" file_type="Reset Script" />
@@ -61,6 +55,12 @@
<file file_name="../src/msc_app.h" />
<file file_name="../src/msc_flash_ram.c" />
<file file_name="../src/msc_flash_qspi.c" />
+ <folder Name="segger_rtt">
+ <file file_name="../src/segger_rtt/SEGGER_RTT.c" />
+ <file file_name="../src/segger_rtt/SEGGER_RTT_Conf.h" />
+ <file file_name="../src/segger_rtt/SEGGER_RTT.h" />
+ <file file_name="../src/segger_rtt/SEGGER_RTT_SES.c" />
+ </folder>
</folder>
<folder Name="hw">
<folder Name="bsp">
diff --git a/examples/device/nrf52840/src/main.c b/examples/device/nrf52840/src/main.c
index 58ac1ad21..11b73ebf9 100644
--- a/examples/device/nrf52840/src/main.c
+++ b/examples/device/nrf52840/src/main.c
@@ -55,56 +55,51 @@
//--------------------------------------------------------------------+
void print_greeting(void);
void led_blinking_task(void);
-void virtual_com_task(void);
-void usb_hid_task(void);
-
-/*------------- MAIN -------------*/
-int main(void)
-{
- board_init();
- print_greeting();
-
- tusb_init();
-
- while (1)
- {
- tusb_task();
-
- led_blinking_task();
- virtual_com_task();
-
- usb_hid_task();
- }
-
- return 0;
-}
//--------------------------------------------------------------------+
// USB CDC
//--------------------------------------------------------------------+
+#if CFG_TUD_CDC
void virtual_com_task(void)
{
-#if CFG_TUD_CDC
// connected and there are data available
- if ( tud_mounted() && tud_cdc_available() )
+ if ( tud_cdc_connected() )
{
- uint8_t buf[64];
+ if ( tud_cdc_available() )
+ {
+ uint8_t buf[64];
+
+ // read and echo back
+ uint32_t count = tud_cdc_read(buf, sizeof(buf));
- // read and echo back
- uint32_t count = tud_cdc_read(buf, sizeof(buf));
+ tud_cdc_write(buf, count);
+ }
- tud_cdc_write(buf, count);
tud_cdc_write_flush();
}
-#endif
}
+void tud_cdc_line_state_cb(uint8_t itf, bool dtr, bool rts)
+{
+ (void) itf;
+
+ // connected
+ if ( dtr && rts )
+ {
+ // print greeting
+ tud_cdc_write_str("tinyusb usb cdc\n");
+ }
+}
+#else
+#define virtual_com_task()
+#endif
+
//--------------------------------------------------------------------+
// USB HID
//--------------------------------------------------------------------+
+#if CFG_TUD_HID
void usb_hid_task(void)
{
-#if CFG_TUD_HID
// Poll every 10ms
static tu_timeout_t tm = { .start = 0, .interval = 10 };
@@ -144,10 +139,8 @@ void usb_hid_task(void)
if ( btn & 0x04 ) tud_hid_mouse_move( 0 , -DELTA); // up
if ( btn & 0x08 ) tud_hid_mouse_move( 0 , DELTA); // down
}
-#endif
}
-#if CFG_TUD_HID
uint16_t tud_hid_generic_get_report_cb(uint8_t report_id, hid_report_type_t report_type, uint8_t* buffer, uint16_t reqlen)
{
// TODO not Implemented
@@ -158,8 +151,32 @@ void tud_hid_generic_set_report_cb(uint8_t report_id, hid_report_type_t report_t
{
// TODO not Implemented
}
+
+#else
+#define usb_hid_task()
#endif
+
+/*------------- MAIN -------------*/
+int main(void)
+{
+ board_init();
+ print_greeting();
+
+ tusb_init();
+
+ while (1)
+ {
+ tusb_task();
+
+ led_blinking_task();
+ virtual_com_task();
+ usb_hid_task();
+ }
+
+ return 0;
+}
+
//--------------------------------------------------------------------+
// tinyusb callbacks
//--------------------------------------------------------------------+
diff --git a/examples/device/nrf52840/segger/SEGGER_RTT.c b/examples/device/nrf52840/src/segger_rtt/SEGGER_RTT.c
index aee5bd21e..aee5bd21e 100644
--- a/examples/device/nrf52840/segger/SEGGER_RTT.c
+++ b/examples/device/nrf52840/src/segger_rtt/SEGGER_RTT.c
diff --git a/examples/device/nrf52840/segger/SEGGER_RTT.h b/examples/device/nrf52840/src/segger_rtt/SEGGER_RTT.h
index d3cac44dd..d3cac44dd 100644
--- a/examples/device/nrf52840/segger/SEGGER_RTT.h
+++ b/examples/device/nrf52840/src/segger_rtt/SEGGER_RTT.h
diff --git a/examples/device/nrf52840/segger/SEGGER_RTT_Conf.h b/examples/device/nrf52840/src/segger_rtt/SEGGER_RTT_Conf.h
index aef3b4053..aef3b4053 100644
--- a/examples/device/nrf52840/segger/SEGGER_RTT_Conf.h
+++ b/examples/device/nrf52840/src/segger_rtt/SEGGER_RTT_Conf.h
diff --git a/examples/device/nrf52840/segger/SEGGER_RTT_SES.c b/examples/device/nrf52840/src/segger_rtt/SEGGER_RTT_SES.c
index e6634147c..e6634147c 100644
--- a/examples/device/nrf52840/segger/SEGGER_RTT_SES.c
+++ b/examples/device/nrf52840/src/segger_rtt/SEGGER_RTT_SES.c
diff --git a/examples/device/nrf52840_freertos/segger/nrf5x_freertos.emProject b/examples/device/nrf52840_freertos/segger/nrf5x_freertos.emProject
index f01207bab..661dc12a6 100644
--- a/examples/device/nrf52840_freertos/segger/nrf5x_freertos.emProject
+++ b/examples/device/nrf52840_freertos/segger/nrf5x_freertos.emProject
@@ -32,12 +32,6 @@
target_reset_script="Reset();"
target_script_file="$(ProjectDir)/nRF_Target.js"
target_trace_initialize_script="EnableTrace(&quot;$(TraceInterfaceType)&quot;)" />
- <folder Name="RTT Files">
- <file file_name="SEGGER_RTT.c" />
- <file file_name="SEGGER_RTT.h" />
- <file file_name="SEGGER_RTT_Conf.h" />
- <file file_name="SEGGER_RTT_SES.c" />
- </folder>
<folder Name="Script Files">
<file file_name="nRF_Target.js">
<configuration Name="Common" file_type="Reset Script" />
@@ -60,6 +54,12 @@
<file file_name="../src/msc_flash_qspi.c" />
<file file_name="../src/msc_app.c" />
<file file_name="../src/msc_app.h" />
+ <folder Name="segger_rtt">
+ <file file_name="../src/segger_rtt/SEGGER_RTT.c" />
+ <file file_name="../src/segger_rtt/SEGGER_RTT_Conf.h" />
+ <file file_name="../src/segger_rtt/SEGGER_RTT.h" />
+ <file file_name="../src/segger_rtt/SEGGER_RTT_SES.c" />
+ </folder>
</folder>
<folder Name="hw">
<folder Name="bsp">
diff --git a/examples/device/nrf52840_freertos/src/main.c b/examples/device/nrf52840_freertos/src/main.c
index 6fb76a84d..d5a5d0c2c 100644
--- a/examples/device/nrf52840_freertos/src/main.c
+++ b/examples/device/nrf52840_freertos/src/main.c
@@ -101,18 +101,32 @@ void cdc_task(void* params)
while ( 1 )
{
// connected and there are data available
- if ( tud_mounted() && tud_cdc_available() )
+ if ( tud_cdc_connected() )
{
- uint8_t buf[64];
+ if ( tud_cdc_available() )
+ {
+ uint8_t buf[64];
+
+ // read and echo back
+ uint32_t count = tud_cdc_read(buf, sizeof(buf));
- // read and echo back
- uint32_t count = tud_cdc_read(buf, sizeof(buf));
+ tud_cdc_write(buf, count);
+ }
- tud_cdc_write(buf, count);
tud_cdc_write_flush();
}
+ }
+}
+
+void tud_cdc_line_state_cb(uint8_t itf, bool dtr, bool rts)
+{
+ (void) itf;
- taskYIELD();
+ // connected
+ if ( dtr && rts )
+ {
+ // print greeting
+ tud_cdc_write_str("tinyusb usb cdc\n");
}
}
#endif
diff --git a/examples/device/nrf52840_freertos/segger/SEGGER_RTT.c b/examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT.c
index aee5bd21e..aee5bd21e 100644
--- a/examples/device/nrf52840_freertos/segger/SEGGER_RTT.c
+++ b/examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT.c
diff --git a/examples/device/nrf52840_freertos/segger/SEGGER_RTT.h b/examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT.h
index d3cac44dd..d3cac44dd 100644
--- a/examples/device/nrf52840_freertos/segger/SEGGER_RTT.h
+++ b/examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT.h
diff --git a/examples/device/nrf52840_freertos/segger/SEGGER_RTT_Conf.h b/examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT_Conf.h
index aef3b4053..aef3b4053 100644
--- a/examples/device/nrf52840_freertos/segger/SEGGER_RTT_Conf.h
+++ b/examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT_Conf.h
diff --git a/examples/device/nrf52840_freertos/segger/SEGGER_RTT_SES.c b/examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT_SES.c
index e6634147c..e6634147c 100644
--- a/examples/device/nrf52840_freertos/segger/SEGGER_RTT_SES.c
+++ b/examples/device/nrf52840_freertos/src/segger_rtt/SEGGER_RTT_SES.c
diff --git a/examples/device/nrf52840_freertos/src/tusb_config.h b/examples/device/nrf52840_freertos/src/tusb_config.h
index 96d851f90..9641f7bde 100644
--- a/examples/device/nrf52840_freertos/src/tusb_config.h
+++ b/examples/device/nrf52840_freertos/src/tusb_config.h
@@ -55,7 +55,7 @@
/*------------- RTOS -------------*/
#define CFG_TUSB_OS OPT_OS_FREERTOS
-#define CFG_TUD_TASK_PRIO (configMAX_PRIORITIES-3)
+#define CFG_TUD_TASK_PRIO (configMAX_PRIORITIES-1)
//#define CFG_TUD_TASK_QUEUE_SZ 16
//#define CFG_TUD_TASK_STACK_SZ 150