LAVA Forums Buy cool LAVA gear Forums RSS Feed

Welcome Guest ( Log In | Register )

Tags
This content has not been tagged yet

> Related links

Check out our General Code Repository Files. Also, before posting here, check to see if your post doesn't fit into another subforum by category.


3 Pages V   1 2 3 >  
Reply to this topic Start new topic
> When is a VI a "driver" ?, It's an over-used term at best
Rating 5 V
BrokenArrow
post May 13 2008, 02:21 PM
Post #1


Very Active
***

Premium Member
Posts: 207
Joined: 30-July 05
From: Tampa Bay
Member No.: 2655
Using LabVIEW Since:2001
LV:8.5 ,8.2.1 ,7.1
United States Sweden us_florida My Gallery


When is a VI a "driver" ?

  1. It never is
  2. It always is, if it talks to hardware
  3. When the VI works only on a specific brand/model/part number of device
  4. When its main purpose is to make API calls
  5. When your manager, vendor, or girlfriend referes to it as such
Thanks! rolleyes.gif


Tags
This content has not been tagged yet
Go to the top of the page
+Quote Post
Ad
post May 13 2008, 02:21 PM
Post #















Tags
This content has not been tagged yet
Go to the top of the page
Quote Post
neB
post May 13 2008, 02:34 PM
Post #2


Certified Kool-Aid Kid
*****

Premium Member
Posts: 1133
Joined: 6-December 02
From: Pittsburgh PA USA
Member No.: 29
Using LabVIEW Since:1998
LV:7.1 ,. ,.
United States Germany Nothing Selected


QUOTE (BrokenArrow @ May 13 2008, 10:21 AM) *
When is a VI a "driver" ?

  1. It never is
  2. It always is, if it talks to hardware
  3. When the VI works only on a specific brand/model/part number of device
  4. When its main purpose is to make API calls
  5. When your manager, vendor, or girlfriend referes to it as such
Thanks! rolleyes.gif


There is probably a forma definition of a driver somewhere, that I 'll others find and link.

Years ago I asked "what is the difference between a mainframe and a super-mini computer?" The response was "Anything that cost more than $1M is a mainframe."

To me a driver is software entity that translates opeartional requests into hardware interactions that produce required results. An automobile driver takes request "turn left" slow down" and manipulates the hardware for that end. A disk driver accepts read request (read 100 bytes from block sector 500) into a "seek command" "header verify" "read 512 bytes" "transfer to client buffer".

Ben


Tags
This content has not been tagged yet
Go to the top of the page
+Quote Post
PaulG.
post May 13 2008, 03:38 PM
Post #3


Extremely Active
****

Member
Posts: 253
Joined: 30-December 05
Member No.: 3786
Using LabVIEW Since:1998
LV:8.5 ,8.20 ,7.1
United States Nothing Selected Nothing Selected


QUOTE (BrokenArrow @ May 13 2008, 10:21 AM) *
... It's an over-used term at best.


And "elegant" drivers would be about as over-used as you can get.

--------------------
"Whether they be the musician cats in my band or the real cats of the world, they all got style." -Ray Charles


Tags
This content has not been tagged yet
Go to the top of the page
+Quote Post
Michael_Aivaliot...
post May 13 2008, 05:36 PM
Post #4


Confucius say, Man with tight trousers is pressing his luck.
Group Icon
*****

Admin
Posts: 2320
Joined: 13-October 02
From: Planet Earth
Member No.: 2
Using LabVIEW Since:1994
LV:8.5 ,8.2.1 ,7.1.1
Greece Canada United States My Blog My Gallery


One thing that ticks me off to no end is when you discuss a new application with a customer and they bring up the fact that NI has "drivers" on their website so this should automatically translate to: "The app can be finished in a day or two right?" People, a hand full of turd balls does not translate to a full blown user interface with real time graphing, reporting and data analysis application. Unless of course you're a mystical fairy who shoots pixie dust out of your a** when you fly.

--------------------


Tags
This content has not been tagged yet
Go to the top of the page
+Quote Post
James N
post May 13 2008, 05:43 PM
Post #5


Very Active
***

Member
Posts: 56
Joined: 7-August 06
From: Lexington, KY
Member No.: 5791
Using LabVIEW Since:1996
LV:8.5 ,7.1 ,8.20
United States us_kentucky Nothing Selected


