Skip to content

Commit ed5fc60

Browse files
XING-IFJyeSmith
andauthored
iFlight fix 2400TX output // add LED cases (ExpressLRS#1188)
* Fix iFlight 2400TX output power Changed power_output_values from the 2400TX * Add iFlight TX LED cases Add iFlight specific LED cases * correct defines and refactor Co-authored-by: Jye <[email protected]>
1 parent 6f6a4aa commit ed5fc60

2 files changed

Lines changed: 30 additions & 52 deletions

File tree

src/include/target/iFlight_2400_TX.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@
2424
// Output Power
2525
#define MinPower PWR_10mW
2626
#define MaxPower PWR_500mW
27-
#define POWER_OUTPUT_VALUES {-18,-15,-11,-8,-4,3}
27+
#define POWER_OUTPUT_VALUES {-18,-15,-13,-9,-4,3}
2828

2929
#define Regulatory_Domain_ISM_2400 1

src/lib/LED/devLED.cpp

Lines changed: 29 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,11 @@ static void initialize()
6565
pinMode(GPIO_PIN_LED_RED, OUTPUT);
6666
digitalWrite(GPIO_PIN_LED_RED, LOW ^ GPIO_LED_RED_INVERTED);
6767
#endif // GPIO_PIN_LED_RED
68+
#if defined(TARGET_TX_IFLIGHT)
69+
digitalWrite(GPIO_PIN_LED_GREEN, LOW);
70+
digitalWrite(GPIO_PIN_LED_RED, HIGH);
71+
digitalWrite(GPIO_PIN_LED_BLUE, LOW);
72+
#endif
6873
#if defined(TARGET_TX_FM30)
6974
pinMode(GPIO_PIN_LED_RED_GREEN, OUTPUT); // Green LED on "Red" LED (off)
7075
digitalWrite(GPIO_PIN_LED_RED_GREEN, HIGH);
@@ -90,11 +95,7 @@ static void initialize()
9095

9196
static int timeout()
9297
{
93-
#if defined(GPIO_PIN_LED_GREEN) || defined(GPIO_PIN_LED)
9498
return updateLED();
95-
#else
96-
return DURATION_NEVER;
97-
#endif
9899
}
99100

100101
static void setPowerLEDs()
@@ -120,48 +121,6 @@ static void setPowerLEDs()
120121
break;
121122
}
122123
#endif
123-
124-
#if defined(TARGET_TX_IFLIGHT)
125-
switch (POWERMGNT::currPower())
126-
{
127-
case PWR_10mW:
128-
digitalWrite(GPIO_PIN_LED_RED, HIGH);
129-
digitalWrite(GPIO_PIN_LED_GREEN, LOW);
130-
digitalWrite(GPIO_PIN_LED_BLUE, LOW);
131-
break;
132-
case PWR_25mW:
133-
digitalWrite(GPIO_PIN_LED_RED, LOW);
134-
digitalWrite(GPIO_PIN_LED_GREEN, HIGH);
135-
digitalWrite(GPIO_PIN_LED_BLUE, LOW);
136-
break;
137-
case PWR_50mW:
138-
digitalWrite(GPIO_PIN_LED_RED, LOW);
139-
digitalWrite(GPIO_PIN_LED_GREEN, LOW);
140-
digitalWrite(GPIO_PIN_LED_BLUE, HIGH);
141-
break;
142-
case PWR_250mW:
143-
digitalWrite(GPIO_PIN_LED_RED, HIGH);
144-
digitalWrite(GPIO_PIN_LED_GREEN, LOW);
145-
digitalWrite(GPIO_PIN_LED_BLUE, HIGH);
146-
break;
147-
case PWR_500mW:
148-
digitalWrite(GPIO_PIN_LED_RED, LOW);
149-
digitalWrite(GPIO_PIN_LED_GREEN, HIGH);
150-
digitalWrite(GPIO_PIN_LED_BLUE, HIGH);
151-
break;
152-
case PWR_1000mW:
153-
digitalWrite(GPIO_PIN_LED_RED, HIGH);
154-
digitalWrite(GPIO_PIN_LED_GREEN, HIGH);
155-
digitalWrite(GPIO_PIN_LED_BLUE, HIGH);
156-
break;
157-
case PWR_100mW:
158-
default:
159-
digitalWrite(GPIO_PIN_LED_RED, HIGH);
160-
digitalWrite(GPIO_PIN_LED_GREEN, HIGH);
161-
digitalWrite(GPIO_PIN_LED_BLUE, LOW);
162-
break;
163-
}
164-
#endif
165124
}
166125

