最近想自己做一下DLP4500的类封装。官方给的库是基于C函数的DLPC控制,以及GUI源码。
在GUI源码中 注意到了在给投影仪发送信息的时候,是将GUI中的颜色列表,进行解析,并转为一些USB发送包发送给投影仪,解析过程中注意到了输入的最后一个参数,
if(DLPC350_AddToPatLut(ui->listWidget_PatSeqLUT->item(i)->data(Qt::UserRole+TrigType).toInt(), \
ui->listWidget_PatSeqLUT->item(i)->data(Qt::UserRole+PatNum).toInt(), \
ui->listWidget_PatSeqLUT->item(i)->data(Qt::UserRole+BitDepth).toInt(), \
ui->listWidget_PatSeqLUT->item(i)->data(Qt::UserRole+LEDSelect).toInt(), \
ui->listWidget_PatSeqLUT->item(i)->data(Qt::UserRole+InvertPat).toBool(), \
ui->listWidget_PatSeqLUT->item(i)->data(Qt::UserRole+InsertBlack).toBool(), \
ui->listWidget_PatSeqLUT->item(i)->data(Qt::UserRole+BufSwap).toBool(), \
ui->listWidget_PatSeqLUT->item(i)->data(Qt::UserRole+trigOutPrev).toBool()) < 0)
{
ShowError("Error Updating LUT");
return;
}
其中tirgOutPrev不论在变曝光模式下,还是在固定曝光模式下,它都将被设为0
例如在曝光模式下,给图像上的结果为
UpdateSeqItemData(trigger_type, pat_num, ui->comboBox_PatSeqPatBitDepthSel->currentIndex()+1, ui->comboBox_PatSeqSelPatColor->currentIndex(),g_FrameIdx, ui->checkBox_PatSeqInvPatData->isChecked(), ui->checkBox_PatSeqInsBlackPat->isChecked(), bufSwap, 0);
查询了DLPC350_AddToPatLut函数的说明,发现tirgOutPrev可以用来控制TrigOut1信号。
那么如何在官方的GUI软件里,改变这个变量,还是说只是DLPC的库函数留给开发人员的接口?
一般我们都用它的触发信号触发相机,抑或是有接收其他类型触发信号的相机或者其他设备?
希望能详细介绍一下这个变量的作用,以及这个变量和TrigerType之间的区别和联系,谢谢!
