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


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.
> 


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

Reply via email to