Feedback on NI Community

cancel
Showing results for 
Search instead for 
Did you mean: 

6552 Set levels

Hi,

I'm trying to configure my HSDIO card to change all voltage high levels together.  It should be done independant of any other function (some pins are Static, some dynamic).  I've tried the  "niHSDIO Configure Voltage.vi" with the appropriate open/close niHSDIO vis, but nothing seems to change when run.  I've had to do a dunny static write to an unused channel in order to trigger the change.

This is not ideal, is there something I'm missing ?.

Thanks,

                                                                  MARK
0 Kudos
Message 1 of 12
(7,309 Views)
Mark,

Calling the "niHSDIO Configure Voltage.vi" will change the settings in the software stack.  In order to optimize driver execution, the software settings are programmed all together instead of at each step.  This act of programming these software settings into hardware is called "commit".  Functions like the static write and dynamic start have a built in commit function.  For cases, such as yours, where you don't want to call a static or dynamic function you can call commit directly using the "niHSDIO Commit" function in your HSDIO pallette.  When you call this vi, all software settings made to that point will be programmed into your hardware immediately.

Hope this helps,

Ryan Mosley
Message 2 of 12
(7,302 Views)
Hey Mark - Ryan's response is correct.  I just wanted to add that there are two flavors of Commit: Dyanmic and Static.  For what you're doing, you should use the Static Commit.
 
On the palette in LabVIEW, the vi is called "niHSDIO Commit.vi".  Change the selector from "dyanamic" to "static".
 
Hope this helps...
Chris
Message 3 of 12
(7,300 Views)
Thanks a mill guys, I'd seen that commit function but was unsure about the static/dynamic option.  So just to confirm, running that VI wont change the o/p state (H/L) of any channel, just the voltage level ?.  (provided I've not written any other not yet invoked commands).


0 Kudos
Message 4 of 12
(7,295 Views)
That's correct - Commit will not modify the logic values on the lines.
 
Chris
0 Kudos
Message 5 of 12
(7,289 Views)
correct, it will not initiate any operation, it will only push configuration settings (state vectors, clocking, voltage levels, etc) into the hardware.
Message 6 of 12
(7,289 Views)
I've tried the commit.vi with no success.  Perhaps I'm missing something.  Can you take a look at this section of code and see ?


0 Kudos
Message 7 of 12
(7,285 Views)
Your code appears correct.  I just ran a test with the attached VI to verify the behavior.  When commit gets called, the voltages do get set.  However, in my test, I never drive out any data so all of my data channels are off.  Even though the voltage levels are changing, the outputs are off so they remain pulled to ground.  I was able to verify that the code works by probing on the supplies of my 6552.  If a channel is enabled, then you would see the voltage change.  This may be what you are seeing, the voltage supplies changing as a result of your commit but since you may not be driving any data (0, or 1), you do not see that reflected on the connector.

Ryan

Message Edited by Ryan M on 10-31-2006 12:54 PM

Message 8 of 12
(7,279 Views)
Thanks for the info Ryan,  I added the "assign data channels" vi and it works ok now.  I used ch19 as a dummy channel as I dont want to change the config of any other i/o signals.  
0 Kudos
Message 9 of 12
(7,251 Views)
Mark,

Note that the voltage levels are applied across the entire board.  There is a single VOH and a single VOL voltage that gets applied to all channels of the device.
Message 10 of 12
(7,247 Views)