Esempio n. 1
0
bool teo::CanBusControlboard::setEncoders(const double *vals) {
    CD_INFO("\n");

    bool ok = true;
    for(unsigned int i=0; i < nodes.size(); i++)
        ok &= setEncoder(i,vals[i]);
    return ok;
}
Esempio n. 2
0
NFABuilder::NFABuilder():
  CurLabel(0),
  ReserveSize(0),
  Fsm(new NFA(1)),
  TransFac(new TransitionFactory())
{
  setEncoder(std::shared_ptr<Encoder>(new ASCII));
  init();
}
std::unique_ptr<Memento::AnalysisBoxMemento> GUI::AnalysisBox::getMemento() {
	auto memento=std::make_unique<Memento::AnalysisBoxMemento>();

	if(origVideo_) {
		memento->setPath(origVideo_->getPath());
		memento->setMacroBlockVideo(&origVideo_->getMacroBlockVideo());
		memento->setRgbDiffVideo(origVideo_->getRgbDiffVideo(
		                             &parentContainer_->getParentTab()->getRawVideo()->getVideo()));
		memento->setPsnrGraph(origVideo_->getPsnr());
		memento->setBitrateGraph(&origVideo_->getBitrate());
		memento->setRedHistogram(&origVideo_->getRedHistogram());
		memento->setGreenHistogram(&origVideo_->getGreenHistogram());
		memento->setBlueHistogram(&origVideo_->getBlueHistogram());
	}
	memento->setEncoder(label_codec_->text());
	memento->setAverageBitrate(label_averageBitrate_->text());
	memento->setFilename(label_filename_->text());
	memento->setFilesize(label_filesize_->text());
	memento->setComment(texteEdit_comment_->toPlainText());

	return std::move(memento);
}
Esempio n. 4
0
void RAW_learnmenue(void) {

	const LABEL label1		= {BC_Label,0,25,50,10,SMALLFONT,0,"RAW Set 1",RAW_editset};
	const LABEL label2		= {BC_Label,0,35,50,10,SMALLFONT,1,"RAW Set 2",RAW_editset};
	const LABEL label3		= {BC_Label,0,45,50,10,SMALLFONT,2,"RAW Set 3",RAW_editset};
	const LABEL label4		= {BC_Label,0,55,50,10,SMALLFONT,3,"RAW Set 4",RAW_editset};
	const LABEL label5		= {BC_Labelnotab,0,15,100,10,BOLDFONT,0,"RAW Set bearbeiten:",0};
	const BUTTON button1	= {BC_Button,0,70,80,15,SMALLFONT,0,"Alles loeschen",RAW_eraseall};
	
	CONTROL* controls[6] = {	(CONTROL*)&label1,
								(CONTROL*)&label2,
								(CONTROL*)&label3,
								(CONTROL*)&label4,
								(CONTROL*)&label5,
								(CONTROL*)&button1};
	
	FORM form  = {"IR-Codes anlernen",0,0,0,0,controls,0,6};
	
	form_exec(&form);
	setEncoder(irDevTab.device[irDevTab.active].encoder, irDevTab.device[irDevTab.active].set);

}
Esempio n. 5
0
bool teo::FakeControlboard::open(Searchable& config) {

    axes = config.check("axes",DEFAULT_AXES,"number of axes to control").asInt();
    double genInitPos = config.check("genInitPos",DEFAULT_GEN_INIT_POS,"general initialization positions").asDouble();
    double genJointTol = config.check("genJointTol",DEFAULT_GEN_JOINT_TOL,"general joint tolerances").asDouble();
    double genMaxLimit = config.check("genMaxLimit",DEFAULT_GEN_MAX_LIMIT,"general max limits").asDouble();
    double genMinLimit = config.check("genMinLimit",DEFAULT_GEN_MIN_LIMIT,"general min limits").asDouble();
    double genRefSpeed = config.check("genRefSpeed",DEFAULT_GEN_REF_SPEED,"general ref speed").asDouble();
    double genEncRawExposed = config.check("genEncRawExposed",DEFAULT_GEN_ENC_RAW_EXPOSED,"general EncRawExposed").asDouble();
    double genVelRawExposed = config.check("genVelRawExposed",DEFAULT_GEN_VEL_RAW_EXPOSED,"general VelRawExposed").asDouble();
    modePosVel = config.check("modePosVel",DEFAULT_MODE_POS_VEL,"0:pos, 1:vel").asInt();

    Bottle* initPoss;
    if (config.check("initPoss")) {
        initPoss = config.find("initPoss").asList();
        printf("FakeControlboard using individual initPoss: %s\n",initPoss->toString().c_str());
        if(initPoss->size() != axes) printf("[warning] initPoss->size() != axes\n");
    } else {
        initPoss = 0;
        printf("FakeControlboard not using individual initPoss, defaulting to genInitPos.\n");
    }
    Bottle* jointTols;
    if (config.check("jointTols")) {
        jointTols = config.find("jointTols").asList();
        printf("FakeControlboard using individual jointTols: %s\n",jointTols->toString().c_str());
        if(jointTols->size() != axes) printf("[warning] jointTols->size() != axes\n");
    } else {
        jointTols = 0;
        printf("FakeControlboard not using individual jointTols, defaulting to genJointTol.\n");
    }
    Bottle* maxLimits;
    if (config.check("maxLimits")) {
        maxLimits = config.find("maxLimits").asList();
        printf("FakeControlboard using individual maxLimits: %s\n",maxLimits->toString().c_str());
        if(maxLimits->size() != axes) printf("[warning] maxLimits->size() != axes\n");
    } else {
        maxLimits = 0;
        printf("FakeControlboard not using individual maxLimits, defaulting to genMaxLimit.\n");
    }
    Bottle* minLimits;
    if (config.check("minLimits")) {
        minLimits = config.find("minLimits").asList();
        printf("FakeControlboard using individual minLimits: %s\n",minLimits->toString().c_str());
        if(minLimits->size() != axes) printf("[warning] minLimits->size() != axes\n");
    } else {
        minLimits = 0;
        printf("FakeControlboard not using individual minLimits, defaulting to genMinLimit.\n");
    }
    Bottle* refSpeeds;
    if (config.check("refSpeeds")) {
        refSpeeds = config.find("refSpeeds").asList();
        printf("FakeControlboard using individual refSpeeds: %s\n",refSpeeds->toString().c_str());
        if(refSpeeds->size() != axes) printf("[warning] refSpeeds->size() != axes\n");
    } else {
        refSpeeds = 0;
        printf("FakeControlboard not using individual refSpeeds, defaulting to genRefSpeed.\n");
    }
    Bottle* encRawExposeds;
    if (config.check("encRawExposeds")) {
        encRawExposeds = config.find("encRawExposeds").asList();
        printf("FakeControlboard using individual encRawExposeds: %s\n",encRawExposeds->toString().c_str());
        if(encRawExposeds->size() != axes) printf("[warning] encRawExposeds->size() != axes\n");
    } else {
        encRawExposeds = 0;
        printf("FakeControlboard not using individual encRawExposeds, defaulting to genEncRawExposed.\n");
    }
    Bottle* velRawExposeds;
    if (config.check("velRawExposeds")) {
        velRawExposeds = config.find("velRawExposeds").asList();
        printf("FakeControlboard using individual velRawExposeds: %s\n",velRawExposeds->toString().c_str());
        if(velRawExposeds->size() != axes) printf("[warning] velRawExposeds->size() != axes\n");
    } else {
        velRawExposeds = 0;
        printf("FakeControlboard not using individual velRawExposeds, defaulting to genVelRawExposed.\n");
    }

    encRawExposed.resize(axes);
    jointStatus.resize(axes);
    initPos.resize(axes);
    jointTol.resize(axes);
    maxLimit.resize(axes);
    minLimit.resize(axes);
    refSpeed.resize(axes);
    velRawExposed.resize(axes);
    for (unsigned int i=0; i<axes; i++) {
        jointStatus[i]=0;
        if(!refSpeeds) refSpeed[i]=genRefSpeed;
        else refSpeed[i]=refSpeeds->get(i).asDouble();
        if(!minLimits) minLimit[i]=genMinLimit;
        else minLimit[i]=minLimits->get(i).asDouble();
        if(!maxLimits) maxLimit[i]=genMaxLimit;
        else maxLimit[i]=maxLimits->get(i).asDouble(); 
        if(!initPoss) initPos[i]=genInitPos;
        else initPos[i]=initPoss->get(i).asDouble(); 
        if(!jointTols) jointTol[i]=genJointTol;
        else jointTol[i]=jointTols->get(i).asDouble(); 
        if(!encRawExposeds) encRawExposed[i]=genEncRawExposed;
        else encRawExposed[i]=encRawExposeds->get(i).asDouble(); 
        if(!velRawExposeds) velRawExposed[i]=genVelRawExposed;
        else velRawExposed[i]=velRawExposeds->get(i).asDouble(); 
    }
    encRaw.resize(axes, 0.0);
    refAcc.resize(axes, 1.0);
    targetExposed.resize(axes, 0.0);
    velRaw.resize(axes, 0.0);

    for (unsigned int i=0; i<axes; i++) {
        setEncoder(i,initPos[i]);
    }

    // Start the RateThread
    this->setRate(jmcMs);
    this->start();
    
    return true;
}
Esempio n. 6
0
int main(void)
{
	sysInfo = 0;
	
	SCS |= 0x01;
	FIODIR0 |= ((1<<21) | (1<<4) | (1<<11) | (1<<6) | (1<<23) | (1<<19) | (1<<17));
	FIODIR0 |= (1<<12);
	FIOSET0 |= (1<<12);
	xx = 0x00;

	setSpeed(SPEED_30);

	lcd_init(0);
	serial_init();

	startTimerIRQ();
	startADC();

	initKeys();

	initSound();
	startSoundIRQ();

	initIR();
	startIrIRQ();

    RF_init();
    startcc1100IRQ();
	enableWOR();
	
	initRTC();
	startRtcIRQ();
	
	enableIRQ();

	testmenu_init();
	init_menu();
	
	initBacklight();

	oldkeys[0] = keys[0];
	oldkeys[1] = keys[0];

	key_state = KEY_IDLE;

	set_font(BOLDFONT);
	
	BFS_Mount();
	load_RC_setting();
	load_RF_setting();
	load_setting();
	
	{
		struct RAWset_ RAWset;
        unsigned char x;
        unsigned long RAWcmdbase;
        
        RAWcmdbase = FLASH1_BASE +(secaddr[0]<<1);
        x=memcmp((void*)RAWcmdbase,"RC01",4);
		
        if(!x) {
               
				memcpy(&RAWset,(void *)RAWcmdbase,sizeof(struct RAWset_));
				RAWset.name[7] = 0;
				BFS_SaveFile(BFS_ID_RAWslot0, sizeof(struct RAWset_), (unsigned char*) &RAWset);
				eraseSector(1,0);
        }
	}
	
	if (EncIsValid(irDevTab.device[irDevTab.active].encoder, irDevTab.device[irDevTab.active].set)) {
		setEncoder(irDevTab.device[irDevTab.active].encoder, irDevTab.device[irDevTab.active].set);
	}	
	
	drawMainscreen();
	ask_for_time(0);
	
						
/*
	playSound((unsigned char*)sound1_data, sound1_len);
	waitSound();
	playSound((unsigned char*)sound2_data, sound2_len);
*/

	while (1)
	{
		if(keys[0] != oldkeys[0] || keys[1] != oldkeys[1])
		{
			oldkeys[0] = keys[0];
			oldkeys[1] = keys[1];
			sysInfo |= 0x40;
		}

		switch(key_state)
		{
			case KEY_IDLE:
				if(sysInfo & 0x40)
				{
					sysInfo &= 0xBF;
					if(KEY_Betty)
					{
						setBacklight(BL_AUTO);
						menu_exec(&mainMenu);
						if (EncIsValid(irDevTab.device[irDevTab.active].encoder, irDevTab.device[irDevTab.active].set)) {
							setEncoder(irDevTab.device[irDevTab.active].encoder, irDevTab.device[irDevTab.active].set);
						}
						drawMainscreen();
					}
					else if(KEY_2)
					{
						//setSpeed(SPEED_30);
					}
					else if(KEY_3)
					{
						//setSpeed(SPEED_60);
					}
					else  if(KEY_A || KEY_B || KEY_C || KEY_D)
					{
						unsigned char x;
						//playSound((unsigned char*)sound3_data, sound3_len);
						x=0;
						if (KEY_B) x=1;
						if (KEY_C) x=2;
						if (KEY_D) x=3;
						
						if (EncIsValid(irDevTab.device[x].encoder, irDevTab.device[x].set)) {
							setBacklight(BL_AUTO);
							irDevTab.active = x;
							setEncoder(irDevTab.device[x].encoder, irDevTab.device[x].set);
							drawMainscreen();
						}	
					}
/*					else if(KEY_B)
					{
					
					}
					else if(KEY_C)
					{	
//						playSound((unsigned char*)sound1_data, sound1_len);
					}
					else if(KEY_D)
					{	
//						playSound((unsigned char*)sound2_data, sound2_len);
					}*/
					if((keys[0] != 0) || (keys[1] != 0))
						key_state = KEY_PRESS;
				}
				break;
			case KEY_PRESS:
				irSend(getCode());
				key_state = KEY_HOLD;
//				autorepeat = 0;
				break;
			case KEY_HOLD:
//				if(autorepeat >= AUTO_TIMEOUT)
					irRepeat();

				if(keys[0] == 0 && keys[1] == 0)
					key_state = KEY_RELEASE;

				break;
			case KEY_RELEASE:
				irStop();
				key_state = KEY_IDLE;
				break;
		}

		if(serial_tstc() > 0)
		{
			i = serial_getc();
			if(i=='.')
			{
				serial_puts("HELO");
			}
			else if(i=='0')
			{
				setBacklight(0x00);	// pwm value
			}
			else if(i=='1')
			{
				setBacklight(0x1F);	// pwm value
			}
			else if(i=='2')
			{
				setBacklight(0x3F);	// pwm value
			}
			else
				serial_putc(i);
		}
		
		if ((bl_val == 0) && (key_state == KEY_IDLE) && !((FIOPIN0 & (1<<30)) == 0) && (((RFstatus & (WORrxon | RXenabled)) == 0))) {
			EXTINT = 0x08;
			PCON = 0x02;
			PLLFEED = 0xAA;
			PLLFEED = 0x55;
		}
		
		if (timeInfo & timechanged) {
			printTime(86,152,(struct time_ *)&time);
			printDate(0,152,(struct date_ *)&date,0);
			
			timeInfo &= ~timechanged;
		}
		
	}
	return 0;
}