Very rarly the USB device is not recoganized by the PC. So I need to power cycle the board.
I am thinking of restarting the USB controller if I detect a unplug and plug back in to the PC.
This is how I start my device now.
How do I restart it.
// This is used for reading and writing
UsbCStream = device.CreateUSBStream(WRITE_EP, READ_EP);
UsbCStream.ReadTimeout = 10;
UsbCStream.WriteTimeout = 200;
// All done, you can start the device now
USBClientController.Start(device);
User_5
October 7, 2011, 5:24pm
2
To stop, use USBClientController.Stop();
Then you can start again…
Is that
Same as a restart
User_5
October 7, 2011, 5:59pm
4
This is the only way to restart (stop then start)
#### Exception System.InvalidOperationException - CLR_E_INVALID_OPERATION (5) ####
#### Message:
#### GHIElectronics.NETMF.USBClient.USBClientController::Init [IP: 0000] ####
#### GHIElectronics.NETMF.USBClient.USBClientController::Start [IP: 0104] ####
#### MicLogger.USBInterface::USBActivityCheck [IP: 003c] ####
#### MicLogger.USBInterface::USBLoop [IP: 0008] ####
20:06:US:Exception was thrown: System.InvalidOperationException
The library does not explain this.
When does the above exception happen. So I can fix it.
I am doing a start/stop
it is in Suspended(6), when I started it
I made the code like if the contoller is in suspend then do not stop.
It looks good. Hope fully it solves my issue
All this was done on USBizi
On EMX there is a different issue to handle this condition
26 P1.30 N/A USB_VBUS1 USB device power detect signal. Connect to power pin on USB device.
I think I do not have access to this pin, because of VBUS.
Do you guys restart it when the PC connection is removed? or when VBUS goes low?
VBUS is not checked nor used on our USB drivers.
Then how can I make
Pin 26(P1.30) an input pin
So I can control using it.
We have already made many boards,
Many questions have been answered already on this forum. I did a quick search for VBUS and found http://tinyclr.com/forum/10/3864/