walmis / blackmagic-espidf

Blackmagic Wireless SWD Debug probe hosted on esp-idf SDK (for ESP8266) with UART on Telnet port and HTTP using xterm.js
251 stars 48 forks source link

Compiling with Station configuration results in compiler error #3

Closed benvonhandorf closed 4 years ago

benvonhandorf commented 4 years ago

I used make menuconfig to reconfigure the project to connect to my home wifi rather than operating as an AP. With this configuration the compilation fails.

blackmagic-espidf/main/platform.c:471:3: error: implicit declaration of function 'wifi_init_softap' [-Werror=implicit-function-declaration]
   wifi_init_softap();

I believe there is a mismatch between the Wifi options configured by menuconfig and what is expected in platform.c. e.g. configuring for station mode results in the following in sdkconfig:

# CONFIG_ESP_WIFI_IS_SOFTAP is not set
CONFIG_ESP_WIFI_IS_STATION=y
# CONFIG_ESP_WIFI_MODE_AP is not set

Configuring for AP mode results in:

CONFIG_ESP_WIFI_IS_SOFTAP=y
# CONFIG_ESP_WIFI_IS_STATION is not set
CONFIG_ESP_WIFI_MODE_AP=y

Looking in platform.c, it is looking for CONFIG_ESP_WIFI_MODE_AP and CONFIG_ESP_WIFI_MODE_STA starting at line 382. In AP mode, the correct function gets included by virtue of the MODE_AP configuration setting, rather than the IS_SOFTAP setting.

At line 468, however, an #if / #else is used:

#if CONFIG_ESP_WIFI_MODE_STA
  wifi_init_sta();
#else
  wifi_init_softap();
#endif

which results in this always calling wifi_init_softap since there is no code that defines CONFIG_ESP_WIFI_MODE_STA in any configuration that I can find.

Changing the section at 468 to:

#if CONFIG_ESP_WIFI_IS_STATION
  wifi_init_sta();
#else
  wifi_init_softap();
#endif

allows you to compile in station mode successfully although I'm unable to connect due to a MAC address problem that I will submit a different issue for.

benvonhandorf commented 4 years ago

Submitted PR #5