A quickie on USB Endpoints

Endpoints are essentially the USB addresses that USB data is sent to or from. Now, here is the trick. The transfer direction naming convention is a bit unintuitive. Contrary to — at least — what I imagined, an IN Endpoint will transfer USB data from the USB device to the host PC, while an OUT Endpoint …
Continue reading A quickie on USB Endpoints

IOUserClient and IOExternalMethod

While developing the OS X driver for my Agilent DSO-X 2002A oscilloscope, I ran into a topic that I found to be poorly documented. It is about interaction with a device driver. There are several ways to communicate with a device driver from client space (the application). One is by modifying driver properties. This method requires …
Continue reading IOUserClient and IOExternalMethod