I'm developing a driver for the NI USB-6356, and I'm completely new to developing drivers.
I've downloaded the NI-MHDDK and extracted it.
How should I begin developing my own driver for the NI USB-6356?
My goals for the driver :
I want to be able to sample voltages from the driver's analogue inputs and generate voltages for the analogue outputs.
I'd also like to be able to take (or generate) a large amount of samples at once.
This would all be communicated to a C program through the driver API.
Ninja edit : Also, how do I instantiate an iBus object object for the USB connection? At least I think this is how communication would be done through the USB... But help there would be nice as well.
The driver development kits that are readily available are for plug-in hardware (PCI/PXI/PCIe/PXIe). On the same page where you can download the DDKs, you will see a link to request the USB DDK. This DDK has limited support for hardware and the USB-6356 is not a supported interface.
As you've probably noticed, there is no relased National Instruments driver that supports the USB-6356 on Linux, and there is no driver development kit for this hardware on Linux.
If you are completely new to developing drivers, why are you wanting to develop a driver for this interface?
What is preventing you from using this device on Windows?
Why are you unable to use devices that are supported by released drivers on Linux (such as NI-DAQmx Base...which supports USB-621x devices)?
I want to develop it in Linux so that it interfaces well with the other machines on our system, which are also run in Linux.
I'm working for someone who already bought me the NI USB-6356 I have.
I already have a working DAQ system on Windows, and I find it easy to use.
I also wouldn't mind learning how to develop a driver for this card on Linux.
I believe that answers your questions. I'll go ahead and request the USB DDK.
I actually don't think that the USB DDK would help you much. It doesn't support the hardware that you want to use.
Is there anyway you can use another piece of hardware that is supported by DAQmx Base? Hopefully you are running a supported Linux distribution. See the readme here for details on this driver. No driver development is necessary if you use this.
Here is the DDK guestbook page so you can see the DDK links.