All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniele Nicolodi <daniele@domain.hid>
To: Alexis Berlemont <berlemont.hauw@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] COMEDI vs Analogy
Date: Mon, 15 Mar 2010 09:56:10 +0100	[thread overview]
Message-ID: <4B9DF62A.30701@domain.hid> (raw)
In-Reply-To: <4B9ADC6C.8060307@domain.hid>

Alexis Berlemont wrote:
> Hi,
> 
> Daniele Nicolodi wrote:
>> Daniele Nicolodi wrote:
>>> Philippe Gerum wrote:
>>>> If you do want to help, you may want investing your time in developing
>>>> and testing a better code base like Analogy with other people, instead
>>>> of re-opening a dead development effort all alone.
>>> Let's try to have a more constructive approach. What is required  to
>>> support the TRIG_WAKE_EOS command functionality in the ni pcimio driver
>>> in Analogy?
>> Well. After playing a bit with Analogy, it looks like TRIG_WAKE_EOS is
>> not unsupported (as is stated in the documentation). It works!
>>
>> I'm using a NI 6251 PCI ADC. I have verified that TRIG_WAKE_EOS works as
>> expected up to a sampling frequency of 800-1000 Hz, sampling 8 channels
>> at time. If I use an higher sampling rate, my acquisition loops
>> receives, at each iteration, more data than the data corresponding at
>> one scan, but always in multiples of one scan.
>>
>> I guess this is due to the fact that the reading process is not able to
>> keep peace with the ADC board. It is however strange that I'm unable to
>> go to higher sampling rates. I'm able to have, easily, periodic tasks
>> running up to more than 10 kHz. There is a way to improve the performance?
>>
>> I tried to directly mmap the acqusition buffer, instead of doing copies
>> through reads, but it turned out that there are no Analogy drivers that
>> support mmap acces to the data buffer (not in xenomai 2.5.1 sources at
>> least). Can I somehow help in implementing this missing feature?
>>
> The mmap features is only enabled in the test drivers (fake and loop).
> The reason is that I did not have enough time to test it on the driver
> NI PCIMIO.
> 
> If you want to test it you just have to add a flag in the AI subdevice
> descriptor (on the driver side, you just add the mmap
> 
> subd->flags |= A4L_SUBD_MMAP;
> 
> The NI PCIMIO driver contains so many functionalities that it takes me a
> lot of time to test only a part of them. By the way, let's start a topic
> I will develop in other mails. That may clarify a little bit the situation.
> 
> I went on holidays with two requests in mind:
> - Stefan Schaal would like to use cmd_write on the NI digital subdevice;
> - Cristian Axenie would like to get an API to configure the NI counting
> subdevice.
> 
> I spent all my free time on them (when my wife and my daughter were
> asleep) and I am still unable to provide them any suitable solution. And
> do you know why ? I had a look at all the comedi drivers which
> implements asynchronous digital transfers and counting features: each
> one uses a different way.
> 
> The most striking examples were in the configuration of the counting
> stuff. At least four comedi drivers manage gpct: the NI ones, s526,
> me4000 and vmk80xx. Each one has defined its one configuration
> instruction, in other words, its one interface. That means for me that a
> user application must be specific to a driver to work properly (in some
> cases, you must even give the registers values).
> 
> Such a situation is, for me, not acceptable. Any acquisition user
> application should work with any acquisition driver and especially
> because of the acquisition framework.
> 
> Starting from here, it is really difficult for me to find out what
> interface I should implement so as to satisfy all of them.
> 
> One more thing: my job is related in no way with acquisition stuff. I
> spent quite a lot of time in documentation reading (DAQ-STC, etc.) to be
> sure I miss nothing. So, if you have experience to share, I am really
> interested.

May I ask where your interest in data acquisition software arises from?
It may be difficult to understand the problems in data acquisition
software development if you never have to write one.

Cheers,
-- 
Daniele


      reply	other threads:[~2010-03-15  8:56 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-09 17:28 [Xenomai-help] COMEDI vs Analogy Daniele Nicolodi
2010-03-09 17:55 ` Stefan Kisdaroczi
2010-03-10 11:14   ` Daniele Nicolodi
2010-03-10 11:33     ` Philippe Gerum
2010-03-10 11:45       ` Daniele Nicolodi
2010-03-10 14:12         ` Gilles Chanteperdrix
2010-03-10 14:26           ` Daniele Nicolodi
2010-03-10 14:02       ` Daniele Nicolodi
2010-03-10 19:19         ` Daniele Nicolodi
2010-03-13  0:29           ` Alexis Berlemont
2010-03-15  8:56             ` Daniele Nicolodi [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B9DF62A.30701@domain.hid \
    --to=daniele@domain.hid \
    --cc=berlemont.hauw@domain.hid \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.