<?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>topic Re: How to enable and use USB Sleep interrupt on a K64 using PE and sdk1.3 in Kinetis Software Development Kit</title>
    <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/How-to-enable-and-use-USB-Sleep-interrupt-on-a-K64-using-PE-and/m-p/643236#M6916</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Ian,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;USB0_IRQHandler must be reserved for USB stack and should not be modified by user.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want to enable sleep interrupt, then, as you already saw, you need to enable suspend option on usb_device_config.h:&lt;/P&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;/* Advance suspend resume */
#define USBCFG_DEV_ADVANCED_SUSPEND_RESUME (1)&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After that, all suspend events will be attend on USB_Device_callback (where other events such as bus reset, enumeration complete, among others are handled), for this basic example, I print on console that suspend event is received and increment a counter:&lt;/P&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case USB_DEV_EVENT_SUSPEND:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; suspend_times++;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_PRINTF("SUSPEND MODE: %d\r\n", suspend_times);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;

&amp;nbsp;&amp;nbsp;&amp;nbsp; case USB_DEV_EVENT_ENUM_COMPLETE:&amp;nbsp;&amp;nbsp; /* Device enumerated process complete */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Write your code here ... */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is all you need to do in order to enable sleep interrupt on USB stack from KSDK 1.3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this helps!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Isaac&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 20 Oct 2016 23:22:20 GMT</pubDate>
    <dc:creator>isaacavila</dc:creator>
    <dc:date>2016-10-20T23:22:20Z</dc:date>
    <item>
      <title>How to enable and use USB Sleep interrupt on a K64 using PE and sdk1.3</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/How-to-enable-and-use-USB-Sleep-interrupt-on-a-K64-using-PE-and/m-p/643234#M6914</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi has anyone tried enabling and using the USB sleep interrupt? &amp;nbsp;This is on a usb cdc device application,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It looks like I should be calling&amp;nbsp;&amp;nbsp;&amp;nbsp;usb_hal_khci_enable_interrupts(INTR_SLEEP);&lt;/P&gt;&lt;P&gt;But how and where do I write the interrupt handler to deal with this event? &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Or can I use processor expert to generate the interrupt to go in events.c like other interrupts.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for you time.&lt;/P&gt;&lt;P&gt;Ian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Sep 2016 15:51:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/How-to-enable-and-use-USB-Sleep-interrupt-on-a-K64-using-PE-and/m-p/643234#M6914</guid>
      <dc:creator>inorman</dc:creator>
      <dc:date>2016-09-22T15:51:26Z</dc:date>
    </item>
    <item>
      <title>Re: How to enable and use USB Sleep interrupt on a K64 using PE and sdk1.3</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/How-to-enable-and-use-USB-Sleep-interrupt-on-a-K64-using-PE-and/m-p/643235#M6915</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So far I've found Setting the parameter&amp;nbsp;&lt;/P&gt;&lt;P&gt;/* Advance suspend resume */&lt;BR /&gt;#define USBCFG_DEV_ADVANCED_SUSPEND_RESUME (1)&lt;/P&gt;&lt;P&gt;in usb_device_confih.h should enable the usb sleep interrupt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then I've&amp;nbsp;put my&amp;nbsp;usb interrupt handler in events.c &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void USB0_IRQHandler(void)&amp;nbsp;&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GPIO_DRV_TogglePinOutput(CPU_LED); //CPU_LED toggle&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But I've not seen any sign if the interrupt being triggered.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there another enable I'm missing somewhere?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Sep 2016 13:38:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/How-to-enable-and-use-USB-Sleep-interrupt-on-a-K64-using-PE-and/m-p/643235#M6915</guid>
      <dc:creator>inorman</dc:creator>
      <dc:date>2016-09-26T13:38:50Z</dc:date>
    </item>
    <item>
      <title>Re: How to enable and use USB Sleep interrupt on a K64 using PE and sdk1.3</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/How-to-enable-and-use-USB-Sleep-interrupt-on-a-K64-using-PE-and/m-p/643236#M6916</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Ian,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;USB0_IRQHandler must be reserved for USB stack and should not be modified by user.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want to enable sleep interrupt, then, as you already saw, you need to enable suspend option on usb_device_config.h:&lt;/P&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;/* Advance suspend resume */
#define USBCFG_DEV_ADVANCED_SUSPEND_RESUME (1)&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After that, all suspend events will be attend on USB_Device_callback (where other events such as bus reset, enumeration complete, among others are handled), for this basic example, I print on console that suspend event is received and increment a counter:&lt;/P&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case USB_DEV_EVENT_SUSPEND:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; suspend_times++;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; USB_PRINTF("SUSPEND MODE: %d\r\n", suspend_times);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;

&amp;nbsp;&amp;nbsp;&amp;nbsp; case USB_DEV_EVENT_ENUM_COMPLETE:&amp;nbsp;&amp;nbsp; /* Device enumerated process complete */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Write your code here ... */
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is all you need to do in order to enable sleep interrupt on USB stack from KSDK 1.3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this helps!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Isaac&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Oct 2016 23:22:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/How-to-enable-and-use-USB-Sleep-interrupt-on-a-K64-using-PE-and/m-p/643236#M6916</guid>
      <dc:creator>isaacavila</dc:creator>
      <dc:date>2016-10-20T23:22:20Z</dc:date>
    </item>
  </channel>
</rss>

