Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 1955 → Rev 1960

/branches/dongfang_FC_rewrite/output.c
69,10 → 69,10
void flashingLight(uint8_t port, uint8_t timing, uint8_t bitmask,
uint8_t manual) {
if (timing > 250 && manual > 230) {
// "timing" is set to "manual" and the value is very high --> Set to the value in bitmask bit 7.
// "timing" is set to "manual (a variable)" and the value is very high --> Set to the value in bitmask bit 7.
OUTPUT_SET(port, bitmask & 128);
} else if (timing > 250 && manual < 10) {
// "timing" is set to "manual" and the value is very low --> Set to the negated value in bitmask bit 7.
// "timing" is set to "manual" (a variable) and the value is very low --> Set to the negated value in bitmask bit 7.
OUTPUT_SET(port, !(bitmask & 128));
} else if (!flashCnt[port]--) {
// rotating mask over bitmask...
89,37 → 89,29
static int8_t delay = 0;
if (!delay--) { // 10 ms intervals
delay = 4;
if (beepModulation != BEEP_MODULATION_NONE) {
if (staticParams.outputFlags & 4 && beepModulation != BEEP_MODULATION_NONE) {
// alarm
flashingLight(0, 25, 0x55, 25);
flashingLight(1, 25, 0xAA, 25);
} else {
flashingLight(0, staticParams.J16Timing, staticParams.J16Bitmask,
dynamicParams.J16Timing);
flashingLight(1, staticParams.J17Timing, staticParams.J17Bitmask,
dynamicParams.J17Timing);
flashingLight(0, staticParams.outputFlash[0].timing, staticParams.outputFlash[0].bitmask, dynamicParams.output0Timing);
flashingLight(1, staticParams.outputFlash[1].timing, staticParams.outputFlash[1].bitmask, dynamicParams.output1Timing);
}
}
}
 
void output_update(void) {
if (!DIGITAL_DEBUG_MASK) {
flashingLights();
} else if (DIGITAL_DEBUG_MASK == DEBUG_LEDTEST_ON) {
if (staticParams.outputFlags & 1) {
OUTPUT_SET(0, 1);
OUTPUT_SET(1, 1);
} else if (DIGITAL_DEBUG_MASK == DEBUG_LEDTEST_OFF) {
} else if (staticParams.outputFlags & 2) {
OUTPUT_SET(0, 0);
OUTPUT_SET(1, 0);
} else if (DIGITAL_DEBUG_MASK == DEBUG_LEDTEST_0) {
OUTPUT_SET(0, 1);
OUTPUT_SET(1, 0);
} else if (DIGITAL_DEBUG_MASK == DEBUG_LEDTEST_1) {
OUTPUT_SET(0, 0);
OUTPUT_SET(1, 1);
} else if (!staticParams.outputDebugMask) {
flashingLights();
} else {
OUTPUT_SET(0, debugOut.digital[0] & DIGITAL_DEBUG_MASK);
OUTPUT_SET(1, debugOut.digital[1] & DIGITAL_DEBUG_MASK);
OUTPUT_SET(0, debugOut.digital[0] & staticParams.outputDebugMask);
OUTPUT_SET(1, debugOut.digital[1] & staticParams.outputDebugMask);
}
}