diff options
Diffstat (limited to 'software/rda1846dongle/rda1846.c')
-rw-r--r-- | software/rda1846dongle/rda1846.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/software/rda1846dongle/rda1846.c b/software/rda1846dongle/rda1846.c index 921296c..695f0e7 100644 --- a/software/rda1846dongle/rda1846.c +++ b/software/rda1846dongle/rda1846.c @@ -34,6 +34,8 @@ #include <stdio.h> #include "rda1846.h" +//#define QUARTZ_12M288 +#define QUARTZ_13M #include "rda1846_defines.h" static uint8_t rda1846_write_register_raw(const uint8_t addr, const uint16_t data) @@ -184,6 +186,10 @@ void rda1846_reg_init(void) // rda1846_write_register(RDA1846_REG_TX_VOICE, RDA1846_TX_VOICE_TONE2); // rda1846_write_register(RDA1846_REG_DTMF_T2, 6689); + rda1846_write_register(RDA1846_REG_DTMF_C01, (RDA1846_DTMF_C0 << 8) | RDA1846_DTMF_C1); + rda1846_write_register(RDA1846_REG_DTMF_C23, (RDA1846_DTMF_C1 << 8) | RDA1846_DTMF_C3); + rda1846_write_register(RDA1846_REG_DTMF_C45, (RDA1846_DTMF_C3 << 8) | RDA1846_DTMF_C5); + rda1846_write_register(RDA1846_REG_DTMF_C67, (RDA1846_DTMF_C6 << 8) | RDA1846_DTMF_C7); rda1846_write_register(RDA1846_REG_DTMF_CTL, RDA1846_DTMF_DUAL | RDA1846_DTMF_EN); rda1846_write_register(RDA1846_REG_INT, RDA1846_INT_DTMF_IDLE); @@ -352,7 +358,7 @@ void rda1846_set_volume(int8_t vol) uint16_t data; if(vol < -30 || vol > 0) return; - + if(vol >= -15) data = 0x000F | (((vol + 15)<<4) & 0xF0); else |