Add power fixed or unfixed flag
This commit is contained in:
4
Makefile
4
Makefile
@@ -41,6 +41,7 @@ ENABLE_BYP_RAW_DEMODULATORS ?= 0
|
|||||||
ENABLE_BLMIN_TMP_OFF ?= 0
|
ENABLE_BLMIN_TMP_OFF ?= 0
|
||||||
ENABLE_SCAN_RANGES ?= 1
|
ENABLE_SCAN_RANGES ?= 1
|
||||||
ENABLE_FEAT_F4HWN ?= 1
|
ENABLE_FEAT_F4HWN ?= 1
|
||||||
|
ENABLE_FEAT_F4HWN_FIXED_PWR ?= 0
|
||||||
|
|
||||||
# ---- DEBUGGING ----
|
# ---- DEBUGGING ----
|
||||||
ENABLE_AM_FIX_SHOW_DATA ?= 0
|
ENABLE_AM_FIX_SHOW_DATA ?= 0
|
||||||
@@ -399,6 +400,9 @@ ifeq ($(ENABLE_FEAT_F4HWN),1)
|
|||||||
CFLAGS += -DAUTHOR_STRING_1=\"$(AUTHOR_STRING_1)\" -DVERSION_STRING_1=\"$(VERSION_STRING_1)\"
|
CFLAGS += -DAUTHOR_STRING_1=\"$(AUTHOR_STRING_1)\" -DVERSION_STRING_1=\"$(VERSION_STRING_1)\"
|
||||||
CFLAGS += -DAUTHOR_STRING_2=\"$(AUTHOR_STRING_2)\" -DVERSION_STRING_2=\"$(VERSION_STRING_2)\"
|
CFLAGS += -DAUTHOR_STRING_2=\"$(AUTHOR_STRING_2)\" -DVERSION_STRING_2=\"$(VERSION_STRING_2)\"
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(ENABLE_FEAT_F4HWN_FIXED_PWR),1)
|
||||||
|
CFLAGS += -DENABLE_FEAT_F4HWN_FIXED_PWR
|
||||||
|
endif
|
||||||
|
|
||||||
LDFLAGS =
|
LDFLAGS =
|
||||||
LDFLAGS += -z noexecstack -mcpu=cortex-m0 -nostartfiles -Wl,-T,firmware.ld -Wl,--gc-sections
|
LDFLAGS += -z noexecstack -mcpu=cortex-m0 -nostartfiles -Wl,-T,firmware.ld -Wl,--gc-sections
|
||||||
|
BIN
archive/f4hwn.fixed.packed.v2.4.bin
Normal file
BIN
archive/f4hwn.fixed.packed.v2.4.bin
Normal file
Binary file not shown.
BIN
archive/f4hwn.unfixed.packed.v2.4.bin
Normal file
BIN
archive/f4hwn.unfixed.packed.v2.4.bin
Normal file
Binary file not shown.
190
radio.c
190
radio.c
@@ -473,105 +473,111 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo)
|
|||||||
EEPROM_ReadBuffer(0x1ED0 + (Band * 16) + (pInfo->OUTPUT_POWER * 3), Txp, 3);
|
EEPROM_ReadBuffer(0x1ED0 + (Band * 16) + (pInfo->OUTPUT_POWER * 3), Txp, 3);
|
||||||
|
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
// make low and mid even lower
|
#ifdef ENABLE_FEAT_F4HWN_FIXED_PWR
|
||||||
// and fix values
|
// make low and mid even lower
|
||||||
// because of toxic fucking closed firmwares
|
// and fix values
|
||||||
|
// because of toxic fucking closed firmwares
|
||||||
|
|
||||||
uint8_t shift[] = {0, 0, 0, 0, 0, 0, 0};
|
uint8_t shift[] = {0, 0, 0, 0, 0, 0, 0};
|
||||||
|
|
||||||
if(Band == 5)
|
if(Band == 5)
|
||||||
{
|
|
||||||
shift[0] = 2;
|
|
||||||
shift[1] = 1;
|
|
||||||
shift[2] = 2;
|
|
||||||
shift[3] = 2;
|
|
||||||
shift[4] = 2;
|
|
||||||
shift[5] = 2;
|
|
||||||
shift[6] = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pInfo->OUTPUT_POWER == OUTPUT_POWER_LOW) {
|
|
||||||
for(uint8_t p = 0; p < 3; p++ )
|
|
||||||
{
|
{
|
||||||
switch (gSetting_set_low) {
|
shift[0] = 2;
|
||||||
case 0:
|
shift[1] = 1;
|
||||||
Txp[p] = 16 - shift[gSetting_set_low];
|
shift[2] = 2;
|
||||||
break;
|
shift[3] = 2;
|
||||||
case 1:
|
shift[4] = 2;
|
||||||
Txp[p] = 21 + shift[gSetting_set_low];
|
shift[5] = 2;
|
||||||
break;
|
shift[6] = 2;
|
||||||
case 2:
|
|
||||||
Txp[p] = 29 + shift[gSetting_set_low];
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
Txp[p] = 37 + shift[gSetting_set_low];
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
Txp[p] = 50 + shift[gSetting_set_low];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_MID){
|
|
||||||
Txp[0] = 77 + shift[5];
|
|
||||||
Txp[1] = 77 + shift[5];
|
|
||||||
Txp[2] = 77 + shift[5];
|
|
||||||
}
|
|
||||||
// increase high
|
|
||||||
else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_HIGH){
|
|
||||||
Txp[0] = 165 + shift[6];
|
|
||||||
Txp[1] = 165 + shift[6];
|
|
||||||
Txp[2] = 165 + shift[6];
|
|
||||||
}
|
|
||||||
|
|
||||||
// uint8_t shift[] = {0, 0, 0, 0, 0};
|
if (pInfo->OUTPUT_POWER == OUTPUT_POWER_LOW) {
|
||||||
|
for(uint8_t p = 0; p < 3; p++ )
|
||||||
|
{
|
||||||
|
switch (gSetting_set_low) {
|
||||||
|
case 0:
|
||||||
|
Txp[p] = 16 - shift[gSetting_set_low];
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
Txp[p] = 21 + shift[gSetting_set_low];
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
Txp[p] = 29 + shift[gSetting_set_low];
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
Txp[p] = 37 + shift[gSetting_set_low];
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
Txp[p] = 50 + shift[gSetting_set_low];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// /*
|
}
|
||||||
// if(Band == 5)
|
}
|
||||||
// {
|
else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_MID){
|
||||||
// shift[0] = 3;
|
Txp[0] = 77 + shift[5];
|
||||||
// shift[1] = 3;
|
Txp[1] = 77 + shift[5];
|
||||||
// shift[2] = 4;
|
Txp[2] = 77 + shift[5];
|
||||||
// shift[3] = 7;
|
}
|
||||||
// shift[4] = 8;
|
// increase high
|
||||||
// }
|
else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_HIGH){
|
||||||
// */
|
Txp[0] = 165 + shift[6];
|
||||||
|
Txp[1] = 165 + shift[6];
|
||||||
// if (pInfo->OUTPUT_POWER == OUTPUT_POWER_LOW) {
|
Txp[2] = 165 + shift[6];
|
||||||
// for(uint8_t p = 0; p < 3; p++ )
|
}
|
||||||
// {
|
#else
|
||||||
// switch (gSetting_set_low) {
|
// make low and mid even lower
|
||||||
// case 0:
|
// and use calibration values
|
||||||
// Txp[p] = (Txp[p] * 4) / 25 + shift[gSetting_set_low];
|
// be aware with toxic fucking closed firmwares
|
||||||
// break;
|
|
||||||
// case 1:
|
|
||||||
// Txp[p] = (Txp[p] * 4) / 19 + shift[gSetting_set_low];
|
|
||||||
// break;
|
|
||||||
// case 2:
|
|
||||||
// Txp[p] = (Txp[p] * 4) / 13 + shift[gSetting_set_low];
|
|
||||||
// break;
|
|
||||||
// case 3:
|
|
||||||
// Txp[p] = (Txp[p] * 4) / 10 + shift[gSetting_set_low];
|
|
||||||
// break;
|
|
||||||
// case 4:
|
|
||||||
// Txp[p] = (Txp[p] * 4) / 7 + shift[gSetting_set_low];
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// }
|
uint8_t shift[] = {0, 0, 0, 0, 0};
|
||||||
// }
|
|
||||||
// else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_MID){
|
/*
|
||||||
// Txp[0] = (Txp[0] * 3) / 4;
|
if(Band == 5) // UHF
|
||||||
// Txp[1] = (Txp[1] * 3) / 4;
|
{
|
||||||
// Txp[2] = (Txp[2] * 3) / 4;
|
shift[0] = 0;
|
||||||
// }
|
shift[1] = 0;
|
||||||
// // increase high
|
shift[2] = 0;
|
||||||
// else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_HIGH){
|
shift[3] = 0;
|
||||||
// Txp[0] = Txp[0] + 30;
|
shift[4] = 0;
|
||||||
// Txp[1] = Txp[1] + 30;
|
}
|
||||||
// Txp[2] = Txp[2] + 30;
|
*/
|
||||||
// }
|
|
||||||
|
if (pInfo->OUTPUT_POWER == OUTPUT_POWER_LOW) {
|
||||||
|
for(uint8_t p = 0; p < 3; p++ )
|
||||||
|
{
|
||||||
|
switch (gSetting_set_low) {
|
||||||
|
case 0:
|
||||||
|
Txp[p] = (Txp[p] * 4) / 25 + shift[gSetting_set_low];
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
Txp[p] = (Txp[p] * 4) / 19 + shift[gSetting_set_low];
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
Txp[p] = (Txp[p] * 4) / 13 + shift[gSetting_set_low];
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
Txp[p] = (Txp[p] * 4) / 10 + shift[gSetting_set_low];
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
Txp[p] = (Txp[p] * 4) / 7 + shift[gSetting_set_low];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_MID){
|
||||||
|
Txp[0] = (Txp[0] * 3) / 4;
|
||||||
|
Txp[1] = (Txp[1] * 3) / 4;
|
||||||
|
Txp[2] = (Txp[2] * 3) / 4;
|
||||||
|
}
|
||||||
|
// increase high
|
||||||
|
else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_HIGH){
|
||||||
|
Txp[0] = Txp[0] + 30;
|
||||||
|
Txp[1] = Txp[1] + 30;
|
||||||
|
Txp[2] = Txp[2] + 30;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
#ifdef ENABLE_REDUCE_LOW_MID_TX_POWER
|
#ifdef ENABLE_REDUCE_LOW_MID_TX_POWER
|
||||||
// make low and mid even lower
|
// make low and mid even lower
|
||||||
|
Reference in New Issue
Block a user