Subversion Repositories FlightCtrl

Rev

Rev 2115 | Rev 2118 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2115 Rev 2116
Line 111... Line 111...
111
    if (index < MAX_CHANNELS) { // PPM24 supports 12 channels
111
    if (index < MAX_CHANNELS) { // PPM24 supports 12 channels
112
      // check for valid signal length (0.8 ms < signal < 2.2 ms)
112
      // check for valid signal length (0.8 ms < signal < 2.2 ms)
113
      if ((signal >= TIME(0.8)) && (signal < TIME(2.2))) {
113
      if ((signal >= TIME(0.8)) && (signal < TIME(2.2))) {
114
        // shift signal to zero symmetric range  -154 to 159
114
        // shift signal to zero symmetric range  -154 to 159
115
        //signal -= 3750; // theoretical value
115
        //signal -= 3750; // theoretical value
116
        signal -= (TIME(1.5) + RC_TRIM); // best value with my Futaba in zero trim.
116
        signal -= (TIME(1.5) - 128 + channelMap.trim); // best value with my Futaba in zero trim.
117
        // check for stable signal
117
        // check for stable signal
118
        if (abs(signal - PPM_in[index]) < TIME(0.05)) {
118
        if (abs(signal - PPM_in[index]) < TIME(0.05)) {
119
          if (RCQuality < 200)
119
          if (RCQuality < 200)
120
            RCQuality += 10;
120
            RCQuality += 10;
121
          else
121
          else
Line 208... Line 208...
208
 * Get other channel value
208
 * Get other channel value
209
 */
209
 */
210
int16_t RC_getVariable(uint8_t varNum) {
210
int16_t RC_getVariable(uint8_t varNum) {
211
  if (varNum < 4)
211
  if (varNum < 4)
212
    // 0th variable is 5th channel (1-based) etc.
212
    // 0th variable is 5th channel (1-based) etc.
213
    return (RCChannel(varNum + CH_POTS) >> 3) + VARIABLE_OFFSET;
213
    return (RCChannel(varNum + CH_POTS) >> 3) + channelMap.variableOffset;
214
  /*
214
  /*
215
   * Let's just say:
215
   * Let's just say:
216
   * The RC variable i is hardwired to channel i, i>=4
216
   * The RC variable i is hardwired to channel i, i>=4
217
   */
217
   */
218
  return (PPM_in[varNum] >> 3) + VARIABLE_OFFSET;
218
  return (PPM_in[varNum] >> 3) + channelMap.variableOffset;
219
}
219
}
Line 220... Line 220...
220
 
220
 
221
uint8_t RC_getSignalQuality(void) {
221
uint8_t RC_getSignalQuality(void) {
222
  if (RCQuality >= 160)
222
  if (RCQuality >= 160)