Is this problem only occurring at the very beginning of your runs? Or
does it repeat itself at random intervals?  In other words, if you let
the process run for a minute or so, do you get more than one
mis-trigger?

Could you possibly be calling "rtl_request_irq" more than once in your
init_module?

If the problems persist, try resetting the interrupt in the parallel
port by doing something like:
outb(0x00, PP_SPP_BASE+0x02);
outb(0x10, PP_SPP_BASE+0x02);
immediately before you reenable the interrupts.

If the problem still persists, I would be highly inclined towards
suspecting that either your parallel port is suspect or that you have a
dirty pulse coming in.

-Edgar

Peter Wurmsdobler wrote:

> Stuart,
>
> Thanks, I just read the code and it looks nice. Unfortunately,
> I still cannot find he bug in my rt isr, why the isr is called
> twice. Now I tested with debug off and I put the dT in a fifo
> within the real time isr:
>
> hrtime_t spp_now;
> hrtime_t spp_past;
> int      spp_dT;
> int      spp_dT_past;
> int      spp_irqs;
> unsigned int spp_isr( unsigned int irq_number, struct pt_regs *p )
>     {
>     spp_now  = gethrtime();
>     spp_dT   = (int)(spp_now - spp_past);
>     spp_past = spp_now;
>     if ( spp_dT < 0 )
>         spp_dT = spp_dT_past;
>     else
>         spp_dT_past = spp_dT;
>
>     rtf_put( RSPEED_FIFO, &spp_dT, sizeof(spp_dT) );
>
>     rtl_hard_enable_irq( RT_MCM_SPP_IRQ );
>
>     return 0;
>     }
>
> and in a user space appl I pick them up
>
> int value;
> while ( read( rspeed_fd, &value, sizeof(vlaue) ) > 0 )
>     printf("time = %d ns\n", value );
>
> Then I get for 1Hz excitation frequency periodically:
>
> Entering event_fifo_handler
> time = 999894432 ns
> time = 9280 ns
> time = 5952 ns
> time = 6464 ns
> time = 5792 ns
> Leaving event_fifo_handler
>
> What is going on? Do you have an idea?
> peterw
> --
> Dr. Peter Wurmsdobler
>
>       CTM - Centre de Transfert des Microtechniques
> 39, av. de l'Observatoire, BP-1445, 25007 Besancon CEDEX 3
> TELEPHONE: +33 3 81 47 70 20  TELECOPIE: +33 3 81 47 70 21
>          E-mail: [EMAIL PROTECTED]
>
>                   Ceterum censeo MIRCOSOFTem esse delendam.
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> ---
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/rtlinux/

-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to