2016-12-13 10:57 PM
I'm using the STM32F411RE board with the IDW01M1 WiFi expansion module. I run some examples from en.x-cube-wifi1_firmware.zip lib.
However, all example code I run always fail during the wifi_init()--> wifi_reset() call where it just hangs in this while loop:
while(IO_status_flag.WiFi_WIND_State.WiFiHWStarted != WIFI_TRUE)
{ __NOP(); //nothing to do }but WiFiHWStarted never gets set to WIFI_TRUE.
Maybe i dismissed some wiring conncetions (the expantion connected via wires to eval board)?
I have JP3 set in the 1-2 position (which it is). I also have JP4 set in the 1-2 position. I have connceted 3.3v to CN7 pins 12&Thanks,
Note: this post was migrated and contained many threaded conversations, some content may be missing.2016-12-14 12:04 PM
Hi,
JP3 is the one which connect module's reset with STM32 Nucleo GPIO PC12. It's enough.
JP4 can be removed. Why 3V3 to CN7 pin14? Plug IDW on Nucleo, and remove all extra wires. Only JP3 is needed.
- is LED1 turned on? ---> power is ok
- is there any LED turned on? ---> module is sane
- is VCOM application working (send 'AT', receive OK')? ---> UART is sane
Regards
jerry
2016-12-14 09:36 PM
Hello, Thanks for your reply.
I forgot to mention that I am using with STM32F411Discovery board. We intend to use with
SPWF01SA as IC without shild
.This the reason for connection with external wiring.
Connections:
RX,TX, GND,WIFI_RST ,
3.3v to CN7 pins 12&14.
Code:
From : 'en.x-cube-wifi1_firmware\STM32CubeExpansion_WIFI1_V2.1.1\Projects\Multi\Applications\Server_Socket'
1. Defined symbol USE_STM32F4XXÖ¹Ö¹Ö¹_NUCLEO
2. Code edited: uart configuration set USART6 instead USART1(used for OTG)
Leds indication:
LED1 - on
LED2 & LED3 - blinking for 1sec when power is connected
LEDD4 -on
Questions:
1. Maybe I missed some connection?
2. Is there any porting that i need to do (except system clock)?
Thansk a lot,
Arthur.
2016-12-15 07:36 AM
It's not a big problem in using Discovery HW and Nucleo SW. Only be sure about clocks (PLL, HSI/E, etc), peripherals (USB, UART, etc), and GPIOs.
I suggest to start with a simple application turning on/off a LED on discovery ---> Clocks are ok
Then configure UART and connect TX to RX pins: receive every char sent out---> UART is ok
Last step, select a GPIO (for reset), and connect discovery to SPWF module.
Use SPWF at the end of other tasks, so you are sure that you can expect a good result since system (Discovery) is sane.
2016-12-15 11:21 AM
Hi,
the problem is that my IDW01M1 shild is send a garbage with data and I didnt find:
1. How upgrade firmware
without
nucleo?2. How can I connect a JTAG and use with shild as evaluation board? is there available source code for flashing?
Is there any documention for support this?
Attach terminal screenshot with data from shild on power connection.
Regards,
Arthur.
2016-12-17 01:40 AM
Hi,
I'm a little bit confused...
At the beginning problem was Reset Line, then we moved to Discovery board, and at the end problem is garbage on UART.
About the last point, I think Discovery is not properly set. Check clocks (System and Peripheral), and I/O levels (module's high level is 2V5).
About your questions:
- you can upgrade via UART (use an external level shifter if you don't want to use Nucleo), or send AT command to use OTA update
- JTAG is not documented as official update tool
Regards
jerry
2017-04-13 07:28 AM
Hi,
did you resolve your pb! Because i have the same issue:
However, all example code I run always fail during the wifi_init() --> wifi_reset() call where it just hangs in this while loop:
while(IO_status_flag.WiFi_WIND_State.WiFiHWStarted != WIFI_TRUE)
{ __NOP(); //nothing to do }I use the STM32L053R8 board with the IDW01M1 WiFi expansion module. I use Server_Socket project, i tried en.x-cube-wifi1_firmware V2.1.1, V3.0.0 and V3.0.1. JP3 is on 12. I checked ok the reset pin signal PC12. But WiFiHWStarted never gets set to WIFI_TRUE. wifi module is updated ok with FOTA.
Thks
Yoann
2017-04-14 02:56 AM
Hi,
is the VCOM prj working?
j
2017-04-14 03:41 AM
hi,
Yes, VCOM prj works (because wifi_init(&config) -> wifi_reset() is not used!).
Server_Socket prj:
I'm progressing in my investigation. Reset (PC12) is ok. module responses well :
+WIND:1:Poweron (160129-c5bf5ce-SPWF01S)
+WIND:13:ST SPWF01SA1 IWM: Copyright (c) 2012-2015 STMicroelectronics, Inc. All rights Reserved.
+WIND:3:Watchdog Running
+WIND:0:Console active
+WIND:32:WiFi Hardware Started
+WIND:21:WiFi Scanning
The problem is Process_Buffer() doesn't catch '+WIND:32:WiFi Hardware Started'. I don't know why?
Rgds
Yoann
2017-04-14 02:34 PM
I have currently not that board to test it...
A couple ideas:
- probably L0 has less RAM than other STM32. How big is the buffer?
- if buffer is too small, probably there is an overflow. Can you enable flow control to stop tx from module side?
- are previous winds detected (1, 13, 3, 0)?
j