From cb0505a880a6d07f6849021578dcdbdb6c89cd60 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Fri, 22 Mar 2013 00:30:37 +0000 Subject: added interface to switch between 2m and 70cm git-svn-id: https://svn.spreadspace.org/mur.sat@705 7de4ea59-55d0-425e-a1af-a3118ea81d4c --- software/rda1846dongle/rda1846.c | 47 +++++++++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 8 deletions(-) (limited to 'software/rda1846dongle/rda1846.c') diff --git a/software/rda1846dongle/rda1846.c b/software/rda1846dongle/rda1846.c index eeb5ba1..9f8f356 100644 --- a/software/rda1846dongle/rda1846.c +++ b/software/rda1846dongle/rda1846.c @@ -129,20 +129,18 @@ void rda1846_reg_init(void) rda1846_write_register(RDA1846_REG_CTL, RDA1846_CTL_SOFT_RST); rda1846_write_register(RDA1846_REG_CTL, RDA1846_CTL_PDN); - rda1846_write_register(RDA1846_REG_RF_BAND, RDA1846_RF_BAND_2M); -// rda1846_write_register(RDA1846_REG_RF_BAND, RDA1846_RF_BAND_70CM); - // set crystal frequency (12.288 MHz) rda1846_write_register(RDA1846_REG_XTAL, RDA1846_XTAL_FREQ); rda1846_write_register(RDA1846_REG_ADCLK, RDA1846_ADCLK_FREQ); rda1846_write_register(RDA1846_REG_CLK_MODE, RDA1846_CLK_MODE); -// rda1846_write_register(RDA1846_REG_CTL, RDA1846_CTL_CH_12K5 | RDA1846_CTL_RX_M_TX_M | RDA1846_CTL_PDN); - rda1846_write_register(RDA1846_REG_CTL, RDA1846_CTL_CH_25K | RDA1846_CTL_RX_M_TX_M | RDA1846_CTL_PDN); + rda1846_write_register(RDA1846_REG_RF_BAND, RDA1846_RF_BAND_2M); + rda1846_write_register(RDA1846_REG_CTL, RDA1846_CTL_CH_12K5 | RDA1846_CTL_RX_M_TX_M | RDA1846_CTL_PDN); -// rda1846_write_register(RDA1846_REG_TX_VOICE, RDA1846_TX_VOICE_NONE); - rda1846_write_register(RDA1846_REG_TX_VOICE, RDA1846_TX_VOICE_MIC); + rda1846_write_register(RDA1846_REG_TX_VOICE, RDA1846_TX_VOICE_NONE); +// rda1846_write_register(RDA1846_REG_TX_VOICE, RDA1846_TX_VOICE_MIC); // 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_CTL, RDA1846_DTMF_DUAL | RDA1846_DTMF_EN); // rda1846_write_register(RDA1846_REG_INT, RDA1846_INT_DTMF_IDLE); @@ -176,6 +174,39 @@ void rda1846_wakeup(void) } +void rda1846_set_band_2m(void) +{ + rda1846_write_register(RDA1846_REG_RF_BAND, RDA1846_RF_BAND_2M); +} + +void rda1846_set_band_70cm(void) +{ + rda1846_write_register(RDA1846_REG_RF_BAND, RDA1846_RF_BAND_70CM); +} + +void rda1846_set_bw_12k5(void) +{ + uint16_t data; + if(rda1846_read_register(RDA1846_REG_CTL, &data)) + return; + + data &= RDA1846_CTL_CH_RESET; + data |= RDA1846_CTL_CH_12K5; + rda1846_write_register(RDA1846_REG_CTL, data); +} + +void rda1846_set_bw_25k(void) +{ + uint16_t data; + if(rda1846_read_register(RDA1846_REG_CTL, &data)) + return; + + data &= RDA1846_CTL_CH_RESET; + data |= RDA1846_CTL_CH_25K; + rda1846_write_register(RDA1846_REG_CTL, data); +} + + void rda1846_idle(void) { uint16_t data; @@ -359,7 +390,7 @@ void rda1846_dump_register(void) RDA1846_REG_CTL, RDA1846_REG_INT, RDA1846_REG_GPIO, RDA1846_REG_PA_BIAS, RDA1846_REG_TX_VOICE, RDA1846_REG_VOX_OPEN, RDA1846_REG_VOX_SHUT, RDA1846_REG_SUBAUDIO, RDA1846_REG_RX_VOICE, RDA1846_REG_SQ_OPEN, RDA1846_REG_SQ_SHUT, - RDA1846_REG_DTMF_CTL, RDA1846_REG_DTMF_OUT, + RDA1846_REG_DTMF_CTL, RDA1846_REG_DTMF_OUT, RDA1846_REG_DTMF_T1, RDA1846_REG_DTMF_T2, RDA1846_REG_RSSI, RDA1846_REG_VSSI, RDA1846_REG_FLAG }; int i; -- cgit v1.2.3