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; }
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); }
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); }
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; }
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; }