Skip to content

Commit ba948ff

Browse files
committed
v2.1 release.
1 parent 084c74a commit ba948ff

File tree

7 files changed

+90
-29
lines changed

7 files changed

+90
-29
lines changed

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [v2.1](https://github.com/sigfox-tech-radio/sigfox-ep-rf-api-semtech-lr11xx/releases/tag/v2.1) - 30 May 2024
11+
12+
### Added
13+
14+
* Add weak attribute to functions templates.
15+
* Add **SFX_UNUSED** macro to remove extra warnings.
16+
* Add bidirectional flag on HW API RX on and RX off functions.
17+
18+
### Fixed
19+
20+
* Initialize local latency variables to 0.
21+
22+
### Removed
23+
24+
* Remove lr11xx_hw_api.c from **LR11XX_RF_API_SOURCES** in `CMakeLists.txt`.
25+
1026
## [v2.0](https://github.com/sigfox-tech-radio/sigfox-ep-rf-api-semtech-lr11xx/releases/tag/v2.0) - 22 Mar 2024
1127

1228
### Changed

CMakeLists.txt

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,15 @@ if ( ${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR} )
99
endif()
1010
add_subdirectory(${SIGFOX_EP_LIB_DIR} "${CMAKE_CURRENT_BINARY_DIR}/${SIGFOX_EP_LIB_DIR}")
1111
else()
12-
set(SIGFOX_EP_LIB_DIR ${CMAKE_SOURCE_DIR})
13-
message("${PROJECT_NAME} is Fetched by a parent project")
12+
if (NOT DEFINED SIGFOX_EP_LIB_DIR)
13+
set(SIGFOX_EP_LIB_DIR ${CMAKE_SOURCE_DIR})
14+
message("${PROJECT_NAME} is Fetched by a parent project")
15+
endif()
1416
endif()
1517

1618
set (LR11XX_RF_API_SOURCES
1719
src/manuf/lr11xx_rf_api.c
1820
src/manuf/smtc_dbpsk.c
19-
src/board/lr11xx_hw_api.c
2021
)
2122

2223
set (LR11XX_RF_API_HEADERS
@@ -54,7 +55,7 @@ include(precompile_lr11xx_rf_api)
5455

5556
add_library(${PROJECT_NAME}_obj OBJECT EXCLUDE_FROM_ALL src/manuf/lr11xx_rf_api.c src/manuf/smtc_dbpsk.c)
5657
if (NOT TARGET lr11xx_driver)
57-
add_dependencies(${PROJECT_NAME}_obj lr11xx)
58+
add_dependencies(${PROJECT_NAME}_obj lr11xx)
5859
endif()
5960
target_include_directories( ${PROJECT_NAME}_obj PUBLIC
6061
${CMAKE_CURRENT_SOURCE_DIR}/inc
@@ -64,10 +65,13 @@ target_include_directories( ${PROJECT_NAME}_obj PUBLIC
6465
target_compile_definitions(${PROJECT_NAME}_obj PUBLIC ${DEF_FLAG_LIST})
6566

6667
add_library(${PROJECT_NAME} STATIC ${LR11XX_RF_API_SOURCES})
67-
add_dependencies(${PROJECT_NAME} precompil_${PROJECT_NAME} lr11xx)
68+
add_dependencies(${PROJECT_NAME} precompil_${PROJECT_NAME})
69+
if (NOT TARGET lr11xx_driver)
70+
add_dependencies(${PROJECT_NAME} lr11xx)
71+
endif()
6872
target_include_directories(${PROJECT_NAME} PUBLIC ${PRECOMPIL_DIR}/inc ${CHIP_RF_HEADERS_LIST})
6973
target_compile_definitions(${PROJECT_NAME} PUBLIC ${DEF_FLAG_LIST})
70-
target_compile_options(${PROJECT_NAME} PRIVATE -Wall)
74+
target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra -Werror)
7175
#set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${PRECOMPIL_ADDON_RFP_PUBLIC_HEADERS}")
7276
set_target_properties(${PROJECT_NAME}
7377
PROPERTIES

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ The table below shows the versions compatibility between this radio example and
1111

1212
| **LR11XX_RF_API** | **EP_LIB** |
1313
|:---:|:---:|
14-
| [v2.0](https://github.com/sigfox-tech-radio/sigfox-ep-rf-api-semtech-lr11xx/releases/tag/v2.0) | >= [v3.5](https://github.com/sigfox-tech-radio/sigfox-ep-lib/releases/tag/v3.5) |
14+
| [v2.1](https://github.com/sigfox-tech-radio/sigfox-ep-rf-api-semtech-lr11xx/releases/tag/v2.1) | >= [v3.6](https://github.com/sigfox-tech-radio/sigfox-ep-lib/releases/tag/v3.6) |
15+
| [v2.0](https://github.com/sigfox-tech-radio/sigfox-ep-rf-api-semtech-lr11xx/releases/tag/v2.0) | [v3.5](https://github.com/sigfox-tech-radio/sigfox-ep-lib/releases/tag/v3.5) |
1516
| [v1.2](https://github.com/sigfox-tech-radio/sigfox-ep-rf-api-semtech-lr11xx/releases/tag/v1.2) | [v3.4](https://github.com/sigfox-tech-radio/sigfox-ep-lib/releases/tag/v3.4) |
1617
| [v1.1](https://github.com/sigfox-tech-radio/sigfox-ep-rf-api-semtech-lr11xx/releases/tag/v1.1) | [v3.2](https://github.com/sigfox-tech-radio/sigfox-ep-lib/releases/tag/v3.2) to [v3.3](https://github.com/sigfox-tech-radio/sigfox-ep-lib/releases/tag/v3.3)|
1718
| [v1.0](https://github.com/sigfox-tech-radio/sigfox-ep-rf-api-semtech-lr11xx/releases/tag/v1.0) | [v3.2](https://github.com/sigfox-tech-radio/sigfox-ep-lib/releases/tag/v3.2) to [v3.3](https://github.com/sigfox-tech-radio/sigfox-ep-lib/releases/tag/v3.3)|

inc/board/lr11xx_hw_api.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,7 @@ LR11XX_HW_API_status_t LR11XX_HW_API_tx_on(void);
252252
*******************************************************************/
253253
LR11XX_HW_API_status_t LR11XX_HW_API_tx_off(void);
254254

255+
#ifdef BIDIRECTIONAL
255256
/*!******************************************************************
256257
* \fn LR11XX_HW_API_status_t LR11XX_HW_API_rx_on(void);
257258
* \brief Radio chipset will be start the RX.
@@ -260,7 +261,9 @@ LR11XX_HW_API_status_t LR11XX_HW_API_tx_off(void);
260261
* \retval Function execution status.
261262
*******************************************************************/
262263
LR11XX_HW_API_status_t LR11XX_HW_API_rx_on(void);
264+
#endif
263265

266+
#ifdef BIDIRECTIONAL
264267
/*!******************************************************************
265268
* \fn LR11XX_HW_API_status_t LR11XX_HW_API_rx_off(void);
266269
* \brief Radio chipset just stopped the RX.
@@ -269,6 +272,7 @@ LR11XX_HW_API_status_t LR11XX_HW_API_rx_on(void);
269272
* \retval Function execution status.
270273
*******************************************************************/
271274
LR11XX_HW_API_status_t LR11XX_HW_API_rx_off(void);
275+
#endif
272276

273277
#if (defined TIMER_REQUIRED) && (defined LATENCY_COMPENSATION)
274278
/*!******************************************************************

src/board/lr11xx_hal.c

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,34 +5,49 @@
55

66
#include "lr11xx_hal.h"
77

8-
lr11xx_hal_status_t lr11xx_hal_reset( const void* context )
8+
lr11xx_hal_status_t __attribute__((weak)) lr11xx_hal_reset( const void* context )
99
{
1010
/* To be implemented by the device manufacturer */
11+
SFX_UNUSED(context);
1112
return LR11XX_HAL_STATUS_OK;
1213
}
1314

14-
lr11xx_hal_status_t lr11xx_hal_wakeup( const void* context )
15+
lr11xx_hal_status_t __attribute__((weak)) lr11xx_hal_wakeup( const void* context )
1516
{
1617
/* To be implemented by the device manufacturer */
18+
SFX_UNUSED(context);
1719
return LR11XX_HAL_STATUS_OK;
1820
}
1921

20-
lr11xx_hal_status_t lr11xx_hal_read( const void* context, const uint8_t* cbuffer, const uint16_t cbuffer_length,
22+
lr11xx_hal_status_t __attribute__((weak)) lr11xx_hal_read( const void* context, const uint8_t* cbuffer, const uint16_t cbuffer_length,
2123
uint8_t* rbuffer, const uint16_t rbuffer_length )
2224
{
2325
/* To be implemented by the device manufacturer */
26+
SFX_UNUSED(context);
27+
SFX_UNUSED(cbuffer);
28+
SFX_UNUSED(cbuffer_length);
29+
SFX_UNUSED(rbuffer);
30+
SFX_UNUSED(rbuffer_length);
2431
return LR11XX_HAL_STATUS_OK;
2532
}
2633

27-
lr11xx_hal_status_t lr11xx_hal_write( const void* context, const uint8_t* cbuffer, const uint16_t cbuffer_length,
34+
lr11xx_hal_status_t __attribute__((weak)) lr11xx_hal_write( const void* context, const uint8_t* cbuffer, const uint16_t cbuffer_length,
2835
const uint8_t* cdata, const uint16_t cdata_length )
2936
{
3037
/* To be implemented by the device manufacturer */
38+
SFX_UNUSED(context);
39+
SFX_UNUSED(cbuffer);
40+
SFX_UNUSED(cbuffer_length);
41+
SFX_UNUSED(cdata);
42+
SFX_UNUSED(cdata_length);
3143
return LR11XX_HAL_STATUS_OK;
3244
}
3345

34-
lr11xx_hal_status_t lr11xx_hal_direct_read( const void* context, uint8_t* buffer, const uint16_t length )
46+
lr11xx_hal_status_t __attribute__((weak)) lr11xx_hal_direct_read( const void* context, uint8_t* buffer, const uint16_t length )
3547
{
3648
/* To be implemented by the device manufacturer */
49+
SFX_UNUSED(context);
50+
SFX_UNUSED(buffer);
51+
SFX_UNUSED(length);
3752
return LR11XX_HAL_STATUS_OK;
3853
}

src/board/lr11xx_hw_api.c

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -43,19 +43,20 @@
4343
#include "sigfox_error.h"
4444
#include "sigfox_types.h"
4545

46-
LR11XX_HW_API_status_t LR11XX_HW_API_open(LR11XX_HW_irq_cb_t callback) {
46+
LR11XX_HW_API_status_t __attribute__((weak)) LR11XX_HW_API_open(LR11XX_HW_irq_cb_t callback) {
4747
/* To be implemented by the device manufacturer */
4848
#ifdef ERROR_CODES
4949
LR11XX_HW_API_status_t status = LR11XX_HW_API_SUCCESS;
5050
#endif
51+
SFX_UNUSED(callback);
5152
// Configure all hardware pin of LR11XX chipset.
5253
// Configure SPI peripherial.
5354
// Configure interrupt pin to handle radio interrupt.
5455
// The callback function must be called when such event occurs.
5556
RETURN();
5657
}
5758

58-
LR11XX_HW_API_status_t LR11XX_HW_API_close(void) {
59+
LR11XX_HW_API_status_t __attribute__((weak)) LR11XX_HW_API_close(void) {
5960
/* To be implemented by the device manufacturer */
6061
#ifdef ERROR_CODES
6162
LR11XX_HW_API_status_t status = LR11XX_HW_API_SUCCESS;
@@ -64,63 +65,70 @@ LR11XX_HW_API_status_t LR11XX_HW_API_close(void) {
6465
RETURN();
6566
}
6667

67-
LR11XX_HW_API_status_t LR11XX_HW_API_delayMs(unsigned short delay_ms) {
68+
LR11XX_HW_API_status_t __attribute__((weak)) LR11XX_HW_API_delayMs(unsigned short delay_ms) {
6869
/* To be implemented by the device manufacturer */
6970
#ifdef ERROR_CODES
7071
LR11XX_HW_API_status_t status = LR11XX_HW_API_SUCCESS;
7172
#endif
73+
SFX_UNUSED(delay_ms);
7274
RETURN();
7375
}
7476

75-
LR11XX_HW_API_status_t LR11XX_HW_API_get_fem_mask(LR11XX_HW_API_FEM_t fem, sfx_u8 *rfsw_dio_mask) {
77+
LR11XX_HW_API_status_t __attribute__((weak)) LR11XX_HW_API_get_fem_mask(LR11XX_HW_API_FEM_t fem, sfx_u8 *rfsw_dio_mask) {
7678
/* To be implemented by the device manufacturer */
7779
#ifdef ERROR_CODES
7880
LR11XX_HW_API_status_t status = LR11XX_HW_API_SUCCESS;
7981
#endif
82+
SFX_UNUSED(fem);
83+
SFX_UNUSED(rfsw_dio_mask);
8084
RETURN();
8185
}
8286

83-
LR11XX_HW_API_status_t LR11XX_HW_API_get_xosc_cfg(LR11XX_HW_API_xosc_cfg_t *xosc_cfg) {
87+
LR11XX_HW_API_status_t __attribute__((weak)) LR11XX_HW_API_get_xosc_cfg(LR11XX_HW_API_xosc_cfg_t *xosc_cfg) {
8488
/* To be implemented by the device manufacturer */
8589
#ifdef ERROR_CODES
8690
LR11XX_HW_API_status_t status = LR11XX_HW_API_SUCCESS;
8791
#endif
92+
SFX_UNUSED(xosc_cfg);
8893
RETURN();
8994
}
9095

91-
LR11XX_HW_API_status_t LR11XX_HW_API_get_pa_pwr_cfg(LR11XX_HW_API_pa_pwr_cfg_t *pa_pwr_cfg, sfx_u32 rf_freq_in_hz, sfx_s8 expected_output_pwr_in_dbm){
96+
LR11XX_HW_API_status_t __attribute__((weak)) LR11XX_HW_API_get_pa_pwr_cfg(LR11XX_HW_API_pa_pwr_cfg_t *pa_pwr_cfg, sfx_u32 rf_freq_in_hz, sfx_s8 expected_output_pwr_in_dbm){
9297
/* To be implemented by the device manufacturer */
9398
#ifdef ERROR_CODES
9499
LR11XX_HW_API_status_t status = LR11XX_HW_API_SUCCESS;
95100
#endif
101+
SFX_UNUSED(pa_pwr_cfg);
102+
SFX_UNUSED(rf_freq_in_hz);
103+
SFX_UNUSED(expected_output_pwr_in_dbm);
96104
RETURN();
97105
}
98106

99-
LR11XX_HW_API_status_t LR11XX_HW_API_tx_on(void) {
107+
LR11XX_HW_API_status_t __attribute__((weak)) LR11XX_HW_API_tx_on(void) {
100108
/* To be implemented by the device manufacturer */
101109
#ifdef ERROR_CODES
102110
LR11XX_HW_API_status_t status = LR11XX_HW_API_SUCCESS;
103111
#endif
104112
RETURN();
105113
}
106114

107-
LR11XX_HW_API_status_t LR11XX_HW_API_tx_off(void) {
115+
LR11XX_HW_API_status_t __attribute__((weak)) LR11XX_HW_API_tx_off(void) {
108116
/* To be implemented by the device manufacturer */
109117
#ifdef ERROR_CODES
110118
LR11XX_HW_API_status_t status = LR11XX_HW_API_SUCCESS;
111119
#endif
112120
RETURN();
113121
}
114122

115-
LR11XX_HW_API_status_t LR11XX_HW_API_rx_on(void) {
123+
LR11XX_HW_API_status_t __attribute__((weak)) LR11XX_HW_API_rx_on(void) {
116124
/* To be implemented by the device manufacturer */
117125
#ifdef ERROR_CODES
118126
LR11XX_HW_API_status_t status = LR11XX_HW_API_SUCCESS;
119127
#endif
120128
RETURN();
121129
}
122130

123-
LR11XX_HW_API_status_t LR11XX_HW_API_rx_off(void) {
131+
LR11XX_HW_API_status_t __attribute__((weak)) LR11XX_HW_API_rx_off(void) {
124132
/* To be implemented by the device manufacturer */
125133
#ifdef ERROR_CODES
126134
LR11XX_HW_API_status_t status = LR11XX_HW_API_SUCCESS;
@@ -130,11 +138,13 @@ LR11XX_HW_API_status_t LR11XX_HW_API_rx_off(void) {
130138

131139
#if (defined TIMER_REQUIRED) && (defined LATENCY_COMPENSATION)
132140
/*******************************************************************/
133-
LR11XX_HW_API_status_t LR11XX_HW_API_get_latency(LR11XX_HW_API_latency_t latency_type, sfx_u32 *latency_ms) {
141+
LR11XX_HW_API_status_t __attribute__((weak)) LR11XX_HW_API_get_latency(LR11XX_HW_API_latency_t latency_type, sfx_u32 *latency_ms) {
134142
/* To be implemented by the device manufacturer */
135143
#ifdef ERROR_CODES
136144
LR11XX_HW_API_status_t status = LR11XX_HW_API_SUCCESS;
137145
#endif
146+
SFX_UNUSED(latency_type);
147+
SFX_UNUSED(latency_ms);
138148
RETURN();
139149
}
140150
#endif

src/manuf/lr11xx_rf_api.c

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ typedef struct {
7575
}lr1110_ctx_t;
7676

7777
#ifdef VERBOSE
78-
static const sfx_u8 LR11XX_RF_API_VERSION[] = "v2.0";
78+
static const sfx_u8 LR11XX_RF_API_VERSION[] = "v2.1";
7979
#endif
8080

8181
static lr1110_ctx_t lr1110_ctx = {
@@ -119,6 +119,8 @@ RF_API_status_t LR11XX_RF_API_open(RF_API_config_t *config) {
119119
#ifdef ASYNCHRONOUS
120120
lr1110_ctx.callbacks.process_cb = config->process_cb;
121121
lr1110_ctx.callbacks.error_cb = config->error_cb;
122+
#else
123+
SFX_UNUSED(config);
122124
#endif
123125
#ifdef ERROR_CODES
124126
LR11XX_HW_API_open(&LR11XX_irq);
@@ -161,6 +163,7 @@ RF_API_status_t LR11XX_RF_API_process(void)
161163
lr1110_ctx.callbacks.tx_cplt_cb();
162164
#endif
163165
}
166+
#ifdef BIDIRECTIONAL
164167
if (lr11xx_system_irq_mask & LR11XX_SYSTEM_IRQ_RX_DONE) {
165168
#ifdef ERROR_CODES
166169
lr11xx_hw_api_status = LR11XX_HW_API_rx_off();
@@ -169,11 +172,12 @@ RF_API_status_t LR11XX_RF_API_process(void)
169172
LR11XX_HW_API_rx_off();
170173
#endif
171174
lr1110_ctx.rx_done_flag = 1;
172-
#if (defined ASYNCHRONOUS) && (defined BIDIRECTIONAL)
175+
#ifdef ASYNCHRONOUS
173176
if (lr1110_ctx.callbacks.rx_data_received_cb != SFX_NULL)
174177
lr1110_ctx.callbacks.rx_data_received_cb();
175178
#endif
176179
}
180+
#endif
177181
if (lr11xx_system_irq_mask & LR11XX_SYSTEM_IRQ_ERROR) {
178182
lr1110_ctx.error_flag = 1;
179183
#ifdef ASYNCHRONOUS
@@ -349,7 +353,11 @@ RF_API_status_t LR11XX_RF_API_wake_up(void) {
349353
#else
350354
LR11XX_HW_API_delayMs(300);
351355
#endif
356+
#ifdef BIDIRECTIONAL
352357
lr11xx_status = lr11xx_system_set_dio_irq_params(SFX_NULL, LR11XX_SYSTEM_IRQ_TX_DONE | LR11XX_SYSTEM_IRQ_RX_DONE | LR11XX_SYSTEM_IRQ_ERROR, 0);
358+
#else
359+
lr11xx_status = lr11xx_system_set_dio_irq_params(SFX_NULL, LR11XX_SYSTEM_IRQ_TX_DONE | LR11XX_SYSTEM_IRQ_ERROR, 0);
360+
#endif
353361
if ( lr11xx_status != LR11XX_STATUS_OK)
354362
EXIT_ERROR((RF_API_status_t) LR11XX_RF_API_ERROR_CHIP_SYSTEM_REG);
355363
lr11xx_status = lr11xx_system_clear_irq_status( SFX_NULL, LR11XX_SYSTEM_IRQ_ALL_MASK );
@@ -499,12 +507,14 @@ RF_API_status_t LR11XX_RF_API_de_init(void) {
499507
lr11xx_status = lr11xx_system_set_standby(SFX_NULL, LR11XX_SYSTEM_STANDBY_CFG_XOSC);
500508
if ( lr11xx_status != LR11XX_STATUS_OK)
501509
EXIT_ERROR((RF_API_status_t) LR11XX_RF_API_ERROR_CHIP_SYSTEM_REG);
510+
#ifdef BIDIRECTIONAL
502511
#ifdef ERROR_CODES
503512
lr11xx_hw_api_status = LR11XX_HW_API_rx_off();
504513
LR11XX_HW_API_check_status((RF_API_status_t) LR11XX_RF_API_ERROR_DRIVER_LR11XX_HW_API);
505514
#else
506515
LR11XX_HW_API_rx_off();
507516
#endif
517+
#endif
508518
#ifdef ERROR_CODES
509519
lr11xx_hw_api_status = LR11XX_HW_API_tx_off();
510520
LR11XX_HW_API_check_status((RF_API_status_t) LR11XX_RF_API_ERROR_DRIVER_LR11XX_HW_API);
@@ -694,10 +704,11 @@ RF_API_status_t LR11XX_RF_API_get_dl_phy_content_and_rssi(sfx_u8 *dl_phy_content
694704

695705
#if (defined REGULATORY) && (defined SPECTRUM_ACCESS_LBT)
696706
RF_API_status_t LR11XX_RF_API_carrier_sense(RF_API_carrier_sense_parameters_t *carrier_sense_params){
697-
/*TODO*/
707+
/* To be implemented by the device manufacturer */
698708
#ifdef ERROR_CODES
699709
RF_API_status_t status = RF_API_SUCCESS;
700710
#endif
711+
SFX_UNUSED(carrier_sense_params);
701712
RETURN();
702713
}
703714
#endif
@@ -708,7 +719,7 @@ RF_API_status_t LR11XX_RF_API_get_latency(RF_API_latency_t latency_type, sfx_u32
708719
RF_API_status_t status = RF_API_SUCCESS;
709720
LR11XX_HW_API_status_t lr11xx_hw_api_status = LR11XX_HW_API_SUCCESS;
710721
#endif
711-
sfx_u32 latency_tmp;
722+
sfx_u32 latency_tmp = 0;
712723

713724
switch(latency_type) {
714725
case RF_API_LATENCY_WAKE_UP :
@@ -777,10 +788,10 @@ RF_API_status_t LR11XX_RF_API_start_continuous_wave(void) {
777788
lr11xx_status_t lr11xx_status;
778789

779790
#ifdef ERROR_CODES
780-
lr11xx_hw_api_status = LR11XX_HW_API_rx_on();
791+
lr11xx_hw_api_status = LR11XX_HW_API_tx_on();
781792
LR11XX_HW_API_check_status((RF_API_status_t) LR11XX_RF_API_ERROR_DRIVER_LR11XX_HW_API);
782793
#else
783-
LR11XX_HW_API_rx_on();
794+
LR11XX_HW_API_tx_on();
784795
#endif
785796
// Start radio.
786797
lr11xx_status = lr11xx_radio_set_tx_cw(SFX_NULL);

0 commit comments

Comments
 (0)