void PeerData::updateNameDelayed( const QString &newName, const QString &newNameOrPhone, const QString &newUsername) { if (name == newName) { if (isUser()) { if (asUser()->nameOrPhone == newNameOrPhone && asUser()->username == newUsername) { return; } } else if (isChannel()) { if (asChannel()->username == newUsername) { return; } } else if (isChat()) { return; } } ++nameVersion; name = newName; nameText.setText(st::msgNameStyle, name, Ui::NameTextOptions()); refreshEmptyUserpic(); Notify::PeerUpdate update(this); update.flags |= UpdateFlag::NameChanged; update.oldNameFirstChars = nameFirstChars(); if (isUser()) { if (asUser()->username != newUsername) { asUser()->username = newUsername; update.flags |= UpdateFlag::UsernameChanged; } asUser()->setNameOrPhone(newNameOrPhone); } else if (isChannel()) { if (asChannel()->username != newUsername) { asChannel()->username = newUsername; if (newUsername.isEmpty()) { asChannel()->removeFlags( MTPDchannel::Flag::f_username); } else { asChannel()->addFlags(MTPDchannel::Flag::f_username); } update.flags |= UpdateFlag::UsernameChanged; } } fillNames(); Notify::PeerUpdated().notify(update, true); }
void SessionChildItem::updateIcon() { if (isChannel()) setIcon("icon-m-conversation-group-chat"); else setIcon("icon-m-content-avatar-placeholder"); }
not_null<PeerData*> HistoryItem::senderOriginal() const { if (const auto forwarded = Get<HistoryMessageForwarded>()) { return forwarded->originalSender; } const auto peer = history()->peer; return (peer->isChannel() && !peer->isMegagroup()) ? peer : from(); }
void AlexSim::writeHist(const QString filename) const { long ii; long nbins=(long)((t-tStart)/burstDuration*10); if(nbins==0||photons.size()==0) qWarning()<<"writeHist: no photon records "; gsl_histogram * histDonor = gsl_histogram_alloc (nbins); gsl_histogram_set_ranges_uniform (histDonor, tStart, t); // change t to tEnd if the latter is implemented gsl_histogram * histAcceptor = gsl_histogram_alloc (nbins); gsl_histogram_set_ranges_uniform (histAcceptor, tStart, t); // change t to tEnd if the latter is implemented for (ii=0;ii<photons.size();ii++) { #ifdef PHOTONMACRO if(isChannel(photons.at(ii),DonorEm)) gsl_histogram_increment (histDonor, photons.at(ii).time); #else if(photons.at(ii).isChannel(DonorEm)) gsl_histogram_increment (histDonor, photons.at(ii).time); #endif else gsl_histogram_increment (histAcceptor, photons.at(ii).time); } QFile file(filename); if(!file.open(QIODevice::WriteOnly | QIODevice::Text)) QMessageBox::warning(0, "error", file.errorString()); QTextStream out(&file); out <<"# Simulation data. photon count over time. parameters are:\n"; out <<"# rateDonor="<<rateDemDex<<"\trateAcceptor="<<rateAemAex<<"\trateBackground="<<rateBackground<<"\tburstDuration="<<burstDuration<<"\tsigma="<<sigma<<"\ttStart="<<tStart<<"\ttEnd="<<tEnd()<<"\n"; out.setRealNumberPrecision(11); out <<"# time in ms \tdonor channel \tacceptor channel\n"; for(ii=0;ii<histDonor->n;ii++) { out << histDonor->range[ii]*1e3 << "\t" << gsl_histogram_get(histDonor,ii) << "\t" << gsl_histogram_get(histAcceptor,ii) << "\n"; } file.close(); gsl_histogram_free (histDonor); gsl_histogram_free (histAcceptor); qDebug()<<nbins<<"histogram entries written to file "<<filename; }
IrcCommandInfo IrcCommandParserPrivate::parseSyntax(IrcCommand::Type type, const QString& syntax) { IrcCommandInfo cmd; QStringList tokens = syntax.split(QLatin1Char(' '), QString::SkipEmptyParts); if (!tokens.isEmpty()) { cmd.type = type; cmd.command = tokens.takeFirst().toUpper(); cmd.syntax = tokens.join(QLatin1String(" ")); cmd.max = tokens.count(); IrcParameterInfo param; for (int i = 0; i < tokens.count(); ++i) { const QString& token = tokens.at(i); param.optional = isOptional(token); param.channel = isChannel(token); param.current = isCurrent(token); param.multi = isMultiWord(token); if (!param.optional) ++cmd.min; if (param.optional && param.channel) ++cmd.min; const bool last = (i == tokens.count() - 1); if (last && param.multi) cmd.max = INT_MAX; cmd.params += param; } } return cmd; }
void SessionChildItem::receiveMessage(IrcMessage* message) { AbstractSessionItem::receiveMessage(message); if (message->type() == IrcMessage::Private) { IrcPrivateMessage* privMsg = static_cast<IrcPrivateMessage*>(message); QString alertText; if (isChannel()) { if (privMsg->message().contains(m_parent->session()->nickName(), Qt::CaseInsensitive)) { setHighlighted(true); if (!isCurrent()) alertText = tr("%1 on %2:\n%3").arg(privMsg->sender().name()).arg(title()).arg(privMsg->message()); } } else { setHighlighted(true); if (!isCurrent()) alertText = tr("%1 in private:\n%2").arg(privMsg->sender().name()).arg(privMsg->message()); } if (!alertText.isEmpty()) { setAlertText(alertText); emit alert(this); } if (!isCurrent()) setUnreadCount(unreadCount() + 1); } else if (message->type() == IrcMessage::Numeric) { IrcNumericMessage* numMsg = static_cast<IrcNumericMessage*>(message); if (isChannel() && numMsg->code() == Irc::RPL_TOPIC) setSubtitle(numMsg->parameters().value(2)); else if (!isChannel() && numMsg->code() == Irc::RPL_WHOISUSER) setSubtitle(numMsg->parameters().value(5)); } }
bool HistoryItem::canDeleteForEveryone(TimeId now) const { const auto peer = history()->peer; const auto messageToMyself = peer->isSelf(); const auto messageTooOld = messageToMyself ? false : peer->isUser() ? (now - date() >= Global::RevokePrivateTimeLimit()) : (now - date() >= Global::RevokeTimeLimit()); if (id < 0 || messageToMyself || messageTooOld || isPost()) { return false; } if (peer->isChannel()) { return false; } else if (const auto user = peer->asUser()) { // Bots receive all messages and there is no sense in revoking them. // See https://github.com/telegramdesktop/tdesktop/issues/3818 if (user->botInfo) { return false; } } if (!toHistoryMessage()) { return false; } else if (const auto media = this->media()) { if (!media->allowsRevoke()) { return false; } } if (!out()) { if (const auto chat = peer->asChat()) { if (!chat->amCreator() && !(chat->adminRights() & ChatAdminRight::f_delete_messages)) { return false; } } else if (peer->isUser()) { return Global::RevokePrivateInbox(); } else { return false; } } return true; }
HistoryMessage::HistoryMessage( not_null<History*> history, MsgId id, MTPDmessage::Flags flags, TimeId date, UserId from, const QString &postAuthor, not_null<HistoryMessage*> original) : HistoryItem( history, id, NewForwardedFlags(history->peer, from, original) | flags, date, from) { CreateConfig config; if (original->Has<HistoryMessageForwarded>() || !original->history()->peer->isSelf()) { // Server doesn't add "fwd_from" to non-forwarded messages from chat with yourself. config.originalDate = original->dateOriginal(); auto senderOriginal = original->senderOriginal(); config.senderOriginal = senderOriginal->id; config.authorOriginal = original->authorOriginal(); if (senderOriginal->isChannel()) { config.originalId = original->idOriginal(); } } if (history->peer->isSelf()) { // // iOS app sends you to the original post if we forward a forward from channel. // But server returns not the original post but the forward in saved_from_... // //if (config.originalId) { // config.savedFromPeer = config.senderOriginal; // config.savedFromMsgId = config.originalId; //} else { config.savedFromPeer = original->history()->peer->id; config.savedFromMsgId = original->id; //} } if (flags & MTPDmessage::Flag::f_post_author) { config.author = postAuthor; } auto fwdViaBot = original->viaBot(); if (fwdViaBot) config.viaBotId = peerToUser(fwdViaBot->id); int fwdViewsCount = original->viewsCount(); if (fwdViewsCount > 0) { config.viewsCount = fwdViewsCount; } else if (isPost()) { config.viewsCount = 1; } // Copy inline keyboard when forwarding messages with a game. auto mediaOriginal = original->media(); if (mediaOriginal && mediaOriginal->game()) { config.inlineMarkup = original->inlineReplyMarkup(); } createComponents(config); auto ignoreMedia = [&] { if (mediaOriginal && mediaOriginal->webpage()) { if (const auto channel = history->peer->asChannel()) { if (channel->restricted(ChannelRestriction::f_embed_links)) { return true; } } } return false; }; if (mediaOriginal && !ignoreMedia()) { _media = mediaOriginal->clone(this); } setText(original->originalText()); }
void SessionChildItem::close() { if (isChannel()) m_parent->session()->sendCommand(IrcCommand::createPart(title(), "Communi 1.0.0 for N9")); m_parent->removeChild(title()); }
void SessionChildItem::receiveMessage(IrcMessage* message) { if (m_usermodel) m_usermodel->processMessage(message); if (message->type() == IrcMessage::Numeric) { IrcNumericMessage* numeric = static_cast<IrcNumericMessage*>(message); switch (numeric->code()) { case Irc::RPL_NAMREPLY: if (m_sent.contains(IrcCommand::Names)) return; break; case Irc::RPL_ENDOFNAMES: if (m_sent.contains(IrcCommand::Names)) { emit namesReceived(m_usermodel->users()); m_sent.remove(IrcCommand::Names); return; } break; case Irc::RPL_TOPIC: if (isChannel()) { setSubtitle(message->parameters().value(2)); setDescription(IrcUtil::messageToHtml(subtitle())); } break; case Irc::RPL_WHOISUSER: if (!isChannel()) { setSubtitle(message->parameters().value(5)); setDescription(IrcUtil::messageToHtml(subtitle())); } if (m_sent.contains(IrcCommand::Whois)) { m_whois.append(tr("Ident: %1").arg(message->parameters().value(2))); m_whois.append(tr("Host: %1").arg(message->parameters().value(3))); m_whois.append(tr("Name: %1").arg(message->parameters().value(5))); return; } break; case Irc::RPL_WHOISSERVER: if (m_sent.contains(IrcCommand::Whois)) { m_whois.append(tr("Server: %1 (%2)").arg(message->parameters().value(2), message->parameters().value(3))); return; } break; case Irc::RPL_WHOISOPERATOR: if (m_sent.contains(IrcCommand::Whois)) { m_whois.append(tr("IRC operator")); return; } break; case Irc::RPL_WHOISACCOUNT: if (m_sent.contains(IrcCommand::Whois)) { m_whois.append(tr("Logged in as: %1").arg(message->parameters().value(2))); return; } break; case Irc::RPL_WHOISREGNICK: if (m_sent.contains(IrcCommand::Whois)) { m_whois.append(tr("Registered nick")); return; } break; case Irc::RPL_WHOISSECURE: if (m_sent.contains(IrcCommand::Whois)) { m_whois.append(tr("Secure connection")); return; } break; case Irc::RPL_WHOISIDLE: if (m_sent.contains(IrcCommand::Whois)) { QDateTime signon = QDateTime::fromTime_t(message->parameters().value(3).toInt()); QTime idle = QTime().addSecs(message->parameters().value(2).toInt()); m_whois.append(tr("Connected: %1").arg(signon.toString())); m_whois.append(tr("Idle: %1").arg(idle.toString())); return; } break; case Irc::RPL_WHOISCHANNELS: if (m_sent.contains(IrcCommand::Whois)) { m_whois.append(tr("Channels: %1").arg(message->parameters().value(2))); return; } break; case Irc::RPL_WHOISHOST: case Irc::RPL_WHOISMODES: if (m_sent.contains(IrcCommand::Whois)) { return; } break; case Irc::RPL_ENDOFWHOIS: if (m_sent.contains(IrcCommand::Whois)) { emit whoisReceived(m_whois); m_sent.remove(IrcCommand::Whois); m_whois.clear(); } case Irc::RPL_WHOISHELPOP: case Irc::RPL_WHOISSPECIAL: return; default: break; } } if (message->type() == IrcMessage::Private) { IrcPrivateMessage* privMsg = static_cast<IrcPrivateMessage*>(message); QString alertText; if (isChannel()) { if (privMsg->message().contains(m_parent->session()->nickName(), Qt::CaseInsensitive)) { setHighlighted(true); if (!isCurrent()) alertText = tr("%1 on %2:\n%3").arg(privMsg->sender().name()).arg(title()).arg(privMsg->message()); } } else { setHighlighted(true); if (!isCurrent()) alertText = tr("%1 in private:\n%2").arg(privMsg->sender().name()).arg(privMsg->message()); } if (!alertText.isEmpty()) emit alerted(alertText); if (!isCurrent()) setUnreadCount(unreadCount() + 1); } const QString formatted = messageFormatter()->formatMessage(message, m_usermodel); if (!formatted.isEmpty()) appendMessage(formatted); }
bool SessionChildItem::hasUser(const QString& user) const { return (!session()->nickName().compare(user, Qt::CaseInsensitive)) || (!isChannel() && !receiver().compare(user, Qt::CaseInsensitive)) || (isChannel() && m_usermodel->hasUser(user)); }
void Window::display() { if (view == MODEL_VIEW) { if (curSTATE & WIREFRAME) { glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); Scene::toggleLights(false); } else if (curSTATE & POINT_DISP) { glPolygonMode(GL_FRONT_AND_BACK, GL_POINT); Scene::toggleLights(false); } else { glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); Scene::toggleLights(true); } if (curSTATE & SMOOTH_SD) { glShadeModel(GL_SMOOTH); } else { glShadeModel(GL_FLAT); } glViewport(x, y, w, h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); if (cam != NULL) { gluPerspective(cam->fovy, (GLdouble)w/(GLdouble)h, cam->zNear, cam->zFar); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); // USE GLULOOKAT mat4 M = cam->lookAt(); glMultMatrixf(M.mat_array); } Scene::displayLights(); Scene::showScene(); } else if (view == IMAGE_VIEW) { // display grid with current selected texture.... } else if (view == CHANNEL_VIEW) { glViewport(x, y, w, h); Scene::toggleLights(false); glDisable(GL_DEPTH_TEST); glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); gluOrtho2D(x,x+w,y,y+h); glMatrixMode(GL_MODELVIEW); glPushMatrix(); glLoadIdentity(); glLineWidth(3.0f); for(unsigned int i=0;i<allOBJS.size();i++) { if (isChannel(allOBJS[i]) && CH(allOBJS[i])->enabled) { //glColor3f(float((i+1) & 4), float((i+1) & 2), float((i+1) & 1)); float r = float((i+1) & 4); float g = float((i+1) & 2); float b= float((i+1) & 1); if (! bool(r+g+b) ) r = g = b = 1; glColor3f(r,g,b); CH(allOBJS[i])->display(x,y,w,h,scopeB, scopeAmountx, scopeAmounty); } } glLineWidth(1.0f); glColor3f(1.0f,1.0f,1.0f); glMatrixMode(GL_PROJECTION); glPopMatrix(); glMatrixMode(GL_MODELVIEW); glPopMatrix(); glEnable(GL_DEPTH_TEST); Scene::toggleLights(true); } }
void Get_m0_m12_robin(TFile *file){ TH1I* runNumber = (TH1I*)(file ->Get("runNumber_histo")) ; // int Nevents = (int)(runNumber ->Integral()); double run = (runNumber ->GetMean()); double m0=0.; double m12=0.; get_m0_m12(run, &m0, &m12); myfile << " if (run=="<<run<<") {"<<endl; // GET NLO XSECTION double NLOcrossSection = 0.; double NLOcrossSection_cs = 0.; double NLOcrossSection_gq = 0.; double NLOcrossSection_gg= 0.; double NLOcrossSection_qq= 0.; double NLOcrossSection_qaq= 0.; double NLOcrossSection_tt = 0.; double NLOcrossSection_bb = 0.; double NLOcrossSection_gchi= 0.; double NLOcrossSection_qqchi= 0.; int maxchannels=91; for(int i = 0; i < maxchannels;i++){ if (isChannel(i)){ //cout << i << endl; double thisCrossSection = getUncertaintyValue(m0,m12, i, "crossSection", file_robin); NLOcrossSection +=thisCrossSection; if (i==1) NLOcrossSection_gq +=thisCrossSection; if (i==2) NLOcrossSection_gg +=thisCrossSection; if (i==3) NLOcrossSection_qq +=thisCrossSection; if (i==4) NLOcrossSection_qaq +=thisCrossSection; if (i==51) NLOcrossSection_tt +=thisCrossSection; if (i==52) NLOcrossSection_tt +=thisCrossSection; if (i==61) NLOcrossSection_bb +=thisCrossSection; if (i==62) NLOcrossSection_bb +=thisCrossSection; if ((i>=71)&&(i<=78)) NLOcrossSection_gchi +=thisCrossSection; if ((i>=81)&&(i<=88)) NLOcrossSection_qqchi +=thisCrossSection; myfile << " if (channel=="<<i<<") {*xsection_process ="<<thisCrossSection<<";}"<<endl; } } myfile << " *xsection = "<<NLOcrossSection<<";"<<endl; myfile << " }"<<endl; cout << " run "<<run<<" m0 "<<m0<<" m12 "<<m12<<" x-section "<<NLOcrossSection<<endl; grid_cs ->Fill(m0, m12, NLOcrossSection); grid_gq ->Fill(m0, m12, NLOcrossSection_gq); grid_gg ->Fill(m0, m12, NLOcrossSection_gg); grid_qq ->Fill(m0, m12, NLOcrossSection_qq); grid_qaq->Fill(m0, m12, NLOcrossSection_qaq); grid_tt ->Fill(m0, m12, NLOcrossSection_tt); grid_bb ->Fill(m0, m12, NLOcrossSection_bb); grid_gchi->Fill(m0, m12, NLOcrossSection_gchi); grid_qqchi->Fill(m0, m12, NLOcrossSection_qqchi); }
command parseScopeCmd(void){ command cmdIn=CMD_ERR; uint8_t error=0; //try to parse command while buffer is not empty /////// do{ cmdIn = giveNextCmd(); switch(cmdIn){ case CMD_SCOPE_TRIG_MODE://set trigger mode cmdIn = giveNextCmd(); if(isScopeTrigMode(cmdIn)){ if(cmdIn == CMD_MODE_NORMAL){ scopeSetTriggerMode(TRIG_NORMAL); }else if(cmdIn == CMD_MODE_AUTO){ scopeSetTriggerMode(TRIG_AUTO); }else if(cmdIn == CMD_MODE_SINGLE){ scopeSetTriggerMode(TRIG_SINGLE); } }else{ cmdIn = CMD_ERR; error = SCOPE_INVALID_FEATURE_PARAM; } break; case CMD_SCOPE_TRIG_EDGE: //set trigger edge cmdIn = giveNextCmd(); if(isScopeTrigEdge(cmdIn)){ if(cmdIn == CMD_EDGE_RISING){ scopeSetTriggerEdge(EDGE_RISING); }else if(cmdIn == CMD_EDGE_FALLING){ scopeSetTriggerEdge(EDGE_FALLING); } }else{ cmdIn = CMD_ERR; error = SCOPE_INVALID_FEATURE_PARAM; } break; case CMD_SCOPE_CHANNELS: //set number of channels cmdIn = giveNextCmd(); if(isChannel(cmdIn)){ if(cmdIn == CMD_CHANNELS_1){ error=scopeSetNumOfChannels(1); }else if(cmdIn == CMD_CHANNELS_2){ error=scopeSetNumOfChannels(2); }else if(cmdIn == CMD_CHANNELS_3){ error=scopeSetNumOfChannels(3); }else if(cmdIn == CMD_CHANNELS_4){ error=scopeSetNumOfChannels(4); } }else{ cmdIn = CMD_ERR; error = SCOPE_INVALID_FEATURE_PARAM; } break; case CMD_SCOPE_TRIG_CHANNEL: //set trigger channel cmdIn = giveNextCmd(); if(isChannel(cmdIn)){ if(cmdIn == CMD_CHANNELS_1){ error=scopeSetTrigChannel(1); }else if(cmdIn == CMD_CHANNELS_2){ error=scopeSetTrigChannel(2); }else if(cmdIn == CMD_CHANNELS_3){ error=scopeSetTrigChannel(3); }else if(cmdIn == CMD_CHANNELS_4){ error=scopeSetTrigChannel(4); } }else{ cmdIn = CMD_ERR; error = SCOPE_INVALID_FEATURE_PARAM; } break; case CMD_SCOPE_DATA_DEPTH: //set data bit depth cmdIn = giveNextCmd(); if(isScopeDataDepth(cmdIn)){ if(cmdIn == CMD_DATA_DEPTH_12B){ error=scopeSetDataDepth(12); }else if(cmdIn == CMD_DATA_DEPTH_10B){ error=SCOPE_UNSUPPORTED_RESOLUTION; }else if(cmdIn == CMD_DATA_DEPTH_8B){ error=scopeSetDataDepth(8); }else if(cmdIn == CMD_DATA_DEPTH_6B){ error=SCOPE_UNSUPPORTED_RESOLUTION; } }else{ cmdIn = CMD_ERR; error = SCOPE_INVALID_FEATURE_PARAM; } break; case CMD_SCOPE_SAMPLING_FREQ: //set sampling frequency cmdIn = giveNextCmd(); if(isScopeFreq(cmdIn)){ if(cmdIn == CMD_FREQ_1K){ error=scopeSetSamplingFreq(1000); }else if(cmdIn == CMD_FREQ_2K){ error=scopeSetSamplingFreq(2000); }else if(cmdIn == CMD_FREQ_5K){ error=scopeSetSamplingFreq(5000); }else if(cmdIn == CMD_FREQ_10K){ error=scopeSetSamplingFreq(10000); }else if(cmdIn == CMD_FREQ_20K){ error=scopeSetSamplingFreq(20000); }else if(cmdIn == CMD_FREQ_50K){ error=scopeSetSamplingFreq(50000); }else if(cmdIn == CMD_FREQ_100K){ error=scopeSetSamplingFreq(100000); }else if(cmdIn == CMD_FREQ_200K){ error=scopeSetSamplingFreq(200000); }else if(cmdIn == CMD_FREQ_500K){ error=scopeSetSamplingFreq(500000); }else if(cmdIn == CMD_FREQ_1M){ error=scopeSetSamplingFreq(1000000); }else if(cmdIn == CMD_FREQ_2M){ error=scopeSetSamplingFreq(2000000); }else if(cmdIn == CMD_FREQ_5M){ error=scopeSetSamplingFreq(5000000); }else if(cmdIn == CMD_FREQ_10M){ error=scopeSetSamplingFreq(10000000); } }else{ cmdIn = CMD_ERR; error = SCOPE_INVALID_FEATURE_PARAM; } break; case CMD_SCOPE_TRIG_LEVEL: //set trigger level cmdIn = giveNextCmd(); if(cmdIn != CMD_END && cmdIn != CMD_ERR){ scopeSetTrigLevel((uint16_t)cmdIn); }else{ cmdIn = CMD_ERR; error = SCOPE_INVALID_FEATURE_PARAM; } break; case CMD_SCOPE_PRETRIGGER: //set prettriger cmdIn = giveNextCmd(); if(cmdIn != CMD_END && cmdIn != CMD_ERR){ scopeSetPretrigger((uint16_t)cmdIn); }else{ cmdIn = CMD_ERR; error = SCOPE_INVALID_FEATURE_PARAM; } break; case CMD_SCOPE_DATA_LENGTH: //set trigger edge cmdIn = giveNextCmd(); if(isScopeNumOfSamples(cmdIn)){ if(cmdIn == CMD_SAMPLES_100){ error=scopeSetNumOfSamples(100); }else if(cmdIn == CMD_SAMPLES_200){ error=scopeSetNumOfSamples(200); }else if(cmdIn == CMD_SAMPLES_500){ error=scopeSetNumOfSamples(500); }else if(cmdIn == CMD_SAMPLES_1K){ error=scopeSetNumOfSamples(1000); }else if(cmdIn == CMD_SAMPLES_2K){ error=scopeSetNumOfSamples(2000); }else if(cmdIn == CMD_SAMPLES_5K){ error=scopeSetNumOfSamples(5000); }else if(cmdIn == CMD_SAMPLES_10K){ error=scopeSetNumOfSamples(10000); }else if(cmdIn == CMD_SAMPLES_20K){ error=scopeSetNumOfSamples(20000); }else if(cmdIn == CMD_SAMPLES_50K){ error=scopeSetNumOfSamples(50000); }else if(cmdIn == CMD_SAMPLES_100K){ error=scopeSetNumOfSamples(100000); } }else{ cmdIn = CMD_ERR; error = SCOPE_INVALID_FEATURE_PARAM; } break; case CMD_SCOPE_START: //start sampling scopeStart(); break; case CMD_SCOPE_STOP: //stop sampling scopeStop(); break; case CMD_SCOPE_NEXT: //restart sampling scopeRestart(); break; case CMD_GET_CONFIG: xQueueSendToBack(messageQueue, "5SendScopeConfig", portMAX_DELAY); break; case CMD_END:break; default: error = SCOPE_INVALID_FEATURE; //// commsSendUint32(cmdIn); cmdIn = CMD_ERR; break; } /////// }while(cmdIn != CMD_END && cmdIn != CMD_ERR && error==0); if(error>0){ cmdIn=error; }else{ cmdIn=CMD_END; } return cmdIn; }