Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results
The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.
Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/
I'm looking for a code to receive data from OSRfX2 in manner of interrupt transfer and continuously in 1ms intervals, Microsoft express this method with UWP, but I want to write in desktop App. Thank you in advance if share your experience.
Upcoming OSR Seminars | ||
---|---|---|
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead! | ||
Internals & Software Drivers | 19-23 June 2023 | Live, Online |
Writing WDF Drivers | 10-14 July 2023 | Live, Online |
Kernel Debugging | 16-20 October 2023 | Live, Online |
Developing Minifilters | 13-17 November 2023 | Live, Online |
Comments
??
Let me translate that into USB: You want to receive data that's sent by the OSR USBFX2 device on the Interrupt IN Endpoint... and you expect that data to arrive in something like 1ms intervals.
Is that correct?
What do you plan to use as the driver (since you referenced "desktop App"? It's the DRIVER that reads from Endpoints.
Or, use WinUsb... Call WinUSB_ReadPipe on the interrupt endpoint. I bet you could even send multiple of these reads asynchronously, using OVERLAPPED I/O.
Peter Viscarola
OSR
@OSRDrivers
Remember that the responsibilities are distributed here. It is up to the DESCRIPTOR to determine the packet size and the transfer interval. The driver doesn't have a say in that. The driver submits a buffer to be filled, and the host controller driver will submit read requests at the interval in the descriptors. You just have to make sure you submit enough requests that the queue never runs dry.
Tim Roberts, [email protected]
Providenza & Boekelheide, Inc.
I apologize for asking my question badly.
I give an example, in the standard interface of the serial port in visual studio, we actually have a COM that sits between the serial port driver and our application.
In application we can put a (mySerialPort.DataReceived + = new SerialDataReceivedEventHandler (DataReceivedHandler);) call back event handler to fire as soon as it receives a character from our callback serial port and get the characters from the buffer. The question is, I do not know how that COM standard interface polls the serial driver? Does it create an endless loop to ReadRequest with the Windows API read method? And I really know that a ContinuoesRead mechanism is active in the driver and it consequently reads from the in endpoint and puts it in I/O Queue.
So, this is really a user-mode question? You're asking about the C#/.NET class Serial.Io.Ports?
Tim Roberts, [email protected]
Providenza & Boekelheide, Inc.
...the source code for which is on GitHub? So, you can, you know... just look it up?
Peter Viscarola
OSR
@OSRDrivers
@Peter_Viscarola_(OSR)
Thanks