Example #1
0
TEST(Trims, greaterTrimLink)
{
  MODEL_RESET();
  setTrimValue(1, RUD_STICK, TRIM_EXTENDED_MAX+3); // link to FP3 trim
  setTrimValue(3, RUD_STICK, 32);
  EXPECT_EQ(getRawTrimValue(getTrimFlightPhase(1, RUD_STICK), RUD_STICK), 32);
}
Example #2
0
TEST(Trims, chainedTrims)
{
  MODEL_RESET();
  setTrimValue(0, RUD_STICK, 32);
  setTrimValue(1, RUD_STICK, TRIM_EXTENDED_MAX+1); // link to FP0 trim
  setTrimValue(2, RUD_STICK, TRIM_EXTENDED_MAX+2); // link to FP1 trim
  EXPECT_EQ(getRawTrimValue(getTrimFlightPhase(0, RUD_STICK), RUD_STICK), 32);
}
Example #3
0
TEST(Trims, infiniteChainedTrims)
{
  MODEL_RESET();
  setTrimValue(0, 0, 32);
  setTrimValue(1, 0, TRIM_EXTENDED_MAX+3); // link to FP3 trim
  setTrimValue(2, 0, TRIM_EXTENDED_MAX+2); // link to FP1 trim
  setTrimValue(3, 0, TRIM_EXTENDED_MAX+3); // link to FP2 trim
  EXPECT_EQ(getRawTrimValue(getTrimFlightPhase(0, 2), 0), 32);
}
Example #4
0
void OpenTxSimulator::getTrims(Trims & trims)
{
  ::uint8_t phase = getFlightMode();
  trims.extended = hasExtendedTrims();
  for (::uint8_t idx=0; idx<4; idx++) {
    trims.values[idx] = getTrimValue(getTrimFlightPhase(phase, idx), idx);
  }

  for (int i=0; i<2; i++) {
    ::uint8_t idx = NAMESPACE::modn12x3[4*getStickMode() + i];
    ::int16_t tmp = trims.values[i];
    trims.values[i] = trims.values[idx];
    trims.values[idx] = tmp;
  }
}
Example #5
0
void OpenTxSimulator::setTrim(unsigned int idx, int value)
{
  idx = NAMESPACE::modn12x3[4*getStickMode() + idx];
  ::uint8_t phase = getTrimFlightPhase(getFlightMode(), idx);
  setTrimValue(phase, idx, value);
}