Pulse detection Mood Lamp

Hi Guys, Im doing my Final Year Project and i have a lot of issues to solve and im stuck. i hope somebody can help me.
Besically, My groupmate and myself have decided to create something called the Pulse detection Mood Lamp. This is how we hope it will work.
We will first detect the pulse of any person using EMANT300 that is connected via USB and we have managed to get the proper pulse's into the VI. Now this is where the problem comes in, we need the output to go to a mood lamp. and we are not sure how to control this. we had a few options , but my supervisor cancelled them out too.one was to use the philips living colours mood lamp and using their RF-Remote to control the mood lamp which is too complicated.Next was to use PIC 16F628(A) but i have got no idea how to convert this .hex file into a .vi file. so im wondering what i can do to convert this pulses's into Coloured lights. I was thinking of Using LED as the output.but again im not too sure how to go about doing that. the colours will change depending on the pulse. so basically when a person inserts his/her finger into the pulse detector, the colour of the Led/Lamp should change according to their pulse. all i need to do now is to figure out what to use as my output and how to programme it.

I agree with Wiebe.  Modifying the remote control is a much better way to control your lamp.  I have done that with an IR remote control for a video tape recorder and it has worked for years.
The LEDs should also be fairly straightforward.  The EMANT300  specifications indicate that the digital outputs can drive 20 mA which is sufficient for standard LEDs.
The EMANT300 LV drivers can use some updating.  For example the EMANT300 Find All.vi can create havoc if you have several (non-EMANT300) devices connected.  It changes the emulated serial port settings before checking ID but does not change them back afterwards if the device is not an EMANT300. I have rewritten it to eliminate that problem.  What version of LV are you using? 
Lynn

