Hi,

On Thu, Mar 4, 2010 at 1:54 AM, Stefan Schaal <ssch...@usc.edu> wrote:
> Hi Alexis,
>
>  thanks a lot or the reply. Just to check: is it possible to use commands 
> with digital subdevices at all? I am not sure whether I understood your 
> comment below correctly. Are your *currently* working to enable commands for 
> DIO subdevices?
Commands are possible with DIO subdevices. The main problem is my test
application which does not handle all the cases.

>
> Thanks a lot!
>
> -Stefan
>
>
> On Mar 3, 2010, at 15:58, Alexis Berlemont wrote:
>
>> Hi Stefan,
>>
>> Sorry for the late reply, I was unavailable yesterday.
>>
>> Stefan Schaal wrote:
>>> Hi Alexis,
>>> we pulled your analogy branch, and now cmd_write works. Great, and thanks a 
>>> lot! Next, I tried to use commands with the digital IO subdevice on our 
>>> board (subdevice #2), but the get an error message:
>>> [ 2482.771913] Analogy: a4l_check_cmddesc: scan_begin_src, trigger 
>>> unsupported
>> Unfortunately, cmd_write was not designed to work with digital
>> subdevices; the command's fields are not appropriate, I am trying to
>> make it work quite quickly.
>>
>>> Is there just missing support for the DIO subdevices using commands?
>>> Best wishes,
>>> -Stefan
>>> ps.: feel free to use our machine for debugging -- it now has the latest 
>>> version of your software installed with linux kernel 2.6.29.5.
>>> On Feb 28, 2010, at 16:24, Alexis Berlemont wrote:
>>>> Alexis Berlemont wrote:
>>>>> Hi,
>>>>> Stefan Schaal wrote:
>>>>>> Hi Alexis,
>>>>>>
>>>>>> On Feb 18, 2010, at 14:34, Alexis Berlemont wrote:
>>>>>>
>>>>>>> I have some problems with
>>>>>>>> implementing commands on my NI6259 so far.
>>>>>>> Could you remind me what was the problem ?
>>>>>> See the print-outs below for the problem we have.
>>>>>>
>>>>>> Thanks so much for looking into this!
>>>>>>
>>>>>> -Stefan
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Using the cmd_write() function that you provide in analogy, we get the 
>>>>>> following problem:
>>>>>>
>>>>> I am currently trying to fix this bug, which is not that easy. I just
>>>>> have one question (that I remember I have already asked you in some way,
>>>>> but I just want to be sure):
>>>>> Does this bug occur the very first time you launched cmd_write (I mean
>>>>> after a reboot) ?
>>>>>
>>>> I managed at last to fix the bug you were facing (at least I hope so).
>>>> The problem was located in the trigger callback which waited for a
>>>> bit-status (fifo half full) before going further; however, sometimes the
>>>> DMA interrupt already occurred and cleaned everything behind your back.
>>>>
>>>> I have not made a pull request because the current implementation is not
>>>> perfect.
>>>>
>>>> If you have some time, could you clone my git repository (branch:
>>>> analogy) and check that a simple call to cmd_write does not trigger the
>>>> bug anymore ?
>>>>
>>>> Many thanks.
>>>>>> r...@xenomai:/usr/src/xenomai/src/utils/analogy# ./cmd_write -v
>>>>>> cmd_write: device analogy0 opened (fd=0)
>>>>>> cmd_write: basic descriptor retrieved
>>>>>>   subdevices count = 14
>>>>>>   read subdevice index = 0
>>>>>>   write subdevice index = 1
>>>>>> cmd_write: complex descriptor retrieved
>>>>>> cmd_write: channel 0
>>>>>>   ranges count = 3
>>>>>>   range's size = 16 (bits)
>>>>>> cmd_write: channel 1
>>>>>>   ranges count = 3
>>>>>>   range's size = 16 (bits)
>>>>>> cmd_write: scan size = 4
>>>>>> cmd_write: size to write  = 400
>>>>>> cmd_write: command successfully sent
>>>>>> cmd_write: triggering failed (ret=-32)
>>>>>>
>>>>>> r...@xenomai:/usr/src/xenomai/src/utils/analogy# dmesg -c
>>>>>> [133345.213865] Analogy: analogy_ni_pcimio: ni_mio_common: interrupt: 
>>>>>> b_status=0002 m1_status=80a80000
>>>>>> [133345.332719] Analogy: analogy_ni_pcimio: ni_ao_wait_for_dma_load: 
>>>>>> timed out waiting for dma load<3>Analogy: a4l_do_special_insn: execution 
>>>>>> of the instruction failed (err=-32)
>>>>>>
>>>>>>
>>>>>> Another problem we have is with the --mmap option:
>>>>>>
>>>>>> r...@xenomai:/usr/src/xenomai/src/utils/analogy# ./cmd_write -v --mmap
>>>>>> cmd_write: device analogy0 opened (fd=0)
>>>>>> cmd_write: basic descriptor retrieved
>>>>>>   subdevices count = 14
>>>>>>   read subdevice index = 0
>>>>>>   write subdevice index = 1
>>>>>> cmd_write: complex descriptor retrieved
>>>>>> cmd_write: channel 0
>>>>>>   ranges count = 3
>>>>>>   range's size = 16 (bits)
>>>>>> cmd_write: channel 1
>>>>>>   ranges count = 3
>>>>>>   range's size = 16 (bits)
>>>>>> cmd_write: scan size = 4
>>>>>> cmd_write: size to write  = 400
>>>>>> cmd_write: buffer size = 65536 bytes
>>>>>> cmd_write: a4l_mmap() failed (ret=-22)
>>>>>>
>>>>>>
>>>>>> r...@xenomai:/usr/src/xenomai/src/utils/analogy# dmesg -c
>>>>>> [133408.942998] Analogy: a4l_ioctl_mmap: mmap not allowed on this 
>>>>>> subdevice
>>>>>>
>>>>>>
>>>>> Alexis.
>>>> Alexis.
>>>>
>> Alexis.
>>
>
>
>
Alexis.

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to