none
How to send a selective suspend to a HID device (my custom device) using hid.dll RRS feed

  • Question

  • We have built our custom hardware and for configuration and control have connected it to Windows using the built-in hid.dll. Communication works like a charm.

    To save power and to reduce communication noise between the device and the computer, we would like to selectively suspend our device (which runs an AVR controller) from within our Control Application and allow the device to wake-up in case of an external interrupt or in case the Control Application wants to regain attention of the device.

    We have read the msdn guide and provided a custom inf file for our device (http://msdn.microsoft.com/en-us/library/windows/hardware/jj131716%28v=vs.85%29.aspx). The registry entries have been set accordingly.

    MSDN web guides (http://msdn.microsoft.com/en-us/library/windows/hardware/ff540144%28v=vs.85%29.aspx) go through this process step by step (http://msdn.microsoft.com/en-us/library/windows/hardware/ff538089%28v=vs.85%29.aspx). However this need the implementation of a custom driver?

    Is there a way of selectively suspend our USB device using existing/available drivers (we're using them from c# by wrapping the original dlls) on windows 7?

    so in a perfect world the following:

    device.SendSelectiveSuspend()
    device.Wakeup()
    davice.WakeupEvent += MyDeviceWakeuCb()...

    We do not have the capacity of writing (and certifying) our own windows driver... any help is very much appreciated! Thanks

    Wednesday, December 17, 2014 12:16 PM

Answers

  • the driver will enact selective suspend on its own based on idle time. You cannot force it from an app

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Thursday, December 18, 2014 12:19 AM