static void showNode(Absyn *node, int indent) { if (node == NULL) { error("showNode got NULL node pointer"); } switch (node->type) { case ABSYN_NUM: showNum(node, indent); break; case ABSYN_STR: showStr(node, indent); break; case ABSYN_NUMTY: showNumTy(node, indent); break; case ABSYN_STRTY: showStrTy(node, indent); break; case ABSYN_CLASSTY: showClassTy(node, indent); break; case ABSYN_ARRAYTY: showArrayTy(node, indent); break; case ABSYN_DECLIST: showDecList(node, indent); break; case ABSYN_STRLIST: showStrList(node, indent); break; case ABSYN_VALLIST: showValList(node, indent); break; default: error("unknown node type %d in showAbsyn", node->type); } }
//此时电机比656多两个脉冲,即相当于658nm的681脉冲处 BOOLEAN swgCal656nm(void) { int i,j; INT16U twd,wdMax=0; INT16U tbWd[NUM_OF_FILT]; //INT16U tb656nm[5]; swgFindUpEdge(); //找到了零级的上升沿 j = 0; //找最大值 while(1) { for(i=0;i<NUM_OF_FILT;i++) { tbWd[i]=ReadDataCfgReg(0x91,0x01); utDelay1ms(20); } twd = BubbleSort1(tbWd,NUM_OF_FILT,NUM_OF_RMV); ++j; utPrt("@%d:%x\n",j,twd); sprintf(str,"@%d:%x\n",j,twd); //utPtn1(str); if(twd<wdMax) { utPrt("begin@%d:%x\n",j,twd); sprintf(str,"begin@%d:%x\n",j,twd); //utPtn1(str); if(twd<VT_MAX) { //最大值出错,从头再找 sprintf(str,"tw=%x\n",twd); //sprintf(str,"begin@%d:%x\n",j,twd); //utPtn1(str); showStr(); swgFindUpEdge(); continue; } break; } else { wdMax = twd; //保留最大值 motor (); //继续转 } } #if 0 //为了测试空气的sig for(i=0;i<200;i++) //把大约前200去掉 { motor (); utDelay1ms (4); } setAD16Amp (2); //14位, 8倍 utDelay1ms (100); //等待数据稳定 for(i=200;i<700;i++) { dat=ReadDataCfgReg(0x91,0x01); dat1=ReadDataCfgReg(0x93,0x01); utPrt("%x,%x,%d\n",dat,dat1,i); motor(); utDelay1ms(100); } while(1) { LAMP_TOG; utDelay1ms(200); } #endif //找到最高点了,前前一个是最高点,本点是第2点 //for(i=0;i<681;i++) //680 for(i=0;i<671;i++) //680 { motor (); utDelay1ms (2); } //数字太小了,要放大8倍来看 //WriteDataCfgReg(0x90,0x07); setADRefBitsAmp (14, 8); //14位, 8倍 utDelay1ms (20); //等待数据稳定 //开始683点 //找此时的极值 pMaxRef = 0; maxRef = 0; for(j=0;j<MAX_656SCAN;j++) //675-690,5 { for(i=0;i<NUM_OF_FILT;i++) { tbWd[i]=ReadDataCfgReg(0x91,0x01); utDelay1ms(20); } motor (); //转到下一个 twd = BubbleSort1(tbWd,NUM_OF_FILT,NUM_OF_RMV); if(twd>maxRef) { maxRef = twd; pMaxRef = j; } //tb656nm[j] = twd; utPrt("%x,%d\n",twd,j); sprintf(str,"%x,%d\n",twd,j); //utPtn1(str); utDelay1ms(40); //等待100ms稳定 } sprintf(str,"max=%x,%d\n\n",maxRef,pMaxRef); //utPtn1(str); utPtn(str); //if(tb656nm[2]<0x0400) if(maxRef<VT_MAX656) { sprintf(str,"656=%x",maxRef); showStr(); return false; } if((pMaxRef==0)||(pMaxRef==(MAX_656SCAN-1))) { sprintf(str,"maxref=%x",pMaxRef); showStr(); return false; } curStep = 679+(MAX_656SCAN-1-pMaxRef); //679对应656nm //定位OK utPtn("location 656 ok!\n"); //回到16位,固定下来放大两倍 //WriteDataCfgReg(0x90,0x0D); //0D->16位,放大2倍 setAD16Amp(2); utDelay1ms(20); return true; }
RupCell::RupCell(int i) { f_init(); showStr(CCString::createWithFormat("+%d",i)->getCString()); }
bool ActivityView::init() { if (!PopupBaseView::init()) { return false; } setIsHDPanel(true); if (m_obj->type != 6) return false; CCLoadSprite::doResourceByCommonIndex(500, true); CCLoadSprite::doResourceByCommonIndex(502, true); CCLoadSprite::doResourceByCommonIndex(506, true); auto size = CCDirector::sharedDirector()->getWinSize(); this->setContentSize(CCSize(640, 852)); if (CCCommonUtils::isIosAndroidPad()) { this->setContentSize(CCSize(1536, 2048)); } CCBLoadFile("ActivityView", this, this); if (CCCommonUtils::isIosAndroidPad()) { m_bottomNode->setPositionY(m_bottomNode->getPositionY() - (size.height - 2048)); m_listNode->setPositionY(m_listNode->getPositionY() - (size.height - 2048)); m_listNode->setContentSize(CCSize(m_listNode->getContentSize().width, m_listNode->getContentSize().height + size.height - 2048)); } else { m_bottomNode->setPositionY(m_bottomNode->getPositionY() - (size.height - 852)); m_listNode->setPositionY(m_listNode->getPositionY() - (size.height - 852)); m_listNode->setContentSize(CCSize(m_listNode->getContentSize().width, m_listNode->getContentSize().height + size.height - 852)); } if (m_obj->exchange == "1" || m_obj->exchange == "2") { m_bottomNode->setVisible(true); } else { m_bottomNode->setVisible(false); if (CCCommonUtils::isIosAndroidPad()) { m_listNode->setPositionY(m_listNode->getPositionY() - 178); m_listNode->setContentSize(CCSize(m_listNode->getContentSize().width, m_listNode->getContentSize().height + 178)); } else { m_listNode->setPositionY(m_listNode->getPositionY() - 92); m_listNode->setContentSize(CCSize(m_listNode->getContentSize().width, m_listNode->getContentSize().height + 92)); } } m_titleLabel->setString(_lang("150215")); CCCommonUtils::setButtonTitle(m_rwdBtn, _lang("133076").c_str()); Node* node = Node::create(); CCLabelIF* label = nullptr; Sprite* spr = nullptr; float height = 0; { if (!m_obj->rewardIds.empty()) { if (m_obj->showDialogs.size() > 0) { height -= 20; if (CCCommonUtils::isIosAndroidPad()) { height -= 20; } } for (auto it = m_obj->showDialogs.begin(); it != m_obj->showDialogs.end(); ++it) { vector<string> tVec; CCCommonUtils::splitString(*it, ";", tVec); string showStr(""); if (tVec.size() == 1) { showStr = _lang(tVec[0]); } else if (tVec.size() == 2) { showStr = _lang_1(tVec[0].c_str(), (CCCommonUtils::getNameById(tVec[1])).c_str()); } else if (tVec.size() == 3) { showStr = _lang_2(tVec[0].c_str(), (CCCommonUtils::getNameById(tVec[1])).c_str(), (CCCommonUtils::getNameById(tVec[2])).c_str()); } else if (tVec.size() == 4) { showStr = _lang_3(tVec[0].c_str(), (CCCommonUtils::getNameById(tVec[1])).c_str(), (CCCommonUtils::getNameById(tVec[2])).c_str(), (CCCommonUtils::getNameById(tVec[3])).c_str()); } label = CCLabelIF::create(showStr.c_str()); label->setFontSize(20); if (CCCommonUtils::isIosAndroidPad()) { label->setFontSize(40); } label->setColor(ccBLACK); label->setAnchorPoint(Vec2(0.5, 1)); label->setDimensions(Size(580, 0)); if (CCCommonUtils::isIosAndroidPad()) { label->setDimensions(Size(1300, 0)); } label->setHorizontalAlignment(TextHAlignment::CENTER); label->setVerticalAlignment(TextVAlignment::TOP); label->setPosition(Vec2(0, height)); node->addChild(label); height -= label->getContentSize().height * label->getOriginScaleY(); } height -= 5; if (CCCommonUtils::isIosAndroidPad()) { height -= 5; } //有几率获得 label = CCLabelIF::create(_lang("150217").c_str()); label->setFontSize(18); if (CCCommonUtils::isIosAndroidPad()) { label->setFontSize(36); } label->setAnchorPoint(Vec2(0.5, 1)); label->setPosition(Vec2(0, height)); label->setColor({139, 29, 20}); label->setHorizontalAlignment(TextHAlignment::CENTER); label->setVerticalAlignment(TextVAlignment::TOP); node->addChild(label); height -= label->getContentSize().height * label->getOriginScaleY(); //展示奖励 int cnt = m_obj->rewardIds.size(); int hang = ceil(cnt / 6.0); for (int i = 1; i <= hang; ++i) { if (i < hang) { for (int j = 1; j <= 6; ++j) { ActivityRwdShowCell* cell = ActivityRwdShowCell::create(m_obj->rewardIds.at(j - 1 + (i - 1) * 6)); cell->setPositionX(- 80 * 6 / 2 + 80 / 2 + (j - 1) * 80); cell->setPositionY(height - 40); if (CCCommonUtils::isIosAndroidPad()) { cell->setPositionX(- 160 * 6 / 2 + 160 / 2 + (j - 1) * 160); cell->setPositionY(height - 80); } node->addChild(cell); } height -= 80; if (CCCommonUtils::isIosAndroidPad()) { height -= 80; } } else { int leftCnt = cnt - (i - 1) * 6; for (int j = 1; j <= leftCnt; ++j) { ActivityRwdShowCell* cell = ActivityRwdShowCell::create(m_obj->rewardIds.at((i - 1) * 6 + j - 1)); cell->setPositionX(- (80 * leftCnt) / 2 + 80 / 2 + (j - 1) * 80); cell->setPositionY(height - 40); if (CCCommonUtils::isIosAndroidPad()) { cell->setPositionX(- 160 * leftCnt / 2 + 160 / 2 + (j - 1) * 160); cell->setPositionY(height - 80); } node->addChild(cell); } height -= 80; if (CCCommonUtils::isIosAndroidPad()) { height -= 80; } } } //空 height -= 10; if (CCCommonUtils::isIosAndroidPad()) { height -= 10; } //横线 spr = CCLoadSprite::createSprite("Items_tips3_lottery.png"); spr->setAnchorPoint(Vec2(0.5, 0.5)); spr->setPosition(0, height); node->addChild(spr); if (CCCommonUtils::isIosAndroidPad()) { spr->setScale(2); } //空 height -= 10; if (CCCommonUtils::isIosAndroidPad()) { height -= 10; } //剧情简介 label = CCLabelIF::create(_lang("150216").c_str()); label->setAnchorPoint(Vec2(0.5, 1)); label->setColor(ccBLACK); label->setFontSize(20); if (CCCommonUtils::isIosAndroidPad()) { label->setFontSize(40); } label->setPosition(0, height); label->setHorizontalAlignment(TextHAlignment::CENTER); label->setVerticalAlignment(TextVAlignment::TOP); node->addChild(label); height -= label->getContentSize().height * label->getOriginScaleY(); //空 height -= 10; if (CCCommonUtils::isIosAndroidPad()) { height -= 10; } } //正文 string mStory = _lang(m_obj->story); mStory.append("\n\n\n"); label = CCLabelIF::create(mStory.c_str()); label->setFontSize(20); if (CCCommonUtils::isIosAndroidPad()) { label->setFontSize(40); } label->setDimensions(Size(580, 0)); if (CCCommonUtils::isIosAndroidPad()) { label->setDimensions(Size(1300, 0)); } label->setAnchorPoint(Vec2(0.5, 1)); label->setColor({85, 62, 31}); label->setPosition(0, height); label->setHorizontalAlignment(TextHAlignment::CENTER); label->setVerticalAlignment(TextVAlignment::TOP); node->addChild(label); height -= label->getContentSize().height * label->getOriginScaleY(); } ScrollView* view = ScrollView::create(m_listNode->getContentSize()); if (abs(height) < m_listNode->getContentSize().height) { node->setPositionY(m_listNode->getContentSize().height / 2.0 + abs(height) / 2.0); height = -m_listNode->getContentSize().height; } else { node->setPositionY(abs(height)); } view->setContentSize(Size(m_listNode->getContentSize().width, abs(height))); view->addChild(node); node->setPositionX(view->getContentSize().width / 2); // node->setPositionY(abs(height)); view->setContentOffset(Vec2(0, m_listNode->getContentSize().height - view->getContentSize().height)); view->setDirection(ScrollView::Direction::VERTICAL); m_listNode->addChild(view); view->setDelegate(this); bool st = false; if (LuaController::getInstance()->checkActLuaValid(m_obj)) { CCNode* node = LuaController::getInstance()->createActivityAdCell(m_obj); if (node && node->getChildrenCount()) { m_picNode->addChild(node); if (CCCommonUtils::isIosAndroidPad()) { float w = (1536.0 - 1156.0) / 2.0; float h = 645; node->setContentSize(CCSize(0, 0)); node->setScaleX(1156.0 / 640.0); node->setScaleY(645.0 / 357.0); auto layer1 = CCModelLayerColor::create(); layer1->setAnchorPoint(ccp(0, 0)); layer1->setContentSize(CCSize(w, h)); layer1->setPosition(-w, 0); layer1->setOpacity(255); layer1->setColor(ccBLACK); // layer1->setTouchPriority(-999); m_picNode->addChild(layer1); layer1 = CCModelLayerColor::create(); layer1->setAnchorPoint(CCPointZero); layer1->setPosition(ccp(1156, 0)); layer1->setContentSize(CCSize(w, h)); layer1->setOpacity(255); layer1->setColor(ccBLACK); // layer1->setTouchPriority(-999); m_picNode->addChild(layer1); } } else { st = true; } } else { st = true; } if (st) { auto nameTTF = CCLabelIF::create(m_obj->name.c_str()); auto infoTTF = CCLabelIF::create(m_obj->desc.c_str()); auto bgImg = CCLoadSprite::createSprite("activity_ad_beiyong.png"); nameTTF->setPosition(ccp(16,245)); nameTTF->setAnchorPoint(ccp(0, 1)); nameTTF->setFontSize(36); nameTTF->setColor({255,219,117}); nameTTF->setHorizontalAlignment(kCCTextAlignmentLeft); nameTTF->setVerticalAlignment(kCCVerticalTextAlignmentTop); nameTTF->setDimensions(CCSize(0, 0)); infoTTF->setPosition(ccp(16,201)); infoTTF->setAnchorPoint(ccp(0, 1)); infoTTF->setColor({0, 249, 0}); infoTTF->setHorizontalAlignment(kCCTextAlignmentLeft); infoTTF->setVerticalAlignment(kCCVerticalTextAlignmentTop); infoTTF->setDimensions(CCSize(300, 0)); bgImg->setAnchorPoint(ccp(0, 0)); bgImg->setPosition(ccp(0, 0)); auto node = CCNode::create(); node->addChild(bgImg); node->addChild(nameTTF); node->addChild(infoTTF); m_picNode->addChild(node); if (CCCommonUtils::isIosAndroidPad()) { float w = (1536.0 - 1156.0) / 2.0; float h = 645; node->setContentSize(CCSize(0, 0)); node->setScaleX(1156.0 / 640.0); node->setScaleY(645.0 / 357.0); auto layer1 = CCModelLayerColor::create(); layer1->setAnchorPoint(ccp(0, 0)); layer1->setContentSize(CCSize(w, h)); layer1->setPosition(-w, 0); layer1->setOpacity(255); layer1->setColor(ccBLACK); // layer1->setTouchPriority(-999); m_picNode->addChild(layer1); layer1 = CCModelLayerColor::create(); layer1->setAnchorPoint(CCPointZero); layer1->setPosition(ccp(1156, 0)); layer1->setContentSize(CCSize(w, h)); layer1->setOpacity(255); layer1->setColor(ccBLACK); // layer1->setTouchPriority(-999); m_picNode->addChild(layer1); } } if (m_obj->exchange == "2") { if (ActivityController::getInstance()->m_exc2Data.find(m_obj->id) == ActivityController::getInstance()->m_exc2Data.end()) { ActivityController::getInstance()->startGetAct6Data(); } else { if (!ActivityController::getInstance()->checkIsToday(ActivityController::getInstance()->m_exc2RefInfo[m_obj->id].m_refreshTime)) { ActivityController::getInstance()->m_exc2RefInfo[m_obj->id].m_refreshTime = GlobalData::shared()->getTimeStamp(); ActivityController::getInstance()->m_exc2RefInfo[m_obj->id].m_refresh = 0; } } } else if (m_obj->exchange == "1") { if (!ActivityController::getInstance()->isAct1DataInit(m_obj->id)) { ActivityController::getInstance()->startGetAct6Data(); } else { ActivityController::getInstance()->checkAct1ReFreshTimes(m_obj->id); // if (ActivityController::getInstance()->isAct1DataShouldRefresh(m_obj->id)) // { // ActivityController::getInstance()->startAct6Refresh(m_obj->id); // } } } return true; }