Ejemplo n.º 1
0
//////////////////////////// 
// APPEND     COMMON      HORIZONTALS
void CcdAcqParams::AppendCommonHorizontals( 
    std::vector< std::pair<uint16_t,uint16_t> > & settings,
    const uint16_t pixelShift)
{

    // Validate the ROI params
    const uint16_t UnbinnedRoiCols	= GetCcdImgCols() * GetCcdImgBinCols();

    const uint16_t PreRoiSkip = m_RoiStartCol;


    const uint16_t PostRoiSkip = CalcHPostRoiSkip( PreRoiSkip, UnbinnedRoiCols );


	if ( !IsColCalcGood( UnbinnedRoiCols, PreRoiSkip, PostRoiSkip) )
	{
		std::stringstream msg;
        msg << "Invalid calculated number of ccd cols ";
        msg << ".  Max number of cols is " << GetTotalCcdCols() << ".";
        apgHelper::throwRuntimeException( m_fileName, 
            msg.str(), __LINE__, Apg::ErrorType_InvalidUsage );
	}
    
    settings.push_back( 
        std::pair<uint16_t,uint16_t>(
        CameraRegs::PREROI_SKIP_COUNT, PreRoiSkip) );	
    
    settings.push_back( 
        std::pair<uint16_t,uint16_t>(
        CameraRegs::ROI_COUNT,GetCcdImgCols()+pixelShift) );	

    settings.push_back( 
        std::pair<uint16_t,uint16_t>(
        CameraRegs::POSTROI_SKIP_COUNT, PostRoiSkip) );		
}
Ejemplo n.º 2
0
//////////////////////////// 
//      IS     COL        CALC   GOOD
bool AltaCcdAcqParams::IsColCalcGood( const uint16_t UnbinnedRoiCols,
                                     const uint16_t PreRoiSkip, const uint16_t PostRoiSkip)
{
    const uint16_t TotalCols = UnbinnedRoiCols + 
        PreRoiSkip + PostRoiSkip + m_CamData->m_MetaData.ClampColumns;

    return ( TotalCols == GetTotalCcdCols() ? true : false );
}