Fix external radio SPI handlers

This commit is contained in:
MX
2023-04-24 01:56:43 +03:00
parent 69530cd50f
commit 8cb3b67295
14 changed files with 51 additions and 16 deletions

View File

@@ -1377,6 +1377,7 @@ Function,+,furi_hal_subghz_get_timestamp_file_names,_Bool,
Function,+,furi_hal_subghz_idle,void,
Function,-,furi_hal_subghz_init,void,
Function,+,furi_hal_subghz_init_check,_Bool,
Function,+,furi_hal_subghz_init_radio_type,_Bool,SubGhzRadioType
Function,+,furi_hal_subghz_is_async_tx_complete,_Bool,
Function,+,furi_hal_subghz_is_frequency_valid,_Bool,uint32_t
Function,+,furi_hal_subghz_is_rx_data_crc_valid,_Bool,
@@ -1389,12 +1390,12 @@ Function,+,furi_hal_subghz_read_packet,void,"uint8_t*, uint8_t*"
Function,+,furi_hal_subghz_reset,void,
Function,+,furi_hal_subghz_rx,void,
Function,+,furi_hal_subghz_rx_pipe_not_empty,_Bool,
Function,+,furi_hal_subghz_select_radio_type,void,SubGhzRadioType
Function,+,furi_hal_subghz_set_async_mirror_pin,void,const GpioPin*
Function,+,furi_hal_subghz_set_external_power_disable,void,_Bool
Function,+,furi_hal_subghz_set_frequency,uint32_t,uint32_t
Function,+,furi_hal_subghz_set_frequency_and_path,uint32_t,uint32_t
Function,+,furi_hal_subghz_set_path,void,FuriHalSubGhzPath
Function,+,furi_hal_subghz_set_radio_type,_Bool,SubGhzRadioType
Function,+,furi_hal_subghz_set_rolling_counter_mult,void,uint8_t
Function,+,furi_hal_subghz_set_timestamp_file_names,void,_Bool
Function,-,furi_hal_subghz_shutdown,void,
1 entry status name type params
1377 Function + furi_hal_subghz_idle void
1378 Function - furi_hal_subghz_init void
1379 Function + furi_hal_subghz_init_check _Bool
1380 Function + furi_hal_subghz_init_radio_type _Bool SubGhzRadioType
1381 Function + furi_hal_subghz_is_async_tx_complete _Bool
1382 Function + furi_hal_subghz_is_frequency_valid _Bool uint32_t
1383 Function + furi_hal_subghz_is_rx_data_crc_valid _Bool
1390 Function + furi_hal_subghz_reset void
1391 Function + furi_hal_subghz_rx void
1392 Function + furi_hal_subghz_rx_pipe_not_empty _Bool
1393 Function + furi_hal_subghz_select_radio_type void SubGhzRadioType
1394 Function + furi_hal_subghz_set_async_mirror_pin void const GpioPin*
1395 Function + furi_hal_subghz_set_external_power_disable void _Bool
1396 Function + furi_hal_subghz_set_frequency uint32_t uint32_t
1397 Function + furi_hal_subghz_set_frequency_and_path uint32_t uint32_t
1398 Function + furi_hal_subghz_set_path void FuriHalSubGhzPath
Function + furi_hal_subghz_set_radio_type _Bool SubGhzRadioType
1399 Function + furi_hal_subghz_set_rolling_counter_mult void uint8_t
1400 Function + furi_hal_subghz_set_timestamp_file_names void _Bool
1401 Function - furi_hal_subghz_shutdown void

View File

@@ -43,11 +43,14 @@ volatile FuriHalSubGhz furi_hal_subghz = {
.timestamp_file_names = false,
};
bool furi_hal_subghz_set_radio_type(SubGhzRadioType state) {
void furi_hal_subghz_select_radio_type(SubGhzRadioType state) {
furi_hal_subghz.radio_type = state;
}
bool furi_hal_subghz_init_radio_type(SubGhzRadioType state) {
furi_hal_spi_bus_handle_deinit(furi_hal_subghz.spi_bus_handle);
if(furi_hal_subghz.radio_type == SubGhzRadioInternal) {
if(state == SubGhzRadioInternal) {
furi_hal_subghz.spi_bus_handle = &furi_hal_spi_bus_handle_subghz;
furi_hal_subghz.cc1101_g0_pin = &gpio_cc1101_g0;
} else {
@@ -120,6 +123,8 @@ void furi_hal_subghz_disable_ext_power(void) {
bool furi_hal_subghz_check_radio(void) {
bool result = true;
furi_hal_subghz_init_radio_type(furi_hal_subghz.radio_type);
furi_hal_spi_acquire(furi_hal_subghz.spi_bus_handle);
uint8_t ver = cc1101_get_version(furi_hal_subghz.spi_bus_handle);

View File

@@ -292,7 +292,7 @@ void furi_hal_subghz_stop_async_tx();
* @param state SubGhzRadioInternal or SubGhzRadioExternal
* @return true if switching is successful
*/
bool furi_hal_subghz_set_radio_type(SubGhzRadioType state);
bool furi_hal_subghz_init_radio_type(SubGhzRadioType state);
/** Get current radio
* @return SubGhzRadioInternal or SubGhzRadioExternal
@@ -339,6 +339,10 @@ void furi_hal_subghz_set_timestamp_file_names(bool state);
*/
bool furi_hal_subghz_get_timestamp_file_names(void);
/** Set what radio module we will be using
*/
void furi_hal_subghz_select_radio_type(SubGhzRadioType state);
#ifdef __cplusplus
}
#endif