Exemple #1
0
    void HDRPage::SetGain( int image, unsigned int gainValue )
    {
        unsigned int regOffset = GetRegisterOffset( m_hdrRegOffset, image ) + m_hdrRegIncrement;

        Error error;
        unsigned int value;
        if ( IsLadybug2() )
        {
            // LD2 camera
            value = 0x82000000 |  gainValue;
        }
        else
        {

            error = m_pCamera->ReadRegister( regOffset, &value );
            if ( error != PGRERROR_OK )
            {
                // Error
                ShowErrorMessageDialog( "Error reading HDR gain register", error );
            }

            value &= ~0xFFF;
            value += gainValue;
        }

        error = m_pCamera->WriteRegister( regOffset, value );
        if ( error != PGRERROR_OK )
        {
            // Error
            ShowErrorMessageDialog( "Error writing HDR gain register", error );
        }
    }
Exemple #2
0
    void HDRPage::SetShutter( int image, unsigned int shutterValue )
    {
        unsigned int regOffset = GetRegisterOffset( m_hdrRegOffset, image );

        Error error;
        unsigned int value;
        if ( IsLadybug2() )
        {
            value = 0x82000000 |  shutterValue;
        }
        else
        {
            error = m_pCamera->ReadRegister( regOffset, &value );
            if ( error != PGRERROR_OK )
            {
                // Error
                ShowErrorMessageDialog( "Error reading HDR shutter register", error );
            }

            value &= ~0xFFF;
            value += shutterValue;
        }

        error = m_pCamera->WriteRegister( regOffset, value );
        if ( error != PGRERROR_OK )
        {
            // Error
            ShowErrorMessageDialog( "Error writing HDR shutter register", error );
        }
    }  
Exemple #3
0
    unsigned int HDRPage::GetHDRRegOffset()
    {
        unsigned int hdrReg;
        m_hdrRegIncrement = 0x4;
        if ( strstr( m_camInfo.modelName, "Bumblebee" ) != NULL &&
            strstr( m_camInfo.modelName, "Bumblebee2" ) == NULL )
        {
            // The camera is a Bumblebee, but not a Bumblebee2 or XB3
            hdrReg = sk_bumblebeeHDRReg;
        }
        else
        {
            if ( IsLadybug2() )
            {
                hdrReg = sk_ladybug2HDRReg;
                m_hdrRegIncrement = 0x20;
            }
            else
            {
                hdrReg = sk_hdrReg;
            }
        }        

        return hdrReg;
    }
Exemple #4
0
    unsigned int HDRPage::GetRegisterOffset( unsigned int regBase, int image )
    {
        unsigned int regOffset = 0;

        switch( image )
        {
        case 0:
            regOffset = regBase + 0x20;
            break;
        case 1:
            if ( IsLadybug2() )
            {
                regOffset = regBase + 0x60;
            }
            else
            {
                regOffset = regBase + 0x40;
            }
            break;
        case 2:
            if ( IsLadybug2() )
            {
                regOffset = regBase + 0xA0;
            }
            else
            {
                regOffset = regBase + 0x60;
            }
            break;
        case 3:
            if ( IsLadybug2() )
            {
                regOffset = regBase + 0xE0;
            }
            else
            {
                regOffset = regBase + 0x80;
            }
            break;
        default:
            break;
        }

        return regOffset;
    }
