|
|
@@ -448,6 +448,26 @@ bool Detector_TiRayDR::SetAcqMode(int nMode)
|
|
|
//if (err != Err_Success)
|
|
|
//FERROR("[Detector_TiRayDR::OpenDetector] Failed to write Attr_PhotoNumber. Error code: {$}", err);
|
|
|
}
|
|
|
+ else if (nMode == AcqMode::CF)
|
|
|
+ {
|
|
|
+ workMode = WorkMode_SyncOut;
|
|
|
+ m_bIsMultiFrame = true; // 多帧图
|
|
|
+ modeName = "CF";
|
|
|
+
|
|
|
+ // PF模式下,优先使用SetExposureTimes设置的值,若未设置则使用配置值
|
|
|
+ if (m_nXWindow > 0)
|
|
|
+ {
|
|
|
+ nXWindow = m_nXWindow;
|
|
|
+ FINFO("CF mode: Using custom exposure times from SetExposureTimes: {$}", nXWindow);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ FWARN("CF mode: m_nXWindow not set, using config value: {$}", nXWindow);
|
|
|
+ }
|
|
|
+ auto err = write_attribute(Attr_PhotoNumber, 8);
|
|
|
+ if (err != Err_Success)
|
|
|
+ FERROR("[Detector_TiRayDR::OpenDetector] Failed to write Attr_PhotoNumber. Error code: {$}", err);
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
FERROR("Invalid acquisition mode: {$}", nMode);
|
|
|
@@ -2114,7 +2134,7 @@ static std::string generateReadableTimestamp()
|
|
|
|
|
|
std::string Detector_TiRayDR::saveProcessedImage(Detector_TiRayDR& detector, unsigned short* data, size_t size, const std::string& baseTimestamp)
|
|
|
{
|
|
|
- const size_t MAX_PROC_FILE_COUNT = 10;
|
|
|
+ const size_t MAX_PROC_FILE_COUNT = 20;
|
|
|
const std::string TMPFS_DIR = "/mnt/tmpfs/";
|
|
|
const std::string BACKUP_DIR = "/userdata/RawData/";
|
|
|
const std::string ORIGINAL_DIR = detector.m_strWorkPath + "/RawData/";
|