ソースを参照

prepare for const

MX 10 ヶ月 前
コミット
5516398695
2 ファイル変更57 行追加57 行削除
  1. 29 29
      lib/nrf24/nrf24.c
  2. 28 28
      lib/nrf24/nrf24.h

+ 29 - 29
lib/nrf24/nrf24.c

@@ -22,7 +22,7 @@ void nrf24_deinit() {
 }
 
 void nrf24_spi_trx(
-    FuriHalSpiBusHandle* handle,
+    const FuriHalSpiBusHandle* handle,
     uint8_t* tx,
     uint8_t* rx,
     uint8_t size,
@@ -33,7 +33,7 @@ void nrf24_spi_trx(
     furi_hal_gpio_write(handle->cs, true);
 }
 
-uint8_t nrf24_write_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t data) {
+uint8_t nrf24_write_reg(const FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t data) {
     uint8_t tx[2] = {W_REGISTER | (REGISTER_MASK & reg), data};
     uint8_t rx[2] = {0};
     nrf24_spi_trx(handle, tx, rx, 2, nrf24_TIMEOUT);
@@ -41,7 +41,7 @@ uint8_t nrf24_write_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t data)
     return rx[0];
 }
 
-uint8_t nrf24_write_buf_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* data, uint8_t size) {
+uint8_t nrf24_write_buf_reg(const FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* data, uint8_t size) {
     uint8_t tx[size + 1];
     uint8_t rx[size + 1];
     memset(rx, 0, size + 1);
@@ -52,7 +52,7 @@ uint8_t nrf24_write_buf_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* d
     return rx[0];
 }
 
-uint8_t nrf24_read_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* data, uint8_t size) {
+uint8_t nrf24_read_reg(const FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* data, uint8_t size) {
     uint8_t tx[size + 1];
     uint8_t rx[size + 1];
     memset(rx, 0, size + 1);
@@ -63,42 +63,42 @@ uint8_t nrf24_read_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* data,
     return rx[0];
 }
 
-uint8_t nrf24_flush_rx(FuriHalSpiBusHandle* handle) {
+uint8_t nrf24_flush_rx(const FuriHalSpiBusHandle* handle) {
     uint8_t tx[] = {FLUSH_RX};
     uint8_t rx[] = {0};
     nrf24_spi_trx(handle, tx, rx, 1, nrf24_TIMEOUT);
     return rx[0];
 }
 
-uint8_t nrf24_flush_tx(FuriHalSpiBusHandle* handle) {
+uint8_t nrf24_flush_tx(const FuriHalSpiBusHandle* handle) {
     uint8_t tx[] = {FLUSH_TX};
     uint8_t rx[] = {0};
     nrf24_spi_trx(handle, tx, rx, 1, nrf24_TIMEOUT);
     return rx[0];
 }
 
-uint8_t nrf24_get_maclen(FuriHalSpiBusHandle* handle) {
+uint8_t nrf24_get_maclen(const FuriHalSpiBusHandle* handle) {
     uint8_t maclen;
     nrf24_read_reg(handle, REG_SETUP_AW, &maclen, 1);
     maclen &= 3;
     return maclen + 2;
 }
 
-uint8_t nrf24_set_maclen(FuriHalSpiBusHandle* handle, uint8_t maclen) {
+uint8_t nrf24_set_maclen(const FuriHalSpiBusHandle* handle, uint8_t maclen) {
     assert(maclen > 1 && maclen < 6);
     uint8_t status = 0;
     status = nrf24_write_reg(handle, REG_SETUP_AW, maclen - 2);
     return status;
 }
 
-uint8_t nrf24_status(FuriHalSpiBusHandle* handle) {
+uint8_t nrf24_status(const FuriHalSpiBusHandle* handle) {
     uint8_t status;
     uint8_t tx[] = {R_REGISTER | (REGISTER_MASK & REG_STATUS)};
     nrf24_spi_trx(handle, tx, &status, 1, nrf24_TIMEOUT);
     return status;
 }
 
-uint32_t nrf24_get_rate(FuriHalSpiBusHandle* handle) {
+uint32_t nrf24_get_rate(const FuriHalSpiBusHandle* handle) {
     uint8_t setup = 0;
     uint32_t rate = 0;
     nrf24_read_reg(handle, REG_RF_SETUP, &setup, 1);
@@ -113,7 +113,7 @@ uint32_t nrf24_get_rate(FuriHalSpiBusHandle* handle) {
     return rate;
 }
 
-uint8_t nrf24_set_rate(FuriHalSpiBusHandle* handle, uint32_t rate) {
+uint8_t nrf24_set_rate(const FuriHalSpiBusHandle* handle, uint32_t rate) {
     uint8_t r6 = 0;
     uint8_t status = 0;
     if(!rate) rate = 2000000;
@@ -131,19 +131,19 @@ uint8_t nrf24_set_rate(FuriHalSpiBusHandle* handle, uint32_t rate) {
     return status;
 }
 
-uint8_t nrf24_get_chan(FuriHalSpiBusHandle* handle) {
+uint8_t nrf24_get_chan(const FuriHalSpiBusHandle* handle) {
     uint8_t channel = 0;
     nrf24_read_reg(handle, REG_RF_CH, &channel, 1);
     return channel;
 }
 
-uint8_t nrf24_set_chan(FuriHalSpiBusHandle* handle, uint8_t chan) {
+uint8_t nrf24_set_chan(const FuriHalSpiBusHandle* handle, uint8_t chan) {
     uint8_t status;
     status = nrf24_write_reg(handle, REG_RF_CH, chan);
     return status;
 }
 
-uint8_t nrf24_get_src_mac(FuriHalSpiBusHandle* handle, uint8_t* mac) {
+uint8_t nrf24_get_src_mac(const FuriHalSpiBusHandle* handle, uint8_t* mac) {
     uint8_t size = 0;
     uint8_t status = 0;
     size = nrf24_get_maclen(handle);
@@ -151,7 +151,7 @@ uint8_t nrf24_get_src_mac(FuriHalSpiBusHandle* handle, uint8_t* mac) {
     return status;
 }
 
-uint8_t nrf24_set_src_mac(FuriHalSpiBusHandle* handle, uint8_t* mac, uint8_t size) {
+uint8_t nrf24_set_src_mac(const FuriHalSpiBusHandle* handle, uint8_t* mac, uint8_t size) {
     uint8_t status = 0;
     uint8_t clearmac[] = {0, 0, 0, 0, 0};
     nrf24_set_maclen(handle, size);
@@ -160,7 +160,7 @@ uint8_t nrf24_set_src_mac(FuriHalSpiBusHandle* handle, uint8_t* mac, uint8_t siz
     return status;
 }
 
-uint8_t nrf24_get_dst_mac(FuriHalSpiBusHandle* handle, uint8_t* mac) {
+uint8_t nrf24_get_dst_mac(const FuriHalSpiBusHandle* handle, uint8_t* mac) {
     uint8_t size = 0;
     uint8_t status = 0;
     size = nrf24_get_maclen(handle);
@@ -168,7 +168,7 @@ uint8_t nrf24_get_dst_mac(FuriHalSpiBusHandle* handle, uint8_t* mac) {
     return status;
 }
 
-uint8_t nrf24_set_dst_mac(FuriHalSpiBusHandle* handle, uint8_t* mac, uint8_t size) {
+uint8_t nrf24_set_dst_mac(const FuriHalSpiBusHandle* handle, uint8_t* mac, uint8_t size) {
     uint8_t status = 0;
     uint8_t clearmac[] = {0, 0, 0, 0, 0};
     nrf24_set_maclen(handle, size);
@@ -177,20 +177,20 @@ uint8_t nrf24_set_dst_mac(FuriHalSpiBusHandle* handle, uint8_t* mac, uint8_t siz
     return status;
 }
 
-uint8_t nrf24_get_packetlen(FuriHalSpiBusHandle* handle, uint8_t pipe) {
+uint8_t nrf24_get_packetlen(const FuriHalSpiBusHandle* handle, uint8_t pipe) {
     uint8_t len = 0;
     if(pipe > 5) pipe = 0;
     nrf24_read_reg(handle, RX_PW_P0 + pipe, &len, 1);
     return len;
 }
 
-uint8_t nrf24_set_packetlen(FuriHalSpiBusHandle* handle, uint8_t len) {
+uint8_t nrf24_set_packetlen(const FuriHalSpiBusHandle* handle, uint8_t len) {
     uint8_t status = 0;
     status = nrf24_write_reg(handle, RX_PW_P0, len);
     return status;
 }
 
-uint8_t nrf24_rxpacket(FuriHalSpiBusHandle* handle, uint8_t* packet, uint8_t* ret_packetsize, uint8_t packet_size) {
+uint8_t nrf24_rxpacket(const FuriHalSpiBusHandle* handle, uint8_t* packet, uint8_t* ret_packetsize, uint8_t packet_size) {
     uint8_t status = 0;
     uint8_t tx_cmd[33] = {0}; // 32 max payload size + 1 for command
     uint8_t tmp_packet[33] = {0};
@@ -223,7 +223,7 @@ uint8_t nrf24_rxpacket(FuriHalSpiBusHandle* handle, uint8_t* packet, uint8_t* re
 }
 
 // Return 0 when error
-uint8_t nrf24_txpacket(FuriHalSpiBusHandle* handle, uint8_t* payload, uint8_t size, bool ack) {
+uint8_t nrf24_txpacket(const FuriHalSpiBusHandle* handle, uint8_t* payload, uint8_t size, bool ack) {
     uint8_t status = 0;
     uint8_t tx[size + 1];
     uint8_t rx[size + 1];
@@ -249,7 +249,7 @@ uint8_t nrf24_txpacket(FuriHalSpiBusHandle* handle, uint8_t* payload, uint8_t si
     return status & TX_DS;
 }
 
-uint8_t nrf24_power_up(FuriHalSpiBusHandle* handle) {
+uint8_t nrf24_power_up(const FuriHalSpiBusHandle* handle) {
     uint8_t status = 0;
     uint8_t cfg = 0;
     nrf24_read_reg(handle, REG_CONFIG, &cfg, 1);
@@ -259,7 +259,7 @@ uint8_t nrf24_power_up(FuriHalSpiBusHandle* handle) {
     return status;
 }
 
-uint8_t nrf24_set_idle(FuriHalSpiBusHandle* handle) {
+uint8_t nrf24_set_idle(const FuriHalSpiBusHandle* handle) {
     uint8_t status = 0;
     uint8_t cfg = 0;
     nrf24_read_reg(handle, REG_CONFIG, &cfg, 1);
@@ -270,7 +270,7 @@ uint8_t nrf24_set_idle(FuriHalSpiBusHandle* handle) {
     return status;
 }
 
-uint8_t nrf24_set_rx_mode(FuriHalSpiBusHandle* handle) {
+uint8_t nrf24_set_rx_mode(const FuriHalSpiBusHandle* handle) {
     uint8_t status = 0;
     uint8_t cfg = 0;
     //status = nrf24_write_reg(handle, REG_CONFIG, 0x0F); // enable 2-byte CRC, PWR_UP, and PRIM_RX
@@ -283,7 +283,7 @@ uint8_t nrf24_set_rx_mode(FuriHalSpiBusHandle* handle) {
     return status;
 }
 
-uint8_t nrf24_set_tx_mode(FuriHalSpiBusHandle* handle) {
+uint8_t nrf24_set_tx_mode(const FuriHalSpiBusHandle* handle) {
     uint8_t status = 0;
     uint8_t cfg = 0;
     furi_hal_gpio_write(nrf24_CE_PIN, false);
@@ -299,7 +299,7 @@ uint8_t nrf24_set_tx_mode(FuriHalSpiBusHandle* handle) {
 }
 
 void nrf24_configure(
-    FuriHalSpiBusHandle* handle,
+    const FuriHalSpiBusHandle* handle,
     uint8_t rate,
     uint8_t* srcmac,
     uint8_t* dstmac,
@@ -345,7 +345,7 @@ void nrf24_configure(
     furi_delay_ms(200);
 }
 
-void nrf24_init_promisc_mode(FuriHalSpiBusHandle* handle, uint8_t channel, uint8_t rate) {
+void nrf24_init_promisc_mode(const FuriHalSpiBusHandle* handle, uint8_t channel, uint8_t rate) {
     //uint8_t preamble[] = {0x55, 0x00}; // little endian
     uint8_t preamble[] = {0xAA, 0x00}; // little endian
     //uint8_t preamble[] = {0x00, 0x55}; // little endian
@@ -472,7 +472,7 @@ bool validate_address(uint8_t* addr) {
     return true;
 }
 
-bool nrf24_sniff_address(FuriHalSpiBusHandle* handle, uint8_t maclen, uint8_t* address) {
+bool nrf24_sniff_address(const FuriHalSpiBusHandle* handle, uint8_t maclen, uint8_t* address) {
     bool found = false;
     uint8_t packet[32] = {0};
     uint8_t packetsize;
@@ -500,7 +500,7 @@ bool nrf24_sniff_address(FuriHalSpiBusHandle* handle, uint8_t maclen, uint8_t* a
 }
 
 uint8_t nrf24_find_channel(
-    FuriHalSpiBusHandle* handle,
+    const FuriHalSpiBusHandle* handle,
     uint8_t* srcmac,
     uint8_t* dstmac,
     uint8_t maclen,

+ 28 - 28
lib/nrf24/nrf24.h

@@ -64,7 +64,7 @@ extern "C" {
  *
  * @return     device status
  */
-uint8_t nrf24_write_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t data);
+uint8_t nrf24_write_reg(const FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t data);
 
 /** Write buffer to device register
  *
@@ -75,7 +75,7 @@ uint8_t nrf24_write_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t data);
  *
  * @return     device status
  */
-uint8_t nrf24_write_buf_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* data, uint8_t size);
+uint8_t nrf24_write_buf_reg(const FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* data, uint8_t size);
 
 /** Read device register
  *
@@ -85,7 +85,7 @@ uint8_t nrf24_write_buf_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* d
  *
  * @return     device status
  */
-uint8_t nrf24_read_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* data, uint8_t size);
+uint8_t nrf24_read_reg(const FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* data, uint8_t size);
 
 /** Power up the radio for operation
  * 
@@ -93,7 +93,7 @@ uint8_t nrf24_read_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* data,
  * 
  * @return     device status
  */
-uint8_t nrf24_power_up(FuriHalSpiBusHandle* handle);
+uint8_t nrf24_power_up(const FuriHalSpiBusHandle* handle);
 
 /** Power down the radio
  * 
@@ -101,7 +101,7 @@ uint8_t nrf24_power_up(FuriHalSpiBusHandle* handle);
  * 
  * @return     device status
  */
-uint8_t nrf24_set_idle(FuriHalSpiBusHandle* handle);
+uint8_t nrf24_set_idle(const FuriHalSpiBusHandle* handle);
 
 /** Sets the radio to RX mode
  *
@@ -109,7 +109,7 @@ uint8_t nrf24_set_idle(FuriHalSpiBusHandle* handle);
  * 
  * @return     device status
  */
-uint8_t nrf24_set_rx_mode(FuriHalSpiBusHandle* handle);
+uint8_t nrf24_set_rx_mode(const FuriHalSpiBusHandle* handle);
 
 /** Sets the radio to TX mode
  *
@@ -117,7 +117,7 @@ uint8_t nrf24_set_rx_mode(FuriHalSpiBusHandle* handle);
  * 
  * @return     device status
  */
-uint8_t nrf24_set_tx_mode(FuriHalSpiBusHandle* handle);
+uint8_t nrf24_set_tx_mode(const FuriHalSpiBusHandle* handle);
 
 /*=============================================================================================================*/
 
@@ -139,7 +139,7 @@ void nrf24_deinit();
  *
  * @return     device status
  */
-uint8_t nrf24_flush_rx(FuriHalSpiBusHandle* handle);
+uint8_t nrf24_flush_rx(const FuriHalSpiBusHandle* handle);
 
 /** Send flush tx command
  *
@@ -147,7 +147,7 @@ uint8_t nrf24_flush_rx(FuriHalSpiBusHandle* handle);
  *
  * @return     device status
  */
-uint8_t nrf24_flush_tx(FuriHalSpiBusHandle* handle);
+uint8_t nrf24_flush_tx(const FuriHalSpiBusHandle* handle);
 
 /** Gets the RX packet length in data pipe 0
  * 
@@ -155,7 +155,7 @@ uint8_t nrf24_flush_tx(FuriHalSpiBusHandle* handle);
  *             pipe - pipe index (0..5)
  * @return     packet length in data pipe 0
  */
-uint8_t nrf24_get_packetlen(FuriHalSpiBusHandle* handle, uint8_t pipe);
+uint8_t nrf24_get_packetlen(const FuriHalSpiBusHandle* handle, uint8_t pipe);
 
 /** Sets the RX packet length in data pipe 0
  * 
@@ -164,7 +164,7 @@ uint8_t nrf24_get_packetlen(FuriHalSpiBusHandle* handle, uint8_t pipe);
  * 
  * @return     device status
  */
-uint8_t nrf24_set_packetlen(FuriHalSpiBusHandle* handle, uint8_t len);
+uint8_t nrf24_set_packetlen(const FuriHalSpiBusHandle* handle, uint8_t len);
 
 /** Gets configured length of MAC address
  *
@@ -172,7 +172,7 @@ uint8_t nrf24_set_packetlen(FuriHalSpiBusHandle* handle, uint8_t len);
  * 
  * @return     MAC address length
  */
-uint8_t nrf24_get_maclen(FuriHalSpiBusHandle* handle);
+uint8_t nrf24_get_maclen(const FuriHalSpiBusHandle* handle);
 
 /** Sets configured length of MAC address
  *
@@ -181,7 +181,7 @@ uint8_t nrf24_get_maclen(FuriHalSpiBusHandle* handle);
  * 
  * @return     MAC address length
  */
-uint8_t nrf24_set_maclen(FuriHalSpiBusHandle* handle, uint8_t maclen);
+uint8_t nrf24_set_maclen(const FuriHalSpiBusHandle* handle, uint8_t maclen);
 
 /** Gets the current status flags from the STATUS register
  * 
@@ -189,7 +189,7 @@ uint8_t nrf24_set_maclen(FuriHalSpiBusHandle* handle, uint8_t maclen);
  * 
  * @return     status flags
  */
-uint8_t nrf24_status(FuriHalSpiBusHandle* handle);
+uint8_t nrf24_status(const FuriHalSpiBusHandle* handle);
 
 /** Gets the current transfer rate
  * 
@@ -197,7 +197,7 @@ uint8_t nrf24_status(FuriHalSpiBusHandle* handle);
  * 
  * @return     transfer rate in bps
  */
-uint32_t nrf24_get_rate(FuriHalSpiBusHandle* handle);
+uint32_t nrf24_get_rate(const FuriHalSpiBusHandle* handle);
 
 /** Sets the transfer rate
  *
@@ -206,7 +206,7 @@ uint32_t nrf24_get_rate(FuriHalSpiBusHandle* handle);
  * 
  * @return     device status
  */
-uint8_t nrf24_set_rate(FuriHalSpiBusHandle* handle, uint32_t rate);
+uint8_t nrf24_set_rate(const FuriHalSpiBusHandle* handle, uint32_t rate);
 
 /** Gets the current channel
  * In nrf24, the channel number is multiplied times 1MHz and added to 2400MHz to get the frequency
@@ -215,7 +215,7 @@ uint8_t nrf24_set_rate(FuriHalSpiBusHandle* handle, uint32_t rate);
  * 
  * @return     channel
  */
-uint8_t nrf24_get_chan(FuriHalSpiBusHandle* handle);
+uint8_t nrf24_get_chan(const FuriHalSpiBusHandle* handle);
 
 /** Sets the channel
  *
@@ -224,7 +224,7 @@ uint8_t nrf24_get_chan(FuriHalSpiBusHandle* handle);
  * 
  * @return     device status
  */
-uint8_t nrf24_set_chan(FuriHalSpiBusHandle* handle, uint8_t chan);
+uint8_t nrf24_set_chan(const FuriHalSpiBusHandle* handle, uint8_t chan);
 
 /** Gets the source mac address
  *
@@ -233,7 +233,7 @@ uint8_t nrf24_set_chan(FuriHalSpiBusHandle* handle, uint8_t chan);
  * 
  * @return     device status
  */
-uint8_t nrf24_get_src_mac(FuriHalSpiBusHandle* handle, uint8_t* mac);
+uint8_t nrf24_get_src_mac(const FuriHalSpiBusHandle* handle, uint8_t* mac);
 
 /** Sets the source mac address
  *
@@ -243,7 +243,7 @@ uint8_t nrf24_get_src_mac(FuriHalSpiBusHandle* handle, uint8_t* mac);
  * 
  * @return     device status
  */
-uint8_t nrf24_set_src_mac(FuriHalSpiBusHandle* handle, uint8_t* mac, uint8_t size);
+uint8_t nrf24_set_src_mac(const FuriHalSpiBusHandle* handle, uint8_t* mac, uint8_t size);
 
 /** Gets the dest mac address
  *
@@ -252,7 +252,7 @@ uint8_t nrf24_set_src_mac(FuriHalSpiBusHandle* handle, uint8_t* mac, uint8_t siz
  * 
  * @return     device status
  */
-uint8_t nrf24_get_dst_mac(FuriHalSpiBusHandle* handle, uint8_t* mac);
+uint8_t nrf24_get_dst_mac(const FuriHalSpiBusHandle* handle, uint8_t* mac);
 
 /** Sets the dest mac address
  *
@@ -262,7 +262,7 @@ uint8_t nrf24_get_dst_mac(FuriHalSpiBusHandle* handle, uint8_t* mac);
  * 
  * @return     device status
  */
-uint8_t nrf24_set_dst_mac(FuriHalSpiBusHandle* handle, uint8_t* mac, uint8_t size);
+uint8_t nrf24_set_dst_mac(const FuriHalSpiBusHandle* handle, uint8_t* mac, uint8_t size);
 
 /** Reads RX packet
  *
@@ -274,7 +274,7 @@ uint8_t nrf24_set_dst_mac(FuriHalSpiBusHandle* handle, uint8_t* mac, uint8_t siz
  * @return     device status
  */
 uint8_t
-    nrf24_rxpacket(FuriHalSpiBusHandle* handle, uint8_t* packet, uint8_t* ret_packetsize, uint8_t packet_size_flag);
+    nrf24_rxpacket(const FuriHalSpiBusHandle* handle, uint8_t* packet, uint8_t* ret_packetsize, uint8_t packet_size_flag);
 
 /** Sends TX packet
  *
@@ -285,7 +285,7 @@ uint8_t
  * 
  * @return     device status
  */
-uint8_t nrf24_txpacket(FuriHalSpiBusHandle* handle, uint8_t* payload, uint8_t size, bool ack);
+uint8_t nrf24_txpacket(const FuriHalSpiBusHandle* handle, uint8_t* payload, uint8_t size, bool ack);
 
 /** Configure the radio
  * This is not comprehensive, but covers a lot of the common configuration options that may be changed
@@ -300,7 +300,7 @@ uint8_t nrf24_txpacket(FuriHalSpiBusHandle* handle, uint8_t* payload, uint8_t si
  * 
  */
 void nrf24_configure(
-    FuriHalSpiBusHandle* handle,
+    const FuriHalSpiBusHandle* handle,
     uint8_t rate,
     uint8_t* srcmac,
     uint8_t* dstmac,
@@ -319,7 +319,7 @@ uint8_t  nrf24_set_mac(uint8_t mac_addr, uint8_t *mac, uint8_t mlen);
  * @param      channel - channel to tune to
  * @param      rate - transfer rate in Mbps (1 or 2) 
  */
-void nrf24_init_promisc_mode(FuriHalSpiBusHandle* handle, uint8_t channel, uint8_t rate);
+void nrf24_init_promisc_mode(const FuriHalSpiBusHandle* handle, uint8_t channel, uint8_t rate);
 
 /** Listens for a packet and returns first possible address sniffed
  * Call this only after calling nrf24_init_promisc_mode
@@ -329,7 +329,7 @@ void nrf24_init_promisc_mode(FuriHalSpiBusHandle* handle, uint8_t channel, uint8
  * 
  * @return     success
  */
-bool nrf24_sniff_address(FuriHalSpiBusHandle* handle, uint8_t maclen, uint8_t* address);
+bool nrf24_sniff_address(const FuriHalSpiBusHandle* handle, uint8_t maclen, uint8_t* address);
 
 /** Sends ping packet on each channel for designated tx mac looking for ack
  * 
@@ -345,7 +345,7 @@ bool nrf24_sniff_address(FuriHalSpiBusHandle* handle, uint8_t maclen, uint8_t* a
  * @return     channel that the address is listening on, if this value is above the max_channel param, it failed
  */
 uint8_t nrf24_find_channel(
-    FuriHalSpiBusHandle* handle,
+    const FuriHalSpiBusHandle* handle,
     uint8_t* srcmac,
     uint8_t* dstmac,
     uint8_t maclen,