We are working with the CY7C64013. When we attach our device to a Windows 8 machine, and Win8 goes to Sleep, Our device goes into Suspend. I have been looking at old code Mouse code based upon the CY7C637xx, and see that there is a dedicated interrupt for this - Wakeup Interrupt Vector at 0016. There is also code for this mouse application that uses
The sample code I started with had these as "jmp request_not_supported".
I would like to know if the CY7C64013 is able to duplicate the functionality of remote wakeup when the PC goes to sleep and any sample code for it?
Thanks in advance,
Solved! Go to Solution.
Thanks for your reply. The 0016 interrupt vector I was referring to was for the CY7C637xx. I didn't know if the CY7C64013 implemented this functionality in a different way. We are creating a special purpose composite device - mouse/keyboard also able to communicate with a compiled VB program via endpoint2. I see Suspend and Resume nomenclature in the CY7C64013 documentation. Can this be used to implement a Remote Wakeup condition?
Also, the code I have been using has been based upon an old Cypress example, and the portion that I believe I need to modify, (if at all possible), starts here:
jmp request_not_supported ; 00
jmp request_not_supported ; clear_interface_feature 01
jmp request_not_supported ; 02
jmp request_not_supported ; set_interface_feature 03
jmp request_not_supported ; 04
jmp request_not_supported ; 05
jmp request_not_supported ; 06
jmp request_not_supported ; 07
jmp request_not_supported ; 08
jmp request_not_supported ; 09
jmp request_not_supported ; 0A
jmp set_interface_interface ; 0B
The requests 01 and 03 apparently are, (or were), valid jumps. Would these jumps be part of the puzzle for implementing Remote Wakeup?
Also, we are dedicated to the CY7C64013 at the moment, but if you can suggest a plug-in replacement microcontroller we would appreciate it.
So, I need to just confirm that the CY7C64013 DOES NOT support remote wakeup, as the Cypress employee mentioned back in July. I would like to try some code, but I do not want to fool myself in believing that if it works, it will work 100% of the time. (Please see my previous post for where I am.)
Also, what is the next logical replacement micro if the 64013 is to become obsoleted?
During remote wakeup (if the feature of remote wakeup has been set by the host through set feature before the bus goes into the suspend) the device does resume signaling (driving the bus to K state) to inform the host that it wants to resume traffic on the USB bus. It should be signalled for a time no lesser than 1ms and no greater than 15ms.
The device does not give the level of control needed to do that. If you look at the suspend bit in the register that suspend and resume is with regards to the CPU execution not the USB suspend/resume.
Unfortunately there is not drop in replacement for this part number.
Please explain your application and reason you need this feature, I might be able to recommend an alternate method to achieve the same or another part number which would suit your application.