Exemple #5
0
void CamInfoPage::SetCameraInformation( CameraInfo* pCamInfo )
{
    // Set the camera info labels
    char serial[64];
    if ( IsLadybug2() )
    {
        const unsigned int k_Ladybug2HeadReg = 0x1F80;

        Error error;
        unsigned int uiHeadNumber;
        error = m_pCamera->ReadRegister( k_Ladybug2HeadReg, &uiHeadNumber );
        if( error != PGRERROR_OK )
        {
            return;
        }
        sprintf ( serial, "%u(Head S/N.%u)", pCamInfo->serialNumber, uiHeadNumber );
    }
    else
    {
        sprintf( serial, "%u", pCamInfo->serialNumber );
    }

    char dcamVer[16];
    sprintf( dcamVer, "%1.2f", pCamInfo->iidcVer / 100.0f );

    m_pLabelSerial->set_text( serial );
    m_pLabelModel->set_text( pCamInfo->modelName );
    m_pLabelVendor->set_text( pCamInfo->vendorName );
    m_pLabelSensor->set_text( pCamInfo->sensorInfo );
    m_pLabelResolution->set_text( pCamInfo->sensorResolution );
    m_pLabelInterface->set_text( GetInterfaceString( pCamInfo->interfaceType ) );
    m_pLabelBusSpeed->set_text( GetBusSpeedString( pCamInfo->maximumBusSpeed ) );
    m_pLabelDCAMVer->set_text( dcamVer );
    m_pLabelFirmwareVer->set_text( pCamInfo->firmwareVersion );
    m_pLabelFirmwareBuildTime->set_text( pCamInfo->firmwareBuildTime );
    m_pLabelDriverName->set_text( pCamInfo->driverName );

    if ( pCamInfo->interfaceType == INTERFACE_GIGE )
    {
        m_pVboxGigECameraInfo->show();

        char gigEVersion[16];
        sprintf( gigEVersion, "%u.%u", pCamInfo->gigEMajorVersion, pCamInfo->gigEMinorVersion );
        m_pLabelGigEVersion->set_text( gigEVersion );

        m_pLabelGigEUserDefinedName->set_text( pCamInfo->userDefinedName );
        m_pLabelGigEXmlUrl1->set_text( pCamInfo->xmlURL1 );
        m_pLabelGigEXmlUrl2->set_text( pCamInfo->xmlURL2 );

        char macAddress[64];
        sprintf(
            macAddress,
            "%02X:%02X:%02X:%02X:%02X:%02X",
            pCamInfo->macAddress.octets[0],
            pCamInfo->macAddress.octets[1],
            pCamInfo->macAddress.octets[2],
            pCamInfo->macAddress.octets[3],
            pCamInfo->macAddress.octets[4],
            pCamInfo->macAddress.octets[5]);
        m_pLabelGigEMacAddress->set_text( macAddress );

        char ipAddress[32];
        sprintf(
            ipAddress,
            "%u.%u.%u.%u",
            pCamInfo->ipAddress.octets[0],
            pCamInfo->ipAddress.octets[1],
            pCamInfo->ipAddress.octets[2],
            pCamInfo->ipAddress.octets[3]);
        m_pLabelGigEIpAddress->set_text( ipAddress );

        char subnetMask[32];
        sprintf(
            subnetMask,
            "%u.%u.%u.%u",
            pCamInfo->subnetMask.octets[0],
            pCamInfo->subnetMask.octets[1],
            pCamInfo->subnetMask.octets[2],
            pCamInfo->subnetMask.octets[3]);
        m_pLabelGigESubnetMask->set_text( subnetMask );

        char defaultGateway[32];
        sprintf(
            defaultGateway,
            "%u.%u.%u.%u",
            pCamInfo->defaultGateway.octets[0],
            pCamInfo->defaultGateway.octets[1],
            pCamInfo->defaultGateway.octets[2],
            pCamInfo->defaultGateway.octets[3]);
        m_pLabelGigEDefaultGateway->set_text( defaultGateway );

        GigECamera* pCamera = dynamic_cast<GigECamera*>(m_pCamera);
        if ( pCamera != NULL )
        {
            unsigned int ipConfigurationVal = 0;
            Error error = pCamera->ReadGVCPRegister( 0x0010, &ipConfigurationVal );
            if ( error != PGRERROR_OK )
            {
                return;
            }

            m_pCheckGigEIpLLA->set_active( (ipConfigurationVal & 0x1) != 0 );
            m_pCheckGigEIpDHCP->set_active( (ipConfigurationVal & 0x2) != 0 );
            m_pCheckGigEIpPersistentIp->set_active( (ipConfigurationVal & 0x4) != 0 );
        }
        else
        {
            m_pCheckGigEIpLLA->set_active( false );
            m_pCheckGigEIpDHCP->set_active( false );
            m_pCheckGigEIpPersistentIp->set_active( false );
        }

        m_pCheckGigEIpLLA->set_sensitive( false );
        m_pCheckGigEIpDHCP->set_sensitive( false );
        m_pCheckGigEIpPersistentIp->set_sensitive( false );
    }
    else
    {
        m_pVboxGigECameraInfo->hide();
    }
}