<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Kinetis Software Development KitのトピックRe: Adding Handshaking to KSDK 2.0 USB CDC Stack</title>
    <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508628#M5136</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #303030; font-size: 12pt;"&gt;Hello Myke.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #303030; font-size: 12pt;"&gt;Based on Reference Manual USB Stack Host, there are two macros for this&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier; color: #303030;"&gt;• #define &lt;SPAN style="color: #3334ca;"&gt;USB_HOST_CDC_CONTROL_LINE_STATE_DTR 0x01U&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #303030;"&gt;&lt;EM&gt;CDC class-specific request (SET_CONTROL_LINE_STATE) bitmap.&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier; color: #303030;"&gt;• #define &lt;SPAN style="color: #3334ca;"&gt;USB_HOST_CDC_CONTROL_LINE_STATE_RTS 0x02U&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #303030;"&gt;&lt;EM&gt;CDC class-specific request (SET_CONTROL_LINE_STATE) bitmap.&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #303030;"&gt;to set the virtual handshaking signals, call &lt;STRONG&gt;USB_HostCdcSetAcmCtrlState()&lt;/STRONG&gt; (see bellow) which is snippet from &lt;EM&gt;usb_host_cdc.c&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="java" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14649550127448760 jive_text_macro" data-renderedposition="242_8_1192_224" jivemacro_uid="_14649550127448760"&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;usb_status_t USB_HostCdcSetAcmCtrlState(&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; usb_host_class_handle classHandle, uint8_t dtr, uint8_t rts, transfer_callback_t callbackFn, void *callbackParam)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint16_t lineState = 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; usb_host_cdc_instance_struct_t *cdcInstance = (usb_host_cdc_instance_struct_t *)classHandle;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lineState = dtr ? USB_HOST_CDC_CONTROL_LINE_STATE_DTR : 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lineState |= rts ? USB_HOST_CDC_CONTROL_LINE_STATE_RTS : 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return USB_HostCdcControl(&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cdcInstance, USB_REQUEST_TYPE_DIR_OUT | USB_REQUEST_TYPE_TYPE_CLASS | USB_REQUEST_TYPE_RECIPIENT_INTERFACE,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_HOST_CDC_SET_CONTROL_LINE_STATE, USB_SHORT_GET_LOW(lineState), USB_SHORT_GET_HIGH(lineState), 0, NULL,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; callbackFn, callbackParam);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Arial',sans-serif; color: #303030;"&gt;To read the virtual handshaking signals, you can check the state-&amp;gt;bmstate in&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Arial',sans-serif; color: #303030;"&gt; &lt;/SPAN&gt;&lt;SPAN style="font-family: 'Arial',sans-serif; color: #303030;"&gt;&lt;STRONG&gt;USB_HostCdcInterruptPipeCallback()&lt;/STRONG&gt; i&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Arial',sans-serif; color: #303030;"&gt;n &lt;EM&gt;usb_host_cdc.c. &lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="java" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14649554456579355" data-renderedposition="518.5_8_1192_176" jivemacro_uid="_14649554456579355"&gt;&lt;P&gt;void USB_HostCdcInterruptPipeCallback(void *param, usb_host_transfer_t *transfer, usb_status_t status)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; usb_host_cdc_instance_struct_t *cdcInstance = (usb_host_cdc_instance_struct_t *)param;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_HostFreeTransfer(cdcInstance-&amp;gt;hostHandle, transfer);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (cdcInstance-&amp;gt;interruptCallbackFn != NULL)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cdcInstance-&amp;gt;interruptCallbackFn(cdcInstance-&amp;gt;interruptCallbackParam, transfer-&amp;gt;transferBuffer,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; transfer-&amp;gt;transferSofar, status);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial',sans-serif; color: #303030; font-size: 12pt;"&gt;This callback serves for an interrupt pipe so that it would be invoked periodically. As long as the device side had sent the handshaking signals through the interrupt pipe, the host side should read the incoming signals.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial',sans-serif; color: #303030; font-size: 12pt;"&gt;I hope this helps.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial',sans-serif; color: #303030; font-size: 12pt;"&gt;In case of any question, please let me know.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial',sans-serif; color: #303030; font-size: 12pt;"&gt;Best Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial',sans-serif; color: #303030; font-size: 12pt;"&gt;Iva&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 03 Jun 2016 12:04:59 GMT</pubDate>
    <dc:creator>ivadorazinova</dc:creator>
    <dc:date>2016-06-03T12:04:59Z</dc:date>
    <item>
      <title>Adding Handshaking to KSDK 2.0 USB CDC Stack</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508622#M5130</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;I'm working on an app with the K22F which will communicate with a number of PC applications.&amp;nbsp; One application requires the use of the (virtual) RS-232 hardware handshaking pins (DTR, DSR, CTS, RTS, DCD &amp;amp; RI).&amp;nbsp; This doesn't seem to be part of the CDC Stack provided as part of KSDK 2.0 (according to the CDC specification, there should be a "SET_CONTROL_LINE_STATE" request).&amp;nbsp; &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Has anybody accessed the virtual handshaking lines in the KSDK 2.0 USB CDC Stack?&amp;nbsp; &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanx,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;myke&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 08 May 2016 19:22:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508622#M5130</guid>
      <dc:creator>myke_predko</dc:creator>
      <dc:date>2016-05-08T19:22:35Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Handshaking to KSDK 2.0 USB CDC Stack</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508623#M5131</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Myke.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The "SET_CONTROL_LINE_STATE" request is handled in application layer, which is located in virtual_com.c.&lt;/P&gt;&lt;P&gt;You can refer to the snippet of code as below&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="java" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14628856412991725 jive_text_macro" data-renderedposition="138_8_1192_240" jivemacro_uid="_14628856412991725"&gt;&lt;P&gt; case kUSB_DeviceCdcEventSetControlLineState:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s_usbCdcAcmInfo.dteStatus = acmReqParam-&amp;gt;setupValue;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* activate/deactivate Tx carrier */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (acmInfo-&amp;gt;dteStatus &amp;amp; USB_DEVICE_CDC_CONTROL_SIG_BITMAP_CARRIER_ACTIVATION)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; acmInfo-&amp;gt;uartState |= USB_DEVICE_CDC_UART_STATE_TX_CARRIER;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; acmInfo-&amp;gt;uartState &amp;amp;= (uint16_t)~USB_DEVICE_CDC_UART_STATE_TX_CARRIER;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* activate carrier and DTE */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In case of any issue, please let me know.&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Iva&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 May 2016 13:08:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508623#M5131</guid>
      <dc:creator>ivadorazinova</dc:creator>
      <dc:date>2016-05-10T13:08:44Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Handshaking to KSDK 2.0 USB CDC Stack</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508624#M5132</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Iva,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the pointer - now, how do I &lt;/P&gt;&lt;P&gt;a) set the virtual handshaking signals&lt;/P&gt;&lt;P&gt;b) read the virtual handshaking signals coming in?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanx again,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;myke&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 May 2016 21:46:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508624#M5132</guid>
      <dc:creator>myke_predko</dc:creator>
      <dc:date>2016-05-10T21:46:23Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Handshaking to KSDK 2.0 USB CDC Stack</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508625#M5133</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Iva,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you please show me how to:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Enable and set the RTS and CTS virtual handshaking lines?&lt;/LI&gt;&lt;LI&gt;Setup an Event Monitor for the DTR line?&amp;nbsp; &lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In case you haven't guessed, the host software I'm looking for is trying to communicate with an Arduino, so I need to simulate the interface.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanx,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;myke&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 May 2016 13:48:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508625#M5133</guid>
      <dc:creator>myke_predko</dc:creator>
      <dc:date>2016-05-11T13:48:29Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Handshaking to KSDK 2.0 USB CDC Stack</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508626#M5134</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Myke, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please give me short time I have been gathering information for you.&lt;/P&gt;&lt;P&gt;I will answer you as soon as possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;Best Regards.&lt;BR /&gt;Iva&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 May 2016 12:28:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508626#M5134</guid>
      <dc:creator>ivadorazinova</dc:creator>
      <dc:date>2016-05-20T12:28:22Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Handshaking to KSDK 2.0 USB CDC Stack</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508627#M5135</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanx Iva!&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know if there's anything I can do to help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;myke&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 May 2016 14:18:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508627#M5135</guid>
      <dc:creator>myke_predko</dc:creator>
      <dc:date>2016-05-24T14:18:35Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Handshaking to KSDK 2.0 USB CDC Stack</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508628#M5136</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #303030; font-size: 12pt;"&gt;Hello Myke.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #303030; font-size: 12pt;"&gt;Based on Reference Manual USB Stack Host, there are two macros for this&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier; color: #303030;"&gt;• #define &lt;SPAN style="color: #3334ca;"&gt;USB_HOST_CDC_CONTROL_LINE_STATE_DTR 0x01U&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #303030;"&gt;&lt;EM&gt;CDC class-specific request (SET_CONTROL_LINE_STATE) bitmap.&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier; color: #303030;"&gt;• #define &lt;SPAN style="color: #3334ca;"&gt;USB_HOST_CDC_CONTROL_LINE_STATE_RTS 0x02U&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #303030;"&gt;&lt;EM&gt;CDC class-specific request (SET_CONTROL_LINE_STATE) bitmap.&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #303030;"&gt;to set the virtual handshaking signals, call &lt;STRONG&gt;USB_HostCdcSetAcmCtrlState()&lt;/STRONG&gt; (see bellow) which is snippet from &lt;EM&gt;usb_host_cdc.c&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="java" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14649550127448760 jive_text_macro" data-renderedposition="242_8_1192_224" jivemacro_uid="_14649550127448760"&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;usb_status_t USB_HostCdcSetAcmCtrlState(&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; usb_host_class_handle classHandle, uint8_t dtr, uint8_t rts, transfer_callback_t callbackFn, void *callbackParam)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint16_t lineState = 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; usb_host_cdc_instance_struct_t *cdcInstance = (usb_host_cdc_instance_struct_t *)classHandle;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lineState = dtr ? USB_HOST_CDC_CONTROL_LINE_STATE_DTR : 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lineState |= rts ? USB_HOST_CDC_CONTROL_LINE_STATE_RTS : 0;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return USB_HostCdcControl(&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cdcInstance, USB_REQUEST_TYPE_DIR_OUT | USB_REQUEST_TYPE_TYPE_CLASS | USB_REQUEST_TYPE_RECIPIENT_INTERFACE,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_HOST_CDC_SET_CONTROL_LINE_STATE, USB_SHORT_GET_LOW(lineState), USB_SHORT_GET_HIGH(lineState), 0, NULL,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; callbackFn, callbackParam);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Arial',sans-serif; color: #303030;"&gt;To read the virtual handshaking signals, you can check the state-&amp;gt;bmstate in&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Arial',sans-serif; color: #303030;"&gt; &lt;/SPAN&gt;&lt;SPAN style="font-family: 'Arial',sans-serif; color: #303030;"&gt;&lt;STRONG&gt;USB_HostCdcInterruptPipeCallback()&lt;/STRONG&gt; i&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: 'Arial',sans-serif; color: #303030;"&gt;n &lt;EM&gt;usb_host_cdc.c. &lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="java" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14649554456579355" data-renderedposition="518.5_8_1192_176" jivemacro_uid="_14649554456579355"&gt;&lt;P&gt;void USB_HostCdcInterruptPipeCallback(void *param, usb_host_transfer_t *transfer, usb_status_t status)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; usb_host_cdc_instance_struct_t *cdcInstance = (usb_host_cdc_instance_struct_t *)param;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_HostFreeTransfer(cdcInstance-&amp;gt;hostHandle, transfer);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (cdcInstance-&amp;gt;interruptCallbackFn != NULL)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cdcInstance-&amp;gt;interruptCallbackFn(cdcInstance-&amp;gt;interruptCallbackParam, transfer-&amp;gt;transferBuffer,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; transfer-&amp;gt;transferSofar, status);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial',sans-serif; color: #303030; font-size: 12pt;"&gt;This callback serves for an interrupt pipe so that it would be invoked periodically. As long as the device side had sent the handshaking signals through the interrupt pipe, the host side should read the incoming signals.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial',sans-serif; color: #303030; font-size: 12pt;"&gt;I hope this helps.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial',sans-serif; color: #303030; font-size: 12pt;"&gt;In case of any question, please let me know.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial',sans-serif; color: #303030; font-size: 12pt;"&gt;Best Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial',sans-serif; color: #303030; font-size: 12pt;"&gt;Iva&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Jun 2016 12:04:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508628#M5136</guid>
      <dc:creator>ivadorazinova</dc:creator>
      <dc:date>2016-06-03T12:04:59Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Handshaking to KSDK 2.0 USB CDC Stack</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508629#M5137</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Iva,&lt;/P&gt;&lt;P&gt;Thanks for your reply. I was experiencing the same issue.&lt;/P&gt;&lt;P&gt;One question - i am using the FREERTOS example of dev_cdc_vcom_freertos on K22 board. &lt;/P&gt;&lt;P&gt;Do i need to include the &lt;EM style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #303030;"&gt;usb_host_cdc.c file in my project ?&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #303030;"&gt;Where should i invoke the mentioned function from?&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #303030;"&gt;Thanks,&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #303030;"&gt;Ben&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jun 2016 07:41:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508629#M5137</guid>
      <dc:creator>benatar</dc:creator>
      <dc:date>2016-06-28T07:41:52Z</dc:date>
    </item>
    <item>
      <title>Re: Adding Handshaking to KSDK 2.0 USB CDC Stack</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508630#M5138</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Iva.&lt;/P&gt;&lt;P&gt;I'm work in a USB device CDC, how can I get those state like in host?&lt;/P&gt;&lt;P&gt;thx.&lt;/P&gt;&lt;P&gt;Cai.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 06 May 2017 03:15:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Adding-Handshaking-to-KSDK-2-0-USB-CDC-Stack/m-p/508630#M5138</guid>
      <dc:creator>phantomgz</dc:creator>
      <dc:date>2017-05-06T03:15:10Z</dc:date>
    </item>
  </channel>
</rss>

