<ahref="https://pledgie.com/campaigns/24694"><imgborder="0"src="https://pledgie.com/campaigns/24694.png?skin_name=chrome"alt="Click here to lend your support to tinyusb donation and make a donation at pledgie.com"></a>
<trclass="memdesc:gaff61982f980eb8092a0e0b661bbd38c7"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Check if device support CDC Serial interface or not. <ahref="#gaff61982f980eb8092a0e0b661bbd38c7">More...</a><br/></td></tr>
<trclass="memdesc:ga1d7354ed6ba18e9f9ed24b014890bf81"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Check if the interface is currently busy or not. <ahref="#ga1d7354ed6ba18e9f9ed24b014890bf81">More...</a><br/></td></tr>
<trclass="memdesc:ga9a78d2b7d93d02e7004b13e26f52a38b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Perform USB OUT transfer to device. <ahref="#ga9a78d2b7d93d02e7004b13e26f52a38b">More...</a><br/></td></tr>
<trclass="memdesc:ga5fe5da6809a8a2688c9941fd99aaebd0"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Perform USB IN transfer to get data from device. <ahref="#ga5fe5da6809a8a2688c9941fd99aaebd0">More...</a><br/></td></tr>
<trclass="memdesc:ga9128eb9c5b0d166c384b222b565373f9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Callback function that will be invoked when a device with CDC Abstract Control Model interface is mounted. <ahref="#ga9128eb9c5b0d166c384b222b565373f9">More...</a><br/></td></tr>
<trclass="memdesc:ga7b2511d2b53dfa6a519d92be254c04c6"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Callback function that will be invoked when a device with CDC Abstract Control Model interface is unmounted. <ahref="#ga7b2511d2b53dfa6a519d92be254c04c6">More...</a><br/></td></tr>
<trclass="memdesc:ga1e01c08cf3873049116ae8f5aadff78c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Callback function that is invoked when an transferring event occurred. <ahref="#ga1e01c08cf3873049116ae8f5aadff78c">More...</a><br/></td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">pipeid</td><td>value from <aclass="el"href="group___class_driver___c_d_c___common.html#ga8664e955870c947f08f6601901243b6f">cdc_pipeid_t</a> to indicate target pipe. </td></tr>
</table>
</dd>
</dl>
<dlclass="retval"><dt>Return values</dt><dd>
<tableclass="retval">
<tr><tdclass="paramname">true</td><td>if the interface is busy, meaning the stack is still transferring/waiting data from/to device </td></tr>
<tr><tdclass="paramname">false</td><td>if the interface is not busy, meaning the stack successfully transferred data from/to device </td></tr>
</table>
</dd>
</dl>
<dlclass="section note"><dt>Note</dt><dd>This function is used to check if previous transfer is complete (success or error), so that the next transfer can be scheduled. User needs to make sure the corresponding interface is mounted (by <aclass="el"href="group___c_d_c___serial___host.html#gaff61982f980eb8092a0e0b661bbd38c7">tusbh_cdc_serial_is_mounted</a>) before calling this function. </dd></dl>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">p_buffer</td><td>Buffer containing received data. Must be accessible by USB controller (see <aclass="el"href="group__group__configuration.html#ga977f8e429c64d2ea49ea42b5dac8a88c">TUSB_CFG_ATTR_USBRAM</a>) </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">length</td><td>Number of bytes to be transferred via USB bus </td></tr>
<tr><tdclass="paramname">TUSB_ERROR_INTERFACE_IS_BUSY</td><td>if the interface is already transferring data with device </td></tr>
<tr><tdclass="paramname">TUSB_ERROR_DEVICE_NOT_READY</td><td>if device is not yet configured (by SET CONFIGURED request) </td></tr>
<tr><tdclass="paramname">TUSB_ERROR_INVALID_PARA</td><td>if input parameters are not correct </td></tr>
</table>
</dd>
</dl>
<dlclass="section note"><dt>Note</dt><dd>This function is non-blocking and returns immediately. The result of USB transfer will be reported by the interface's callback function. <em>p_data</em> must be declared with <aclass="el"href="group__group__configuration.html#ga977f8e429c64d2ea49ea42b5dac8a88c">TUSB_CFG_ATTR_USBRAM</a>. </dd></dl>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">p_data</td><td>Buffer containing data. Must be accessible by USB controller (see <aclass="el"href="group__group__configuration.html#ga977f8e429c64d2ea49ea42b5dac8a88c">TUSB_CFG_ATTR_USBRAM</a>) </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">length</td><td>Number of bytes to be transferred via USB bus </td></tr>
<tr><tdclass="paramname">TUSB_ERROR_INTERFACE_IS_BUSY</td><td>if the interface is already transferring data with device </td></tr>
<tr><tdclass="paramname">TUSB_ERROR_DEVICE_NOT_READY</td><td>if device is not yet configured (by SET CONFIGURED request) </td></tr>
<tr><tdclass="paramname">TUSB_ERROR_INVALID_PARA</td><td>if input parameters are not correct </td></tr>
</table>
</dd>
</dl>
<dlclass="section note"><dt>Note</dt><dd>This function is non-blocking and returns immediately. The result of USB transfer will be reported by the interface's callback function. <em>p_data</em> must be declared with <aclass="el"href="group__group__configuration.html#ga977f8e429c64d2ea49ea42b5dac8a88c">TUSB_CFG_ATTR_USBRAM</a>. </dd></dl>
<p>Callback function that is invoked when an transferring event occurred. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">dev_addr</td><td>Address of device </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">event</td><td>an value from tusb_event_t </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">pipe_id</td><td>value from <aclass="el"href="group___class_driver___c_d_c___common.html#ga8664e955870c947f08f6601901243b6f">cdc_pipeid_t</a> indicate the pipe </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">xferred_bytes</td><td>Number of bytes transferred via USB bus </td></tr>
</table>
</dd>
</dl>
<dlclass="section note"><dt>Note</dt><dd>event can be one of following<ul>
<li>TUSB_EVENT_XFER_COMPLETE : previously scheduled transfer completes successfully.</li>
<li>TUSB_EVENT_XFER_ERROR : previously scheduled transfer encountered a transaction error.</li>
<li>TUSB_EVENT_XFER_STALLED : previously scheduled transfer is stalled by device. </li>
</ul>
</dd>
<dd>
</dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<divid="nav-path"class="navpath"><!-- id is needed for treeview function! -->