AJA NTV2 SDK  17.1.1.1245
NTV2 SDK 17.1.1.1245
ntv2interrupts.cpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
8 #include "ntv2card.h"
9 
10 
13 
14 
16 {
18 }
19 
20 
21 bool CNTV2Card::EnableInterrupt (const INTERRUPT_ENUMS inInterruptCode) {return ConfigureInterrupt (true, inInterruptCode);}
24 bool CNTV2Card::EnableInputInterrupt (const NTV2ChannelSet & inFrameStores)
25 {
26  UWord failures(0);
27  for (NTV2ChannelSetConstIter it(inFrameStores.begin()); it != inFrameStores.end(); ++it)
28  if (!EnableInputInterrupt (*it))
29  failures++;
30  return failures == 0;
31 }
32 
33 bool CNTV2Card::DisableInterrupt (const INTERRUPT_ENUMS inInterruptCode)
34 {
35  if(NTV2_IS_INPUT_INTERRUPT(inInterruptCode) || NTV2_IS_OUTPUT_INTERRUPT(inInterruptCode))
36  return true;
37  return ConfigureInterrupt (false, inInterruptCode);
38 }
42 {
43  UWord failures(0);
44  for (NTV2ChannelSetConstIter it(inFrameStores.begin()); it != inFrameStores.end(); ++it)
45  if (!DisableInputInterrupt (*it))
46  failures++;
47  return failures == 0;
48 }
eInput3
@ eInput3
Definition: ntv2publicinterface.h:3770
INTERRUPT_ENUMS
enum _INTERRUPT_ENUMS_ INTERRUPT_ENUMS
eOutput6
@ eOutput6
Definition: ntv2publicinterface.h:3786
NTV2Channel
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
Definition: ntv2enums.h:1305
gChannelToInputInterrupt
static const INTERRUPT_ENUMS gChannelToInputInterrupt[]
Definition: ntv2interrupts.cpp:11
NTV2InterruptMask
NTV2InterruptMask
Definition: ntv2enums.h:1472
CNTV2Card::EnableInputInterrupt
virtual bool EnableInputInterrupt(const NTV2Channel channel=NTV2_CHANNEL1)
Allows the CNTV2Card instance to wait for and respond to input vertical blanking interrupts originati...
Definition: ntv2interrupts.cpp:23
CNTV2Card::DisableOutputInterrupt
virtual bool DisableOutputInterrupt(const NTV2Channel channel=NTV2_CHANNEL1)
Prevents the CNTV2Card instance from waiting for and responding to vertical blanking interrupts origi...
Definition: ntv2interrupts.cpp:39
CNTV2Card::GetCurrentInterruptMasks
virtual bool GetCurrentInterruptMasks(NTV2InterruptMask &outIntMask1, NTV2Interrupt2Mask &outIntMask2)
Definition: ntv2interrupts.cpp:15
eInput2
@ eInput2
Definition: ntv2publicinterface.h:3747
eInput7
@ eInput7
Definition: ntv2publicinterface.h:3779
gChannelToOutputInterrupt
static const INTERRUPT_ENUMS gChannelToOutputInterrupt[]
Definition: ntv2interrupts.cpp:12
NTV2ChannelSetConstIter
NTV2ChannelSet::const_iterator NTV2ChannelSetConstIter
A handy const iterator into an NTV2ChannelSet.
Definition: ntv2publicinterface.h:3855
eInput4
@ eInput4
Definition: ntv2publicinterface.h:3771
CNTV2Card::EnableOutputInterrupt
virtual bool EnableOutputInterrupt(const NTV2Channel channel=NTV2_CHANNEL1)
Allows the CNTV2Card instance to wait for and respond to output vertical blanking interrupts originat...
Definition: ntv2interrupts.cpp:22
eNumInterruptTypes
@ eNumInterruptTypes
Definition: ntv2publicinterface.h:3789
CNTV2DriverInterface::ReadRegister
virtual bool ReadRegister(const ULWord inRegNum, ULWord &outValue, const ULWord inMask=0xFFFFFFFF, const ULWord inShift=0)
Reads all or part of the 32-bit contents of a specific register (real or virtual) on the AJA device....
Definition: ntv2driverinterface.cpp:403
eOutput7
@ eOutput7
Definition: ntv2publicinterface.h:3787
CNTV2Card::EnableInterrupt
virtual bool EnableInterrupt(const INTERRUPT_ENUMS inEventCode)
Definition: ntv2interrupts.cpp:21
eInput8
@ eInput8
Definition: ntv2publicinterface.h:3780
eOutput2
@ eOutput2
Definition: ntv2publicinterface.h:3782
ntv2card.h
Declares the CNTV2Card class.
UWord
uint16_t UWord
Definition: ajatypes.h:251
eInput6
@ eInput6
Definition: ntv2publicinterface.h:3778
CNTV2MacDriverInterface::ConfigureInterrupt
virtual bool ConfigureInterrupt(bool, INTERRUPT_ENUMS)
Definition: ntv2macdriverinterface.h:105
NTV2ChannelSet
std::set< NTV2Channel > NTV2ChannelSet
A set of distinct NTV2Channel values.
Definition: ntv2publicinterface.h:3854
NTV2_IS_OUTPUT_INTERRUPT
#define NTV2_IS_OUTPUT_INTERRUPT(__e__)
Definition: ntv2publicinterface.h:3804
eInput1
@ eInput1
Definition: ntv2publicinterface.h:3746
kRegVidIntControl2
@ kRegVidIntControl2
Definition: ntv2publicinterface.h:389
eOutput4
@ eOutput4
Definition: ntv2publicinterface.h:3784
kRegVidIntControl
@ kRegVidIntControl
Definition: ntv2publicinterface.h:123
NTV2Interrupt2Mask
NTV2Interrupt2Mask
Definition: ntv2enums.h:1545
eOutput5
@ eOutput5
Definition: ntv2publicinterface.h:3785
CNTV2Card::DisableInterrupt
virtual bool DisableInterrupt(const INTERRUPT_ENUMS inEventCode)
Definition: ntv2interrupts.cpp:33
NTV2_IS_INPUT_INTERRUPT
#define NTV2_IS_INPUT_INTERRUPT(__e__)
Definition: ntv2publicinterface.h:3795
eInput5
@ eInput5
Definition: ntv2publicinterface.h:3777
eOutput1
@ eOutput1
Definition: ntv2publicinterface.h:3744
eOutput8
@ eOutput8
Definition: ntv2publicinterface.h:3788
CNTV2Card::DisableInputInterrupt
virtual bool DisableInputInterrupt(const NTV2Channel channel=NTV2_CHANNEL1)
Prevents the CNTV2Card instance from waiting for and responding to vertical blanking interrupts origi...
Definition: ntv2interrupts.cpp:40
eOutput3
@ eOutput3
Definition: ntv2publicinterface.h:3783