当前位置: 首页>>代码示例>>C++>>正文


C++ model::phases方法代码示例

本文整理汇总了C++中model::phases方法的典型用法代码示例。如果您正苦于以下问题:C++ model::phases方法的具体用法?C++ model::phases怎么用?C++ model::phases使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在model的用法示例。


在下文中一共展示了model::phases方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: saveModel

void saveModel(ModelData & m, model & xm)
{
  /* TODO
  model::timer_sequence & timer_sequence (xm.timer());
  for (int i=0; i<2; i++) {
     TimerData & t = m.timers[i];
     if (t.mode) {
      timer xt(TimerSwitch::value(t.mode+TMR_NUM_OPTION), direction::value(t.dir), timer::value_type(t.val/3600, (t.val%3600)/60, t.val%60));
      timer_sequence.push_back(xt);
    } 
  }
  */
  if (m.moduleData[0].protocol != PPM || m.moduleData[0].channelsCount != 8 || m.moduleData[0].ppmDelay != 300 || m.moduleData[0].ppmPulsePol != 0) {
    modulation mod;
    mod.type(modulation::type_type::value(m.moduleData[0].protocol));
    mod.channels(m.moduleData[0].channelsCount);
    mod.delay(m.moduleData[0].ppmDelay);
    mod.polarity(modulation::polarity_type::value(m.moduleData[0].ppmPulsePol));
    xm.modulation(mod);
  }
  {
    trims xtrims;
    xtrims.extended(m.extendedTrims);
    xtrims.throttleTrim(m.thrTrim);
    xtrims.throttleTrimExpo(m.thrExpo);
    xm.trims(xtrims);
  }
  if (m.beepANACenter) {
    centerBeep xcb;
    if (m.beepANACenter & (1 << 0)) xcb.rudder(true);
    if (m.beepANACenter & (1 << 1)) xcb.elevator(true);
    if (m.beepANACenter & (1 << 2)) xcb.throttle(true);
    if (m.beepANACenter & (1 << 3)) xcb.aileron(true);
    if (m.beepANACenter & (1 << 4)) xcb.p1(true);
    if (m.beepANACenter & (1 << 5)) xcb.p2(true);
    if (m.beepANACenter & (1 << 6)) xcb.p3(true);
    xm.centerBeep(xcb);
  }

  phases xphases;
  phases::phase_sequence & phases_sequence (xphases.phase());
  for (int i=0; i<C9X_MAX_FLIGHT_MODES; i++) {
    PhaseData & p = m.phaseData[i];
    if (i == 0 || p.swtch.type!=SWITCH_TYPE_NONE) {
      TrimType xtrim[4];
      for (int j=0; j<4; j++) {
        if (m.phaseData[i].trimRef[j] >= 0)
          xtrim[j].phaseRef(m.phaseData[i].trimRef[j]);
        else
          xtrim[j].value(m.phaseData[i].trim[j]);
      }
      trims1 xtrims(xtrim[0], xtrim[1], xtrim[2], xtrim[3]);
      phase xphase(xtrims, i);
      if (p.fadeIn) xphase.fadeIn(p.fadeIn);
      if (p.fadeOut) xphase.fadeOut(p.fadeOut);
      phases_sequence.push_back(xphase);
    }
  }
  xm.phases(xphases);
}
开发者ID:andyjenkinson,项目名称:opentx,代码行数:60,代码来源:xmlinterface.cpp


注:本文中的model::phases方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。