Christoph Hintermueller | 1 Jun 18:05 2003
Picon

Antw: Re: continuous data acquisition

Hi
>>> Luc Lefebvre <luc.lefebvre <at> mcgill.ca> 30.05.03 18.23 Uhr >>>

Have you looked at the mmap program in comedilib/demo?  

1) Can the memmapping also be used in connection with dio especially the NI PCI 32HS board and driver?
2) Is it possible to devide the streaming buffer into three independen Memmaps which contain consecutive
Data?? Means one mmap contains data which has allready bben read and therefore is invalid. 1 is in state of
beeinf filled by comedi and one beeing read by user process? 
3) is comedi capable of informing userapplication that an entire mmap is valid and can be read? In other word
is comedy capable to send user application to sleeb until entire mmap which is awaited is filled with valid
data again ?

cu
Christoph

_______________________________________________
comedi mailing list
comedi <at> comedi.org
https://cvs.comedi.org/cgi-bin/mailman/listinfo/comedi
Christoph Hintermüller | 2 Jun 09:46 2003
Picon

Re: Antw: Re: continuous data acquisition

Am Sonntag, 1. Juni 2003 18:05 schrieb Christoph Hintermueller:
> Hi
>
> >>> Luc Lefebvre <luc.lefebvre <at> mcgill.ca> 30.05.03 18.23 Uhr >>>
>
> Have you looked at the mmap program in comedilib/demo?

2) Is it possible to devide the streaming
> buffer into three independen Memmaps which contain consecutive Data??
> Means one mmap contains data which has allready bben read and therefore
> is invalid. 1 is in state of beeinf filled by comedi and one beeing read
> by user process? 
To be more precise. (from rereading documentation and mmap example and 
knowing mmap roughly) Am i right that if i register a comedi buffer with a 
size of 3 times the desired subbuffers size, and setting up 3 consecutive 
mmaps uppon the entire comedidevice, that i get the desired beahvior. As 
for comedi the buffer is in one piece while my app looks at it through 3 
mmaps ? 
3) is comedi capable of informing userapplication that
> an entire mmap is valid and can be read? In other word is comedy capable
> to send user application to sleeb until entire mmap which is awaited is
> filled with valid data again ?
>
So how do i get to knwo when comedi has filled the buffer area beeing 
visible through a specific mmap? is it possible to send Application to 
sleep until area has been filled, and is informed by comedy about fully 
valid mmap area ?

And again are command, streaming and mmap available uppong NI PCI DIO 32HS?
If not Ni seems to having removed the register level documentation 
(Continue reading)

Christoph Hintermüller | 2 Jun 11:01 2003
Picon

Comedi Test device

Hi
Is it possible to use comedi test driver in connection with application 
relying uppon digital io hardware device or is it only designed for 
simulating ADC devices and other direct measurement devices ?
I didn't get that properly from the sources ?
Would it be difficult to extend the test device for generating digital 
inputs and responding to digital outputs?

cu
Christoph

--

-- 
Dipl.-Ing. Christoph Hintermüller
University for Health Informatics and Technology Tyrol
Innrain 98, A-6020 Innsbruck, AUSTRIA
Tel:  +43/ 512/ 58 67 34/ 820; Fax: +43/ 512/ 58 67 34/ 850
Mail: christoph.hintermueller <at> umit.at; Hompage: http://imsb.umit.at
Luc Lefebvre | 2 Jun 14:58 2003
Picon

Re: Antw: Re: continuous data acquisition

Hi Christoph,

I am not certain about most of the questions that you raise.  I am quite 
certain though that you can perform continuous data acquisition with 
comedi <as I mentioned, the mmap example, it works>.  It may very well be 
that you can achieve most of what you want using mmap and <possibly> a 
realtime kernel <and comedi kernel modules>.  In that respect, however, I 
have no experience.

cheers

On Sun, 1 Jun 2003, Christoph Hintermueller wrote:

> Hi
> >>> Luc Lefebvre <luc.lefebvre <at> mcgill.ca> 30.05.03 18.23 Uhr >>>
> 
> 
> Have you looked at the mmap program in comedilib/demo?  
> 
> 1) Can the memmapping also be used in connection with dio especially the NI PCI 32HS board and driver?
> 2) Is it possible to devide the streaming buffer into three independen Memmaps which contain consecutive
Data?? Means one mmap contains data which has allready bben read and therefore is invalid. 1 is in state of
beeinf filled by comedi and one beeing read by user process? 
> 3) is comedi capable of informing userapplication that an entire mmap is valid and can be read? In other
word is comedy capable to send user application to sleeb until entire mmap which is awaited is filled with
valid data again ?
> 
> cu
> Christoph
> 
(Continue reading)

Luc Lefebvre | 2 Jun 15:43 2003
Picon

Re: Antw: Re: continuous data acquisition

Hi,

The comedilib doc/drivers.txt states that NI PCI-DIO32HS is supported via 
ni_pcidio.o, and its status is "works".  Have you tried the mmap example?

On Mon, 2 Jun 2003, Christoph Hintermüller wrote:

