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 97... Line 97...
97
    if (index < MAX_CHANNELS) { // PPM24 supports 12 channels
97
    if (index < MAX_CHANNELS) { // PPM24 supports 12 channels
98
      // check for valid signal length (0.8 ms < signal < 2.2 ms)
98
      // check for valid signal length (0.8 ms < signal < 2.2 ms)
99
      if ((signal >= TIME(0.8)) && (signal < TIME(2.2))) {
99
      if ((signal >= TIME(0.8)) && (signal < TIME(2.2))) {
100
        // shift signal to zero symmetric range  -154 to 159
100
        // shift signal to zero symmetric range  -154 to 159
101
        //signal -= 3750; // theoretical value
101
        //signal -= 3750; // theoretical value
102
        signal -= (TIME(1.5) + RC_TRIM); // best value with my Futaba in zero trim.
102
        signal -= (TIME(1.5) - 128 + channelMap.trim-128); // best value with my Futaba in zero trim.
103
        // check for stable signal
103
        // check for stable signal
104
        if (abs(signal - PPM_in[index]) < TIME(0.05)) {
104
        if (abs(signal - PPM_in[index]) < TIME(0.05)) {
105
          if (RCQuality < 200)
105
          if (RCQuality < 200)
106
            RCQuality += 10;
106
            RCQuality += 10;
107
          else
107
          else
Line 196... Line 196...
196
 * Get other channel value
196
 * Get other channel value
197
 */
197
 */
198
int16_t RC_getVariable(uint8_t varNum) {
198
int16_t RC_getVariable(uint8_t varNum) {
199
  if (varNum < 4)
199
  if (varNum < 4)
200
    // 0th variable is 5th channel (1-based) etc.
200
    // 0th variable is 5th channel (1-based) etc.
201
    return (RCChannel(varNum + CH_POTS) >> 2) + VARIABLE_OFFSET;
201
    return (RCChannel(varNum + CH_POTS) >> 2) + channelMap.variableOffset;
202
  /*
202
  /*
203
   * Let's just say:
203
   * Let's just say:
204
   * The RC variable i is hardwired to channel i, i>=4
204
   * The RC variable i is hardwired to channel i, i>=4
205
   */
205
   */
206
  return (PPM_in[varNum] >> 2) + VARIABLE_OFFSET;
206
  return (PPM_in[varNum] >> 2) + channelMap.variableOffset;
207
}
207
}
Line 208... Line 208...
208
 
208
 
209
uint8_t RC_getSignalQuality(void) {
209
uint8_t RC_getSignalQuality(void) {
210
  if (RCQuality >= 160)
210
  if (RCQuality >= 160)