Merge remote-tracking branch 'remotes/OneOfEleven/main'
This commit is contained in:
1
Makefile
1
Makefile
@@ -176,6 +176,7 @@ ifeq ($(ENABLE_LTO), 1)
|
|||||||
CFLAGS += -flto=2
|
CFLAGS += -flto=2
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
CFLAGS += -Wpadded
|
||||||
CFLAGS += -DPRINTF_INCLUDE_CONFIG_H
|
CFLAGS += -DPRINTF_INCLUDE_CONFIG_H
|
||||||
CFLAGS += -DGIT_HASH=\"$(GIT_HASH)\"
|
CFLAGS += -DGIT_HASH=\"$(GIT_HASH)\"
|
||||||
|
|
||||||
|
16
app/action.c
16
app/action.c
@@ -184,11 +184,17 @@ void ACTION_Scan(bool bRestart)
|
|||||||
|
|
||||||
if (gScanState != SCAN_OFF)
|
if (gScanState != SCAN_OFF)
|
||||||
{
|
{
|
||||||
|
#if 1
|
||||||
|
// keep scanning but toggle between scan lists
|
||||||
|
gEeprom.SCAN_LIST_DEFAULT = (gEeprom.SCAN_LIST_DEFAULT + 1) & 1u;
|
||||||
|
gUpdateStatus = true;
|
||||||
|
#else
|
||||||
SCANNER_Stop();
|
SCANNER_Stop();
|
||||||
|
|
||||||
#ifdef ENABLE_VOICE
|
#ifdef ENABLE_VOICE
|
||||||
gAnotherVoiceID = VOICE_ID_SCANNING_STOP;
|
gAnotherVoiceID = VOICE_ID_SCANNING_STOP;
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -200,7 +206,7 @@ void ACTION_Scan(bool bRestart)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// clear the other vfo's rssi level (to hide the antenna symbol)
|
// clear the other vfo's rssi level (to hide the antenna symbol)
|
||||||
gVFO_RSSI_bar_level[gEeprom.RX_CHANNEL == 0] = 0;
|
gVFO_RSSI_bar_level[(gEeprom.RX_CHANNEL + 1) & 1u] = 0;
|
||||||
|
|
||||||
// let the user see DW is not active
|
// let the user see DW is not active
|
||||||
gDualWatchActive = false;
|
gDualWatchActive = false;
|
||||||
@@ -210,8 +216,12 @@ void ACTION_Scan(bool bRestart)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (!bRestart)
|
if (!bRestart)
|
||||||
{ // scanning
|
{ // keep scanning but toggle between scan lists
|
||||||
|
gEeprom.SCAN_LIST_DEFAULT = (gEeprom.SCAN_LIST_DEFAULT + 1) & 1u;
|
||||||
|
gUpdateStatus = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ // stop scanning
|
||||||
gMonitor = false;
|
gMonitor = false;
|
||||||
|
|
||||||
SCANNER_Stop();
|
SCANNER_Stop();
|
||||||
|
@@ -660,6 +660,7 @@ static void MAIN_Key_STAR(bool bKeyPressed, bool bKeyHeld)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
ACTION_Scan(false);
|
ACTION_Scan(false);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
68
bitmaps.c
68
bitmaps.c
@@ -281,24 +281,54 @@ const uint8_t BITMAP_TDR2[12] =
|
|||||||
0b00110001
|
0b00110001
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
/*
|
||||||
const uint8_t BITMAP_SC[12] =
|
const uint8_t BITMAP_SC1[8] =
|
||||||
{ // "SC"
|
{ // "I"
|
||||||
0b00000000,
|
|
||||||
0b01000110,
|
|
||||||
0b01001001,
|
|
||||||
0b01001001,
|
|
||||||
0b01001001,
|
|
||||||
0b00110001,
|
|
||||||
|
|
||||||
0b00000000,
|
|
||||||
0b00111110,
|
|
||||||
0b01000001,
|
0b01000001,
|
||||||
0b01000001,
|
0b01000001,
|
||||||
|
0b01111111,
|
||||||
|
0b01111111,
|
||||||
|
0b01111111,
|
||||||
0b01000001,
|
0b01000001,
|
||||||
0b00100010
|
0b01000001,
|
||||||
|
0b00000000
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const uint8_t BITMAP_SC2[8] =
|
||||||
|
{ // "II"
|
||||||
|
0b01000001,
|
||||||
|
0b01111111,
|
||||||
|
0b01111111,
|
||||||
|
0b01000001,
|
||||||
|
0b01111111,
|
||||||
|
0b01111111,
|
||||||
|
0b01000001,
|
||||||
|
0b00000000
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
const uint8_t BITMAP_SC1[7] =
|
||||||
|
{ // "1"
|
||||||
|
0b01000000,
|
||||||
|
0b01000000,
|
||||||
|
0b01000110,
|
||||||
|
0b01111111,
|
||||||
|
0b01000000,
|
||||||
|
0b01000000,
|
||||||
|
0b00000000
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint8_t BITMAP_SC2[7] =
|
||||||
|
{ // "2"
|
||||||
|
0b01000010,
|
||||||
|
0b01100001,
|
||||||
|
0b01010001,
|
||||||
|
0b01001001,
|
||||||
|
0b01001001,
|
||||||
|
0b01000110,
|
||||||
|
0b00000000
|
||||||
|
};
|
||||||
|
*/
|
||||||
const uint8_t BITMAP_Antenna[5] =
|
const uint8_t BITMAP_Antenna[5] =
|
||||||
{
|
{
|
||||||
0b00000011,
|
0b00000011,
|
||||||
@@ -385,17 +415,7 @@ const uint8_t BITMAP_VFO_NotDefault[8] =
|
|||||||
0b00010100,
|
0b00010100,
|
||||||
0b00001000
|
0b00001000
|
||||||
};
|
};
|
||||||
/*
|
|
||||||
const uint8_t BITMAP_ScanList[6] =
|
|
||||||
{ // diamond symbol
|
|
||||||
0b00001000,
|
|
||||||
0b00011100,
|
|
||||||
0b00111110,
|
|
||||||
0b00111110,
|
|
||||||
0b00011100,
|
|
||||||
0b00001000
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
const uint8_t BITMAP_ScanList1[6] =
|
const uint8_t BITMAP_ScanList1[6] =
|
||||||
{ // 'I' symbol
|
{ // 'I' symbol
|
||||||
0b00000000,
|
0b00000000,
|
||||||
|
@@ -46,7 +46,10 @@ extern const uint8_t BITMAP_TDR2[12];
|
|||||||
extern const uint8_t BITMAP_NOAA[12];
|
extern const uint8_t BITMAP_NOAA[12];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern const uint8_t BITMAP_SC[12];
|
//extern const uint8_t BITMAP_SC1[8];
|
||||||
|
//extern const uint8_t BITMAP_SC2[8];
|
||||||
|
//extern const uint8_t BITMAP_SC1[7];
|
||||||
|
//extern const uint8_t BITMAP_SC2[7];
|
||||||
|
|
||||||
extern const uint8_t BITMAP_Antenna[5];
|
extern const uint8_t BITMAP_Antenna[5];
|
||||||
extern const uint8_t BITMAP_AntennaLevel1[3];
|
extern const uint8_t BITMAP_AntennaLevel1[3];
|
||||||
@@ -61,7 +64,6 @@ extern const uint8_t BITMAP_MARKER[8];
|
|||||||
extern const uint8_t BITMAP_VFO_Default[8];
|
extern const uint8_t BITMAP_VFO_Default[8];
|
||||||
extern const uint8_t BITMAP_VFO_NotDefault[8];
|
extern const uint8_t BITMAP_VFO_NotDefault[8];
|
||||||
|
|
||||||
//extern const uint8_t BITMAP_ScanList[6];
|
|
||||||
extern const uint8_t BITMAP_ScanList1[6];
|
extern const uint8_t BITMAP_ScanList1[6];
|
||||||
extern const uint8_t BITMAP_ScanList2[6];
|
extern const uint8_t BITMAP_ScanList2[6];
|
||||||
|
|
||||||
|
11
driver/adc.h
11
driver/adc.h
@@ -42,8 +42,10 @@ enum ADC_CH_MASK {
|
|||||||
typedef enum ADC_CH_MASK ADC_CH_MASK;
|
typedef enum ADC_CH_MASK ADC_CH_MASK;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint8_t CLK_SEL;
|
uint16_t EXTTRIG_SEL;
|
||||||
|
uint16_t IE_CHx_EOC;
|
||||||
ADC_CH_MASK CH_SEL;
|
ADC_CH_MASK CH_SEL;
|
||||||
|
uint8_t CLK_SEL;
|
||||||
uint8_t AVG;
|
uint8_t AVG;
|
||||||
uint8_t CONT;
|
uint8_t CONT;
|
||||||
uint8_t MEM_MODE;
|
uint8_t MEM_MODE;
|
||||||
@@ -51,13 +53,12 @@ typedef struct {
|
|||||||
uint8_t SMPL_SETUP;
|
uint8_t SMPL_SETUP;
|
||||||
uint8_t SMPL_WIN;
|
uint8_t SMPL_WIN;
|
||||||
uint8_t ADC_TRIG;
|
uint8_t ADC_TRIG;
|
||||||
uint16_t EXTTRIG_SEL;
|
|
||||||
bool CALIB_OFFSET_VALID;
|
|
||||||
bool CALIB_KD_VALID;
|
|
||||||
uint8_t DMA_EN;
|
uint8_t DMA_EN;
|
||||||
uint16_t IE_CHx_EOC;
|
|
||||||
uint8_t IE_FIFO_HFULL;
|
uint8_t IE_FIFO_HFULL;
|
||||||
uint8_t IE_FIFO_FULL;
|
uint8_t IE_FIFO_FULL;
|
||||||
|
bool CALIB_OFFSET_VALID;
|
||||||
|
bool CALIB_KD_VALID;
|
||||||
|
uint8_t _pad[1];
|
||||||
} ADC_Config_t;
|
} ADC_Config_t;
|
||||||
|
|
||||||
uint8_t ADC_GetChannelNumber(ADC_CH_MASK Mask);
|
uint8_t ADC_GetChannelNumber(ADC_CH_MASK Mask);
|
||||||
|
32
settings.h
32
settings.h
@@ -127,7 +127,15 @@ typedef struct {
|
|||||||
uint8_t field7_0xa;
|
uint8_t field7_0xa;
|
||||||
uint8_t field8_0xb;
|
uint8_t field8_0xb;
|
||||||
|
|
||||||
uint32_t POWER_ON_PASSWORD;
|
#ifdef ENABLE_FMRADIO
|
||||||
|
uint16_t FM_SelectedFrequency;
|
||||||
|
uint8_t FM_SelectedChannel;
|
||||||
|
bool FM_IsMrMode;
|
||||||
|
uint16_t FM_FrequencyPlaying;
|
||||||
|
uint16_t FM_LowerLimit;
|
||||||
|
uint16_t FM_UpperLimit;
|
||||||
|
#endif
|
||||||
|
|
||||||
uint8_t SQUELCH_LEVEL;
|
uint8_t SQUELCH_LEVEL;
|
||||||
uint8_t TX_TIMEOUT_TIMER;
|
uint8_t TX_TIMEOUT_TIMER;
|
||||||
bool KEY_LOCK;
|
bool KEY_LOCK;
|
||||||
@@ -153,24 +161,9 @@ typedef struct {
|
|||||||
uint8_t field29_0x26;
|
uint8_t field29_0x26;
|
||||||
uint8_t field30_0x27;
|
uint8_t field30_0x27;
|
||||||
|
|
||||||
uint16_t VOX1_THRESHOLD;
|
|
||||||
uint16_t VOX0_THRESHOLD;
|
|
||||||
|
|
||||||
#ifdef ENABLE_FMRADIO
|
|
||||||
uint16_t FM_SelectedFrequency;
|
|
||||||
uint8_t FM_SelectedChannel;
|
|
||||||
bool FM_IsMrMode;
|
|
||||||
uint16_t FM_FrequencyPlaying;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
uint8_t field37_0x32;
|
uint8_t field37_0x32;
|
||||||
uint8_t field38_0x33;
|
uint8_t field38_0x33;
|
||||||
|
|
||||||
#ifdef ENABLE_FMRADIO
|
|
||||||
uint16_t FM_LowerLimit;
|
|
||||||
uint16_t FM_UpperLimit;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
bool AUTO_KEYPAD_LOCK;
|
bool AUTO_KEYPAD_LOCK;
|
||||||
#if defined(ENABLE_ALARM) || defined(ENABLE_TX1750)
|
#if defined(ENABLE_ALARM) || defined(ENABLE_TX1750)
|
||||||
ALARM_Mode_t ALARM_MODE;
|
ALARM_Mode_t ALARM_MODE;
|
||||||
@@ -216,11 +209,16 @@ typedef struct {
|
|||||||
uint8_t VOLUME_GAIN;
|
uint8_t VOLUME_GAIN;
|
||||||
uint8_t DAC_GAIN;
|
uint8_t DAC_GAIN;
|
||||||
|
|
||||||
|
VFO_Info_t VfoInfo[2];
|
||||||
|
uint32_t POWER_ON_PASSWORD;
|
||||||
|
uint16_t VOX1_THRESHOLD;
|
||||||
|
uint16_t VOX0_THRESHOLD;
|
||||||
|
|
||||||
uint8_t field77_0x95;
|
uint8_t field77_0x95;
|
||||||
uint8_t field78_0x96;
|
uint8_t field78_0x96;
|
||||||
uint8_t field79_0x97;
|
uint8_t field79_0x97;
|
||||||
|
|
||||||
VFO_Info_t VfoInfo[2];
|
uint8_t _pad[1];
|
||||||
} EEPROM_Config_t;
|
} EEPROM_Config_t;
|
||||||
extern EEPROM_Config_t gEeprom;
|
extern EEPROM_Config_t gEeprom;
|
||||||
|
|
||||||
|
59
ui/status.c
59
ui/status.c
@@ -96,10 +96,17 @@ void UI_DisplayStatus(const bool test_display)
|
|||||||
// SCAN indicator
|
// SCAN indicator
|
||||||
if (gScanState != SCAN_OFF || gScreenToDisplay == DISPLAY_SCANNER || test_display)
|
if (gScanState != SCAN_OFF || gScreenToDisplay == DISPLAY_SCANNER || test_display)
|
||||||
{
|
{
|
||||||
memmove(line + x, BITMAP_SC, sizeof(BITMAP_SC));
|
if (gEeprom.SCAN_LIST_DEFAULT == 0)
|
||||||
x1 = x + sizeof(BITMAP_SC);
|
// memmove(line + x, BITMAP_SC1, sizeof(BITMAP_SC1));
|
||||||
|
UI_PrintStringSmallBuffer("1", line + x);
|
||||||
|
else
|
||||||
|
// memmove(line + x, BITMAP_SC2, sizeof(BITMAP_SC2));
|
||||||
|
UI_PrintStringSmallBuffer("2", line + x);
|
||||||
|
// x1 = x + sizeof(BITMAP_SC1);
|
||||||
|
x1 = x + 7;
|
||||||
}
|
}
|
||||||
x += sizeof(BITMAP_SC);
|
// x += sizeof(BITMAP_SC1);
|
||||||
|
x += 7; // font character width
|
||||||
|
|
||||||
#ifdef ENABLE_VOICE
|
#ifdef ENABLE_VOICE
|
||||||
// VOICE indicator
|
// VOICE indicator
|
||||||
@@ -210,23 +217,37 @@ void UI_DisplayStatus(const bool test_display)
|
|||||||
|
|
||||||
#ifndef ENABLE_REVERSE_BAT_SYMBOL
|
#ifndef ENABLE_REVERSE_BAT_SYMBOL
|
||||||
line += sizeof(BITMAP_BatteryLevel1);
|
line += sizeof(BITMAP_BatteryLevel1);
|
||||||
if (gBatteryDisplayLevel >= 2)
|
{
|
||||||
memmove(line - 4, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
const int8_t pos[] = {-4, -7, -10, 13};
|
||||||
if (gBatteryDisplayLevel >= 3)
|
for (unsigned int i = 0; i < ARRAY_SIZE(pos); i++)
|
||||||
memmove(line - 7, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
if (gBatteryDisplayLevel >= (2 + i))
|
||||||
if (gBatteryDisplayLevel >= 4)
|
memmove(line + pos[i], BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
||||||
memmove(line - 10, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
|
||||||
if (gBatteryDisplayLevel >= 5)
|
/* switch (gBatteryDisplayLevel)
|
||||||
memmove(line - 13, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
{
|
||||||
|
default:
|
||||||
|
case 5: memmove(line - 13, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
||||||
|
case 4: memmove(line - 10, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
||||||
|
case 3: memmove(line - 7, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
||||||
|
case 2: memmove(line - 4, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
||||||
|
}
|
||||||
|
*/ }
|
||||||
#else
|
#else
|
||||||
if (gBatteryDisplayLevel >= 2)
|
{
|
||||||
memmove(line + 3, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
const int8_t pos[] = {3, 6, 9, 12};
|
||||||
if (gBatteryDisplayLevel >= 3)
|
for (unsigned int i = 0; i < ARRAY_SIZE(pos); i++)
|
||||||
memmove(line + 6, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
if (gBatteryDisplayLevel >= (2 + i))
|
||||||
if (gBatteryDisplayLevel >= 4)
|
memmove(line + pos[i], BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
||||||
memmove(line + 9, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
/*
|
||||||
if (gBatteryDisplayLevel >= 5)
|
switch (gBatteryDisplayLevel)
|
||||||
memmove(line + 12, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
{
|
||||||
|
default:
|
||||||
|
case 5: memmove(line + 12, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
||||||
|
case 4: memmove(line + 9, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
||||||
|
case 3: memmove(line + 6, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
||||||
|
case 2: memmove(line + 3, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel));
|
||||||
|
}
|
||||||
|
*/ }
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Reference in New Issue
Block a user