Linking/using Espressif (esp32) components in a Amazon FreeRTOS project

i-snore wrote on February 19, 2020:

Firstly, thanks for the quick reply!

So I added the

DAFR_ENABLE_LWIP=1

and ran the following CMake command:

/usr/local/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DAFR_ENABLE_LWIP=1 -DCMAKE_TOOLCHAIN_FILE=amazon-freertos/tools/cmake/toolchains/xtensa-esp32.cmake -GNinja /Users/vp/esp/Pebble_ESP32_Firmware

The result:

  1. The CMake console outputs the following warning:
CMake Warning:
  Manually-specified variables were not used by the project:

    AFR_ENABLE_LWIP
  1. However, the following includes successfully get linked which is great!
#include "lwip/sys.h"
#include "lwip/netdb.h"
#include "lwip/api.h"
#include "lwip/err.h"
#include "lwip/dns.h"
  1. However, the project still does not full compile - I get the following error:
.In file included from ../amazon-freertos/libraries/3rdparty/lwip_osal/src/sys_arch.c:43:0:
../amazon-freertos/libraries/3rdparty/lwip/src/include/lwip/opt.h:51:22: fatal error: lwipopts.h: No such file or directory
compilation terminated.

It seems that lwipopts.h does not get linked.

What Amazon FreeRTOS release?

Now #3 might be related to the question you asked about what build I am running. I used the following repo as a starting point to create an empty project not dependent on demos: https://github.com/tgsong/amazon-freertos-examples

This means I used the version that the amazon freertos submodule was in that repo. Way back when I was first creating my project I attempted to use that repo with the latest release and was running into linking issues so I settled for that version which didn’t seem to be too far behind. The version appears to be: 201908.00

I hope this won’t be an issue. If it is I can attempt to update to the latest release, but I’d rather avoid that if possible.

Background Info
I am trying to use the lwip in order to make the ESP32 have its own local network that acts as a capture portal. When users connect to the network they would insert their WIFI SSID and password. In short, I am using it for WIFI provisioning, but I am trying to avoid using an iOS or Android application.

Edited by: i-snore on Feb 19, 2020 6:27 AM