Subversion Repositories FlightCtrl

Rev

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

Rev 1968 Rev 1986
Line 66... Line 66...
66
  flashCnt[0] = flashCnt[1] = 0;
66
  flashCnt[0] = flashCnt[1] = 0;
67
  flashMask[0] = flashMask[1] = 128;
67
  flashMask[0] = flashMask[1] = 128;
68
}
68
}
Line 69... Line 69...
69
 
69
 
70
void outputSet(uint8_t num, uint8_t state) {
70
void outputSet(uint8_t num, uint8_t state) {
71
  if (staticParams.outputOptions & (OUTPUTOPTIONS_INVERT_0 << num)) {
71
  if (staticParams.outputFlags & (OUTPUTFLAGS_INVERT_0 << num)) {
72
    if (state) OUTPUT_LOW(num) else OUTPUT_HIGH(num);
72
    if (state) OUTPUT_LOW(num) else OUTPUT_HIGH(num);
73
  } else {
73
  } else {
74
    if (state) OUTPUT_HIGH(num) else OUTPUT_LOW(num);
74
    if (state) OUTPUT_HIGH(num) else OUTPUT_LOW(num);
75
  }
75
  }
76
  if (staticParams.outputOptions & OUTPUTOPTIONS_USE_ONBOARD_LEDS) {
76
  if (staticParams.outputFlags & OUTPUTFLAGS_USE_ONBOARD_LEDS) {
77
    if (num) {
77
    if (num) {
78
      if (state) GRN_ON else GRN_OFF;
78
      if (state) GRN_ON else GRN_OFF;
79
    } else {
79
    } else {
80
      if (state) RED_ON else RED_OFF;
80
      if (state) RED_ON else RED_OFF;
Line 102... Line 102...
102
 
102
 
103
void flashingLights(void) {
103
void flashingLights(void) {
104
  static int8_t delay = 0;
104
  static int8_t delay = 0;
105
  if (!delay--) { // 10 ms intervals
105
  if (!delay--) { // 10 ms intervals
106
    delay = 4;
106
    delay = 4;
107
    if (staticParams.outputOptions & OUTPUTOPTIONS_FLASH_AT_BEEP && beepModulation != BEEP_MODULATION_NONE) {
107
    if (staticParams.outputFlags & OUTPUTFLAGS_FLASH_0_AT_BEEP && beepModulation != BEEP_MODULATION_NONE) {
108
      // alarm
108
      // alarm
109
      flashingLight(0, 25, 0x55, 25);
-
 
110
      flashingLight(1, 25, 0xAA, 25);
109
      flashingLight(0, 25, 0x55, 25);
111
    } else {
110
    } else {
-
 
111
      flashingLight(0, staticParams.outputFlash[0].timing, staticParams.outputFlash[0].bitmask, dynamicParams.output0Timing);
-
 
112
    }
-
 
113
    if (staticParams.outputFlags & OUTPUTFLAGS_FLASH_1_AT_BEEP && beepModulation != BEEP_MODULATION_NONE) {
-
 
114
      // alarm
-
 
115
      flashingLight(1, 25, 0x55, 25);
112
      flashingLight(0, staticParams.outputFlash[0].timing, staticParams.outputFlash[0].bitmask, dynamicParams.output0Timing);
116
    } else {
113
      flashingLight(1, staticParams.outputFlash[1].timing, staticParams.outputFlash[1].bitmask, dynamicParams.output1Timing);
117
      flashingLight(1, staticParams.outputFlash[0].timing, staticParams.outputFlash[0].bitmask, dynamicParams.output0Timing);
114
    }
118
    }
115
  }
119
  }
Line 116... Line 120...
116
}
120
}
117
 
121
 
118
void output_update(void) {
122
void output_update(void) {
119
  if (staticParams.outputOptions & OUTPUTOPTIONS_TEST_ON) {
123
  if (staticParams.outputFlags & OUTPUTFLAGS_TEST_ON) {
120
    outputSet(0, 1);
124
    outputSet(0, 1);
121
    outputSet(1, 1);
125
    outputSet(1, 1);
122
  } else if (staticParams.outputOptions & OUTPUTOPTIONS_TEST_OFF) {
126
  } else if (staticParams.outputFlags & OUTPUTFLAGS_TEST_OFF) {
123
    outputSet(0, 0);
127
    outputSet(0, 0);
124
    outputSet(1, 0);
128
    outputSet(1, 0);
125
  } else if (!staticParams.outputDebugMask) {
129
  } else if (!staticParams.outputDebugMask) {