AJA NTV2 SDK  17.0.1.1246
NTV2 SDK 17.0.1.1246
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:3739
INTERRUPT_ENUMS
enum _INTERRUPT_ENUMS_ INTERRUPT_ENUMS
eOutput6
@ eOutput6
Definition: ntv2publicinterface.h:3755
NTV2Channel
NTV2Channel
These enum values are mostly used to identify a specific Frame Store. They're also commonly used to i...
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:3716
eInput7
@ eInput7
Definition: ntv2publicinterface.h:3748
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:3824
eInput4
@ eInput4
Definition: ntv2publicinterface.h:3740
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:3758
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:393
eOutput7
@ eOutput7
Definition: ntv2publicinterface.h:3756
CNTV2Card::EnableInterrupt
virtual bool EnableInterrupt(const INTERRUPT_ENUMS inEventCode)
Definition: ntv2interrupts.cpp:21
eInput8
@ eInput8
Definition: ntv2publicinterface.h:3749
eOutput2
@ eOutput2
Definition: ntv2publicinterface.h:3751
ntv2card.h
Declares the CNTV2Card class.
UWord
uint16_t UWord
Definition: ajatypes.h:244
eInput6
@ eInput6
Definition: ntv2publicinterface.h:3747
CNTV2MacDriverInterface::ConfigureInterrupt
virtual bool ConfigureInterrupt(bool, INTERRUPT_ENUMS)
Definition: ntv2macdriverinterface.h:106
NTV2ChannelSet
std::set< NTV2Channel > NTV2ChannelSet
A set of distinct NTV2Channel values.
Definition: ntv2publicinterface.h:3823
NTV2_IS_OUTPUT_INTERRUPT
#define NTV2_IS_OUTPUT_INTERRUPT(__e__)
Definition: ntv2publicinterface.h:3773
eInput1
@ eInput1
Definition: ntv2publicinterface.h:3715
kRegVidIntControl2
@ kRegVidIntControl2
Definition: ntv2publicinterface.h:360
eOutput4
@ eOutput4
Definition: ntv2publicinterface.h:3753
kRegVidIntControl
@ kRegVidIntControl
Definition: ntv2publicinterface.h:94
NTV2Interrupt2Mask
NTV2Interrupt2Mask
Definition: ntv2enums.h:1545
eOutput5
@ eOutput5
Definition: ntv2publicinterface.h:3754
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:3764
eInput5
@ eInput5
Definition: ntv2publicinterface.h:3746
eOutput1
@ eOutput1
Definition: ntv2publicinterface.h:3713
eOutput8
@ eOutput8
Definition: ntv2publicinterface.h:3757
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:3752