Allow app-level CC1101 configuration modifications
authorNathael Pajani <nathael.pajani@ed3l.fr>
Sat, 20 Dec 2014 15:28:59 +0000 (16:28 +0100)
committerNathael Pajani <nathael.pajani@ed3l.fr>
Tue, 8 Nov 2022 16:03:04 +0000 (17:03 +0100)
extdrv/cc1101.c
include/extdrv/cc1101.h

index b586b56..065b5fc 100644 (file)
@@ -459,4 +459,24 @@ void cc1101_config(void)
        cc1101_write_reg(CC1101_PATABLE, paTable[0]);
 }
 
+/* Update CC1101 config
+ * Arguments are the settings table which is a table of address and value pairs,
+ *   and the table length, which must be even.
+ */
+void cc1101_update_config(uint8_t* settings, uint8_t len)
+{
+       int i = 0;
+       if (len & 0x01) {
+               return;
+       }
+       for (i = 0; i < len; i += 2) {
+               cc1101_write_reg(settings[i], settings[i + 1]);
+       }
+}
+
+/* Change PA Table value */
+void cc1101_set_patable(uint8_t val)
+{
+       cc1101_write_reg(CC1101_PATABLE, val);
+}
 
index 153e32d..5549fe7 100644 (file)
@@ -265,5 +265,13 @@ void cc1101_init(uint8_t ssp_num, const struct pio* cs_pin, const struct pio* mi
 /* Write / send all the configuration register values to the CC1101 chip */
 void cc1101_config(void);
 
+/* Update CC1101 config
+ * Arguments are the settings table which is a table of address and value pairs,
+ *   and the table length, which must be even.
+ */
+void cc1101_update_config(uint8_t* settings, uint8_t len);
+
+/* Change PA Table value */
+void cc1101_set_patable(uint8_t val);
 
 #endif /* EXTDRV_CC1101_H */