Compare commits
2 commits
090dcecde8
...
c284068061
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c284068061 | ||
|
|
70ff8e55ba |
5 changed files with 52 additions and 2 deletions
|
|
@ -9,6 +9,14 @@ single running list until the first versioned release.
|
||||||
|
|
||||||
_Nothing yet._
|
_Nothing yet._
|
||||||
|
|
||||||
|
## 0.13.0
|
||||||
|
|
||||||
|
- **Power-on indicator** — when the display doesn't stay lit (any backlight mode
|
||||||
|
where the screen goes dark, including **None**), the green LED flashes for
|
||||||
|
**100 ms every 3 s** so it's obvious the radio is still switched on. The flash
|
||||||
|
pauses whenever the LEDs are already in use: while receiving, while
|
||||||
|
transmitting, and while muted (which flashes the red LED instead).
|
||||||
|
|
||||||
## 0.12.0
|
## 0.12.0
|
||||||
|
|
||||||
- **Battery "Bars" display** — a third battery status option in the top status
|
- **Battery "Bars" display** — a third battery status option in the top status
|
||||||
|
|
|
||||||
|
|
@ -99,6 +99,14 @@ fixed. Every element (S-meter, frequencies, menus) follows the selected theme.
|
||||||
### Mute indicator — 🟢 [FreeTRX]
|
### Mute indicator — 🟢 [FreeTRX]
|
||||||
While muted, the **red LED flashes** (0.5 s every 2 s). See *Mute* below.
|
While muted, the **red LED flashes** (0.5 s every 2 s). See *Mute* below.
|
||||||
|
|
||||||
|
### Power-on indicator — 🟢 [FreeTRX]
|
||||||
|
Whenever the backlight is off — any backlight mode where the screen goes dark,
|
||||||
|
including **None** — the **green LED flashes** for **100 ms every 3 s**, so a dark
|
||||||
|
screen doesn't leave you wondering whether the radio is still on. The flash pauses
|
||||||
|
while the LEDs are needed for something else: while receiving, while transmitting,
|
||||||
|
and while muted (which flashes the red LED instead). It also follows the CPS
|
||||||
|
"disable all LEDs" option.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Audio
|
## Audio
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,9 @@
|
||||||
#define _FREETRX_VERSION_H_
|
#define _FREETRX_VERSION_H_
|
||||||
|
|
||||||
#define FREETRX_VERSION_MAJOR 0
|
#define FREETRX_VERSION_MAJOR 0
|
||||||
#define FREETRX_VERSION_MINOR 12
|
#define FREETRX_VERSION_MINOR 13
|
||||||
#define FREETRX_VERSION_PATCH 0
|
#define FREETRX_VERSION_PATCH 0
|
||||||
|
|
||||||
#define FREETRX_VERSION "0.12.0"
|
#define FREETRX_VERSION "0.13.0"
|
||||||
|
|
||||||
#endif // _FREETRX_VERSION_H_
|
#endif // _FREETRX_VERSION_H_
|
||||||
|
|
|
||||||
|
|
@ -1541,6 +1541,37 @@ void applicationMainTask(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Power-on indicator: when the display doesn't stay lit, flash the GREEN LED for
|
||||||
|
// 100ms every 3s, so it's still obvious the radio is switched on while the screen
|
||||||
|
// is dark. Only while nothing else owns the LEDs: a LED lit by RX/TX already shows
|
||||||
|
// the radio is alive, and muting flashes the RED one.
|
||||||
|
{
|
||||||
|
static bool heartbeatFlashOn = false;
|
||||||
|
|
||||||
|
bool rxGreen = (slotState == DMR_STATE_RX_1) || (slotState == DMR_STATE_RX_2) ||
|
||||||
|
currentRadioDevice->analogSignalReceived || currentRadioDevice->digitalSignalReceived;
|
||||||
|
bool ledsAreFree = (rxGreen == false) && ((trxTransmissionEnabled || trxIsTransmitting) == false) &&
|
||||||
|
(audioAmpIsMuted() == false) && (lastVolume != -99);
|
||||||
|
|
||||||
|
if ((displayIsBacklightLit() == false) && ledsAreFree)
|
||||||
|
{
|
||||||
|
bool flashOn = ((ticksGetMillis() % 3000) < 100);
|
||||||
|
|
||||||
|
if (flashOn != heartbeatFlashOn)
|
||||||
|
{
|
||||||
|
heartbeatFlashOn = flashOn;
|
||||||
|
LedWrite(LED_GREEN, (flashOn ? 1 : 0));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (heartbeatFlashOn)
|
||||||
|
{
|
||||||
|
// The backlight came on, or RX/TX/mute took the LEDs over: end our flash and
|
||||||
|
// restore the green LED to whatever the current RX state requires.
|
||||||
|
heartbeatFlashOn = false;
|
||||||
|
LedWrite(LED_GREEN, (rxGreen ? 1 : 0));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
while(ticksGetMillis() < startTime + 1) // ensure this Task runs at 1ms intervals. Regardless of clock speed.
|
while(ticksGetMillis() < startTime + 1) // ensure this Task runs at 1ms intervals. Regardless of clock speed.
|
||||||
{
|
{
|
||||||
vTaskDelay(0U);
|
vTaskDelay(0U);
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,9 @@ FreeTRX keeps OpenGD77's core (DMR/FM, hotspot, CPS compatibility) and adds:
|
||||||
- **Battery bars display** — a third battery status option alongside % and
|
- **Battery bars display** — a third battery status option alongside % and
|
||||||
voltage: a battery-shaped icon with up to four 25 % segments (Display Options →
|
voltage: a battery-shaped icon with up to four 25 % segments (Display Options →
|
||||||
Battery).
|
Battery).
|
||||||
|
- **Power-on indicator** — whenever the backlight is off, the **green LED flashes**
|
||||||
|
for 100 ms every 3 s, so a dark screen never leaves you guessing whether the
|
||||||
|
radio is still on. It pauses while receiving, transmitting or muted.
|
||||||
- **DMR reliability fix** — resolves a hard-fault (freeze needing a battery pull)
|
- **DMR reliability fix** — resolves a hard-fault (freeze needing a battery pull)
|
||||||
on the DMR path that affected recent self-built OpenGD77 revisions.
|
on the DMR path that affected recent self-built OpenGD77 revisions.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue