summaryrefslogtreecommitdiff
path: root/demos/device/src/cdc_device_app.c
diff options
context:
space:
mode:
authorhathach <[email protected]>2014-03-31 11:59:43 +0700
committerhathach <[email protected]>2014-03-31 11:59:43 +0700
commit6682720b2aecb777d8f8aceedbd49aaff4fbbc27 (patch)
tree9fcb36a06d168b31b0027affdcb8265560b33a79 /demos/device/src/cdc_device_app.c
parent0bb2cc64b0e1248bfc8e564755a0850b5e5ad762 (diff)
implement & document all the device class _mounted_cb & _unmounted_cb callbacks
Diffstat (limited to 'demos/device/src/cdc_device_app.c')
-rw-r--r--demos/device/src/cdc_device_app.c30
1 files changed, 19 insertions, 11 deletions
diff --git a/demos/device/src/cdc_device_app.c b/demos/device/src/cdc_device_app.c
index 543f30b1c..572db4b0c 100644
--- a/demos/device/src/cdc_device_app.c
+++ b/demos/device/src/cdc_device_app.c
@@ -58,30 +58,27 @@ OSAL_SEM_DEF(cdcd_semaphore);
static osal_semaphore_handle_t sem_hdl;
-TUSB_CFG_ATTR_USBRAM static uint8_t serial_rx_buffer[CDCD_APP_BUFFER_SIZE];
-TUSB_CFG_ATTR_USBRAM static uint8_t serial_tx_buffer[CDCD_APP_BUFFER_SIZE];
-
//--------------------------------------------------------------------+
// INTERNAL OBJECT & FUNCTION DECLARATION
//--------------------------------------------------------------------+
+TUSB_CFG_ATTR_USBRAM static uint8_t serial_rx_buffer[CDCD_APP_BUFFER_SIZE];
+TUSB_CFG_ATTR_USBRAM static uint8_t serial_tx_buffer[CDCD_APP_BUFFER_SIZE];
+
FIFO_DEF(fifo_serial, CDCD_APP_BUFFER_SIZE, uint8_t, true);
//--------------------------------------------------------------------+
-// IMPLEMENTATION
+// tinyusb Callbacks
//--------------------------------------------------------------------+
-void cdcd_serial_app_init(void)
+void tusbd_cdc_mounted_cb(uint8_t coreid)
{
- sem_hdl = osal_semaphore_create( OSAL_SEM_REF(cdcd_semaphore) );
- ASSERT_PTR( sem_hdl, VOID_RETURN);
+ osal_semaphore_reset(sem_hdl);
- ASSERT( TUSB_ERROR_NONE == osal_task_create( OSAL_TASK_REF(cdcd_serial_app_task) ), VOID_RETURN);
+ tusbd_cdc_receive(coreid, serial_rx_buffer, CDCD_APP_BUFFER_SIZE, true);
}
-void tusbd_cdc_mounted_cb(uint8_t coreid)
+void tusbd_cdc_unmounted_cb(uint8_t coreid)
{
- osal_semaphore_reset(sem_hdl);
- tusbd_cdc_receive(coreid, serial_rx_buffer, CDCD_APP_BUFFER_SIZE, true);
}
void tusbd_cdc_xfer_cb(uint8_t coreid, tusb_event_t event, cdc_pipeid_t pipe_id, uint32_t xferred_bytes)
@@ -116,6 +113,17 @@ void tusbd_cdc_xfer_cb(uint8_t coreid, tusb_event_t event, cdc_pipeid_t pipe_id,
}
}
+//--------------------------------------------------------------------+
+// APPLICATION CODE
+//--------------------------------------------------------------------+
+void cdcd_serial_app_init(void)
+{
+ sem_hdl = osal_semaphore_create( OSAL_SEM_REF(cdcd_semaphore) );
+ ASSERT_PTR( sem_hdl, VOID_RETURN);
+
+ ASSERT( TUSB_ERROR_NONE == osal_task_create( OSAL_TASK_REF(cdcd_serial_app_task) ), VOID_RETURN);
+}
+
OSAL_TASK_FUNCTION( cdcd_serial_app_task , p_task_para)
{
OSAL_TASK_LOOP_BEGIN