summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@mur.at>2015-02-24 01:03:48 +0100
committerChristian Pointner <equinox@mur.at>2015-02-24 01:03:48 +0100
commit319aa4c50ae2accd5e9922ccc4e6bad8536f6f5f (patch)
tree7f53f6d646d08216ba3e5143cae2260339fa2c85
parenthhd70: implemented also register writes (diff)
fixed set_freq and reg_init
-rw-r--r--software/avr.lib/cc1101.c23
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);
}