RiCGEN_ISR() or CGEN_ISR()

The RiCGEN_ISR() statement generates an event from an interrupt service routine.

RiCGEN_ISR() has the same effect as CGEN_ISR().

The problem with generating events from interrupt service routines is that in some operating systems (such as VxWorks), you are not allowed to allocate memory, delete memory, or block on a resource (for example, lock() on a semaphore). Therefore, RiCGEN_ISR() does not allocate new events, but uses a pointer to an event that you must supply.

There are two ways to use RiCGEN_ISR():

You must set the CG::Event::DeleteAfterConsumption property to False.


Feedback