本文整理汇总了C++中task::spAgDrvr方法的典型用法代码示例。如果您正苦于以下问题:C++ task::spAgDrvr方法的具体用法?C++ task::spAgDrvr怎么用?C++ task::spAgDrvr使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类task
的用法示例。
在下文中一共展示了task::spAgDrvr方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: catch
template<> bool
device<UserFDK>::acquire( task& task )
{
//Start the acquisition
try { task.spAgDrvr()->Acquisition->UserControl->StartSegmentation(); } catch ( _com_error& e ) { TERR(e, "StartSegmentation"); }
try { task.spAgDrvr()->Acquisition->UserControl->StartProcessing(AgMD2UserControlProcessingType1); } catch ( _com_error& e ) {
TERR( e, "StartProcessing" ); }
return true;
}
示例2: psaWfmDataRaw
template<> bool
device<UserFDK>::readData( task& task, waveform& data )
{
static std::chrono::high_resolution_clock::time_point __uptime = std::chrono::high_resolution_clock::now();
IAgMD2LogicDevicePtr spDpuA = task.spAgDrvr()->LogicDevices->Item[L"DpuA"];
long words_32bits = task.method().nbr_of_s_to_acquire;
data.method_ = task.method();
try {
SAFEARRAY * psaWfmDataRaw(0);
spDpuA->ReadIndirectInt32(0x11, 0, words_32bits, &psaWfmDataRaw, &data.actualElements_, &data.firstValidElement_);
// workaround
data.timestamp_ = std::chrono::duration< uint64_t, std::pico >( std::chrono::high_resolution_clock::now() - __uptime ).count();
safearray_t<int32_t> sa( psaWfmDataRaw );
data.d_.resize( words_32bits );
std::copy( sa.data() + data.firstValidElement_, sa.data() + words_32bits, data.d_.begin() );
} catch ( _com_error& e ) {
TERR(e,"readData::ReadIndirectInt32");
}
return true;
}
示例3: while
template<> bool
device<UserFDK>::waitForEndOfAcquisition( task& task, int timeout )
{
(void)timeout;
//Wait for the end of the acquisition
long wait_for_end = 0x80000000;
IAgMD2LogicDevicePtr spDpuA = task.spAgDrvr()->LogicDevices->Item[L"DpuA"];
int count = 0;
while ( wait_for_end >= 0x80000000 ) {
std::this_thread::sleep_for( std::chrono::milliseconds( 200 ) );
try { spDpuA->ReadRegisterInt32( 0x3308, &wait_for_end ); } catch ( _com_error& e ) { TERR(e, "ReadRegisterInt32"); }
if ( ++count > 15 ) {
ADTRACE() << "U5303A::waitForEndOfAcqisition timed out";
return false;
}
}
return true;
}