@@ -2834,11 +2834,16 @@ void CRTCContext::addLayerToListEx(LibMCEnv::PToolpathLayer pLayer, eOIERecordin
2834
2834
if (nIndividiualPreSegmentDelayInMicroseconds >= 0 )
2835
2835
nPreSegmentDelayInTicks = (uint32_t )(nIndividiualPreSegmentDelayInMicroseconds / 10 );
2836
2836
2837
+ // Check for a Presegment delay override for each segment in the Scanlab Namespace
2838
+ int64_t nScanlabPreSegmentDelayInMicroseconds = pLayer->GetSegmentProfileIntegerValueDef (nSegmentIndex, " http://schemas.scanlab.com/delay/2023/01" , " predelay" , -1 );
2839
+ if (nScanlabPreSegmentDelayInMicroseconds >= 0 )
2840
+ nPreSegmentDelayInTicks = (uint32_t )(nScanlabPreSegmentDelayInMicroseconds / 10 );
2841
+
2837
2842
if (nPreSegmentDelayInTicks > 0 ) {
2838
2843
if (nPreSegmentDelayInTicks > RTCCONTEXT_MAXSEGMENTDELAY_ONEHOURIN100KHZ)
2839
2844
throw ELibMCDriver_ScanLabInterfaceException (LIBMCDRIVER_SCANLAB_ERROR_SEGMENTDELAYEXCEEDSONEHOUR);
2840
2845
2841
- // Set delay in 10 Microsecond steps, dPreSegmentDelay is in Milliseconds
2846
+ // Set delay in 10 Microsecond steps, dPreSegmentDelay is in Microseconds
2842
2847
m_pScanLabSDK->n_long_delay (m_CardNo, nPreSegmentDelayInTicks);
2843
2848
}
2844
2849
}
@@ -2907,11 +2912,16 @@ void CRTCContext::addLayerToListEx(LibMCEnv::PToolpathLayer pLayer, eOIERecordin
2907
2912
if (nIndividiualPostSegmentDelayInMicroseconds >= 0 )
2908
2913
nPostSegmentDelayInTicks = (uint32_t )(nIndividiualPostSegmentDelayInMicroseconds / 10 );
2909
2914
2915
+ // Check for a Postsegment delay override for each segment in the Scanlab Namespace
2916
+ int64_t nScanlabPostSegmentDelayInMicroseconds = pLayer->GetSegmentProfileIntegerValueDef (nSegmentIndex, " http://schemas.scanlab.com/delay/2023/01" , " postdelay" , -1 );
2917
+ if (nScanlabPostSegmentDelayInMicroseconds >= 0 )
2918
+ nPostSegmentDelayInTicks = (uint32_t )(nScanlabPostSegmentDelayInMicroseconds / 10 );
2919
+
2910
2920
if (nPostSegmentDelayInTicks > 0 ) {
2911
2921
if (nPostSegmentDelayInTicks > RTCCONTEXT_MAXSEGMENTDELAY_ONEHOURIN100KHZ)
2912
2922
throw ELibMCDriver_ScanLabInterfaceException (LIBMCDRIVER_SCANLAB_ERROR_SEGMENTDELAYEXCEEDSONEHOUR);
2913
2923
2914
- // Set delay in 10 Microsecond steps, dPostSegmentDelay is in Milliseconds
2924
+ // Set delay in 10 Microsecond steps, dPostSegmentDelay is in Microseconds
2915
2925
m_pScanLabSDK->n_long_delay (m_CardNo, nPostSegmentDelayInTicks);
2916
2926
}
2917
2927
}
0 commit comments