QUOTE (Michael_Aivaliotis @ May 13 2008, 01:36 PM) *
People, a hand full of turd balls does not translate to a full blown user interface with real time graphing, reporting and data analysis application. Unless of course you're a mystical fairy who shoots pixie dust out of your a** when you fly.


That quote's going up on my door right now! Perfect.

-James


Tags
This content has not been tagged yet
Go to the top of the page
+Quote Post
BrokenArrow
post May 13 2008, 05:54 PM
Post #6


Very Active
***

Premium Member
Posts: 207
Joined: 30-July 05
From: Tampa Bay
Member No.: 2655
Using LabVIEW Since:2001
LV:8.5 ,8.2.1 ,7.1
United States Sweden us_florida My Gallery


QUOTE (Michael_Aivaliotis @ May 13 2008, 01:36 PM) *
.....a hand full of turd balls...


First time I ever LOL'd reading a LAVA post!

Richard


Tags
This content has not been tagged yet
Go to the top of the page
+Quote Post
eaolson
post May 13 2008, 06:04 PM
Post #7


Extremely Active
****

Member
Posts: 269
Joined: 15-September 05
Member No.: 3014
Using LabVIEW Since:1998
LV:7.1.1 ,8.0.1 ,8.20
United States us_texas us_illinois


QUOTE (Michael_Aivaliotis @ May 13 2008, 12:36 PM) *
Unless of course you're a mystical fairy who shoots pixie dust out of your a** when you fly.

I'm going to go put that on my resume right now.


Tags
This content has not been tagged yet
Go to the top of the page
+Quote Post
PaulG.
post May 13 2008, 06:12 PM
Post #8


Extremely Active
****

Member
Posts: 253
Joined: 30-December 05
Member No.: 3786
Using LabVIEW Since:1998
LV:8.5 ,8.20 ,7.1
United States Nothing Selected Nothing Selected


laugh.gif

But seriously folks, to me a driver is a piece of code that allows me to use LabVIEW to interface relatively easily with a piece of hardware. A VI can indeed be called a "driver". Many companies sell LabVIEW SDK's with their equipment. They contain vi's that contain the dll's or the CIN's or whatever that allow you to communicate and control their hardware. That to me would be a "driver" VI. But more accurately I would call it an xyzdeviceInterface.vi. Not a driver. The actual dll or C code is the "driver". Or am I full of pixie dust?

--------------------
"Whether they be the musician cats in my band or the real cats of the world, they all got style." -Ray Charles


Tags
This content has not been tagged yet
Go to the top of the page
+Quote Post
Gary Rubin
post May 13 2008, 06:56 PM
Post #9


Extremely Active
****

Member
Posts: 285
Joined: 6-March 06
Member No.: 4344
Using LabVIEW Since:1997
LV:7.1.1 ,. ,.
United States us_virginia us_california


QUOTE (PaulG. @ May 13 2008, 02:12 PM) *
The actual dll or C code is the "driver". Or am I full of pixie dust?

I agree with that. If a VI is calling a device-specific DLL, I wouldn't call that VI a driver; the DLL would be the driver. I'd probably call a VI a driver if it was performing the hardware interface using only native Labview and OS functions (i.e. memory peeks/pokes).
Gary


Tags
This content has not been tagged yet
Go to the top of the page
+Quote Post
BrokenArrow
post May 13 2008, 07:39 PM
Post #10


Very Active
***

Premium Member
Posts: 207
Joined: 30-July 05
From: Tampa Bay
Member No.: 2655
Using LabVIEW Since:2001
LV:8.5 ,8.2.1 ,7.1
United States Sweden us_florida My Gallery


I agree with the points that Gary and Paul have brought up. To take it a step further, a driver (to me) is something that a piece of hardware *can't* work without (think printer driver), whereas if you've written a LabVIEW VI that controls a device, the device may still stand on its own with something written in (god forbid) C or VB or Cobol or Fortran or Pascal or JAVA or HPV.... ... ...

Thanks for the input, I've been trying to get people to stop calling LabVIEW VI's "drivers" because I think that terminology can confuse a customer/user.

OK, back to my hand full of turd balls. These arrays aren't going to index themselves.

Richard


Tags
This content has not been tagged yet
Go to the top of the page
+Quote Post
crelf
post May 13 2008, 07:56 PM
Post #11


I'm a LAVA, not a fighter.
******

V I Engineering, Inc.
Posts: 3637
Joined: 13-October 03
From: Michigan, USA
Member No.: 181
Using LabVIEW Since:1993
LV:8.5 ,. ,.
Australia United States Nothing Selected My Blog


