cancel
Showing results for 
Search instead for 
Did you mean: 

Module soft reset

stefano23
Associate II
Posted on April 04, 2016 at 10:15

Good morning to all,

  I have a little problem with my module. After a filesystem update I send the command AT+CFUN=1 to reset the module. The module return OK, return ''+WIND:2:Reset'' but don't resect. Why?

Stefano

#spwf01sa #bug
12 REPLIES 12
daniil
Associate II
Posted on August 01, 2016 at 11:50

Hi, Jerry!

I've fixed the problem.

At first, yes, the external MCU pin is open-drain.

I've tried to reconfigure this pin to Hi-Z input state and the module became to work

correctly with AT+CFUN=1 command.

I guess that there is a

specialty of reset circuit of the module.

Thank you for your help.

Best regards,

Daniel

Posted on August 01, 2016 at 16:26

you're welcome!

Please update also here: [DEAD LINK /public/STe2ecommunities/interface/Lists/WiFi%20Modules/Flat.aspx?RootFolder=/public/STe2ecommunities/interface/Lists/WiFi%20Modules/AT%2bCFUN%3d1%20unexpected%20reaction%20on%20ver%203.5%20of%20FW&FolderCTID=0x01200200770978C69A1141439FE559EB459D75800086789498A6852D4897EA192EB1DEE909&TopicsView=https://my.st.com/public/STe2ecommunities/interface/Lists/WiFi%2520Modules/AllItems.aspx&currentviews=8]https://my.st.com/public/STe2ecommunities/interface/Lists/WiFi%20Modules/Flat.aspx?RootFolder=%2fpublic%2fSTe2ecommunities%2finterface%2fLists%2fWiFi%20Modules%2fAT%2bCFUN%3d1%20unexpected%20reaction%20on%20ver%203%2e5%20of%20FW&FolderCTID=0x01200200770978C69A1141439FE559EB459D75800086789498A6852D4897EA192EB1DEE909&TopicsView=https%3A%2F%2Fmy%2Est%2Ecom%2Fpublic%2FSTe2ecommunities%2Finterface%2FLists%2FWiFi%2520Modules%2FAllItems%2Easpx¤tviews=8

Ciao

jerry

Posted on April 20, 2018 at 10:26

Hello Daniel,

I had the same problem for two day! And thanks for your suggestion to put the reset GPIO in Hi-Z!!!

In fact the ST middleware after each reset de-initialize the reset GPIO

 RESET_WAKEUP_GPIO_CLK_ENABLE();
 __GPIOA_CLK_ENABLE();
 /* GPIO initialization performed into main by Cube32Mx */
 wifi_instances.GPIO_InitStruct.Pin = WiFi_RESET_GPIO_PIN;
 wifi_instances.GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
 wifi_instances.GPIO_InitStruct.Pull = GPIO_PULLUP;
 wifi_instances.GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
 HAL_GPIO_Init(WiFi_RESET_GPIO_PORT, &wifi_instances.GPIO_InitStruct);
// IO_status_flag.WiFi_WIND_State.WiFiHWStarted = WIFI_FALSE;
 wifi_connected = 0; //reset wifi_connected to get user callback
// memset((void*)&IO_status_flag.WiFi_WIND_State,0x00,sizeof(IO_status_flag.WiFi_WIND_State)); /*reset the WIND State?*/
 IO_status_flag.WiFi_WIND_State = Undefine_state;
 /* === RESET PIN - PC12 ===*/
 HAL_GPIO_WritePin(WiFi_RESET_GPIO_PORT, WiFi_RESET_GPIO_PIN, GPIO_PIN_RESET);
 HAL_Delay(200);
 /* === SET PIN - PC12 ===*/
 HAL_GPIO_WritePin(WiFi_RESET_GPIO_PORT, WiFi_RESET_GPIO_PIN, GPIO_PIN_SET);
 HAL_Delay(50);
 
 HAL_GPIO_DeInit(WiFi_RESET_GPIO_PORT, WiFi_RESET_GPIO_PIN);�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?

In my code, I used a custom reset function and the WiFi module stucks after soft-reset.

I reused the ST reset function and everything works!

Thank a lot!

Best Regards,

Federico