167126
static int event()
@@ -176,8 +135,14 @@ static int event()
176135
switch (connectionState)
177136
{
178137
case connected:
179-
#if defined(TARGET_TX) && defined(GPIO_PIN_LED_RED) && (GPIO_PIN_LED_RED != UNDEF_PIN)
180-
digitalWrite(GPIO_PIN_LED_RED, HIGH ^ GPIO_LED_RED_INVERTED);
138+
#if defined(TARGET_TX)
139+
#if defined(TARGET_TX_IFLIGHT)
140+
digitalWrite(GPIO_PIN_LED_GREEN, HIGH);
141+
digitalWrite(GPIO_PIN_LED_RED, LOW);
142+
digitalWrite(GPIO_PIN_LED_BLUE, LOW);
143+
#elif defined(GPIO_PIN_LED_RED) && (GPIO_PIN_LED_RED != UNDEF_PIN)
144+
digitalWrite(GPIO_PIN_LED_RED, HIGH ^ GPIO_LED_RED_INVERTED);
145+
#endif
181146
#endif // GPIO_PIN_LED_RED
182147
#if defined(TARGET_RX)
183148
#ifdef GPIO_PIN_LED_GREEN
@@ -202,10 +167,13 @@ static int event()
202167
return DURATION_NEVER;
203168
case disconnected:
204169
#if defined(TARGET_TX)
205-
#if defined(GPIO_PIN_LED_RED) && (GPIO_PIN_LED_RED != UNDEF_PIN)
170+
#if defined(TARGET_TX_IFLIGHT)
171+
digitalWrite(GPIO_PIN_LED_GREEN, LOW);
172+
digitalWrite(GPIO_PIN_LED_BLUE, LOW);
173+
return flashLED(GPIO_PIN_LED_RED, GPIO_LED_RED_INVERTED, LEDSEQ_DISCONNECTED, sizeof(LEDSEQ_DISCONNECTED));
174+
#elif defined(GPIO_PIN_LED_RED) && (GPIO_PIN_LED_RED != UNDEF_PIN)
206175
digitalWrite(GPIO_PIN_LED_RED, LOW ^ GPIO_LED_RED_INVERTED);
207176
#endif
208-
return DURATION_NEVER;
209177
#endif
210178
#if defined(TARGET_RX)
211179
#ifdef GPIO_PIN_LED_GREEN
@@ -220,8 +188,14 @@ static int event()
220188
return flashLED(GPIO_PIN_LED_GREEN, GPIO_LED_GREEN_INVERTED, LEDSEQ_DISCONNECTED, sizeof(LEDSEQ_DISCONNECTED));
221189
#endif
222190
#endif
191+
return DURATION_NEVER;
223192
case wifiUpdate:
224193
#if defined(TARGET_TX)
194+
#if defined(TARGET_TX_IFLIGHT)
195+
digitalWrite(GPIO_PIN_LED_GREEN, LOW);
196+
digitalWrite(GPIO_PIN_LED_RED, LOW);
197+
return flashLED(GPIO_PIN_LED_BLUE, GPIO_LED_BLUE_INVERTED, LEDSEQ_WIFI_UPDATE, sizeof(LEDSEQ_WIFI_UPDATE));
198+
#endif
225199
return DURATION_NEVER;
226200
#endif
227201
#if defined(TARGET_RX) && defined(GPIO_PIN_LED)
@@ -230,7 +204,11 @@ static int event()
230204
return DURATION_NEVER;
231205
#endif
232206
case radioFailed:
233-
#if defined(GPIO_PIN_LED_GREEN) && (GPIO_PIN_LED_GREEN != UNDEF_PIN)
207+
#if defined(TARGET_TX_IFLIGHT)
208+
digitalWrite(GPIO_PIN_LED_GREEN, LOW);
209+
digitalWrite(GPIO_PIN_LED_BLUE, LOW);
210+
return flashLED(GPIO_PIN_LED_RED, GPIO_LED_RED_INVERTED, LEDSEQ_RADIO_FAILED, sizeof(LEDSEQ_RADIO_FAILED));
211+
#elif defined(GPIO_PIN_LED_GREEN) && (GPIO_PIN_LED_GREEN != UNDEF_PIN)
234212
digitalWrite(GPIO_PIN_LED_GREEN, LOW ^ GPIO_LED_GREEN_INVERTED);
235213
#endif // GPIO_PIN_LED_GREEN
236214
#if defined(GPIO_PIN_LED_RED) && (GPIO_PIN_LED_RED != UNDEF_PIN)

0 commit comments

Comments
 (0)