@@ -46,9 +46,55 @@ static sdio_pin_config_t sdio_pin_config = {
4646#endif
4747};
4848
49- // Forward declarations
50- bool hostedInit ();
51- bool hostedDeinit ();
49+ static bool hostedInit () {
50+ if (!hosted_initialized ) {
51+ log_i ("Initializing ESP-Hosted" );
52+ log_d ("SDIO pins: clk=%d, cmd=%d, d0=%d, d1=%d, d2=%d, d3=%d, rst=%d" , sdio_pin_config .pin_clk , sdio_pin_config .pin_cmd , sdio_pin_config .pin_d0 , sdio_pin_config .pin_d1 , sdio_pin_config .pin_d2 , sdio_pin_config .pin_d3 , sdio_pin_config .pin_reset );
53+ hosted_initialized = true;
54+ struct esp_hosted_sdio_config conf = INIT_DEFAULT_HOST_SDIO_CONFIG ();
55+ conf .pin_clk .pin = sdio_pin_config .pin_clk ;
56+ conf .pin_cmd .pin = sdio_pin_config .pin_cmd ;
57+ conf .pin_d0 .pin = sdio_pin_config .pin_d0 ;
58+ conf .pin_d1 .pin = sdio_pin_config .pin_d1 ;
59+ conf .pin_d2 .pin = sdio_pin_config .pin_d2 ;
60+ conf .pin_d3 .pin = sdio_pin_config .pin_d3 ;
61+ conf .pin_reset .pin = sdio_pin_config .pin_reset ;
62+ // esp_hosted_sdio_set_config() will fail on second attempt but here temporarily to not cause exception on reinit
63+ if (esp_hosted_sdio_set_config (& conf ) != ESP_OK || esp_hosted_init () != ESP_OK ) {
64+ log_e ("esp_hosted_init failed!" );
65+ hosted_initialized = false;
66+ return false;
67+ }
68+ log_i ("ESP-Hosted initialized!" );
69+ }
70+
71+ // Attach pins to PeriMan here
72+ // Slave chip model is CONFIG_IDF_SLAVE_TARGET
73+ // sdio_pin_config.pin_clk
74+ // sdio_pin_config.pin_cmd
75+ // sdio_pin_config.pin_d0
76+ // sdio_pin_config.pin_d1
77+ // sdio_pin_config.pin_d2
78+ // sdio_pin_config.pin_d3
79+ // sdio_pin_config.pin_reset
80+
81+ return true;
82+ }
83+
84+ static bool hostedDeinit () {
85+ if (!hosted_initialized ) {
86+ log_e ("ESP-Hosted is not initialized" );
87+ return false;
88+ }
89+
90+ if (esp_hosted_deinit () != ESP_OK ) {
91+ log_e ("esp_hosted_deinit failed!" );
92+ return false;
93+ }
94+
95+ hosted_initialized = false;
96+ return true;
97+ }
5298
5399bool hostedInitBLE () {
54100 log_i ("Initializing ESP-Hosted for BLE" );
@@ -84,41 +130,6 @@ bool hostedDeinitWiFi() {
84130 }
85131}
86132
87- bool hostedInit () {
88- if (!hosted_initialized ) {
89- log_i ("Initializing ESP-Hosted" );
90- log_d ("SDIO pins: clk=%d, cmd=%d, d0=%d, d1=%d, d2=%d, d3=%d, rst=%d" , sdio_pin_config .pin_clk , sdio_pin_config .pin_cmd , sdio_pin_config .pin_d0 , sdio_pin_config .pin_d1 , sdio_pin_config .pin_d2 , sdio_pin_config .pin_d3 , sdio_pin_config .pin_reset );
91- hosted_initialized = true;
92- struct esp_hosted_sdio_config conf = INIT_DEFAULT_HOST_SDIO_CONFIG ();
93- conf .pin_clk .pin = sdio_pin_config .pin_clk ;
94- conf .pin_cmd .pin = sdio_pin_config .pin_cmd ;
95- conf .pin_d0 .pin = sdio_pin_config .pin_d0 ;
96- conf .pin_d1 .pin = sdio_pin_config .pin_d1 ;
97- conf .pin_d2 .pin = sdio_pin_config .pin_d2 ;
98- conf .pin_d3 .pin = sdio_pin_config .pin_d3 ;
99- conf .pin_reset .pin = sdio_pin_config .pin_reset ;
100- // esp_hosted_sdio_set_config() will fail on second attempt but here temporarily to not cause exception on reinit
101- if (esp_hosted_sdio_set_config (& conf ) != ESP_OK || esp_hosted_init () != ESP_OK ) {
102- log_e ("esp_hosted_init failed!" );
103- hosted_initialized = false;
104- return false;
105- }
106- log_i ("ESP-Hosted initialized!" );
107- }
108-
109- // Attach pins to PeriMan here
110- // Slave chip model is CONFIG_IDF_SLAVE_TARGET
111- // sdio_pin_config.pin_clk
112- // sdio_pin_config.pin_cmd
113- // sdio_pin_config.pin_d0
114- // sdio_pin_config.pin_d1
115- // sdio_pin_config.pin_d2
116- // sdio_pin_config.pin_d3
117- // sdio_pin_config.pin_reset
118-
119- return true;
120- }
121-
122133bool hostedSetPins (int8_t clk , int8_t cmd , int8_t d0 , int8_t d1 , int8_t d2 , int8_t d3 , int8_t rst ) {
123134 if (clk < 0 || cmd < 0 || d0 < 0 || d1 < 0 || d2 < 0 || d3 < 0 || rst < 0 ) {
124135 log_e ("All SDIO pins must be defined" );
@@ -161,21 +172,6 @@ bool hostedIsWiFiActive() {
161172 return hosted_wifi_active ;
162173}
163174
164- bool hostedDeinit () {
165- if (!hosted_initialized ) {
166- log_e ("ESP-Hosted is not initialized" );
167- return false;
168- }
169-
170- if (esp_hosted_deinit () != ESP_OK ) {
171- log_e ("esp_hosted_deinit failed!" );
172- return false;
173- }
174-
175- hosted_initialized = false;
176- return true;
177- }
178-
179175bool hostedIsInitialized () {
180176 return hosted_initialized ;
181177}
0 commit comments