예제 #1
0
void SMSC95xxUSB::readStart()
{
    ProcessID pid    = getFiles()->get(m_transferFile)->mount;
    Size rxSize      = m_packetSize; //SMSC9512_DEFAULT_HS_BURST_CAP_SIZE; //size + ReceiveCommandSize;
    Size frameLength = 0;

    DEBUG("");

    // Get receive packet buffer
    m_rxPacket = m_smsc->getReceiveQueue()->get();
    if (!m_rxPacket)
    {
        ERROR("no free receive packet buffer available");
        return;
    }
    // Begin USB transfer
    Error err = beginTransfer(
        USBTransfer::Bulk,
        USBTransfer::In,
        m_endpoints[0].endpointAddress & 0xf,
        m_rxPacket->data,
        rxSize,
        m_endpoints[0].maxPacketSize,
        m_readFinished
    );
    if (err != ESUCCESS)
        ERROR("failed to submit packet receive request");
}
예제 #2
0
void SMSC95xxUSB::writeStart()
{
    DEBUG("");

    if (m_txPacket)
    {
        ERROR("transmit already in progress");
        return;
    }

    m_txPacket = m_smsc->getTransmitQueue()->pop();
    if (!m_txPacket)
    {
        DEBUG("no transmit data packet available");
        return;
    }

    // Flush L1 cache
    VMCtl(SELF, CacheClean, 0);

    // Start bulk transfer
    Error err = beginTransfer(
        USBTransfer::Bulk,
        USBTransfer::Out,
        m_endpoints[1].endpointAddress & 0xf,
        m_txPacket->data,
        m_txPacket->size,
        m_endpoints[1].maxPacketSize,
        m_writeFinished
    );
}
예제 #3
0
void MCP4921::sendCommand() {
    _spi->setBitOrder(SPI_BITORDER_MSBFIRST);
    _spi->setDataMode(SPI_MODE0);
    _spi->setClockDivider(SPI_CLOCK_DIV128);
    beginTransfer();
    write((_command >> 8) & 0xff);
    write((_command >> 0) & 0xff);
    endTransfer();
}
예제 #4
0
void DigitalPotMCP4251::write(uint8_t wiper, uint8_t val) {
	beginTransfer();

	DigitalPotMCP4251_Address_t address;
	if(wiper == 0) {
		address = DigitalPotMCP4251_Address_Wiper0;
	} else {
		address = DigitalPotMCP4251_Address_Wiper1;
	}

	writeCommand(address, DigitalPotMCP4251_CommandBits_WriteData, val);

	endTransfer();
}
CURLEasySession::CURLEasySession(String localPath,
								 String remotePath,
								 bool upload,
								 String username,
								 String password)
{
	handle = CURLManager::getInstance()->createEasyCurlHandle();
	enableFullDebugging (true);
	curl_easy_setopt (handle, CURLOPT_NOPROGRESS, false);

	setLocalFile (File (localPath));
	setRemotePath (remotePath);
	setUserNameAndPassword (username, password);
	beginTransfer (upload);
}
예제 #6
0
uint8_t DigitalPotMCP4251::read(uint8_t wiper) {
	beginTransfer();

	DigitalPotMCP4251_Address_t address;
	if(wiper == 0) {
		address = DigitalPotMCP4251_Address_Wiper0;
	} else {
		address = DigitalPotMCP4251_Address_Wiper1;
	}

	uint8_t result = writeCommand(address, DigitalPotMCP4251_CommandBits_ReadData, 0);

	endTransfer();

	return result;
}
예제 #7
0
ExpTranWindow::ExpTranWindow(QMainWindow *window)
{    
    ui.setupUi(this);

    settings = new QDialog();
    sUi.setupUi(settings);
    connect(sUi.buttonBox,SIGNAL(accepted()),this,SLOT(changeSettings()));

    face_widget1 = new FaceWidget();
    face_widget2 = new FaceWidget();
    face_widget3 = new CustomizableFaceWidget();
    ui.verticalLayout->addWidget(face_widget1);
    f_dialog = new QFileDialog();
    v_dialog = new QFileDialog();    

    picLabelV = new FeaturePointQLabel();
    flowLabelV = new VectorFieldQLabel();
    ui.verticalLayout_3->addWidget(picLabelV);
    ui.verticalLayout_4->addWidget(flowLabelV);
    face_widget2->setVisible(false);
    ui.verticalLayout_4->addWidget(face_widget2);


    ui.videoTabProgressBar->setVisible(false);
    //intialize transfer widget    
    v_controller = new VideoTabController("obama.avi",
                                          picLabelV, flowLabelV, this, face_widget2);

    //ui.verticalLayoutWidget->setGeometry(10,10,650,650);

    sourceLabel = new FeaturePointQLabel();
    targetLabel = new FeaturePointQLabel();
    ui.srcLayout->addWidget(sourceLabel);
    ui.targetLayout->addWidget(targetLabel);
    face_widget3->setVisible(false);
    ui.targetLayout->addWidget(face_widget3);

    ui.transferTabProgressBar->setVisible(false);
    t_controller = new TransferTabController(sourceLabel,targetLabel,this, ui.srcText,ui.targetTxt, face_widget3);

    //tracking determines when value change signal is emitted
    //either after the user lets go (false) or as its being dragged (true)
    ui.expSlider->setTracking(true);

    //setup controllers
    f_controller = new FaceTabController(ui.expSlider,ui.identSlider,face_widget1);

    /*********************/
    /* connect signals and slots*/
    /*******************/
    //2 ways how to do this ... depending on which dialog we want
    //connect(ui.action_Open,SIGNAL(triggered()),my_widget,SLOT(face_file_changed()));
    connect(ui.action_Open,SIGNAL(triggered()),f_dialog,SLOT(show()));
    connect(ui.actionVideo_File,SIGNAL(triggered()),v_dialog,SLOT(show()));
    connect(ui.actionPreferences,SIGNAL(triggered()),settings,SLOT(show()));


    //face controller connects
    connect(ui.expComboBox,SIGNAL(activated(QString)),f_controller,SLOT(expression_activated(QString)));    
    connect(ui.expSlider,SIGNAL(valueChanged(int)),f_controller,SLOT(exp_slider_moved(int)));
    connect(ui.identSlider,SIGNAL(valueChanged(int)),f_controller,SLOT(id_slider_moved(int)));
    connect(ui.identSpinBox,SIGNAL(valueChanged(int)),f_controller,SLOT(identity_activated(int)));
    connect(ui.renderButton,SIGNAL(clicked()),f_controller,SLOT(render_action()));
    connect(ui.interExpRadio,SIGNAL(toggled(bool)),f_controller,SLOT(exp_inter_toggled(bool)));
    connect(ui.interIdRadio,SIGNAL(toggled(bool)),f_controller,SLOT(id_inter_toggled(bool)));

    //menu
    connect(f_dialog,SIGNAL(fileSelected(const QString)),f_controller,SLOT(face_file_changed(const QString)));
    connect(v_dialog,SIGNAL(fileSelected(const QString)),v_controller,SLOT(video_file_changed(const QString)));

    //face widget connects    
    connect(ui.wireRadioButton,SIGNAL(toggled(bool)),face_widget1,SLOT(wireFrameChecked(bool)));    
    connect(ui.featureRadio,SIGNAL(toggled(bool)),face_widget1,SLOT(featureToggled(bool)));
    connect(ui.mouthRadio,SIGNAL(toggled(bool)),face_widget1,SLOT(mouthToggled(bool)));

    //video controller connects
    connect(ui.restartButton,SIGNAL(clicked()),v_controller,SLOT(restartCapturing()));
    connect(ui.playButton,SIGNAL(clicked()),v_controller,SLOT(playTransfer()));
    connect(ui.pauseButton,SIGNAL(clicked()),v_controller,SLOT(pauseTransfer()));
    connect(ui.flowButton,SIGNAL(clicked()),v_controller,SLOT(findGoodFeaturePoints()));
    connect(ui.drawRadio,SIGNAL(clicked(bool)),v_controller,SLOT(toggleDrawable(bool)));
    connect(ui.extractBtn,SIGNAL(clicked()),v_controller,SLOT(extractPose()));
    connect(ui.dropButton,SIGNAL(clicked()),v_controller,SLOT(dropFrame()));
    connect(ui.modelButton,SIGNAL(clicked()),v_controller,SLOT(playBack()));
    connect(ui.cameraButton,SIGNAL(clicked()),v_controller,SLOT(calibrate()));

    connect(ui.detect,SIGNAL(clicked()),v_controller,SLOT(detect()));

    //transfer controller connects
    connect(ui.browseS,SIGNAL(clicked()),t_controller,SLOT(srcBrowse()));
    connect(ui.browseD,SIGNAL(clicked()),t_controller,SLOT(targetBrowse()));
    connect(ui.dropS,SIGNAL(clicked()),t_controller,SLOT(dropSrc()));
    connect(ui.dropT,SIGNAL(clicked()),t_controller,SLOT(dropTarget()));
    connect(ui.startT,SIGNAL(clicked()),t_controller,SLOT(beginTransfer()));
    connect(ui.restartTransferButton,SIGNAL(clicked()),t_controller,SLOT(restart()));
    connect(ui.srcFeat,SIGNAL(clicked()),t_controller,SLOT(selectGoodFeatureSrcPoints()));
    connect(ui.targetFeat,SIGNAL(clicked()),t_controller,SLOT(selectGoodFeatureTargetPoints()));

    //settings connects
    connect(sUi.optBox,SIGNAL(activated(int)),t_controller,SLOT(setOptType(int)));
    connect(sUi.regBox,SIGNAL(valueChanged(double)),t_controller,SLOT(setOptReg(double)));
    connect(sUi.nelder,SIGNAL(toggled(bool)),t_controller,SLOT(setOptNelder(bool)));
    connect(sUi.iterBox,SIGNAL(valueChanged(int)),t_controller,SLOT(setIterNum(int)));
    connect(sUi.frameBox,SIGNAL(valueChanged(int)),t_controller,SLOT(setFrameNum(int)));

    connect(sUi.optBox,SIGNAL(activated(int)),v_controller,SLOT(setOptType(int)));
    connect(sUi.regBox,SIGNAL(valueChanged(double)),v_controller,SLOT(setOptReg(double)));
    connect(sUi.nelder,SIGNAL(toggled(bool)),v_controller,SLOT(setOptNelder(bool)));
    connect(sUi.iterBox,SIGNAL(valueChanged(int)),v_controller,SLOT(setIterNum(int)));
    connect(sUi.frameBox,SIGNAL(valueChanged(int)),v_controller,SLOT(setFrameNum(int)));

    connect(sUi.constantId,SIGNAL(toggled(bool)),v_controller,SLOT(setConstID(bool)));
    connect(sUi.project2D,SIGNAL(toggled(bool)),v_controller,SLOT(setPointGen2D(bool)));
    connect(sUi.project3D,SIGNAL(toggled(bool)),v_controller,SLOT(setPointGen3D(bool)));
    connect(sUi.hybrid,SIGNAL(toggled(bool)),v_controller,SLOT(setHybrid(bool)));
    connect(sUi.none,SIGNAL(toggled(bool)),v_controller,SLOT(setNone(bool)));
    connect(sUi.projModel,SIGNAL(toggled(bool)),v_controller,SLOT(setProjModel(bool)));
    connect(sUi.firstFrame,SIGNAL(toggled(bool)),v_controller,SLOT(setWithFirstFrame(bool)));
    connect(sUi.pointsBox,SIGNAL(valueChanged(int)),v_controller,SLOT(setGenPoints(int)));

    //settings t_cont
    connect(sUi.poisson,SIGNAL(toggled(bool)),t_controller,SLOT(setPoisson(bool)));
    connect(sUi.interpolate,SIGNAL(toggled(bool)),t_controller,SLOT(setTexture(bool)));
    connect(sUi.background,SIGNAL(toggled(bool)),t_controller,SLOT(setUsingBackground(bool)));

    connect(sUi.constantId,SIGNAL(toggled(bool)),t_controller,SLOT(setConstID(bool)));
    connect(sUi.project2D,SIGNAL(toggled(bool)),t_controller,SLOT(setPointGen2D(bool)));
    connect(sUi.project3D,SIGNAL(toggled(bool)),t_controller,SLOT(setPointGen3D(bool)));

    connect(sUi.texture3d,SIGNAL(toggled(bool)),t_controller,SLOT(setTextured3D(bool)));
    connect(sUi.hybrid,SIGNAL(toggled(bool)),t_controller,SLOT(setHybrid(bool)));
    connect(sUi.projModel,SIGNAL(toggled(bool)),t_controller,SLOT(setProjModel(bool)));
    connect(sUi.none,SIGNAL(toggled(bool)),t_controller,SLOT(setNone(bool)));
    connect(sUi.firstFrame,SIGNAL(toggled(bool)),t_controller,SLOT(setWithFirstFrame(bool)));
    connect(sUi.pointsBox,SIGNAL(valueChanged(int)),t_controller,SLOT(setGenPoints(int)));
}