codaObject::vxTIInterruptService Class Reference

Implements InterruptService for stand-alone TI board in vxWorks. More...

#include <vxTIInterruptService.hxx>

Inheritance diagram for codaObject::vxTIInterruptService:
codaObject::InterruptService

List of all members.

Public Member Functions

 vxTIInterruptService (unsigned short *ti_addr=(unsigned short *) TI_BASE_ADDR, int dispatchPriority=TI_DISPATCH_PRIORITY, int interruptLevel=TI_INTERRUPT_LEVEL, short interruptVector=TI_INTERRUPT_VECTOR)
 Constructor just stores parameters.
virtual ~vxTIInterruptService (void) throw ()
 Destructor.
virtual bool setupInterrupt (void)
 Sets up interrupt, resets TI board, spawns dispatcher task, etc.
virtual bool enableInterrupt (void)
 Enables interrupt.
virtual bool pauseInterrupt (void)
 Pauses interrupt, called during pause transition.
virtual bool resumeInterrupt (void)
 Resumes interrupt, called during resume transition.
virtual bool deleteInterrupt (void)
 Disables interrupt, disconnects ISR, deletes dispatcher task, deletes semaphore.
virtual int dispatchInterrupt (void)
 Task waits for semaphore, then reads trigger type, calls interrupt, reenables interrupt.

Protected Attributes

unsigned short * myBaseAddr
 Base address of TI board.
unsigned short * myAddr
 Local address of this TI board.
int myInterruptTaskId
 Interrupt task id.
SEM_ID mySemId
 Semaphore id.
int myDispatchPriority
 Priority for dispatch task.
int myInterruptLevel
 Interrupt level.
int myInterruptVector
 Interrupt vector.

Detailed Description

Implements InterruptService for stand-alone TI board in vxWorks.

Definition at line 71 of file vxTIInterruptService.hxx.


Constructor & Destructor Documentation

vxTIInterruptService::vxTIInterruptService ( unsigned short *  base_addr = (unsigned short*)TI_BASE_ADDR,
int  dispatchPriority = TI_DISPATCH_PRIORITY,
int  interruptLevel = TI_INTERRUPT_LEVEL,
short  interruptVector = TI_INTERRUPT_VECTOR 
)

Constructor just stores parameters.

Parameters:
base_addr TI board base address
dispatchPriority Dispatch task priority
interruptLevel Board interrupt level
interruptVector Board interrupt level

Definition at line 51 of file vxTIInterruptService.cc.

vxTIInterruptService::~vxTIInterruptService ( void   )  throw () [virtual]

Destructor.

Definition at line 64 of file vxTIInterruptService.cc.

References deleteInterrupt().


Member Function Documentation

bool vxTIInterruptService::deleteInterrupt ( void   )  [virtual]

Disables interrupt, disconnects ISR, deletes dispatcher task, deletes semaphore.

Returns:
Always true

Implements codaObject::InterruptService.

Definition at line 178 of file vxTIInterruptService.cc.

References codaObject::intDisconnect(), myAddr, myInterruptTaskId, mySemId, and TI_INTERRUPT_VECTOR.

Referenced by ~vxTIInterruptService().

int vxTIInterruptService::dispatchInterrupt ( void   )  [virtual]

Task waits for semaphore, then reads trigger type, calls interrupt, reenables interrupt.

Returns:
Unused

Definition at line 90 of file vxTIInterruptService.cc.

References codaObject::InterruptibleObject::interrupt(), myAddr, codaObject::InterruptService::myIntObj, mySemId, and TI_INTERRUPT_REENABLE.

bool vxTIInterruptService::enableInterrupt ( void   )  [virtual]

Enables interrupt.

Returns:
Always true

Implements codaObject::InterruptService.

Definition at line 156 of file vxTIInterruptService.cc.

References myAddr, codaObject::sysIntEnable(), TI_INTERRUPT_LEVEL, and TI_MODE.

virtual bool codaObject::vxTIInterruptService::pauseInterrupt ( void   )  [inline, virtual]

Pauses interrupt, called during pause transition.

Implements codaObject::InterruptService.

Definition at line 79 of file vxTIInterruptService.hxx.

virtual bool codaObject::vxTIInterruptService::resumeInterrupt ( void   )  [inline, virtual]

Resumes interrupt, called during resume transition.

Implements codaObject::InterruptService.

Definition at line 80 of file vxTIInterruptService.hxx.

bool vxTIInterruptService::setupInterrupt ( void   )  [virtual]

Sets up interrupt, resets TI board, spawns dispatcher task, etc.

Returns:
Always true

Implements codaObject::InterruptService.

Definition at line 120 of file vxTIInterruptService.cc.

References codaObject::intDisconnect(), myAddr, myBaseAddr, myDispatchPriority, myInterruptTaskId, mySemId, codaObject::sysBusToLocalAdrs(), TI_INTERRUPT_VECTOR, TI_RESET, and TI_VME_ACCESS_MODE.


Member Data Documentation

unsigned short* codaObject::vxTIInterruptService::myAddr [protected]

Local address of this TI board.

Definition at line 92 of file vxTIInterruptService.hxx.

Referenced by deleteInterrupt(), dispatchInterrupt(), enableInterrupt(), and setupInterrupt().

unsigned short* codaObject::vxTIInterruptService::myBaseAddr [protected]

Base address of TI board.

Definition at line 91 of file vxTIInterruptService.hxx.

Referenced by setupInterrupt().

Priority for dispatch task.

Definition at line 95 of file vxTIInterruptService.hxx.

Referenced by setupInterrupt().

Interrupt level.

Definition at line 96 of file vxTIInterruptService.hxx.

Interrupt task id.

Definition at line 93 of file vxTIInterruptService.hxx.

Referenced by deleteInterrupt(), and setupInterrupt().

Interrupt vector.

Definition at line 97 of file vxTIInterruptService.hxx.

Semaphore id.

Definition at line 94 of file vxTIInterruptService.hxx.

Referenced by deleteInterrupt(), dispatchInterrupt(), and setupInterrupt().


The documentation for this class was generated from the following files:

Generated on 4 Feb 2014 for CodaObject by  doxygen 1.6.1