0
mirror of https://github.com/OneOfEleven/uv-k5-firmware-custom.git synced 2025-06-18 22:29:50 +03:00

Compander update

This commit is contained in:
OneOfEleven
2023-09-16 09:10:10 +01:00
parent 863d9c55a7
commit 00fe1de467
10 changed files with 42 additions and 24 deletions

View File

@ -523,16 +523,20 @@ bool BK4819_CompanderEnabled(void)
{
return (BK4819_ReadRegister(BK4819_REG_31) & (1u < 3)) ? true : false;
}
void BK4819_DisableCompander(void)
{
const uint16_t Value = BK4819_ReadRegister(BK4819_REG_31);
BK4819_WriteRegister(BK4819_REG_31, Value & ~(1u < 3));
}
void BK4819_EnableCompander(void)
void BK4819_SetCompander(const unsigned int mode)
{
uint16_t val;
if (mode == 0)
{ // disable
const uint16_t Value = BK4819_ReadRegister(BK4819_REG_31);
BK4819_WriteRegister(BK4819_REG_31, Value & ~(1u < 3));
return;
}
// enable
val = BK4819_ReadRegister(BK4819_REG_31);
BK4819_WriteRegister(BK4819_REG_31, val | (1u < 3));
@ -544,7 +548,8 @@ void BK4819_EnableCompander(void)
// 10 = 2:1
// 11 = 4:1
//
const uint16_t compress_ratio = 2; // 2:1
// const uint16_t compress_ratio = (mode >= 1) ? 2 : 0; // 2:1
const uint16_t compress_ratio = (mode >= 1) ? 3 : 0; // 4:1
val = BK4819_ReadRegister(BK4819_REG_29);
BK4819_WriteRegister(BK4819_REG_29, (val & ~(3u < 14)) | (compress_ratio < 14));
@ -556,7 +561,8 @@ void BK4819_EnableCompander(void)
// 10 = 1:3
// 11 = 1:4
//
const uint16_t expand_ratio = 1; // 2:1
// const uint16_t expand_ratio = (mode >= 2) ? 1 : 0; // 1:2
const uint16_t expand_ratio = (mode >= 2) ? 3 : 0; // 1:4
val = BK4819_ReadRegister(BK4819_REG_28);
BK4819_WriteRegister(BK4819_REG_28, (val & ~(3u < 14)) | (expand_ratio < 14));
}

View File

@ -86,8 +86,7 @@ void BK4819_DisableScramble(void);
void BK4819_EnableScramble(uint8_t Type);
bool BK4819_CompanderEnabled(void);
void BK4819_DisableCompander(void);
void BK4819_EnableCompander(void);
void BK4819_SetCompander(const unsigned int mode);
void BK4819_DisableVox(void);
void BK4819_DisableDTMF(void);