summaryrefslogtreecommitdiff
path: root/software/avr.lib/cc1101.c
diff options
context:
space:
mode:
Diffstat (limited to 'software/avr.lib/cc1101.c')
-rw-r--r--software/avr.lib/cc1101.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/software/avr.lib/cc1101.c b/software/avr.lib/cc1101.c
index 1c00e83..5c9f2f8 100644
--- a/software/avr.lib/cc1101.c
+++ b/software/avr.lib/cc1101.c
@@ -227,11 +227,54 @@ uint32_t cc1101_get_freq_hz(void)
return (uint32_t)((float)freq * drv.freq_corr);
}
+uint8_t cc1101_get_partnum(void)
+{
+ return cc1101_spi_read_register(CC1101_REG_RO_PARTNUM);
+}
+
+uint8_t cc1101_get_chip_version(void)
+{
+ return cc1101_spi_read_register(CC1101_REG_RO_VERSION);
+}
+
+uint8_t cc1101_get_freq_offset_est(void)
+{
+ return cc1101_spi_read_register(CC1101_REG_RO_FREQUEST);
+}
+
+uint8_t cc1101_get_lqi(void)
+{
+ return cc1101_spi_read_register(CC1101_REG_RO_LQI);
+}
+
int8_t cc1101_get_rssi(void)
{
return (int8_t)cc1101_spi_read_register(CC1101_REG_RO_RSSI);
}
+uint16_t cc1101_get_wortime(void)
+{
+ uint16_t w = cc1101_spi_read_register(CC1101_REG_RO_WORTIME1);
+ w = w << 8;
+ w |= cc1101_spi_read_register(CC1101_REG_RO_WORTIME0);
+ return w;
+}
+
+uint8_t cc1101_get_pkt_status(void)
+{
+ return cc1101_spi_read_register(CC1101_REG_RO_PKTSTATUS);
+}
+
+uint8_t cc1101_get_tx_bytes(void)
+{
+ return cc1101_spi_read_register(CC1101_REG_RO_TXBYTES);
+}
+
+uint8_t cc1101_get_rx_bytes(void)
+{
+ return cc1101_spi_read_register(CC1101_REG_RO_RXBYTES);
+}
+
static char* cc1101_config_reg_to_string(uint8_t addr)
{
switch(addr) {