Skip to content

Commit 251565e

Browse files
committed
hal: made FuriHalSpiBusHandle static
1 parent d7221f1 commit 251565e

26 files changed

+321
-294
lines changed

applications/drivers/subghz/cc1101_ext/cc1101_ext.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ typedef struct {
8585
volatile SubGhzDeviceCC1101ExtState state;
8686
volatile SubGhzDeviceCC1101ExtRegulation regulation;
8787
const GpioPin* async_mirror_pin;
88-
FuriHalSpiBusHandle* spi_bus_handle;
88+
const FuriHalSpiBusHandle* spi_bus_handle;
8989
const GpioPin* g0_pin;
9090
SubGhzDeviceCC1101ExtAsyncTx async_tx;
9191
SubGhzDeviceCC1101ExtAsyncRx async_rx;

lib/drivers/cc1101.c

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
#include <string.h>
44
#include <furi_hal_cortex.h>
55

6-
static bool cc1101_spi_trx(FuriHalSpiBusHandle* handle, uint8_t* tx, uint8_t* rx, uint8_t size) {
6+
static bool
7+
cc1101_spi_trx(const FuriHalSpiBusHandle* handle, uint8_t* tx, uint8_t* rx, uint8_t size) {
78
FuriHalCortexTimer timer = furi_hal_cortex_timer_get(CC1101_TIMEOUT * 1000);
89

910
while(furi_hal_gpio_read(handle->miso)) {
@@ -16,7 +17,7 @@ static bool cc1101_spi_trx(FuriHalSpiBusHandle* handle, uint8_t* tx, uint8_t* rx
1617
return true;
1718
}
1819

19-
CC1101Status cc1101_strobe(FuriHalSpiBusHandle* handle, uint8_t strobe) {
20+
CC1101Status cc1101_strobe(const FuriHalSpiBusHandle* handle, uint8_t strobe) {
2021
uint8_t tx[1] = {strobe};
2122
CC1101Status rx[1] = {0};
2223
rx[0].CHIP_RDYn = 1;
@@ -27,7 +28,7 @@ CC1101Status cc1101_strobe(FuriHalSpiBusHandle* handle, uint8_t strobe) {
2728
return rx[0];
2829
}
2930

30-
CC1101Status cc1101_write_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t data) {
31+
CC1101Status cc1101_write_reg(const FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t data) {
3132
uint8_t tx[2] = {reg, data};
3233
CC1101Status rx[2] = {0};
3334
rx[0].CHIP_RDYn = 1;
@@ -39,7 +40,7 @@ CC1101Status cc1101_write_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t
3940
return rx[1];
4041
}
4142

42-
CC1101Status cc1101_read_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* data) {
43+
CC1101Status cc1101_read_reg(const FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* data) {
4344
assert(sizeof(CC1101Status) == 1);
4445
uint8_t tx[2] = {reg | CC1101_READ, 0};
4546
CC1101Status rx[2] = {0};
@@ -52,33 +53,36 @@ CC1101Status cc1101_read_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t*
5253
return rx[0];
5354
}
5455

55-
uint8_t cc1101_get_partnumber(FuriHalSpiBusHandle* handle) {
56+
uint8_t cc1101_get_partnumber(const FuriHalSpiBusHandle* handle) {
5657
uint8_t partnumber = 0;
5758
cc1101_read_reg(handle, CC1101_STATUS_PARTNUM | CC1101_BURST, &partnumber);
5859
return partnumber;
5960
}
6061

61-
uint8_t cc1101_get_version(FuriHalSpiBusHandle* handle) {
62+
uint8_t cc1101_get_version(const FuriHalSpiBusHandle* handle) {
6263
uint8_t version = 0;
6364
cc1101_read_reg(handle, CC1101_STATUS_VERSION | CC1101_BURST, &version);
6465
return version;
6566
}
6667

67-
uint8_t cc1101_get_rssi(FuriHalSpiBusHandle* handle) {
68+
uint8_t cc1101_get_rssi(const FuriHalSpiBusHandle* handle) {
6869
uint8_t rssi = 0;
6970
cc1101_read_reg(handle, CC1101_STATUS_RSSI | CC1101_BURST, &rssi);
7071
return rssi;
7172
}
7273

73-
CC1101Status cc1101_reset(FuriHalSpiBusHandle* handle) {
74+
CC1101Status cc1101_reset(const FuriHalSpiBusHandle* handle) {
7475
return cc1101_strobe(handle, CC1101_STROBE_SRES);
7576
}
7677

77-
CC1101Status cc1101_get_status(FuriHalSpiBusHandle* handle) {
78+
CC1101Status cc1101_get_status(const FuriHalSpiBusHandle* handle) {
7879
return cc1101_strobe(handle, CC1101_STROBE_SNOP);
7980
}
8081

81-
bool cc1101_wait_status_state(FuriHalSpiBusHandle* handle, CC1101State state, uint32_t timeout_us) {
82+
bool cc1101_wait_status_state(
83+
const FuriHalSpiBusHandle* handle,
84+
CC1101State state,
85+
uint32_t timeout_us) {
8286
bool result = false;
8387
CC1101Status status = {0};
8488
FuriHalCortexTimer timer = furi_hal_cortex_timer_get(timeout_us);
@@ -92,35 +96,35 @@ bool cc1101_wait_status_state(FuriHalSpiBusHandle* handle, CC1101State state, ui
9296
return result;
9397
}
9498

95-
CC1101Status cc1101_shutdown(FuriHalSpiBusHandle* handle) {
99+
CC1101Status cc1101_shutdown(const FuriHalSpiBusHandle* handle) {
96100
return cc1101_strobe(handle, CC1101_STROBE_SPWD);
97101
}
98102

99-
CC1101Status cc1101_calibrate(FuriHalSpiBusHandle* handle) {
103+
CC1101Status cc1101_calibrate(const FuriHalSpiBusHandle* handle) {
100104
return cc1101_strobe(handle, CC1101_STROBE_SCAL);
101105
}
102106

103-
CC1101Status cc1101_switch_to_idle(FuriHalSpiBusHandle* handle) {
107+
CC1101Status cc1101_switch_to_idle(const FuriHalSpiBusHandle* handle) {
104108
return cc1101_strobe(handle, CC1101_STROBE_SIDLE);
105109
}
106110

107-
CC1101Status cc1101_switch_to_rx(FuriHalSpiBusHandle* handle) {
111+
CC1101Status cc1101_switch_to_rx(const FuriHalSpiBusHandle* handle) {
108112
return cc1101_strobe(handle, CC1101_STROBE_SRX);
109113
}
110114

111-
CC1101Status cc1101_switch_to_tx(FuriHalSpiBusHandle* handle) {
115+
CC1101Status cc1101_switch_to_tx(const FuriHalSpiBusHandle* handle) {
112116
return cc1101_strobe(handle, CC1101_STROBE_STX);
113117
}
114118

115-
CC1101Status cc1101_flush_rx(FuriHalSpiBusHandle* handle) {
119+
CC1101Status cc1101_flush_rx(const FuriHalSpiBusHandle* handle) {
116120
return cc1101_strobe(handle, CC1101_STROBE_SFRX);
117121
}
118122

119-
CC1101Status cc1101_flush_tx(FuriHalSpiBusHandle* handle) {
123+
CC1101Status cc1101_flush_tx(const FuriHalSpiBusHandle* handle) {
120124
return cc1101_strobe(handle, CC1101_STROBE_SFTX);
121125
}
122126

123-
uint32_t cc1101_set_frequency(FuriHalSpiBusHandle* handle, uint32_t value) {
127+
uint32_t cc1101_set_frequency(const FuriHalSpiBusHandle* handle, uint32_t value) {
124128
uint64_t real_value = (uint64_t)value * CC1101_FDIV / CC1101_QUARTZ;
125129

126130
// Sanity check
@@ -135,7 +139,7 @@ uint32_t cc1101_set_frequency(FuriHalSpiBusHandle* handle, uint32_t value) {
135139
return (uint32_t)real_frequency;
136140
}
137141

138-
uint32_t cc1101_set_intermediate_frequency(FuriHalSpiBusHandle* handle, uint32_t value) {
142+
uint32_t cc1101_set_intermediate_frequency(const FuriHalSpiBusHandle* handle, uint32_t value) {
139143
uint64_t real_value = value * CC1101_IFDIV / CC1101_QUARTZ;
140144
assert((real_value & 0xFF) == real_value);
141145

@@ -146,7 +150,7 @@ uint32_t cc1101_set_intermediate_frequency(FuriHalSpiBusHandle* handle, uint32_t
146150
return (uint32_t)real_frequency;
147151
}
148152

149-
void cc1101_set_pa_table(FuriHalSpiBusHandle* handle, const uint8_t value[8]) {
153+
void cc1101_set_pa_table(const FuriHalSpiBusHandle* handle, const uint8_t value[8]) {
150154
uint8_t tx[9] = {CC1101_PATABLE | CC1101_BURST}; //-V1009
151155
CC1101Status rx[9] = {0};
152156
rx[0].CHIP_RDYn = 1;
@@ -159,7 +163,7 @@ void cc1101_set_pa_table(FuriHalSpiBusHandle* handle, const uint8_t value[8]) {
159163
assert((rx[0].CHIP_RDYn | rx[8].CHIP_RDYn) == 0);
160164
}
161165

162-
uint8_t cc1101_write_fifo(FuriHalSpiBusHandle* handle, const uint8_t* data, uint8_t size) {
166+
uint8_t cc1101_write_fifo(const FuriHalSpiBusHandle* handle, const uint8_t* data, uint8_t size) {
163167
uint8_t buff_tx[64];
164168
uint8_t buff_rx[64];
165169
buff_tx[0] = CC1101_FIFO | CC1101_BURST;
@@ -170,7 +174,7 @@ uint8_t cc1101_write_fifo(FuriHalSpiBusHandle* handle, const uint8_t* data, uint
170174
return size;
171175
}
172176

173-
uint8_t cc1101_read_fifo(FuriHalSpiBusHandle* handle, uint8_t* data, uint8_t* size) {
177+
uint8_t cc1101_read_fifo(const FuriHalSpiBusHandle* handle, uint8_t* data, uint8_t* size) {
174178
uint8_t buff_trx[2];
175179
buff_trx[0] = CC1101_FIFO | CC1101_READ | CC1101_BURST;
176180

lib/drivers/cc1101.h

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ extern "C" {
1919
*
2020
* @return device status
2121
*/
22-
CC1101Status cc1101_strobe(FuriHalSpiBusHandle* handle, uint8_t strobe);
22+
CC1101Status cc1101_strobe(const FuriHalSpiBusHandle* handle, uint8_t strobe);
2323

2424
/** Write device register
2525
*
@@ -29,7 +29,7 @@ CC1101Status cc1101_strobe(FuriHalSpiBusHandle* handle, uint8_t strobe);
2929
*
3030
* @return device status
3131
*/
32-
CC1101Status cc1101_write_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t data);
32+
CC1101Status cc1101_write_reg(const FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t data);
3333

3434
/** Read device register
3535
*
@@ -39,7 +39,7 @@ CC1101Status cc1101_write_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t
3939
*
4040
* @return device status
4141
*/
42-
CC1101Status cc1101_read_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* data);
42+
CC1101Status cc1101_read_reg(const FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t* data);
4343

4444
/* High level API */
4545

@@ -49,15 +49,15 @@ CC1101Status cc1101_read_reg(FuriHalSpiBusHandle* handle, uint8_t reg, uint8_t*
4949
*
5050
* @return CC1101Status structure
5151
*/
52-
CC1101Status cc1101_reset(FuriHalSpiBusHandle* handle);
52+
CC1101Status cc1101_reset(const FuriHalSpiBusHandle* handle);
5353

5454
/** Get status
5555
*
5656
* @param handle - pointer to FuriHalSpiHandle
5757
*
5858
* @return CC1101Status structure
5959
*/
60-
CC1101Status cc1101_get_status(FuriHalSpiBusHandle* handle);
60+
CC1101Status cc1101_get_status(const FuriHalSpiBusHandle* handle);
6161

6262
/** Wait specific chip state
6363
*
@@ -67,83 +67,86 @@ CC1101Status cc1101_get_status(FuriHalSpiBusHandle* handle);
6767
*
6868
* @return true on success, false otherwise
6969
*/
70-
bool cc1101_wait_status_state(FuriHalSpiBusHandle* handle, CC1101State state, uint32_t timeout_us);
70+
bool cc1101_wait_status_state(
71+
const FuriHalSpiBusHandle* handle,
72+
CC1101State state,
73+
uint32_t timeout_us);
7174

7275
/** Enable shutdown mode
7376
*
7477
* @param handle - pointer to FuriHalSpiHandle
7578
*
7679
* @return CC1101Status structure
7780
*/
78-
CC1101Status cc1101_shutdown(FuriHalSpiBusHandle* handle);
81+
CC1101Status cc1101_shutdown(const FuriHalSpiBusHandle* handle);
7982

8083
/** Get Partnumber
8184
*
8285
* @param handle - pointer to FuriHalSpiHandle
8386
*
8487
* @return part number id
8588
*/
86-
uint8_t cc1101_get_partnumber(FuriHalSpiBusHandle* handle);
89+
uint8_t cc1101_get_partnumber(const FuriHalSpiBusHandle* handle);
8790

8891
/** Get Version
8992
*
9093
* @param handle - pointer to FuriHalSpiHandle
9194
*
9295
* @return version
9396
*/
94-
uint8_t cc1101_get_version(FuriHalSpiBusHandle* handle);
97+
uint8_t cc1101_get_version(const FuriHalSpiBusHandle* handle);
9598

9699
/** Get raw RSSI value
97100
*
98101
* @param handle - pointer to FuriHalSpiHandle
99102
*
100103
* @return rssi value
101104
*/
102-
uint8_t cc1101_get_rssi(FuriHalSpiBusHandle* handle);
105+
uint8_t cc1101_get_rssi(const FuriHalSpiBusHandle* handle);
103106

104107
/** Calibrate oscillator
105108
*
106109
* @param handle - pointer to FuriHalSpiHandle
107110
*
108111
* @return CC1101Status structure
109112
*/
110-
CC1101Status cc1101_calibrate(FuriHalSpiBusHandle* handle);
113+
CC1101Status cc1101_calibrate(const FuriHalSpiBusHandle* handle);
111114

112115
/** Switch to idle
113116
*
114117
* @param handle - pointer to FuriHalSpiHandle
115118
*/
116-
CC1101Status cc1101_switch_to_idle(FuriHalSpiBusHandle* handle);
119+
CC1101Status cc1101_switch_to_idle(const FuriHalSpiBusHandle* handle);
117120

118121
/** Switch to RX
119122
*
120123
* @param handle - pointer to FuriHalSpiHandle
121124
*
122125
* @return CC1101Status structure
123126
*/
124-
CC1101Status cc1101_switch_to_rx(FuriHalSpiBusHandle* handle);
127+
CC1101Status cc1101_switch_to_rx(const FuriHalSpiBusHandle* handle);
125128

126129
/** Switch to TX
127130
*
128131
* @param handle - pointer to FuriHalSpiHandle
129132
*
130133
* @return CC1101Status structure
131134
*/
132-
CC1101Status cc1101_switch_to_tx(FuriHalSpiBusHandle* handle);
135+
CC1101Status cc1101_switch_to_tx(const FuriHalSpiBusHandle* handle);
133136

134137
/** Flush RX FIFO
135138
*
136139
* @param handle - pointer to FuriHalSpiHandle
137140
*
138141
* @return CC1101Status structure
139142
*/
140-
CC1101Status cc1101_flush_rx(FuriHalSpiBusHandle* handle);
143+
CC1101Status cc1101_flush_rx(const FuriHalSpiBusHandle* handle);
141144

142145
/** Flush TX FIFO
143146
*
144147
* @param handle - pointer to FuriHalSpiHandle
145148
*/
146-
CC1101Status cc1101_flush_tx(FuriHalSpiBusHandle* handle);
149+
CC1101Status cc1101_flush_tx(const FuriHalSpiBusHandle* handle);
147150

148151
/** Set Frequency
149152
*
@@ -152,7 +155,7 @@ CC1101Status cc1101_flush_tx(FuriHalSpiBusHandle* handle);
152155
*
153156
* @return real frequency that were synthesized
154157
*/
155-
uint32_t cc1101_set_frequency(FuriHalSpiBusHandle* handle, uint32_t value);
158+
uint32_t cc1101_set_frequency(const FuriHalSpiBusHandle* handle, uint32_t value);
156159

157160
/** Set Intermediate Frequency
158161
*
@@ -161,14 +164,14 @@ uint32_t cc1101_set_frequency(FuriHalSpiBusHandle* handle, uint32_t value);
161164
*
162165
* @return real inermediate frequency that were synthesized
163166
*/
164-
uint32_t cc1101_set_intermediate_frequency(FuriHalSpiBusHandle* handle, uint32_t value);
167+
uint32_t cc1101_set_intermediate_frequency(const FuriHalSpiBusHandle* handle, uint32_t value);
165168

166169
/** Set Power Amplifier level table, ramp
167170
*
168171
* @param handle - pointer to FuriHalSpiHandle
169172
* @param value - array of power level values
170173
*/
171-
void cc1101_set_pa_table(FuriHalSpiBusHandle* handle, const uint8_t value[8]);
174+
void cc1101_set_pa_table(const FuriHalSpiBusHandle* handle, const uint8_t value[8]);
172175

173176
/** Write FIFO
174177
*
@@ -178,7 +181,7 @@ void cc1101_set_pa_table(FuriHalSpiBusHandle* handle, const uint8_t value[8]);
178181
*
179182
* @return size, written bytes count
180183
*/
181-
uint8_t cc1101_write_fifo(FuriHalSpiBusHandle* handle, const uint8_t* data, uint8_t size);
184+
uint8_t cc1101_write_fifo(const FuriHalSpiBusHandle* handle, const uint8_t* data, uint8_t size);
182185

183186
/** Read FIFO
184187
*
@@ -188,7 +191,7 @@ uint8_t cc1101_write_fifo(FuriHalSpiBusHandle* handle, const uint8_t* data, uint
188191
*
189192
* @return size, read bytes count
190193
*/
191-
uint8_t cc1101_read_fifo(FuriHalSpiBusHandle* handle, uint8_t* data, uint8_t* size);
194+
uint8_t cc1101_read_fifo(const FuriHalSpiBusHandle* handle, uint8_t* data, uint8_t* size);
192195

193196
#ifdef __cplusplus
194197
}

lib/drivers/st25r3916.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
#include <furi.h>
44

5-
void st25r3916_mask_irq(FuriHalSpiBusHandle* handle, uint32_t mask) {
5+
void st25r3916_mask_irq(const FuriHalSpiBusHandle* handle, uint32_t mask) {
66
furi_assert(handle);
77

88
uint8_t irq_mask_regs[4] = {
@@ -14,7 +14,7 @@ void st25r3916_mask_irq(FuriHalSpiBusHandle* handle, uint32_t mask) {
1414
st25r3916_write_burst_regs(handle, ST25R3916_REG_IRQ_MASK_MAIN, irq_mask_regs, 4);
1515
}
1616

17-
uint32_t st25r3916_get_irq(FuriHalSpiBusHandle* handle) {
17+
uint32_t st25r3916_get_irq(const FuriHalSpiBusHandle* handle) {
1818
furi_assert(handle);
1919

2020
uint8_t irq_regs[4] = {};
@@ -32,7 +32,7 @@ uint32_t st25r3916_get_irq(FuriHalSpiBusHandle* handle) {
3232
return irq;
3333
}
3434

35-
void st25r3916_write_fifo(FuriHalSpiBusHandle* handle, const uint8_t* buff, size_t bits) {
35+
void st25r3916_write_fifo(const FuriHalSpiBusHandle* handle, const uint8_t* buff, size_t bits) {
3636
furi_assert(handle);
3737
furi_assert(buff);
3838

@@ -45,7 +45,7 @@ void st25r3916_write_fifo(FuriHalSpiBusHandle* handle, const uint8_t* buff, size
4545
}
4646

4747
bool st25r3916_read_fifo(
48-
FuriHalSpiBusHandle* handle,
48+
const FuriHalSpiBusHandle* handle,
4949
uint8_t* buff,
5050
size_t buff_size,
5151
size_t* buff_bits) {

0 commit comments

Comments
 (0)