Reading HDD Temperature from a RAID Array (nForce4)

Hello all!
does anybody know of a program that can read the HDD temperature from a RAID Array?
I'm using Speedfan at the moment but the author doesn't seem to like nVidia at all, thus no support for us.

I read:
Quote
To sum it up : The nvidia raid controller doesn't support it .
That's not true really, because the nVidia utilities support reading the SMART status from the array. So it can be done, it's only matter of having the documentation or doing some research. However Speedfan's author doesn't like nVidia so he's not going to do anything, unless a doc is handed to him.
I wonder whether the linux community has worked it out 

Similar Messages

  • Will mavericks boot from a raid array?

    Will OS X Mavericks boot from a raid array?  I know Lion didn't support booting from a RAID.

    Well, since no one seems to want to answer this question I've done a little research and answered it myself.  Yes, you can boot from a RAID while running OS X Mavericks.  The only setback is that you can't create a recovery partition.
    While installing Mavericks on a RAID it will prompt you to OK installing without a recovery partition.  In laymen's terms it means you have to keep your own backup.  If your RAID fails you will lose the data or whatever is stored on it.  Simply keep your own backup and you'll be fine.  This is the way most people do it anyway.  Yes, it may be considered old wave but it's still the best option.  It's an absolute.  If you have a backup, you never to have cross your fingers, pray and hope the recovery process actually works!
    That being said, you can create some really souped up Macs.  I actually installed two 480GB SSDs into a 2.8GHz Macbook Pro and the response is phenominal !!!  From power on button to sign in screen is less than 10 seconds on a 5 year old Macbook Pro !!!  If you hate seeing the little spinning wheel while shutting down this will cure your distress.  Shutting down is instantaneous.  I love it !!!  RAID and SSDs are the best !!!  A newer Quad-Core machine has to be even faster which is hard to imagine.
    That's my 2 cents ...

  • Temperatures from a Thermocouple

    Hello All,
    I have the PCI-4452 DAQ board. I would like to know if I could use this DAQ to read the temperatures from a Thermocouple. I have the amplifiers and also signal conditioning boards. I am working on LabVIEW-7.0.
    Thanks
    Nishant

    Hello Nishant. 
    You can use the PCI-4452 to read temperatures from a thermocouple.  I would recommend measuring the input differentially.  The other advantage that the 4452 gives you are the software configurable input ranges.  Since you are measuring a thermocouple, as long as the temperature doesn't get too hot, you could use the .316 V range.  If you are measuring hotter temperatures, then you could use the 1 V range.  This will allow you to apply the 16 bits of resolution that the card provides across a smaller range and effectively increase your resolution even more. 
    In terms of getting started with a program to take these measurements, I would recommend finding a simple analog input example program in our NI Example Finder.  NI Example Finder provides numerous VI's that are pre-built for basic applications.  There are many VI's which use the DAQ drivers to acquire a voltage on a channel, which could be used for your application.
    Brian F
    Applications Engineer
    National Instruments 

  • Reccomended RAID array 0 hdd disks

    What hdd would you reccomend to set up a raid array (RAID 0) on MSI K8 Neo? Preferably Maxtor, Seagate or Hitachi. Any problems (like max capacity, etc.) while setting up this array?

    Quote
    Originally posted by D_o_S
    Why wouldn't you "trust" RAID 0? I want to boost performance rather than security (don't need extra backups). Why is the onboard Promise controller "bad"? I think it looks like a quite good solution (double bandwith).
    First, everyone needs backups unless they dont need their data (see note about "rm -Rf /" later).
    Second, IMHO on board RAID solutions (which are all software raid to date) are just gimmicks, pointless chrome, feeping creatureitis; in bygone days added to convince gullible users that product A was actually better than product B rather than just product B with extra IDE connectors whacked on it.  They are an approximation of a serious tool, like any serious tool it is dangerous in the hands of amateurs; doubly so when the tool is a low budget immitation of the real thing.  I have invested many hours dealing with the results of software raid in businesses where some code-mokey thought they had a clue and decided to make the server perform "better"; likewise rebuilding (without RAID) the dead machines of friends who thought it made their home PC faster, in most cases they found it faster without RAID-0...
    which leads to...
    I dont see the obsession with RAID 0 (likewise I dont understand why people rampantly benchmark their home machine, does it play at 1280x1024 and 60fps??  then its fast enough), it just doesnt offer any benefit or improvement in real performance for the vast majority of users (I *DO* use hardware ultra wide scsi Raid0+1 on my serious box, so I have some frame of reference here)...  sustained data transfer rates from a RAID-0 with 10k rpm ultra wide scsi drives are negligibly faster than that from an individual drive of the same type.  Sure, interleaving and cascading caches do allow for more prompt access of tables and regularly used small files which helps databasing and sci apps but little else, furthermore tcq and prefetch are rapidly eating into these advantages with modern drives.  Frankly, Id rather have the 8~12% of the CPU used by the on-board raid controller to do the raid work for flinging rectangles around (assuming you play games).  To each their own, however, if you want to do it, do so.
    Third, I dont "trust" any solution which has only unrecoverable failure modes (not so true with advanced hardware raid controllers, but completely true from software raid.), take this on top of the "dont see why" rant above.  If you use a software raid controller, such as that on the k8t neo, you are at the mercy of the stability of your entire system, not just the drives and their controller.  If your CPU/ram combination is flakey, if you overclock (likely if you are so performance obsessed as to want low budget raid-0 to begin with); then the chance of a catastrophic data loss is very high; ANY fandango-on-core experience can FUBAR a software Raid-0.  
    It gets down to this, how much attachment do you have to the data on your system?  could you "rm -Rf /" (insert appropriate windows equivalent) without flinching? if you could, then go ahead, but expect to have total data loss on a better than annual basis. SOFTWARE RAID of any kind is grade A stupid IMHO; HARDWARE Raid-0 (without a -1) is only marginally less so.  RAID is a great tool when properly implemented on a hardware controller, but a tool which offers no benefit to the majority of desktop systems.
    well, I think my opinion on the topic is clear now.  
    err!
    jak.

  • Boot problems from RAID Array

    I have recently reinstalled my system (K7N2G-ILSR).
    It was working fine with a RAID array to boot (set to boot from SCSI in Bios).
    The RAID array is 1 SATA drive with 1 IDE on IDE3.
    I have 2 additional IDE HDDs and 2 Optical Drives (On IDE1&2).
    I also have a SCSI controller with one external drive.
    While reinstalling I had problems in the windows installer - after partitioning and copying files it would try to reboot, and would then come up NTLDR missing.
    I initially thought it must be some confusion with my external SCSI drive trying to boot, but removing made no odds.
    I ultimately had to unplug all my non raid HDDs, and it would then boot no problem at all.  Unfortunately having got it working, every time I try to plug any IDE HDD back in, it goes back to NTLDR Missing on boot (this is despite boot being set to SCSI in bios, IDE isnt even later in the boot sequence!)
    I need to be able to reconnect my drives, but cant find anything comparable in the forum.
    Why does it matter if I connect an IDE drive at all when it is set to boot from SCSI (RAID)?  Is my bios corrupt or something?
    Thanks for any help!
    Martyn

    Thanks Noby and Richard for the advice, and sorry I have been slow to read it - I've been away.
    I'm not sure I didn't do my last installation in exactly the way you describe anyway.  Still, it's probably worth another go.  
    I was hoping for an easy solution without reinstalling yet again, since the system is working albeit with only the RAID array connected.
    Assuming the other drives do now have an MBR written to them, even if I reinstall windows without them connected, will they not still cause problems when reconnected?  
    Am I looking at having to wipe the drives and start again with them too?  
    Even if I do this, does formatting a drive wipe any MBR on it?  
    Is there not some way to directly edit the boot record on each drive when windows installer doesn't figure it out right?
    Sorry for the multitude of questions but I have had this problem time and time again and never found a reliable solution - last time it seemed simple chance that I ever got the board working!
    Thanks again
    Martyn

  • I would like to migrate from Aperture. What happens to my Masters which are on a RAID array and then what do I do with my Vault which is on a separate Drive please ?

    I am sorry, but I do noisy understand what happens to my RAW original Master files, which I keep offline on a RAID array and then what I do with my Vault which as all my edited photos ? Sorry for such a simple question, but would someone please help my lift the fog ?
    Thanks,
    Rob

    Dear John ,
    Apologies, as I am attempting to get to the bottom of this migration for my wife ( who is away on assignment ) and I am not 100% certain on the technical aspects of Aperture, so excuse my ignorance.
    She has about 6TB worth of RAW Master images ( several 100 thousand ) which, as explained, are on an external RAID drive. She uses a separate Drive as a Vault . Can I assume that this Vault contains all of her edits, file structures , Metadata, etc ?
    So, step by step........She can Import into Lightroom her Referenced Masters from her RAID and still keep them there ? Is that correct ?
    The Managed Files that are backed up by her Vault , are in the pictures folder of her MacPro, but not in a structure that looks like her Aperture library ? This means Lightroom will just organize all the Managed files, simply by the date in the Metadata ? Am I correct ( Sorry for being so tech illiterate ).
    How do I ensure she imports into Lighgtroom in exactly the same format as she runs her workflow in Aperture ?  ( Projects, that are organized by year and shoot location and Albums within those projects with sub-locations, or species , etc ). What exactly do I need to do in Aperture please to organize Managed Files to create a mirror structure of Aperture on my internal Hard Drive ?
    There are a couple of points I am unsure about in regard to Lightroom. Does it work in the same way as Aperture ? Meaning, can she still keep Master Files on an external RAID and Lightroom will reference them ? If the answer is yes, how do you back up your Managed ( edited ) work in Lightroom ? ( Can you still use an external Drive as a Vault ? ) . Will the vault she uses now be able to continue to back up Managed Files post migration ?

  • Sudden read-only on RAID array.

    I don't know if this was caused by an update but suddently my /raid is mounted read-only. It doesn't happen right after the mount but suddently after 1 day of uptime or a few hours and the /raid partition is locked again.
    [dezza@dezza ~]$ cd /raid/
    [dezza@dezza raid]$ touch me
    touch: cannot touch `me': Read-only file system
    [dezza@dezza raid]$ df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/sda1 34G 13G 22G 38% /
    none 1013M 0 1013M 0% /dev/shm
    /dev/sda3 46M 12M 32M 27% /boot
    /dev/md0 466G 364G 103G 79% /raid
    [dezza@dezza raid]$ cat /etc/fstab
    # /etc/fstab: static file system information
    # <file system> <dir> <type> <options
    > <dump> <pass>
    none /dev/pts devpts defaults
    0 0
    none /dev/shm tmpfs defaults
    0 0
    # Optical drive, CD/DVD
    /dev/sr0 /media iso9660,udf ro,user,
    noauto,unhide 0 0
    # Root, swap, boot
    /dev/disk/by-label/root / reiserfs defaults
    0 1
    /dev/disk/by-label/swap swap swap defaults
    0 0
    /dev/disk/by-label/boot /boot ext2 defaults
    0 1
    # RAiD BACKUP (2x 500GB Western Digital 7200RPM)
    /dev/md0 /raid reiserfs defaults
    ,sync,user 0 0
    # External 1TB
    /dev/disk/by-label/external /mnt/1tb ntfs-3g u
    ser,sync,exec,uid=1000,gid=1000,locale=en_DK.utf8,force,noauto 0 0
    # VirtualBox
    none /proc/bus/usb usbfs auto,busgid=108,busmode=0775,devgid=108,devmode=0664,lo
    cale=en_DK.utf8 0 0
    [dezza@dezza raid]$
    Last edited by dezza (2009-08-24 14:42:13)

    I had the same problem with a hardware RAID array... I was installing Arch in an previously Redhat server.
    The error I got just just before the read-only thing was related to the filesystem... (Arch was in reiserfs and /home in Redhat is ext3)
    That read-only thing only happened when I was performing heavy load on the raid by rsyncing almost 300GB from RH to the new arch (No error while installing and configure a very complete system).
    I though maybe it was that reiserfs wasn't good enough and I tried with no luck using jfs (the same I succesfully use in LVM in my laptop).
    At the end I decided to get rid of the filesystem difference and It worked using ext3.
    It worked perfectly for almost a month until last week that we had a crash copying 180GB from an USB external drive. We tried again and it worked with no problems. So in conclusion:
    I used ext3 successfully but I have one crashed (after the read-only thing the system becomes useless) documented.
    I know this is not an answer but I hope this help you or maybe help someone to give us a point.
    P.S: The raid arrays are in the same computer (PERC6 I think) using the aacraid driver. One is raid 5 (RH) and the other one is RAID 0 (Arch),

  • Booting from external SATA firewire800 hardware RAID array

    Just a quick post to update on a new toy and how it's being used.
    Recently obtained a hardware RAID array which contains 5 drives at 250 GB each. Currenly setup as RAID 5, providing 1TB of storage.
    After formating via DISk image I did a drive restore from my normal boot disk to the new array.
    I changed the startup options to boot from the array.
    So basically I am running my system from this new device.....I may later reconfig the array to 0+1 with a floating spare.
    Cost of the box was 500. New and unused off ebay.

    ..

  • I have a VI and an attched .txt data file. Now I want to read the data from the .txt file and display it as an array in the front panel. But the result is not right. Any help?

    I have a VI and an attched .txt data file. Now I want to read the data from the .txt file and display it as an array in the front panel. But the result is not right. Any help?
    Attachments:
    try2.txt ‏2 KB
    read_array.vi ‏21 KB

    The problem is in the delimiters in your text file. By default, Read From Spreadsheet File.vi expects a tab delimited file. You can specify a delimiter (like a space), but Read From Spreadsheet File.vi has a problem with repeated delimiters: if you specify a single space as a delimiter and Read From Spreadsheet File.vi finds two spaces back-to-back, it stops reading that line. Your file (as I got it from your earlier post) is delimited by 4 spaces.
    Here are some of your choices to fix your problem.
    1. Change the source file to a tab delimited file. Your VI will then run as is.
    2. Change the source file to be delimited by a single space (rather than 4), then wire a string constant containing one space to the delimiter input of Read From Spreadsheet File.vi.
    3. Wire a string constant containing 4 spaces to the delimiter input of Read From Spreadsheet File.vi. Then your text file will run as is.
    Depending on where your text file comes from (see more comments below), I'd vote for choice 1: a tab delimited text file. It's the most common text output of spreadsheet programs.
    Comments for choices 1 and 2: Where does the text file come from? Is it automatically generated or manually generated? Will it be generated multiple times or just once? If it's manually generated or generated just once, you can use any text editor to change 4 spaces to a tab or to a single space. Note: if you want to change it to a tab delimited file, you can't enter a tab directly into a box in the search & replace dialog of many programs like notepad, but you can do a cut and paste. Before you start your search and replace (just in the text window of the editor), press tab. A tab character will be entered. Press Shift-LeftArrow (not Backspace) to highlight the tab character. Press Ctrl-X to cut the tab character. Start your search and replace (Ctrl-H in notepad in Windows 2000). Click into the Find What box. Enter four spaces. Click into the Replace With box. Press Ctrl-V to paste the tab character. And another thing: older versions of notepad don't have search and replace. Use any editor or word processor that does.

  • How to open and read many files from a directory and store contents in 2D array?

    I want to make a VI that opens and reads the data from various files contained in a directory (200 files each with 2 columns) and store these in a single 2D array. For file number 1 I want to store the data from both columns in the 2D array, but for files 2 to 200 I only want to store the second column of each file. Can someone please help?

    Hi Nadav,
    Thanks for your help. I have followed your instructions but i cannot get it to work. I used the LIST DIRECTORY to list the files in the directory - that works. However, how do I read each of the 200 files using READ FROM SPREADSHEET FILE without me having to manually select each of the 200 files? So, if I use LIST DIRECTORY to list all 200 files in an array, how do I get each of these to open and store the data in a 2D array? Here is what I have done (File called read_files.VI) Could you please help me? Thank you very much in advance.
    Attachments:
    read_files.vi ‏18 KB

  • Reading one line from a text file into an array

    i want to read one line from a text file into an array, and then the next line into a different array. both arays are type string...i have this:
    public static void readAndProcessData(FileInputStream stream){
         InputStreamReader iStrReader = new InputStreamReader (stream);
         BufferedReader reader = new BufferedReader (iStrReader);
         String line = "";          
         try{
         int i = 0;
              while (line != null){                 
                   names[i] = reader.readLine();
                   score[i] = reader.readLine();
                   line = reader.readLine();
                   i++;                
              }catch (IOException e){
              System.out.println("Error in file access");
    this section calls it:
    try{                         
         FileInputStream stream = new FileInputStream("ISU.txt");
              HighScore.readAndProcessData(stream);
              stream.close();
              names = HighScore.getNames();
              scores = HighScore.getScores();
         }catch(IOException e){
              System.out.println("Error in accessing file." + e.toString());
    it gives me an array index out of bounds error

    oh wait I see it when I looked at the original quote.
    They array you made called names or the other one is prob too small for the amount of names that you have in the file. Hence as I increases it eventually goes out of bounds of the array so you should probably resize the array if that happens.

  • I have read 118 files (from a directory) each with 2088 data and put them into a 2 D array with 2cols and 246384row, I want to have aeach file on a separate columns with 2088 rows

    I have read 118 files from a directory using the list.vi. Each file has 2 cols with 2088rows. Now I have the data in a 2 D array with 2cols and 246384rows (118files * 2088rows). However I want to put each file in the same array but each file in separate columns. then I would have 236 columns (2cols for each of the 118 files) by 2088 rows. thank you very much in advance.

    Hiya,
    here's a couple of .vi's that might help out. I've taken a minimum manipulation approach by using replace array subset, and I'm not bothering to strip out the 1D array before inserting it. Instead I flip the array of filenames, and from this fill in the end 2-D array from the right, overwriting the column that will eventually become the "X" data values (same for each file) and appear on the right.
    The second .vi is a sub.vi I posted elsewhere on the discussion group to get the number of lines in a file. If you're sure that you know the number of data points is always going to be 2088, then replace this sub vi with a constant to speed up the program. (by about 2 seconds!)
    I've also updated the .vi to work as a sub.vi if you wa
    nt it to, complete with error handling.
    Hope this helps.
    S.
    // it takes almost no time to rate an answer
    Attachments:
    read_files_updated.vi ‏81 KB
    Num_Lines_in_File.vi ‏62 KB

  • Making the vi faster - read from txt or array or binary reading

    I prepared a vi that reads a table from txt file and find the desired values corresponding independent two variables by interpolation-attached. This via reads the txt file for each calculation. I wonder that is this process slow or enough for me. Becasue I add this via to a daq vi and I send measurement values from this via to the interpolation.vi. I acquired samples once in a sec. Or is this more convenient to read the txt once and after writing values to arrays and use these arrays as a constant (Right click array-->Data Operation-->Make current value default) in the vi? Which one is faster? And also, I wonder that instead of reading from txt file, is it a good way to convert my values in txt to binary data and read this binary values by vi? Last thing, how can I learn a vi program run-spend time?
    Egemen
    Attachments:
    interpolation1.vi ‏20 KB
    interpolation2.vi ‏29 KB
    R600a_bar_P_0,1_sat_refprop_labview.txt ‏20 KB

    nathand wrote:
    newbieeng wrote:
    Last thing, how can I learn a vi program run-spend time?
    Reordering your words a bit... Are you asking how to measure how long it takes to run your VI?  You can do this with a sequence structure (one of the few reasonable uses for them): in the first frame put a "Tick Count" or "Get Date/Time in Seconds" function.  In the next frame put your code.  In the last frame, put the same function that you placed in the first frame.  Subtract the time value in the first frame from the value in the last frame; the difference is the time it took to run your VI in milliseconds or seconds (depending on which time function you used).
    Another option is the VI Profiler, under Tools -> Performance and Memory.  Open that window, click "Start," run your code, and click "Stop."  It will report how much time it took to run your VI along with other timing information.
    Thank you nathand. I am sorry for usage of wrong order. I tried your suggestion and it works great. The first vi takes 4-6 msec. And the second one takes just 0 msec because it does not calculate anything, including just constant values.
    Egemen

  • Read Video data from buffer or byte array

    Hi guys,
    I've developed a tx/rx module, the tx read an mpg file and transfer it over network. rx has the data in a byte array, I also feed the byte array to a media buffer. Now my question is how to creat the player and feed the player to play the content of the buffer or byte array?
    I would really appreaciate if someone could help me please...
    Thanx
    I haven't and didn't want to use any of the RTP stuff...

    Hi, I tried PullBufferDataSource. What I am trying to do is : read a .wav file into a queue, then construct a datasource with this queue. The processor will be contructed to process the datasource, and a datasink to sink data to a file. I think if this workflow could work, it should work in network transmission.
    In fact the code works partially. The trick part is the read( Buffer ) method. If I try to use 'if' statement to see if Queue has empty or not, the datasink could not format the head part of output file correctly. If I didnot use 'if' statement, the program will terminate when exception occurs. The output file is all right.
    I did not understand what is going on.
    Note: the original file is a RAW data file without format info.
    Here is the code fragments. Hopefully we can work together to figure it out.
    Thanks.
    Jim
    * QueueDataSourceTester.java
    * Created on November 11, 2002, 10:29 AM
    package bonephone;
    import javax.media.*;
    import javax.media.control.*;
    import javax.media.protocol.*;
    import javax.media.datasink.*;
    import javax.media.format.AudioFormat;
    import java.util.LinkedList;
    import java.io.*;
    * @author wguo
    public class QueueDataSourceTester implements ControllerListener, DataSinkListener {
    protected LinkedList myQueue;
    /** Creates a new instance of QueueDataSourceTester */
    public QueueDataSourceTester() {
    myQueue = new LinkedList();
    public void testIt( ){
    // Read a file into a Queue
    FileInputStream inputStream = null;
    try{
    inputStream = new FileInputStream( "c:/media/phone.wav");
    catch( IOException ioe ){
    System.err.println( "Error on open media file." );
    try{
    byte data[] = new byte[1024];
    int n ;
    while( ( n = inputStream.read( data, 0, 1024 )) != -1 ){
    myQueue.addLast( data );
    data = new byte[1024];
    inputStream.close();
    catch( IOException ioe ){
    System.err.println( "Error on reading file." );
    System.out.println( "Queue Size: " + myQueue.size() );
    System.out.println( "myQueue = " + myQueue.size() );
    QueueDataSource dataSource = new QueueDataSource( myQueue );
    Processor p = null ;
    try{
    System.out.println( "Create processor for QueueDataSource ... " );
    p = Manager.createProcessor( dataSource );
    catch( Exception e ){
    System.err.println( "Cannot create a processor for the QueueDataSource. " );
    System.out.println( "\nProcessor is created." );
    p.addControllerListener( this );
    p.configure();
    if( !waitForState( p, p.Configured ) ) {
    System.err.println( "Failed to configure the processor." );
    System.out.println( "\nProcessor is configured") ;
    // p.setContentDescriptor( new ContentDescriptor( ContentDescriptor.RAW ) );
    p.setContentDescriptor( new ContentDescriptor( FileTypeDescriptor.WAVE ) );
    TrackControl tcs[] = p.getTrackControls();
    Format f[] = tcs[0].getSupportedFormats();
    if( f == null || f.length == 0 ){
    System.err.println( "The mux does not support the input format : "+ tcs[0].getFormat() );
    tcs[0].setFormat(
    new AudioFormat( AudioFormat.ULAW,
    8000,
    8,
    1,
    Format.NOT_SPECIFIED,
    AudioFormat.SIGNED,
    8,
    Format.NOT_SPECIFIED,
    Format.byteArray ) );
    //System.out.println( "Setting the track format to: " + f[4] );
    p.realize();
    if( !waitForState( p, p.Realized )){
    System.err.println( "Failed to realize the processor" );
    DataSink dsink;
    MediaLocator outML = new MediaLocator("file:/c:/media/queue.wav" );
    if( (dsink = createDataSink( p, outML )) == null ){
    System.err.println( "Failed to create a datasink for given " +
    "mediaLocator : " + outML );
    dsink.addDataSinkListener( this );
    System.out.println( "\nProcessor is realized" );
    try{
    p.start();
    dsink.start();
    catch( IOException ioe ){
    System.err.println( "IO error during processing." );
    waitForFileDone();
    try{
    dsink.close();
    catch( Exception e ){
    p.removeControllerListener( this );
    System.err.println( "... done processing." );
    DataSink createDataSink( Processor p, MediaLocator outML ){
    DataSource ds ;
    if( ( ds = p.getDataOutput() ) == null ) {
    System.err.println( "Something is really wrong: the processor does" +
    " not have an output DataSource. " );
    return null;
    System.out.println( "DataOutput: " + ds.getContentType() );
    DataSink dsink;
    try{
    System.out.println( "- create DataSink for : " + outML );
    dsink = Manager.createDataSink( ds, outML );
    dsink.open();
    catch( Exception e ){
    System.err.println( "Cannot create the DataSink: " + e );
    return null;
    return dsink;
    Object waitSync = new Object();
    boolean stateTransitionOK = true;
    boolean waitForState( Processor p, int state ){
    synchronized( waitSync ){
    try{
    while( p.getState() < state && stateTransitionOK )
    waitSync.wait();
    catch( Exception e ){
    return stateTransitionOK;
    public void controllerUpdate(javax.media.ControllerEvent controllerEvent) {
    if( controllerEvent instanceof ConfigureCompleteEvent ||
    controllerEvent instanceof RealizeCompleteEvent ||
    controllerEvent instanceof PrefetchCompleteEvent ){
    synchronized( waitSync ){
    stateTransitionOK = true;
    waitSync.notifyAll();
    } else if( controllerEvent instanceof ResourceUnavailableEvent ){
    synchronized( waitSync ){
    stateTransitionOK = false;
    waitSync.notifyAll( );
    public static void main( String args[] ){
    QueueDataSourceTester tester = new QueueDataSourceTester();
    tester.testIt();
    Object waitFileSync = new Object();
    boolean fileDone = false;
    boolean fileSuccess = true;
    boolean waitForFileDone(){
    synchronized( waitFileSync ){
    try{
    waitFileSync.wait( 5000 );
    catch( Exception e ){
    System.err.println( "Error on waiting file to be done" );
    return fileSuccess;
    public void dataSinkUpdate(javax.media.datasink.DataSinkEvent dataSinkEvent) {
    if( dataSinkEvent instanceof EndOfStreamEvent ){
    synchronized( waitFileSync ){
    fileDone = true;
    waitFileSync.notifyAll();
    else if ( dataSinkEvent instanceof DataSinkErrorEvent ){
    synchronized( waitFileSync ){
    fileDone = true;
    fileSuccess = false;
    waitFileSync.notifyAll();
    // Inner Class
    * A datasource that will read Media data from Queue.
    * Inside queue individual RAW data packats are stored.
    * @author wguo
    public class QueueDataSource extends PullBufferDataSource{
    protected QueueSourceStream streams[];
    /** Creates a new instance of QueueDataSource */
    public QueueDataSource( LinkedList source ) {
    printDebug( "QueueDataSource: QueueDataSource( LinkedList) " );
    streams = new QueueSourceStream[1];
    streams[0] = new QueueSourceStream( source );
    public void connect() throws java.io.IOException {
    printDebug( "QueueDataSource: connect() " );
    public void disconnect() {
    printDebug( "QueueDataSource: disconnect()" );
    public String getContentType() {
    return ContentDescriptor.RAW;
    public Object getControl(String str) {
    printDebug( "QueueDataSource: getControl(String) " );
    return null;
    public Object[] getControls() {
    printDebug( "QueueDataSource: getControls() " );
    return new Object[0];
    public javax.media.Time getDuration() {
    return DURATION_UNKNOWN;
    public javax.media.protocol.PullBufferStream[] getStreams() {
    printDebug( "QueueDataSource: getStreams() " );
    return streams;
    public void start() throws java.io.IOException {
    printDebug( "QueueDataSource:start()" );
    public void stop() throws java.io.IOException {
    printDebug( "QueueDataSource: stop() " );
    private void printDebug( String methodInfo ){
    System.out.println( methodInfo + " is called" );
    // Inner Class
    public class QueueSourceStream implements PullBufferStream{
    LinkedList sourceQueue;
    AudioFormat audioFormat;
    boolean ended = false;
    /** Creates a new instance of QueueSourceStream */
    public QueueSourceStream( LinkedList sourceQueue ) {
    printDebug( "QueueSourceStream: QueueSourceStream( LinkedList )" );
    this.sourceQueue = sourceQueue;
    audioFormat = new AudioFormat(
    AudioFormat.ULAW,
    8000,
    8,
    1,
    Format.NOT_SPECIFIED,
    AudioFormat.SIGNED,
    8,
    Format.NOT_SPECIFIED,
    Format.byteArray);
    public boolean endOfStream() {
    printDebug( "QueueSourceStream: endOfStream()" );
    return ended;
    public javax.media.protocol.ContentDescriptor getContentDescriptor() {
    printDebug( "QueueSourceStream: getContentDescriptor()" );
    return new ContentDescriptor( ContentDescriptor.RAW) ;
    public long getContentLength() {
    printDebug( "QueueSourceStream:getContentLength()" );
    return 0;
    public Object getControl(String str) {
    printDebug( "QueueSourceStream:getControl( String) " );
    return null;
    public Object[] getControls() {
    printDebug( "QueueSourceStream:getControls()" );
    return new Object[0];
    public javax.media.Format getFormat() {
    printDebug( "QueueSourceStream:getFormat()" );
    return audioFormat;
    public void read(javax.media.Buffer buffer) throws java.io.IOException {
    buffer.setData( (byte[])sourceQueue.removeFirst() );
    buffer.setOffset( 0 );
    buffer.setLength( 1024 );
    buffer.setFormat( audioFormat );
    printDebug( "QueueSourceStream: read( Buffer ) " );
    else {
    buffer.setEOM( true );
    buffer.setOffset( 0 );
    buffer.setLength( 0 );
    ended = true;
    System.out.println( "Done reading byte array" );
    return;
    public boolean willReadBlock() {
    printDebug( "QueueSourceStream: willReadBlock()" );
    if( myQueue.isEmpty() )
    return true;
    else
    return false;
    private void printDebug( String methodInfo ){
    System.out.println( methodInfo + " is called. " );

  • Is it possible to record data directly from PXI-5112 scope card through PXI bus to SCSI RAID array (connected to PXI-8210)?

    Colleagues,
    Is it possible to record data directly from PXI-5112 scope card through PXI bus to SCSI RAID array (connected to PXI-8210)?
    Which will be the maximum transfer rate for continuous data recording?
    Thank you,
    Sergey
    Sergey

    Sergey,
    The PXI-8210 can connect to any SCSI 2 compliant device. If the RAID controller is SCSI 2 and appears just like a hard drive in the operating system, then you can send data directly to the RAID array. The problem is that the driver for the PXI-5112 does not yet support continuous acquisition. The on-board 16MB or 32MB buffer stores the data until the entire acquisition is completed. Once the acquisition complete, all of the data is transferred from the on-board buffer to the hard drive. After that happens, the NI 5112 is ready for another acquisition.
    Best Regards,
    Jace Curtis
    NI Applications Engineering

Maybe you are looking for

  • ALV - subtoal

    Hi experts, In ALV report how to hide the total amount for a particular column. Scenario is : waerks   netvalue      in USD EUR         1              1.3             2              2.6             3              3.9 INR         1              37    

  • Access Control up grade from 5.2 to 5.3

    Hi, One of my client have 1. Earlier Access control 5.2 was installed but only FF are configured and is in use. 2. After some time Access Control GRC 5.2 server (front end) have some problem so they have installed 5.3 to front end level   --no back e

  • I downloaded Mavericks, and now ITunes won't open

    Although the iTunes icon is showing on the dock and in Launchpad and Finder, it won't open.

  • PO Matched Invoice - Want to add some Expense

    Dear Experts, I have a scenario where I have created one Invoice for 1000 USD with PO Matched and my requirement is I want to Include 50 USD in PO Matched Invoice now.. any one can help me regarding this Please.. Thanks Bharath

  • Automation of support desk message for an newly generated BP number

    Hi, I need an application that when an BP number is generated in solution manager automatically some support desk messages have to created and have to assign different ids. How to automate this.