Implements InterruptService for stand-alone TI board in vxWorks. More...
#include <vxTIInterruptService.hxx>
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. | |
Implements InterruptService for stand-alone TI board in vxWorks.
Definition at line 71 of file vxTIInterruptService.hxx.
| 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.
| 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] |
| bool vxTIInterruptService::deleteInterrupt | ( | void | ) | [virtual] |
Disables interrupt, disconnects ISR, deletes dispatcher task, deletes semaphore.
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.
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.
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.
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.
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().
int codaObject::vxTIInterruptService::myDispatchPriority [protected] |
Priority for dispatch task.
Definition at line 95 of file vxTIInterruptService.hxx.
Referenced by setupInterrupt().
int codaObject::vxTIInterruptService::myInterruptLevel [protected] |
Interrupt level.
Definition at line 96 of file vxTIInterruptService.hxx.
int codaObject::vxTIInterruptService::myInterruptTaskId [protected] |
Interrupt task id.
Definition at line 93 of file vxTIInterruptService.hxx.
Referenced by deleteInterrupt(), and setupInterrupt().
int codaObject::vxTIInterruptService::myInterruptVector [protected] |
Interrupt vector.
Definition at line 97 of file vxTIInterruptService.hxx.
SEM_ID codaObject::vxTIInterruptService::mySemId [protected] |
Semaphore id.
Definition at line 94 of file vxTIInterruptService.hxx.
Referenced by deleteInterrupt(), dispatchInterrupt(), and setupInterrupt().
1.6.1