EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024 
<== Date ==> <== Thread ==>

Subject: Interrupt problem.
From: Francisco Ramos via Tech-talk <tech-talk at aps.anl.gov>
To: EPICS tech-talk <tech-talk at aps.anl.gov>
Date: Mon, 24 Jan 2022 17:53:41 -0300

Dear community,


I am writing to see if you can help or guide me to find a solution for the error I am having with the "Bancomm 365" driver. We are migrating the module to EPCIS version 7.0.6.1. with rtems5. The driver works correctly for version 3.14.12.8 and RTEMS 4.10. 

When I boot the driver I get the "spurious interrupt: 32" error.  This implies that the function (isr_bc635) associated with the interrupt is never called. In this case, the Bancomm card should issue an interrupt for each tick periodically. 


Thank you very much in advance.



int bc635IntEnable (const epicsUInt16 signal, const char *parm )

{

         ……


        /* Connect bc635 interrupts */

        if( (status = devConnectInterruptVME(BC635VEC, isr_bc635, NULL) ) != OK )

        {

            errMessage(status, "BC635 error - unable to connect\n");

            return status;

        }

        pbc635->vector = BC635VEC;      /* Interrupt vector */

        pbc635->level = BC635LVL;       /* Interrupt level */


        /* Enable interrupts on this level */

        status = devEnableInterruptLevel( intVME, BC635LVL );

        if( status )

            printf("Enabling Bancomm interrupts failed\n");

        init = TRUE;

    }

    ……

}


void isr_bc635 (void *p)

{

   /* First check for periodic interrupt */

   if ( ((pbc635->intstat & 0x02) & pbc635->mask) != 0)

   {

    ……

   }


   /* let a high priority task deal with the other interrupts */

   epicsEventSignal(intSvc);

}


Regards,


Replies:
Re: Interrupt problem. Johnson, Andrew N. via Tech-talk

Navigate by Date:
Prev: RE: Calling the streamReload IOC Shell function within C Wang, Andrew via Tech-talk
Next: Adding a second output array to an areaDetector IOC Iain Marcuson via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024 
Navigate by Thread:
Prev: New areaDetector releases Mark Rivers via Tech-talk
Next: Re: Interrupt problem. Johnson, Andrew N. via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024 
ANJ, 14 Sep 2022 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·