QUOTE (BrokenArrow @ May 13 2008, 10:21 AM) *
When is a VI a "driver" ?
  1. When your manager, vendor, or girlfriend referes to it as such

Yes ma'am!

QUOTE (neB @ May 13 2008, 10:34 AM) *
To me a driver is software entity that translates opeartional requests into hardware interactions that produce required results.

Right - I also think that drivers can have wrappers (like translating error codes that a DLL spits out into a meaningful LabVIEW error cluster) which encapsulate the lower-level driver, and can be thought of as part of the driver itself. I think it's all a matter of your frame of reference.

--------------------


Tags
This content has not been tagged yet
Go to the top of the page
+Quote Post
BrokenArrow
post May 13 2008, 09:46 PM
Post #12


Very Active
***

Premium Member
Posts: 207
Joined: 30-July 05
From: Tampa Bay
Member No.: 2655
Using LabVIEW Since:2001
LV:8.5 ,8.2.1 ,7.1
United States Sweden us_florida My Gallery


QUOTE (crelf @ May 13 2008, 03:56 PM) *
... it's all a matter of your frame of reference.


Argh! wink.gif

OK. WHAT is THIS?...

  • A) A VI
  • B) A Driver
  • C) A Turd Ball
  • D) All of the above

Attached thumbnail(s)
Attached Image
 


Tags
This content has not been tagged yet
Go to the top of the page
+Quote Post
crelf
post May 13 2008, 10:25 PM
Post #13


I'm a LAVA, not a fighter.
******

V I Engineering, Inc.
Posts: 3637
Joined: 13-October 03
From: Michigan, USA
Member No.: 181
Using LabVIEW Since:1993
LV:8.5 ,. ,.
Australia United States Nothing Selected My Blog


QUOTE (BrokenArrow @ May 13 2008, 05:46 PM) *
Argh! wink.gif

tongue.gif

QUOTE (BrokenArrow @ May 13 2008, 05:46 PM) *
OK. WHAT is THIS?...

I'd say A that is also a B with some C biggrin.gif

--------------------


Tags
This content has not been tagged yet
Go to the top of the page
+Quote Post
Daklu
post May 13 2008, 11:14 PM
Post #14


Very Active
***

Member
Posts: 101
Joined: 26-January 07
From: Seattle, WA
Member No.: 7603
Using LabVIEW Since:2006
LV:8.20 ,. ,.
United States us_washington Nothing Selected


To me a driver is a piece of software whose sole purpose is to pass information from an application's business layer to/from a piece of hardware. If the driver contains business logic it is no longer just a driver and becomes an integrated part of the application. Or as I call it... a PITA.

I see a driver performing much the same role as a translator. If I need to conduct business with someone in Japan, I find a translator so we can communicate. If the translator is making business decisions on his own, then when I get another translator to do business in Sweden my system breaks down. I need to train the Swedish translator to make the same decisions as the Japanese translator. I restrict the translator's function to translation.

As to the original question, "When is a VI a 'driver,'" I'd say a single vi is almost never a well-written driver. (I suppose there may be some trivial cases where a single vi could serve as a driver.) A good driver is generally a collection of vis. If your hardware has a single vi as a driver it likely needs to be broken up or rewritten.


Tags
This content has not been tagged yet
Go to the top of the page
+Quote Post
BrokenArrow
post May 14 2008, 12:45 AM
Post #15


Very Active
***

Premium Member
Posts: 207
Joined: 30-July 05
From: Tampa Bay
Member No.: 2655
Using LabVIEW Since:2001
LV:8.5 ,8.2.1 ,7.1
United States Sweden us_florida My Gallery


QUOTE (Daklu @ May 13 2008, 07:14 PM) *
A good driver is generally a collection of vis. If your hardware has a single vi as a driver it likely needs to be broken up or rewritten.


Well, I think that's true to the extent of complexity of the "thing" you're driving. I've used devices that just do one simple thing and the VI can fit on 1/3 of a screen, such as a high-current relay output board with just two relays. So to your point (or against it) I guess that would be an example of one VI being a well written driver. But I assert that it isn't a driver, but is a LabVIEW VI.


QUOTE (crelf @ May 13 2008, 06:25 PM) *
I'd say A that is also a B with some C biggrin.gif

Well, since I wrote it, I can assure you it is a C (Turd Ball).
beer_mug.gif Richard beer_mug.gif


Tags
This content has not been tagged yet