From 319aa4c50ae2accd5e9922ccc4e6bad8536f6f5f Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Tue, 24 Feb 2015 01:03:48 +0100 Subject: fixed set_freq and reg_init --- software/avr.lib/cc1101.c | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/software/avr.lib/cc1101.c b/software/avr.lib/cc1101.c index 96473b0..6072dfd 100644 --- a/software/avr.lib/cc1101.c +++ b/software/avr.lib/cc1101.c @@ -104,19 +104,9 @@ void cc1101_init(cc1101_driver_conf_t conf) void cc1101_reg_init(void) { - // TODO: this is hack for Beacon mode... - cc1101_spi_write_register(CC1101_REG_RW_IOCFG0, CC1101_GDO_CFG_3STATE); - cc1101_spi_write_register(CC1101_REG_RW_IOCFG1, CC1101_GDO_CFG_3STATE); - cc1101_spi_write_register(CC1101_REG_RW_IOCFG2, CC1101_GDO_CFG_3STATE); - - cc1101_spi_write_register(CC1101_REG_RW_PKTCTRL0, 0b0000110001); //crc disabled; asynchronous serial input on GDO0 - cc1101_spi_write_register(CC1101_REG_RW_FSCTRL1,0x06); //Frequency Synthesizer Control - cc1101_spi_write_register(CC1101_REG_RW_MDMCFG4,0xF5); //Modem Configuration - cc1101_spi_write_register(CC1101_REG_RW_MDMCFG3,0x43); //Modem Configuration - cc1101_spi_write_register(CC1101_REG_RW_MDMCFG2,0x30); //Modem Configuration - cc1101_spi_write_register(CC1101_REG_RW_MDMCFG1,0x00); //Modem Configuration - cc1101_spi_write_register(CC1101_REG_RW_MCSM0,0x18); //Main Radio Control State Machine Configuration - cc1101_spi_write_register(CC1101_REG_RW_FREND0,0x11); //Front End TX Configuration // PA_POWER[2:0] = 1 + cc1101_set_iocfg0(CC1101_GDO_CFG_3STATE); + cc1101_set_iocfg1(CC1101_GDO_CFG_3STATE); + cc1101_set_iocfg2(CC1101_GDO_CFG_3STATE); } void cc1101_soft_reset(void) @@ -228,12 +218,7 @@ uint32_t cc1101_get_freq_hz(void) void cc1101_set_freq_hz(uint32_t hz) { uint32_t freq = (uint32_t)((float)hz / drv.freq_corr); - if(freq <= 0x3FFFFF) - - // TODO: this is only allowed in idle mode - cc1101_spi_write_register(CC1101_REG_RW_FREQ0, freq & 0xFF); - cc1101_spi_write_register(CC1101_REG_RW_FREQ1, (freq >> 8) & 0xFF); - cc1101_spi_write_register(CC1101_REG_RW_FREQ2, (freq >> 16) & 0x3F); + cc1101_set_freq(freq); } -- cgit v1.2.3