Similar Messages

  • NI 6259 photon counter min pulse detection

    Hello,
    I have a PCI 6259 DAQ card which I'm using as a counter. Is there a limit to the minimum pulse width it can count while operating as a counter? My photon counter gives out TTL pulses with widths of 50ns which I think is below what the counter can read unless I am mistaken. I'm using the 100kHz internal clock as the clock source. Is there anyway to get the counter to pick up such small pulses?
    Would the NI PCI 6120 DAQ card be a better choice for this type of measurement? I should be able to get my hands on one shortly.
    Thanks for your time,
    Mark.
    Solved!
    Go to Solution.

    A 50 ns pulse corresponds to a 20 MHz freq.  You should be able to capture/measure such a TTL pulse with a 6259, but I don't think you'll really want to be measuring pulse *widths*.   You'd only be able to get a nominal count of 4 timebase edges per width with a possible +/- 1 count uncertainty, i.e., 25% measurement error.
    More likely, you'd either want to:
            1. measure the period/frequency of successive rising edges of these 50 ns pulses, effectively timestamping every detected photon.   Brief fast bursts of photons may produce an unrecoverable FIFO error.   A newer X-series device with a bigger counter FIFO would be a better choice if this is an issue.
    OR
            2. perform "binning" by counting the # of these 50 ns pulses that occur during equal time intervals.   Here you are pretty immunce to brief bursts of photons, but you need to sustain long-term throughput over the PCI bus.  You're probably pretty safe sampling at <= 100 kHz or so, but if you need better precision on the bins & thus faster sustained throughput, I'd again recommend a PCIe X-series board. 
       You might also have to watch out for a feature known as "Duplicate Count Prevention" which could impact your measurement data if you ever have 0 photons in a given interval.  The faster you sample, the more likely this is to come up.
    -Kevin P

  • LabVIEW/SignalExpress: How can I automate measuring the time between two pulses?

    Hi everyone, bit of a newbie here so please bear with me.  
    I'm a student at a university conducting a muon decay experiment with an oscilloscope connected to some photomultipliers.  To summarize, if a muon enters the detector it will create a very small width pulse (a few ns).  Within a period of 10µs it may decay, creating a second pulse.  The oscilloscope triggers on the main pulse 5-15 times per second, and a decay event happens roughly 1-2 times per minute.  I am trying to collect 10 hours of data (roughly 1500-2000 decay events) and measure the time it takes for each decay.
    I've been able to set recording conditions in SignalExpress that starts recording on the first pulse and stops recording on the last.  The Tektronix TDS 1012 oscilloscope however feeds 2500 points of data from this snapshot into a text file (for use in excel or other software).  Even if I perfectly collected the data, I would have 100,000+ data points and it would be too much to handle.  I don't know how (or if it's possible) to reduce the sample size.
    To conclude, using Labview or SignalExpress, I would like to be able to have the software
    1.  Differentiate between the single pulse detections and double pulse decay events
    2.  Record only when two pulses appear on the oscilloscope
    3.  Measure the time between these two pulses and ONLY that to minimize the amount of data recorded.
    Any help would be GREATLY appreciated, thanks!

    Hi wdavis8,
    I am not that familiar with Tektronix, but there should be a place in the dialog that you go through when you create the action step to acquire date to specify a sampling rate. That would allow you to reduce the number of data points you are seeing, but may reduce the quality of the data.
    If it’s just a matter of that much data being hard to dig through when you have that many points, you could do some analysis on the data after the fact, and then create a new file with only the data you want to look at. For example, you could identify the peaks in the data, and based on the distance between them or the difference in magnitude, selectively write data to a new file.  
    Here is some information about peak detection in LabVIEW:
    http://www.ni.com/white-paper/3770/en/
    You could also do some downsampling on the data to get fewer data points:
    https://decibel.ni.com/content/docs/DOC-23952
    https://decibel.ni.com/content/docs/DOC-28976
    Those are just a few quick ideas. 
    Kelsey J
    Applications Engineer

  • Reading Digital Pulses from a Flowmeter

    I have a flowmeter that puts out 0 to 5 VDC pulses and has a calibration factor of 50.99 pulses per CC. I do not have a counter card, but have a digital input card and an Analog Input card.
    What will be accurate method to read these pulses from the flowmeter?

    The Detect All Triggers.vi is not included, so I cannot tell what it is doing.
    Several things may affect your results.
    1. It appears that you have the DAQ assistant set to sample at 250,000 samples per second and to acquire 100,000 samples. It creates the task, configures the timing, acquires data, stops and clears the task on every iteration of the loop. The only part which needs to be inside the loop is the acquire data part. All the rest should be outside the loop. You can open up the DAQ Assistant and pull the parts out to do this.
    2. The samples you acquire take about 0.4 seconds but you have a 1 second elapsed time test in the loop. It appears that you are only looking at about 40% of the data available because you do not accumulate the data while waiting for the elapsed time.
    3. The Detect All Triggers boolean output which connects to the case structure where Counter is updated only allows Counter to increment once pper iteration of the while loop, maximum, regardless of the number of pulses detected in the dataset. Unless you never get more than one pulse in 400 ms Counter cannot accurately represent the number of pulses produced by the flowmeter.
    4. Get rid of the local variables. The are not needed and often contribute to race conditions.
    5. Learn about dataflow. The "initialization" of the chart history and local variables at the left of the diagram could occur after the while loop has started or even completed. The sequence structure in the True case is probably not needed either. Shift registers are your friend
    Lynn

  • Get waveform subset vi lagging

    Hello all,
    I'm running into an issue with a Get Waveform Subset.vi taking an awfully long time to run (~15s). I'm working with a large-ish data set (5431296 data points). I double checked with the Performance and Memory tool and it's defiantly something with this VI.
    The program is suppose to grab a new subset from the waveform and look for a trigger, record where the event happens, then move onto the next subset and repeat. 
    Am I doing something wrong with the VI to make it lag so much? Or better yet, is there a better way to do what I'm trying to accomplish? 
    Attachments:
    Problem with GetWaveformSubset.JPG ‏66 KB

    Hi Lynn,
    What values are you using for Start samples and Duration?
    Start: 333131 initially then it increments depending on where the triggered edge is 
    Duration: 55 samples
    Do you get any errors?
    None that I could see. The Get Waveform Subset vi rounded my duration and start sample values which I was fine with.
    How many iterations does it run. 
    The current code runs ~800 - 900 iteration. 
    So since it last posted, I removed the Get Waveform Subset vi and replaced it with a ArraySubset thinking it would speed things up. Turns out the Get Waveform Subset vi is fairly optimized already...go figure.I also decimated my waveform using the Resample Waveform vi to reduce the number of samples in each subset. By playing with my re sampling interval, I was able to reduce the run time to ~ 3 seconds.
    So here's what I'm actually trying to do and for full disclosure, yes, it is for a school assignment.
    I have a signal from a NOAA satellite that I'm trying to convert into a image. The data is sent using APT format and is not real time, rather just an audio file. I have managed to demodulate the signal and removed the carrier wave and filtered the signal appropriately. What I'm having issues with is detecting synchronization pulses in my signal. Right now, my sync pulse detection scheme involves running a FIR bandpass filter at the sync pulse frequency and then using trigger detection to find where my sync pulses start.
    Am I going about this the wrong way? Is there a more efficient method I should be looking at. 
    Honson

  • Frequency Measurement Algorithm

    I'm writing a VI where I need to measure the
    frequency of a pulse. This frequency is proportional to a physical measurement,
    in this case flow rate. I know how to get the frequency measurement into my VI,
    and all is well as long as the frequency is higher than my VI update rate. But
    things become more complicated and non-trivial when the frequency drops below
    the VI update rate, because during some loops there will be no pulses occurring
    since the last loop. In this case I could just assume that the frequency is the
    same as last time, and for constant frequencies this works well. But there is
    also the case where the flow rate has suddenly stopped, and hence a zero pulse
    frequency. If I assume that the last known value is also the current value, my VI will be stuck
    reporting the last known flow rate, and will not ever report a zero rate. It
    must be the same as a digital frequency to analog converter, but I couldn’t
    find information on the algorithms used. Has anyone worked out a solution to
    something like this using Labview?

    Hi,
    I have done something similar before. You mention frequency to analog conversion - that's precisely the principle I used. Basically you count your pulses (cycles, level crossings, etc.) and feed them into an integrator. Mathematically it works like this:
    F(0) = 0;
    F(i) = [ F(i-1) + N(i)/T ] exp (-t/T);
    F(i) - frequency after the i'th iteration
    N(i) - number of pulses detected during the i'th iteration
    t - iteration time
    T - the integrator time constant
    For a fixed frequency the estimator output stabilizes at N/t, but if the pulses stop coming, e.g. N=0, the output will decay to 0.
    Use smaller T for a more "responsive" frequency estimator, larger T for a more "steady" one.
    Hope this helps!  Zador.
    P.S. Here's a link to a previous discussion on pulse detection:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=191867#M191867

  • Pulse Audio no longer detecting sound card; ALSA still detects

    After a recent update, pulseaudio has stopped detecting my sound card. ALSA still detects my soundcard, and I was able to find the following in the verbose output of starting pulseaudio.
    D: [pulseaudio] reserve-wrap.c: Successfully acquired reservation lock on device 'Audio0'
    I: [pulseaudio] (alsa-lib)utils.c: could not open configuration file /usr/share/alsa/ucm/HDA Intel/HDA Intel.conf
    I: [pulseaudio] (alsa-lib)parser.c: error: could not parse configuration for card HDA Intel
    I: [pulseaudio] (alsa-lib)main.c: error: failed to import HDA Intel use case configuration -2
    I: [pulseaudio] alsa-ucm.c: UCM not available for card HDA Intel
    When I check out the ALSA directory mentioned, it turns out to indeed be the case that the entire ucm directory does not exist
    [root@ArchSpiron james-arch]# ls -lah /usr/share/alsa/
    total 52K
    drwxr-xr-x 2 root 4.0K Apr 14 14:56 pcm
    drwxr-xr-x 7 root 4.0K Apr 14 14:56 .
    -rw-r--r-- 1 root 9.0K Apr 14 14:12 alsa.conf
    drwxr-xr-x 2 root 4.0K Apr 14 14:12 alsa.conf.d
    drwxr-xr-x 208 root 4.0K Apr 13 15:37 ..
    drwxr-xr-x 2 root 4.0K Apr 11 07:20 init
    drwxr-xr-x 2 root 4.0K Apr 11 07:20 speaker-test
    drwxr-xr-x 3 root 4.0K Jan 23 21:21 cards
    -rw-r--r-- 1 root 523 Dec 29 21:33 bluetooth.conf
    -rw-r--r-- 1 root 155 Dec 18 22:34 smixer.conf
    -rw-r--r-- 1 root 3.2K Dec 18 22:34 sndo-mixer.alisp
    Instead the configuration file it's looking for exists under the cards/ directory
    [root@ArchSpiron james-arch]# ls -lah /usr/share/alsa/cards/
    total 264K
    drwxr-xr-x 3 root 4.0K Apr 14 14:59 .
    drwxr-xr-x 7 root 4.0K Apr 14 14:56 ..
    -rw-r--r-- 1 root 4.6K Apr 13 16:20 HDA-Intel.conf
    -rw-r--r-- 1 root 1.4K Apr 13 16:20 aliases.conf
    -rw-r--r-- 1 root 7.0K Apr 12 08:10 USB-Audio.conf
    drwxr-xr-x 2 root 4.0K Jan 23 21:21 SI7018
    -rw-r--r-- 1 root 669 Dec 18 22:34 AACI.conf
    -rw-r--r-- 1 root 302 Dec 18 22:34 ATIIXP-MODEM.conf
    -rw-r--r-- 1 root 2.2K Dec 18 22:34 ATIIXP-SPDMA.conf
    -rw-r--r-- 1 root 2.4K Dec 18 22:34 ATIIXP.conf
    -rw-r--r-- 1 root 437 Dec 18 22:34 AU8810.conf
    -rw-r--r-- 1 root 159 Dec 18 22:34 AU8820.conf
    -rw-r--r-- 1 root 520 Dec 18 22:34 AU8830.conf
    -rw-r--r-- 1 root 5.7K Dec 18 22:34 Audigy.conf
    -rw-r--r-- 1 root 7.5K Dec 18 22:34 Audigy2.conf
    -rw-r--r-- 1 root 2.3K Dec 18 22:34 Aureon51.conf
    -rw-r--r-- 1 root 2.5K Dec 18 22:34 Aureon71.conf
    -rw-r--r-- 1 root 3.8K Dec 18 22:34 CA0106.conf
    -rw-r--r-- 1 root 1.8K Dec 18 22:34 CMI8338-SWIEC.conf
    -rw-r--r-- 1 root 1.9K Dec 18 22:34 CMI8338.conf
    -rw-r--r-- 1 root 2.1K Dec 18 22:34 CMI8738-MC6.conf
    -rw-r--r-- 1 root 2.9K Dec 18 22:34 CMI8738-MC8.conf
    -rw-r--r-- 1 root 1.6K Dec 18 22:34 CMI8788.conf
    -rw-r--r-- 1 root 2.9K Dec 18 22:34 CS46xx.conf
    -rw-r--r-- 1 root 5.5K Dec 18 22:34 EMU10K1.conf
    -rw-r--r-- 1 root 2.7K Dec 18 22:34 EMU10K1X.conf
    -rw-r--r-- 1 root 1.4K Dec 18 22:34 ENS1370.conf
    -rw-r--r-- 1 root 1.8K Dec 18 22:34 ENS1371.conf
    -rw-r--r-- 1 root 152 Dec 18 22:34 ES1968.conf
    -rw-r--r-- 1 root 4.3K Dec 18 22:34 Echo_Echo3G.conf
    -rw-r--r-- 1 root 1.2K Dec 18 22:34 FM801.conf
    -rw-r--r-- 1 root 333 Dec 18 22:34 FWSpeakers.conf
    -rw-r--r-- 1 root 672 Dec 18 22:34 FireWave.conf
    -rw-r--r-- 1 root 217 Dec 18 22:34 GUS.conf
    -rw-r--r-- 1 root 2.1K Dec 18 22:34 ICE1712.conf
    -rw-r--r-- 1 root 2.8K Dec 18 22:34 ICE1724.conf
    -rw-r--r-- 1 root 192 Dec 18 22:34 ICH-MODEM.conf
    -rw-r--r-- 1 root 3.0K Dec 18 22:34 ICH.conf
    -rw-r--r-- 1 root 2.8K Dec 18 22:34 ICH4.conf
    -rw-r--r-- 1 root 558 Dec 18 22:34 Maestro3.conf
    -rw-r--r-- 1 root 4.7K Dec 18 22:34 NFORCE.conf
    -rw-r--r-- 1 root 657 Dec 18 22:34 PC-Speaker.conf
    -rw-r--r-- 1 root 486 Dec 18 22:34 PMac.conf
    -rw-r--r-- 1 root 705 Dec 18 22:34 PMacToonie.conf
    -rw-r--r-- 1 root 1.2K Dec 18 22:34 PS3.conf
    -rw-r--r-- 1 root 780 Dec 18 22:34 RME9636.conf
    -rw-r--r-- 1 root 780 Dec 18 22:34 RME9652.conf
    -rw-r--r-- 1 root 1.5K Dec 18 22:34 SB-XFi.conf
    -rw-r--r-- 1 root 2.2K Dec 18 22:34 SI7018.conf
    -rw-r--r-- 1 root 1.7K Dec 18 22:34 TRID4DWAVENX.conf
    -rw-r--r-- 1 root 1.2K Dec 18 22:34 VIA686A.conf
    -rw-r--r-- 1 root 2.7K Dec 18 22:34 VIA8233.conf
    -rw-r--r-- 1 root 2.8K Dec 18 22:34 VIA8233A.conf
    -rw-r--r-- 1 root 2.5K Dec 18 22:34 VIA8237.conf
    -rw-r--r-- 1 root 830 Dec 18 22:34 VX222.conf
    -rw-r--r-- 1 root 839 Dec 18 22:34 VXPocket.conf
    -rw-r--r-- 1 root 1.5K Dec 18 22:34 VXPocket440.conf
    -rw-r--r-- 1 root 1.4K Dec 18 22:34 YMF744.conf
    -rw-r--r-- 1 root 687 Dec 18 22:34 aliases.alisp
    I'm not at all familiar with pulseaudio configuration. Does anyone know of a good way for me to resolve this issue? Have I even identified the correct issue?
    UPDATE:
    I was able to work around my problem for the moment by symlinking the configuration file to the location that pulseaudio was actually looking for it
    # mkdir -p /usr/share/alsa/ucm/HDA\ Intel
    # ln -s /usr/share/alsa/cards/HDA-Intel.conf /usr/share/alsa/ucm/HDA\ Intel/HDA\ Intel.conf
    Although this does get my sound back, it is a hacky work-around and obviously not ideal. Anyone who knows a bit about pulse configuration, I welcome your input here
    Last edited by OakRaider4Life (2013-04-14 22:14:34)

    Thank you so much for posting your solution!
    I was having the same problem. The funny part was it started happening (and not always) after KDE says that the Intel HDA device is "gone" and asking me to remove it from my configuration. Even by saying no it wouldn't work. Killing pulseaudio with
    pulseaudio -k
    would have everything fallback to Alsa but starting pulseaudio again wouldn't work.
    Rebooting right away doesn't take care of the issue either but after a while the problem would go away...
    Any inputs would be appreaciated!

  • Is there a way to detect each pulse of a signal

    Hi All,
    I need to detect every pulse of my input signal pulse, is there a way to do that, I tried using basic level triggering but the trigger doesnot switch true and false between pulses.
    I need to detect the input pulse for some ms  and then generate an output pulse at the falling edge of the input pulse.
    can someone tell me way to do that, i do have a daq board usb 6361, but couldnt find a proper way to do something like this.
    my input signal frequency varies between 100-450 hz with amp -0.1v and pulse width of 5 microsecond

    I think we can do this with some extra circuitry.  First of all, we need to gain up that input puse to be a +5V.  You will need an inverting amplifier with a gain of 50.  Now you have a TTL level signal that you can feed into a PFI line to use as a trigger.  You can use an analog output to output a waveform (your 2V pulse) when that trigger line goes high.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Pulse audio no sound card detected

    Hello,
    I have installed pulse audio according to the wiki but after install and reboot no sound card is detected. My pc is sony vaio VGN-NW21MF and the lspci output for the sound device is following
    01:00.1 Audio device: ATI Technologies Inc RV710/730
    I don't have alsa installed and try the trouble shooting section in wiki but still don't resolve the problem.Thx for any help. I using gnome and have dbus loaded
    Last edited by arturr (2011-01-25 16:41:33)

    I am confused have you installed alsa or not?
    your first sentence says that you have, your last says that you don't. and your title talks about pulse audio.

  • Pulse Audio jack detection problem.

    Hi, In my work I use headphones for listening musing and if I shutdown the laptop and then remove the headphones and when I start it in home there is no sound. I found the solution: plug headphones and unplug them. For me Pulse audio does not make check on system start if there are headphones connected but uses last value, and only changes it on plug and unplug.
    Is there are script that I can add to systemd on startup to check jack for headphones?
    Thanks.

    Hello,
    since one recent update in January 2014 I notice the same Problem as Indomitable reported.
    I am using Archlinux on my Lenovo X201 (KDE and Pulseaudio installed). After reboot I hear no sound from the internal speakers. As Indomitable sayed, plugging and unplugging some headphones fixes the problem until next reboot. (First I was afraid of a damaged jack causing a false detection - so I am now eased up that somebody else reports this behaviour, too.)
    As a quick workaround in KDE (when you have no Sound through internal speakers and no Headphones laying around) you can go to [Audio & Video settings > Audio Hardware Setup > Device Configuration] and choose the Connector: "Speakers" instead of "Analog Output".
    Of course this is no permanent solution since this bypasses the automatic jack detection.
    Is this strange behaviour a bug or just a misconfiguration?
    Last edited by pforcht (2014-01-27 09:47:09)

  • How do I connect and detect a high frquency pulse (0-3500hz) with a variable pulse voltage (0v low,5-10v high), on a SC-2345 connected to a PCI-6224?

    How do I connect and detect a high frquency pulse (0-3500hz) with a variable pulse voltage (0v low,5-10v high),  on a SC-2345 connected to a PCI-6224?  Labview doesn't generate a waveform if I try to graph the signal, and my analog input doesn'y recognize that the signal is even pulsing, only that it has a voltage.  Some advice would be much appreciated.
    Thanks in advance,
    Garrett

    Hi Garrett,
    It sounds like you want to do Frequency Measurements of a signal that is somewhat digital.
    There are two ways you can really do this:
    Wire your signal to the counter input and use the Digital Frequency examples (Help > Find Examples > Browse > Hardware Input and Output > DAQmx > Counter Measurements > Digital Frequency)
    Continue taking analog measurements and use some sort of logic to determine where you are getting rising and falling edges.
    I would recommend doing method #1, but you must determine which one is the best for your system.
    If you want to connect to the counter pins then you will find the
    terminals located on the side of your SC-2345.  If you don't need
    to condition your signals then simply wire everything into the proper
    pins for your counter (below).
    Default NI-DAQmx Counter Terminals (Connector 0)
     Terminal 
     Counter Context (Default) 
     Motion Encoder Context 
     Signal Name 
    37
    CTR 0 SRC
    CTR 0 A
    PFI 8
    3
    CTR 0 GATE
    CTR 0 Z
    PFI 9
    45
    CTR 0 AUX
    CTR 0 B
    PFI 10
    2
    CTR 0 OUT
    PFI 12
    42
    CTR 1 SRC
    CTR 1 A
    PFI 3
    41
    CTR 1 GATE
    CTR 1 Z
    PFI 4
    46
    CTR 1 AUX
    CTR 1 B
    PFI 11
    40
    CTR 1 OUT
    PFI 13
    Otis
    Training and Certification
    Product Support Engineer
    National Instruments

  • NI PCIe-6351 Count Edges Channel error on fast TTL - Multiple Sample Clock pulses were detected

    Hello,
    I am trying to use a PCIe-6351 to record the arrival times of a fast TTL pulse stream (generated by an Excilitas/Elmer Perkin APD). The TTL pulses are 2.5 volt amplitude, 20 ns duration, with a gauranteed dead time of 50 ns between pulses. I am trying to use the the Count Edges function, with the  100MhzTimebase as the input terminal and the input to counter 0 (PFI8) as the sample clock. After a few seconds of acquiring data at 100 Mhz, the application throws the following error (-201314):
    "Multiple Sample Clock pulses were detected within one period of the input signal"
    I had thought that because there is 50 ns dead time between pulses, multiple pulses would never arrive within a single clock cycle of the 100 Mhz timebase. Is there any way this might not be the case? Alternatively, is it possible that the counter is triggering on some jitter around the edges of the pulses? If so, is there any way to filter such high frequencies without losing the 20 ns pulses?
    I have read through the forums for similar problems with photon detectors, but have not been able to resolve this issue. Thank you for the help.
    Matthew Bakalar

    It sounds like the input signal is being detected as multiple edges.
    The PFI filtering feature on the X Series card likely isn't going to be suitable for you.  The minimum setting is actually exactly 20 ns, which should in theory guarantee a 20 ns pulse passing through.  However, if the signal is high for anything less than that there wouldn't be a guarantee (depending on the phase of the timebase relative to the rising edge of the signal)--considering rise times and that there is evidently a glitch in the signal itself, it probably isn't actually a continuous 20 ns high time by the time the DAQ card sees it.
    What you should do instead:
    Configure a second counter as a retriggerable counter output (single pulse).
    Use your external signal as the start trigger for this counter output task.
    Set the initial delay, high time, and low time for the counter output task all to 20 ns (the minimum).
    Use the internal output of the counter output task as the sample clock source for the original edge count task.
    The counter output will be triggered when it sees the external signal, wait 10-20 ns, then generate a 20 ns pulse.  If there is a glitch on the trigger line during this 30-40 ns that the output is generating, it will be ignored.  The counter output will be re-armed in time for the next pulse given the minimum dead time of 50 ns between pulses.
    Best Regards,
    John Passiak

  • How can I detect an external trigger and then generate an event or occurance

    I have a PXIe-1065 chassis with a PXIe8030 controller, PXI-6653 timing module, PXI-6542 Digital IO, and PXI-6259 DAQ board, running LabView 8.5. I need to detect a trigger (100 ns TTL pulse) from an external device then start a process on a GPIB device. Is there a way for me to detect this trigger and then generate an event, or an occurance ? Can I do this without polling a device? Can any of this hardware generate an interrupt that LabView can detect?

    My screenshot was only an example how you can approach the issue. I wasnt saying that you should try it with AI....
    Just take a closer look into the DAQmx Events and you will discover something like this:
    hope this helps,
    NorbertMessage Edited by Norbert B on 10-05-2007 02:35 AM
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.
    Attachments:
    DAQmxEvent.PNG ‏11 KB

  • [SOLVED]mpd does not detect the music directory

    I recently installed mpd with the gmpc gui, set my "music_directory" in /etc/mpd.conf to the location of all of my music (which contains lots of other folders and subfolders), but there's no listing of the audio files in the database in gmpc.
    Here's the /etc/mpd.conf if that helps:
    # An example configuration file for MPD
    # See the mpd.conf man page for a more detailed description of each parameter.
    # Files and directories #######################################################
    # This setting controls the top directory which MPD will search to discover the
    # available audio files and add them to the daemon's online database. This
    # setting defaults to the XDG directory, otherwise the music directory will be
    # be disabled and audio files will only be accepted over ipc socket (using
    # file:// protocol) or streaming files over an accepted protocol.
    music_directory "/var/lib/mpd/music"
    # This setting sets the MPD internal playlist directory. The purpose of this
    # directory is storage for playlists created by MPD. The server will use
    # playlist files not created by the server but only if they are in the MPD
    # format. This setting defaults to playlist saving being disabled.
    playlist_directory "/var/lib/mpd/playlists"
    # This setting sets the location of the MPD database. This file is used to
    # load the database at server start up and store the database while the
    # server is not up. This setting defaults to disabled which will allow
    # MPD to accept files over ipc socket (using file:// protocol) or streaming
    # files over an accepted protocol.
    db_file "/var/lib/mpd/mpd.db"
    # These settings are the locations for the daemon log files for the daemon.
    # These logs are great for troubleshooting, depending on your log_level
    # settings.
    # The special value "syslog" makes MPD use the local syslog daemon. This
    # setting defaults to logging to syslog, otherwise logging is disabled.
    log_file "/var/log/mpd/mpd.log"
    # This setting sets the location of the file which stores the process ID
    # for use of mpd --kill and some init scripts. This setting is disabled by
    # default and the pid file will not be stored.
    pid_file "/var/run/mpd/mpd.pid"
    # This setting sets the location of the file which contains information about
    # most variables to get MPD back into the same general shape it was in before
    # it was brought down. This setting is disabled by default and the server
    # state will be reset on server start up.
    state_file "/var/lib/mpd/mpdstate"
    # The location of the sticker database. This is a database which
    # manages dynamic information attached to songs.
    #sticker_file "~/.mpd/sticker.sql"
    # General music daemon options ################################################
    # This setting specifies the user that MPD will run as. MPD should never run as
    # root and you may use this setting to make MPD change its user ID after
    # initialization. This setting is disabled by default and MPD is run as the
    # current user.
    user "mpd"
    # This setting specifies the group that MPD will run as. If not specified
    # primary group of user specified with "user" setting will be used (if set).
    # This is useful if MPD needs to be a member of group such as "audio" to
    # have permission to use sound card.
    #group "nogroup"
    # This setting sets the address for the daemon to listen on. Careful attention
    # should be paid if this is assigned to anything other then the default, any.
    # This setting can deny access to control of the daemon.
    # For network
    #bind_to_address "any"
    # And for Unix Socket
    #bind_to_address "~/.mpd/socket"
    # This setting is the TCP port that is desired for the daemon to get assigned
    # to.
    #port "6600"
    # This setting controls the type of information which is logged. Available
    # setting arguments are "default", "secure" or "verbose". The "verbose" setting
    # argument is recommended for troubleshooting, though can quickly stretch
    # available resources on limited hardware storage.
    #log_level "default"
    # If you have a problem with your MP3s ending abruptly it is recommended that
    # you set this argument to "no" to attempt to fix the problem. If this solves
    # the problem, it is highly recommended to fix the MP3 files with vbrfix
    # (available from <http://www.willwap.co.uk/Programs/vbrfix.php>), at which
    # point gapless MP3 playback can be enabled.
    #gapless_mp3_playback "yes"
    # This setting enables MPD to create playlists in a format usable by other
    # music players.
    #save_absolute_paths_in_playlists "no"
    # This setting defines a list of tag types that will be extracted during the
    # audio file discovery process. Optionally, 'comment' can be added to this
    # list.
    #metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
    # This setting enables automatic update of MPD's database when files in
    # music_directory are changed.
    #auto_update "yes"
    # Limit the depth of the directories being watched, 0 means only watch
    # the music directory itself. There is no limit by default.
    #auto_update_depth "3"
    # Symbolic link behavior ######################################################
    # If this setting is set to "yes", MPD will discover audio files by following
    # symbolic links outside of the configured music_directory.
    #follow_outside_symlinks "yes"
    # If this setting is set to "yes", MPD will discover audio files by following
    # symbolic links inside of the configured music_directory.
    #follow_inside_symlinks "yes"
    # Zeroconf / Avahi Service Discovery ##########################################
    # If this setting is set to "yes", service information will be published with
    # Zeroconf / Avahi.
    #zeroconf_enabled "yes"
    # The argument to this setting will be the Zeroconf / Avahi unique name for
    # this MPD server on the network.
    #zeroconf_name "Music Player"
    # Permissions #################################################################
    # If this setting is set, MPD will require password authorization. The password
    # can setting can be specified multiple times for different password profiles.
    #password "password@read,add,control,admin"
    # This setting specifies the permissions a user has who has not yet logged in.
    #default_permissions "read,add,control,admin"
    # Input #######################################################################
    input {
    plugin "curl"
    # proxy "proxy.isp.com:8080"
    # proxy_user "user"
    # proxy_password "password"
    # Audio Output ################################################################
    # MPD supports various audio output types, as well as playing through multiple
    # audio outputs at the same time, through multiple audio_output settings
    # blocks. Setting this block is optional, though the server will only attempt
    # autodetection for one sound card.
    # See <http://mpd.wikia.com/wiki/Configuration#Audio_Outputs> for examples of
    # other audio outputs.
    # An example of an ALSA output:
    #audio_output {
    # type "alsa"
    # name "My ALSA Device"
    ## device "hw:0,0" # optional
    ## format "44100:16:2" # optional
    ## mixer_type "hardware" # optional
    ## mixer_device "default" # optional
    ## mixer_control "PCM" # optional
    ## mixer_index "0" # optional
    # An example of an OSS output:
    #audio_output {
    # type "oss"
    # name "My OSS Device"
    ## device "/dev/dsp" # optional
    ## format "44100:16:2" # optional
    ## mixer_type "hardware" # optional
    ## mixer_device "/dev/mixer" # optional
    ## mixer_control "PCM" # optional
    # An example of a shout output (for streaming to Icecast):
    #audio_output {
    # type "shout"
    # encoding "ogg" # optional
    # name "My Shout Stream"
    # host "localhost"
    # port "8000"
    # mount "/mpd.ogg"
    # password "hackme"
    # quality "5.0"
    # bitrate "128"
    # format "44100:16:1"
    ## protocol "icecast2" # optional
    ## user "source" # optional
    ## description "My Stream Description" # optional
    ## genre "jazz" # optional
    ## public "no" # optional
    ## timeout "2" # optional
    ## mixer_type "software" # optional
    # An example of a recorder output:
    #audio_output {
    # type "recorder"
    # name "My recorder"
    # encoder "vorbis" # optional, vorbis or lame
    # path "/var/lib/mpd/recorder/mpd.ogg"
    ## quality "5.0" # do not define if bitrate is defined
    # bitrate "128" # do not define if quality is defined
    # format "44100:16:1"
    # An example of a httpd output (built-in HTTP streaming server):
    #audio_output {
    # type "httpd"
    # name "My HTTP Stream"
    # encoder "vorbis" # optional, vorbis or lame
    # port "8000"
    # bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
    ## quality "5.0" # do not define if bitrate is defined
    # bitrate "128" # do not define if quality is defined
    # format "44100:16:1"
    # max_clients "0" # optional 0=no limit
    # An example of a pulseaudio output (streaming to a remote pulseaudio server)
    audio_output {
    type "pulse"
    name "My Pulse Output"
    server "remote_server" # optional
    sink "remote_server_sink" # optional
    ## Example "pipe" output:
    #audio_output {
    # type "pipe"
    # name "my pipe"
    # command "aplay -f cd 2>/dev/null"
    ## Or if you're want to use AudioCompress
    # command "AudioCompress -m | aplay -f cd 2>/dev/null"
    ## Or to send raw PCM stream through PCM:
    # command "nc example.org 8765"
    # format "44100:16:2"
    ## An example of a null output (for no audio output):
    #audio_output {
    # type "null"
    # name "My Null Output"
    # mixer_type "none" # optional
    # This setting will change all decoded audio to be converted to the specified
    # format before being passed to the audio outputs. By default, this setting is
    # disabled.
    #audio_output_format "44100:16:2"
    # If MPD has been compiled with libsamplerate support, this setting specifies
    # the sample rate converter to use. Possible values can be found in the
    # mpd.conf man page or the libsamplerate documentation. By default, this is
    # setting is disabled.
    #samplerate_converter "Fastest Sinc Interpolator"
    # Normalization automatic volume adjustments ##################################
    # This setting specifies the type of ReplayGain to use. This setting can have
    # the argument "off", "album" or "track". See <http://www.replaygain.org>
    # for more details. This setting is off by default.
    #replaygain "album"
    # This setting sets the pre-amp used for files that have ReplayGain tags. By
    # default this setting is disabled.
    #replaygain_preamp "0"
    # This setting enables on-the-fly normalization volume adjustment. This will
    # result in the volume of all playing audio to be adjusted so the output has
    # equal "loudness". This setting is disabled by default.
    #volume_normalization "no"
    # MPD Internal Buffering ######################################################
    # This setting adjusts the size of internal decoded audio buffering. Changing
    # this may have undesired effects. Don't change this if you don't know what you
    # are doing.
    #audio_buffer_size "2048"
    # This setting controls the percentage of the buffer which is filled before
    # beginning to play. Increasing this reduces the chance of audio file skipping,
    # at the cost of increased time prior to audio playback.
    #buffer_before_play "10%"
    # Resource Limitations ########################################################
    # These settings are various limitations to prevent MPD from using too many
    # resources. Generally, these settings should be minimized to prevent security
    # risks, depending on the operating resources.
    #connection_timeout "60"
    #max_connections "10"
    #max_playlist_length "16384"
    #max_command_list_size "2048"
    #max_output_buffer_size "8192"
    # Character Encoding ##########################################################
    # If file or directory names do not display correctly for your locale then you
    # may need to modify this setting.
    #filesystem_charset "UTF-8"
    # This setting controls the encoding that ID3v1 tags should be converted from.
    #id3v1_encoding "ISO-8859-1"
    # SIDPlay decoder #############################################################
    # songlength_database:
    # Location of your songlengths file, as distributed with the HVSC.
    # The sidplay plugin checks this for matching MD5 fingerprints.
    # See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq
    # default_songlength:
    # This is the default playing time in seconds for songs not in the
    # songlength database, or in case you're not using a database.
    # A value of 0 means play indefinitely.
    # filter:
    # Turns the SID filter emulation on or off.
    #decoder {
    # plugin "sidplay"
    # songlength_database "/media/C64Music/DOCUMENTS/Songlengths.txt"
    # default_songlength "120"
    # filter "true"
    Last edited by vlad951 (2011-05-07 09:36:11)

    vlad951 wrote:
    Thanks, I successfully launched mpd as a user and it detected all of my music. However, if I launch mpd with the mpd.conf that I created in my home directory, it launches, but outputs the following:
    [vladislav@vladislav .mpd]$ mpd ~/.mpd/mpd.conf
    listen: bind to '0.0.0.0:6600' failed: Address already in use (continuing anyway, because binding to '[::]:6600' succeeded)
    Is this normal?
    *sigh* i answer this for the 3rd time in a row... this is no error it just says that binding to your ipv6 interface happened before the binding to ipv4.
    If you want to use your ipv4 interface hardcode it in mpd.conf
    bind_to_address "127.0.0.1"
    you can also have several binds:
    bind_to_address "127.0.0.1"
    bind_to_address "192.168.1.13"
    to make it listen on localhost and the external IP of your network card.
    If your music is on the same machine as your mpd i recommend to use a unix socket in addition.
    bind_to_address "/path/to/some/file/that/does/not/exist/yet"
    and make your client connect to that file instead of the IP. Speeds things up a log e.g. in ncmpcpp
    and btw: you can save your mpd.conf file as ~/.mpdconf and mpd will automatically use it.
    Last edited by Rasi (2011-05-07 08:41:30)

  • Increase Frequency of Pulse Generation

    Hi all,
    i'm using a NI PCI 6229 to generate by its counter  a trigger for a strobo lamp..
    actually i'm using the Gen DIG Pulse TRAIN continuos.vi that could reach freq till a maximum of 100 HZ
    SInce the lamp could work at higher Freqs, i would like to know how to increase the freq in that vi.
    TIA,
    Thescar.

    Hi thescar,
    Ar you sure it only works till 100Hz???????????????????? It will work much faster... How are you measuring it? probably it is a problem with the way you are observing those readings.
    Anyway you can generate pulses by 3 ways:
    1. Introducing frequency
    2. Introducing period
    3. Introducing ticks
    The 3rd way you can select the numer of ticks the pulse is at low level and the number to high level. You also need to say which is the source for the ticks and here you can select (also anothers but i recommend you chose one of these) the 1Khz timebase, the 100Khz timebase and the 20Mhz timebase.
    So, for example if you select as source 1Khz timebase and 2 ticks at low level and 2 at high level you will be obtaining a pulse of 1Khz/4=250Hz. With all those possible configurations you will be able to set very different frecuencies over 100 Hz.
    Regards,
    Jaime Cabrera
    NI Applications Engineering
    Regards,
    Jaime Cabrera
    NI Applications Engineering Spain

Maybe you are looking for

  • Mid-2012 retina macbook pro nvidia gpu panics

    I bought my mid-2012 retina macbook pro in September 2012. It is 8 months out of warranty. I always look after it and use it carefully. Since 2 weeks ago, I encountered the problems below, 1.turn into black screen after running for about 15 mins, but

  • Animating controls between states.

    Hi Oracle community. A while ago I started a thread here on the forum where I had put three different subjects to be treated. The user jsmith guided me saying that I was supposed to separate things, dividing each subject in a separate thread. The ori

  • How to impersonate another portal user?

    Anyone pls, how can i impersonate another portal user when i logged into the Portal with my userid. my requirement is i would have an iview with list of users(portal users). On click of the user i should open a new window which logs into the portal w

  • IPhoto Library icon has changed

    Yesteday, I updated my iMac (Late 2009) to Mountain Lion (10.8.2) and installed the newest version of iPhoto (9.4.1). All seemed to be working well until a few hours ago. Things I have noticed: 1)  The iPhoto Library icon has changed to a pink flower

  • How do I remove a bookmark that has a star from the awesome bar?

    isn't there some way to permanently remove an entry from the awesome bar? This is also a very annoying problem. If a site is a bookmark then sure it can be deleted from the drop down list, but the next time you go to the awesome bar it is there again