Hmm.  You're right that we often use those terms interchangeably.

Technically, the driver is the piece of code that runs in the
operating system kernel that does the low-level programming of the I/O
hardware.

This low-level programming is somewhat complicated, so we create a
higher-level Application Programming Interface (API) on top of it that
is more natural for the user's programming environment.

So, for example, NI-DAQmx has a driver that controls NI's DAQ
hardware.  NI-DAQmx also includes a LabVIEW API for LabVIEW users, a C
API for CVI users, etc.

So when we talk about NI-DAQmx in LabVIEW, we're talking about the
whole stack of software--the LabVIEW VIs for DAQmx all the way down to
the low-level kernel driver.  Sometimes we call it the NI-DAQmx
driver, and sometimes we call it the API.  For the most part, you
don't ever have to care about which specific components we're talking
about.

The same is true for all of these other products you mention.  For
example, NI-SCOPE is the software you use to talk to NI's Oscilloscope
products.  It includes an API for LabVIEW, an API for C, as well as
the low-level driver that programs the hardware.

Does this help clarify things?

Brian

Reply via email to