CameraSettings::Camera NAOCamera::setActiveCamera(CameraSettings::Camera newCamera) { // If no change required, do nothing. if(m_settings.activeCamera == newCamera) return m_settings.activeCamera; CameraSettings::Camera previous_camera = m_settings.activeCamera; int i2cFd = open("/dev/i2c-0", O_RDWR); ASSERT(i2cFd != -1); VERIFY(ioctl(i2cFd, 0x703, 8) == 0); VERIFY(i2c_smbus_read_byte_data(i2cFd, 170) >= 2); // at least Nao V3 unsigned char cmd[2] = {newCamera, 0}; VERIFY(i2c_smbus_write_block_data(i2cFd, 220, 1, cmd) != -1); // set camera close(i2cFd); #if DEBUG_NUCAMERA_VERBOSITY > 4 // Display debug message. debug << "NAOCamera: Active camera changed: " << CameraSettings::cameraName(previous_camera); debug << " --> " << CameraSettings::cameraName(newCamera) << endl; #endif int horzontal_flip, vertical_flip; int cameraSettingsIndex; switch(newCamera) { case CameraSettings::TOP_CAMERA: horzontal_flip = 1; vertical_flip = 1; cameraSettingsIndex = 0; break; case CameraSettings::BOTTOM_CAMERA: horzontal_flip = 0; vertical_flip = 0; cameraSettingsIndex = 1; break; default: horzontal_flip = 0; vertical_flip = 0; cameraSettingsIndex = -1; break; } if(cameraSettingsIndex != -1) { m_cameraSettings[!cameraSettingsIndex] = m_settings; m_settings = m_cameraSettings[cameraSettingsIndex]; } m_settings.activeCamera = newCamera; VERIFY(applySetting(V4L2_CID_HFLIP, horzontal_flip)); VERIFY(applySetting(V4L2_CID_VFLIP, vertical_flip)); return m_settings.activeCamera; }
/** * @brief Constructor. */ SettingsWindow::SettingsWindow(QDialog *parent) : QDialog(parent) { m_app = qobject_cast<Application *>(qApp); resize(400,300); setWindowTitle("Settings"); m_mainLayout = new QVBoxLayout(this); m_filesPathLayout = new QHBoxLayout; m_filesPathMessage = new QLabel(""); m_filesPathLabel = new QLabel("Files path"); m_filesPathEdit = new QLineEdit; m_filesPathEdit->setText(m_app->getFilesPath()); m_filesPathSearchButton = new QPushButton("Browse"); QObject::connect(m_filesPathSearchButton, SIGNAL(clicked()), this, SLOT(browseFilesPathDialog())); m_knownPathList = new QListView; m_knownPathList->setModel(m_app->getDatabaseManager()->getMoviesPathModel()); m_cancelButton = new QPushButton("Cancel"); QObject::connect(m_cancelButton, SIGNAL(clicked()), this, SLOT(close())); m_submitButton = new QPushButton("Submit"); QObject::connect(m_submitButton, SIGNAL(clicked()), this, SLOT(applySetting())); m_closeLayout = new QHBoxLayout; m_mainLayout->addLayout(m_filesPathLayout); m_mainLayout->addWidget(m_filesPathMessage); m_mainLayout->addWidget(m_knownPathList); m_mainLayout->addLayout(m_closeLayout); m_closeLayout->addWidget(m_cancelButton); m_closeLayout->addWidget(m_submitButton); m_filesPathLayout->addWidget(m_filesPathLabel); m_filesPathLayout->addWidget(m_filesPathEdit); m_filesPathLayout->addWidget(m_filesPathSearchButton); }
void app::applySettingString(string setting) { //Split on the ':' character vector<string> args = split(setting,':'); int num_args = args.size(); if(num_args < 2) return; applySetting(args[0],args[1]); }
void RPiCamera::forceApplySettings(const CameraSettings& newset) { #if DEBUG_NUCAMERA_VERBOSITY > 1 //Copying the new Paramters into m_settings debug << "p_exposureAuto" << newset.p_exposureAuto.get() << endl; debug << "p_autoWhiteBalance" << newset.p_autoWhiteBalance.get() << endl; debug << "p_whiteBalanceTemperature" << newset.p_whiteBalanceTemperature.get() << endl; debug << "p_exposureAutoPriority" << newset.p_exposureAutoPriority.get() << endl; debug << "p_brightness" << newset.p_brightness.get() << endl; debug << "p_contrast" << newset.p_contrast.get() << endl; debug << "p_saturation" << newset.p_saturation.get() << endl; debug << "p_gain" << newset.p_gain.get() << endl; debug << "p_exposureAbsolute" << newset.p_exposureAbsolute.get() << endl; debug << "p_powerLineFrequency" << newset.p_powerLineFrequency.get() << endl; debug << "p_sharpness" << newset.p_sharpness.get() << endl; #endif //Copying the new Paramters into m_settings m_settings = newset; // Auto Controls applySetting(V4L2_CID_EXPOSURE_AUTO, (m_settings.p_exposureAuto.get())); applySetting(V4L2_CID_AUTO_WHITE_BALANCE, (m_settings.p_autoWhiteBalance.get())); applySetting(V4L2_CID_WHITE_BALANCE_TEMPERATURE, (m_settings.p_whiteBalanceTemperature.get())); applySetting(V4L2_CID_EXPOSURE_AUTO_PRIORITY, (m_settings.p_exposureAutoPriority.get())); //Other controls applySetting(V4L2_CID_BRIGHTNESS, (m_settings.p_brightness.get())); applySetting(V4L2_CID_CONTRAST, (m_settings.p_contrast.get())); applySetting(V4L2_CID_SATURATION, (m_settings.p_saturation.get())); applySetting(V4L2_CID_GAIN, (m_settings.p_gain.get())); applySetting(V4L2_CID_EXPOSURE_ABSOLUTE, (m_settings.p_exposureAbsolute.get())); applySetting(V4L2_CID_POWER_LINE_FREQUENCY, (m_settings.p_powerLineFrequency.get())); applySetting(V4L2_CID_SHARPNESS, (m_settings.p_sharpness.get())); //COPIES INTO OLD FORMAT: m_settings.copyParams(); }
void RPiCamera::applySettings(const CameraSettings& newset) { // AutoSettings if(newset.p_exposureAuto.get() != m_settings.p_exposureAuto.get()) { m_settings.p_exposureAuto.set(newset.p_exposureAuto.get()); applySetting(V4L2_CID_EXPOSURE_AUTO, (m_settings.p_exposureAuto.get())); } if(newset.p_autoWhiteBalance.get() != m_settings.p_autoWhiteBalance.get()) { m_settings.p_autoWhiteBalance.set(newset.p_autoWhiteBalance.get()); applySetting(V4L2_CID_AUTO_WHITE_BALANCE, (m_settings.p_autoWhiteBalance.get())); } if(newset.p_whiteBalanceTemperature.get() != m_settings.p_whiteBalanceTemperature.get()) { m_settings.p_whiteBalanceTemperature.set(newset.p_whiteBalanceTemperature.get()); applySetting(V4L2_CID_WHITE_BALANCE_TEMPERATURE, (m_settings.p_whiteBalanceTemperature.get())); } if(newset.p_exposureAutoPriority.get() != m_settings.p_exposureAutoPriority.get()) { m_settings.p_exposureAutoPriority.set(newset.p_exposureAutoPriority.get()); applySetting(V4L2_CID_EXPOSURE_AUTO_PRIORITY, (m_settings.p_exposureAutoPriority.get())); } //Other controls if(newset.p_brightness.get() != m_settings.p_brightness.get()) { m_settings.p_brightness.set(newset.p_brightness.get()); applySetting(V4L2_CID_BRIGHTNESS, (m_settings.p_brightness.get())); } if(newset.p_contrast.get() != m_settings.p_contrast.get()) { m_settings.p_contrast.set(newset.p_contrast.get()); applySetting(V4L2_CID_CONTRAST, (m_settings.p_contrast.get())); } if(newset.p_saturation.get() != m_settings.p_saturation.get()) { m_settings.p_saturation.set(newset.p_saturation.get()); applySetting(V4L2_CID_SATURATION, (m_settings.p_saturation.get())); } if(newset.p_gain.get() != m_settings.p_gain.get()) { m_settings.p_gain.set(newset.p_gain.get()); applySetting(V4L2_CID_GAIN, (m_settings.p_gain.get())); } if(newset.p_exposureAbsolute.get() != m_settings.p_exposureAbsolute.get()) { m_settings.p_exposureAbsolute.set(newset.p_exposureAbsolute.get()); applySetting(V4L2_CID_EXPOSURE_ABSOLUTE, (m_settings.p_exposureAbsolute.get())); } if(newset.p_powerLineFrequency.get() != m_settings.p_powerLineFrequency.get()) { m_settings.p_powerLineFrequency.set(newset.p_powerLineFrequency.get()); applySetting(V4L2_CID_POWER_LINE_FREQUENCY, (m_settings.p_powerLineFrequency.get())); } if(newset.p_sharpness.get() != m_settings.p_sharpness.get()) { m_settings.p_sharpness.set(newset.p_sharpness.get()); applySetting(V4L2_CID_SHARPNESS, (m_settings.p_sharpness.get())); } //COPIES INTO OLD FORMAT: m_settings.copyParams(); }
void NAOCamera::forceApplySettings(const CameraSettings& newset) { //Copying the new Paramters into the m_settings, but saving the old active camera m_settings.p_autoExposure.set(newset.p_autoExposure.get()); m_settings.p_autoWhiteBalance.set(newset.p_autoWhiteBalance.get()); m_settings.p_autoGain.set(newset.p_autoGain.get()); m_settings.p_brightness.set(newset.p_brightness.get()); m_settings.p_contrast.set(newset.p_contrast.get()); m_settings.p_saturation.set(newset.p_saturation.get()); m_settings.p_hue.set(newset.p_hue.get()); m_settings.p_redChroma.set(newset.p_redChroma.get()); m_settings.p_blueChroma.set(newset.p_blueChroma.get()); m_settings.p_gain.set(newset.p_gain.get()); m_settings.p_exposure.set(newset.p_exposure.get()); // Auto Controls applySetting(V4L2_CID_AUTOEXPOSURE, (m_settings.p_autoExposure.get())); applySetting(V4L2_CID_AUTO_WHITE_BALANCE, (m_settings.p_autoWhiteBalance.get())); applySetting(V4L2_CID_AUTOGAIN, (m_settings.p_autoGain.get())); applySetting(V4L2_CID_BRIGHTNESS, (m_settings.p_brightness.get())); applySetting(V4L2_CID_CONTRAST, (m_settings.p_contrast.get())); applySetting(V4L2_CID_SATURATION, (m_settings.p_saturation.get())); applySetting(V4L2_CID_HUE, (m_settings.p_hue.get())); applySetting(V4L2_CID_RED_BALANCE, (m_settings.p_redChroma.get())); applySetting(V4L2_CID_BLUE_BALANCE, (m_settings.p_blueChroma.get())); applySetting(V4L2_CID_GAIN, (m_settings.p_gain.get())); applySetting(V4L2_CID_EXPOSURE, (m_settings.p_exposure.get())); //COPIES INTO OLD FORMAT: m_settings.copyParams(); }
void NAOCamera::applySettings(const CameraSettings& newset) { // Auto Controls if(newset.p_autoExposure.get() != m_settings.p_autoExposure.get()) { m_settings.p_autoExposure.set(newset.p_autoExposure.get()); applySetting(V4L2_CID_AUTOEXPOSURE, (m_settings.p_autoExposure.get())); } if(newset.p_autoWhiteBalance.get() != m_settings.p_autoWhiteBalance.get()) { m_settings.p_autoWhiteBalance.set(newset.p_autoWhiteBalance.get()); applySetting(V4L2_CID_AUTO_WHITE_BALANCE, (m_settings.p_autoExposure.get())); } if(newset.p_autoGain.get() != m_settings.p_autoGain.get()) { m_settings.p_autoGain.set(newset.p_autoGain.get()); applySetting(V4L2_CID_AUTOGAIN, (m_settings.p_autoGain.get())); } if(newset.p_brightness.get() != m_settings.p_brightness.get()) { m_settings.p_brightness.set(newset.p_brightness.get()); applySetting(V4L2_CID_BRIGHTNESS, (m_settings.p_brightness.get())); } if(newset.p_contrast.get() != m_settings.p_contrast.get()) { m_settings.p_contrast.set(newset.p_contrast.get()); applySetting(V4L2_CID_CONTRAST, (m_settings.p_contrast.get())); } if(newset.p_saturation.get() != m_settings.p_saturation.get()) { m_settings.p_saturation.set(newset.p_saturation.get()); applySetting(V4L2_CID_SATURATION, (m_settings.p_saturation.get())); } if(newset.p_hue.get() != m_settings.p_hue.get()) { m_settings.p_hue.set(newset.p_hue.get()); applySetting(V4L2_CID_HUE, (m_settings.p_hue.get())); } if(newset.p_redChroma.get() != m_settings.p_redChroma.get()) { m_settings.p_redChroma.set(newset.p_redChroma.get()); applySetting(V4L2_CID_RED_BALANCE, (m_settings.p_redChroma.get())); } if(newset.p_blueChroma.get() != m_settings.p_blueChroma.get()) { m_settings.p_blueChroma.set(newset.p_blueChroma.get()); applySetting(V4L2_CID_BLUE_BALANCE, (m_settings.p_blueChroma.get())); } if(newset.p_gain.get() != m_settings.p_gain.get()) { m_settings.p_gain.set(newset.p_gain.get()); applySetting(V4L2_CID_GAIN, (m_settings.p_gain.get())); } if(newset.p_exposure.get() != m_settings.p_exposure.get()) { m_settings.p_exposure.set(newset.p_exposure.get()); applySetting(V4L2_CID_EXPOSURE, (m_settings.p_exposure.get())); } //COPIES INTO OLD FORMAT: m_settings.copyParams(); }
void NAOCamera::forceApplySettings(const CameraSettings& newset) { // Auto Controls applySetting(V4L2_CID_AUTOEXPOSURE, (m_settings.autoExposure = newset.autoExposure)); applySetting(V4L2_CID_AUTO_WHITE_BALANCE, (m_settings.autoWhiteBalance = newset.autoWhiteBalance)); applySetting(V4L2_CID_AUTOGAIN, (m_settings.autoGain = newset.autoGain)); applySetting(V4L2_CID_BRIGHTNESS, (m_settings.brightness = newset.brightness)); applySetting(V4L2_CID_CONTRAST, (m_settings.contrast = newset.contrast)); applySetting(V4L2_CID_SATURATION, (m_settings.saturation = newset.saturation)); applySetting(V4L2_CID_HUE, (m_settings.hue = newset.hue)); applySetting(V4L2_CID_RED_BALANCE, (m_settings.redChroma = newset.redChroma)); applySetting(V4L2_CID_BLUE_BALANCE, (m_settings.blueChroma = newset.blueChroma)); applySetting(V4L2_CID_GAIN, (m_settings.gain = newset.gain)); applySetting(V4L2_CID_EXPOSURE, (m_settings.exposure = newset.exposure)); }