diff options
Diffstat (limited to 'software')
-rw-r--r-- | software/avr.lib/cc1101.c | 23 |
1 files 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); } |