> Am Sonntag, 1. Juni 2003 18:05 schrieb Christoph Hintermueller:
> > Hi
> >
> > >>> Luc Lefebvre <luc.lefebvre <at> mcgill.ca> 30.05.03 18.23 Uhr >>>
> 
> And again are command, streaming and mmap available uppong NI PCI DIO 32HS?
> If not Ni seems to having removed the register level documentation 
> (341329.pdf  and 341330A.pdf) as state in ni_dio.cpp sourcefile. Is it 
> possible to get the entire documents from different site in case the ni 
> dio driver has to be extended to be streamable? Is it advisable at all to 
> extend the driver? 
> I've right now installed lastweeks comedi and comedilib cvs version.
> 
> 
> cu
> Christoph
> 
> 

--

-- 
Luc Lefebvre

In the beginner's mind there are many possibilities,
(Continue reading)

Martin Merz | 2 Jun 19:44 2003
Picon

Re: NI 6034E, EXT_TRIG

Hello Frank,

> I put some fixes into cvs to try and get TRIG_WAKE_EOS to work with PCIDMA
> enabled.  Would you test that?
Now i have a better input signal for triggering, and i think your code 
modification work.

Now, i get after each scan via read() my values, sometimes two values, but i 
thinks this is a problem from my trigger signal.

In my last mail i had a question, is it possible to end scan's with an extern 
trigger signal ? I get an startsignal and an endsignal, between this two 
signals i get my scan - triggers, the count is not always the same !

I've read something about comedi_cancel() ... is it possible to call this 
function, depending on a change of one of the PFIx ?

Martin
Luc Lefebvre | 2 Jun 19:27 2003
Picon

python wrappers & examples

Hi,

Bryan Cole created python wrappers for the comedilib using swig.  I have 
been experimenting with the wrappers for the past few weeks and found them 
to be quite helpful.  I produced analogues of the info, cmd, and mmap demo 
programs provided with the comedilib source using abovementioned wrappers.

I am submitting this to the list in the hopes that some will find this 
useful and comments are always welcome.

cheers

--

-- 
Luc Lefebvre

In the beginner's mind there are many possibilities,
in the expert's mind there are few.			<Shunryu Suzuki>

Key fingerprint = D2E5 5E35 B910 6F4E 0242  EC63 0FD9 96D0 C7F4 784E
Attachment (ll_comedi.tgz): application/octet-stream, 52 KiB
Christoph Hintermueller | 2 Jun 21:02 2003
Picon

Antw: Re: Antw: Re: continuous data acquisition

>>> Luc Lefebvre <luc.lefebvre <at> mcgill.ca> 02.06.03 15.55 Uhr >>>
Hi,

The comedilib doc/drivers.txt states that NI PCI-DIO32HS is supported via 
ni_pcidio.o, and its status is "works".  Have you tried the mmap example?

Yes i have, except i havem't fiddled arround wit it so that comedi_test_cmd will not fail uppon NI PCI
DIO32HS  .

The rest is  just fine.
cu
Christoph

_______________________________________________
comedi mailing list
comedi <at> comedi.org
https://cvs.comedi.org/cgi-bin/mailman/listinfo/comedi
Christoph Hintermueller | 2 Jun 21:19 2003
Picon

Antw: Re: Antw: Re: continuous data acquisition

Hi
>>> Luc Lefebvre <luc.lefebvre <at> mcgill.ca> 02.06.03 15.01 Uhr >>>
Hi Christoph,
 I am quite 
certain though that you can perform continuous data acquisition with comedi <as I mentioned, the mmap
example, it works>.

Basically i want to devide the comedy buffer into thre logical areas. One my application reads data from.
One which actually is filled by comedy with nem samples and one either waiting to be read by my application
or written by comedi. 
So is this logical dvition possible and how to wait until comedi has filled a specific area of the buffer
completely? in mmap example this is done by sleeping some seconds and repolling buffer. Or in worst case
dooing busywaiting until logical bufferarea hs been filled by comedy completely. 

Or even simpler do i have to do busywating or busy sleeping (as don in mmap example) to wait until commedy has
filled the buffer completly, and not only partially.Or is there a small funtionality to tell comedi wake
me again if comedibuffer (at offset) contains count valid samples.
(buffer contains data from up to 128 cahnnels which should be processed in parallel somehow online- and
realtime-alike; see below).

I do not really desire realtime  as the same application should run on windows too; goodby realtime :)

cheers
Christoph
Chuck Haines | 3 Jun 12:38 2003

Seg Fault NI-Daq 6024E

I'm trying to read digital input from a NI DAQ 6024E.  I'm running
Slackware 9 with kernel 2.4.20 and the comedi and comedilib is installed
correctly (as I can run the test programs and have create a test program
myself).  However, when trying to run my program to read from a single
digital input, I get a segmentation fault.  The following is an strace of
the program running:

hainesca <at> RA7813522:~/RSL-AO/DAQ_Card_6024E$ strace ./digitalRead |more
execve("./digitalRead", ["./digitalRead"], [/* 30 vars */]) = 0
brk(0)                                  = 0x8049ad8
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=36500, ...}) = 0
old_mmap(NULL, 36500, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40015000
close(3)                                = 0
open("/usr/lib/libcomedi.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\250\35"..., 1024)
= 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=31973, ...}) = 0
old_mmap(NULL, 25668, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4001e000
mprotect(0x40024000, 1092, PROT_NONE)   = 0
old_mmap(0x40024000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x5000) = 0x40024000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\\\1\000"...,
1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=1435624, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
(Continue reading)


Gmane