Subversion Repositories FlightCtrl

Rev

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

Rev 1955 Rev 1960
Line 67... Line 67...
67
}
67
}
Line 68... Line 68...
68
 
68
 
69
void flashingLight(uint8_t port, uint8_t timing, uint8_t bitmask,
69
void flashingLight(uint8_t port, uint8_t timing, uint8_t bitmask,
70
    uint8_t manual) {
70
    uint8_t manual) {
71
  if (timing > 250 && manual > 230) {
71
  if (timing > 250 && manual > 230) {
72
    // "timing" is set to "manual" and the value is very high --> Set to the value in bitmask bit 7.
72
    // "timing" is set to "manual (a variable)" and the value is very high --> Set to the value in bitmask bit 7.
73
    OUTPUT_SET(port, bitmask & 128);
73
    OUTPUT_SET(port, bitmask & 128);
74
  } else if (timing > 250 && manual < 10) {
74
  } else if (timing > 250 && manual < 10) {
75
    // "timing" is set to "manual" and the value is very low --> Set to the negated value in bitmask bit 7.
75
    // "timing" is set to "manual" (a variable) and the value is very low --> Set to the negated value in bitmask bit 7.
76
    OUTPUT_SET(port, !(bitmask & 128));
76
    OUTPUT_SET(port, !(bitmask & 128));
77
  } else if (!flashCnt[port]--) {
77
  } else if (!flashCnt[port]--) {
78
    // rotating mask over bitmask...
78
    // rotating mask over bitmask...
79
    flashCnt[port] = timing - 1;
79
    flashCnt[port] = timing - 1;
Line 87... Line 87...
87
 
87
 
88
void flashingLights(void) {
88
void flashingLights(void) {
89
  static int8_t delay = 0;
89
  static int8_t delay = 0;
90
  if (!delay--) { // 10 ms intervals
90
  if (!delay--) { // 10 ms intervals
91
    delay = 4;
91
    delay = 4;
92
    if (beepModulation != BEEP_MODULATION_NONE) {
92
    if (staticParams.outputFlags & 4 && beepModulation != BEEP_MODULATION_NONE) {
93
      // alarm
93
      // alarm
94
      flashingLight(0, 25, 0x55, 25);
94
      flashingLight(0, 25, 0x55, 25);
95
      flashingLight(1, 25, 0xAA, 25);
95
      flashingLight(1, 25, 0xAA, 25);
96
    } else {
96
    } else {
97
      flashingLight(0, staticParams.J16Timing, staticParams.J16Bitmask,
-
 
98
          dynamicParams.J16Timing);
97
      flashingLight(0, staticParams.outputFlash[0].timing, staticParams.outputFlash[0].bitmask, dynamicParams.output0Timing);
99
      flashingLight(1, staticParams.J17Timing, staticParams.J17Bitmask,
-
 
100
          dynamicParams.J17Timing);
98
      flashingLight(1, staticParams.outputFlash[1].timing, staticParams.outputFlash[1].bitmask, dynamicParams.output1Timing);
101
    }
99
    }
102
  }
100
  }
Line 103... Line 101...
103
}
101
}
104
 
102
 
105
void output_update(void) {
-
 
106
  if (!DIGITAL_DEBUG_MASK) {
-
 
107
    flashingLights();
103
void output_update(void) {
108
  } else if (DIGITAL_DEBUG_MASK == DEBUG_LEDTEST_ON) {
104
  if (staticParams.outputFlags & 1) {
109
    OUTPUT_SET(0, 1);
105
    OUTPUT_SET(0, 1);
110
    OUTPUT_SET(1, 1);
106
    OUTPUT_SET(1, 1);
111
  } else if (DIGITAL_DEBUG_MASK == DEBUG_LEDTEST_OFF) {
107
  } else if (staticParams.outputFlags & 2) {
112
    OUTPUT_SET(0, 0);
-
 
113
    OUTPUT_SET(1, 0);
-
 
114
  } else if (DIGITAL_DEBUG_MASK == DEBUG_LEDTEST_0) {
-
 
115
    OUTPUT_SET(0, 1);
108
    OUTPUT_SET(0, 0);
116
    OUTPUT_SET(1, 0);
-
 
117
  } else if (DIGITAL_DEBUG_MASK == DEBUG_LEDTEST_1) {
109
    OUTPUT_SET(1, 0);
118
    OUTPUT_SET(0, 0);
110
  } else if (!staticParams.outputDebugMask) {
119
    OUTPUT_SET(1, 1);
111
    flashingLights();
120
  } else {
112
  } else {
121
    OUTPUT_SET(0, debugOut.digital[0] & DIGITAL_DEBUG_MASK);
113
    OUTPUT_SET(0, debugOut.digital[0] & staticParams.outputDebugMask);
122
    OUTPUT_SET(1, debugOut.digital[1] & DIGITAL_DEBUG_MASK);
114
    OUTPUT_SET(1, debugOut.digital[1] & staticParams.outputDebugMask);
Line 123... Line 115...
123
  }
115
  }
124
}
116
}