RIOT icon indicating copy to clipboard operation
RIOT copied to clipboard

cpu/esp: integrate ESP specific netdev configuration in Kconfig

Open gschorcht opened this issue 3 years ago • 3 comments

Contribution description

As the title says, this PR integrates the configuration of the following ESP specific netdevs into Kconfig:

  • esp_eth (4071cb045479cea630145b0961969a0468500310 87bc8f9e8e68a3be63c9214d1a74c59975a8772b 0a921572cadae6b99f5ae8e00f8e17624002dffe)
  • esp_now (a8fafeb0be5f68707ce285ad7f8331f91798ccae)
  • esp_wifi (c89cc088973d9e3e400646bd9bd8e80a62f7779f)

As prerequisites for these changes, the following changes were also included in this PR:

  • shared Kconfig base board definition for all version of esp32-ethernet-kit boards (fe011acf0044a18f190c55a2abbf73cc40a287bc)
  • default configuration definition for esp_wifi in WPA2 Enterprise mode (2550f384938761461473f1e6aa7657a8ebda5d47)

Additionally, the PR includes some fixes and improvements found during Kconfig migration:

  • updates, improvements and fixes in documentation of esp_wifi and esp_now (2de5eb76db97311113bad2675499961a8b74472a)
  • small dependencies cleanup for ESP32 (ead9e33f3c50dc72d435ea80251801c56fde29f2)
  • fix for the optional camera interface for the esp32-wrover-kit board (fe011acf0044a18f190c55a2abbf73cc40a287bc)
  • HAS_* feature definitions in alphabetical order (fc495d2e8f54f62d2714fb83c635e2331705b16a)

The PR depends on PR #17419 and PR #17420. Therefore, the changes of these PRs are included in this PR for the moment (87a72e4dfe57098516234fac3d7fef294287e7c1 a0f2357c7d174cfd62c3f63ffb4187c2a5007543 6a136e647ad08774831a5f91205d2af45f7be193 b163768c110abd1535313cc5b8afe08b83cee3e6). Once these PRs are merged and this PR is rebased, they are dropped.

Testing procedure

Since GNRC and netdev modelling has not yet been finished, CI can't be used to check for correctness.

  1. Create file examples/gnrc_networking/app.config.test

    CONFIG_MODULE_NETDEV_DEFAULT=y
    
  2. Create file examples/gnrc_networking/Kconfig

    config MODULE_NETOPT
         bool
    
  3. Execute

    TEST_KCONFIG=1 make BOARD=esp32-olimex-evb -C examples/gnrc_networking menuconfig
    TEST_KCONFIG=1 make BOARD=esp8266-esp-12x -C examples/gnrc_networking menuconfig
    

    and check in ESP configurations ---> Network Devices ---> that

    • ESP Ethernet interface used is selected on ESP32 and
    • ESP NOW interface used is selected on ESP8266.
  4. Check in menuconfig for ESP32

    • the submenu for esp_now configuration when ESP-NOW interface used is set
    • the submenu for esp_wifi configuration when ESP Wifi interface used is set
      • when WPA2 Personal Mode is selected
      • when WPA2 Enterprise Mode is selected
      • when SoftAP Mode is selected
  5. Check that the same esp_*, ztimer and netopt modules for

    make BOARD=esp32-olimex-evb -C examples/gnrc_networking info-modules
    USEMODULE=esp_now make BOARD=esp32-olimex-evb -C examples/gnrc_networking info-modules
    USEMODULE=esp_wifi make BOARD=esp32-olimex-evb -C examples/gnrc_networking info-modules
    USEMODULE=esp_wifi_ap make BOARD=esp32-olimex-evb -C examples/gnrc_networking info-modules
    USEMODULE=esp_wifi_enterprise make BOARD=esp32-olimex-evb -C examples/gnrc_networking info-modules
    

    and

    TEST_KCONFIG=1 make BOARD=esp32-olimex-evb -C examples/gnrc_networking info-modules
    

    are used after selecting the according interfaces.

Issues/PRs references

Depends on PR #17419 and PR #17420

gschorcht avatar Dec 19 '21 12:12 gschorcht

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions.

stale[bot] avatar Jul 10 '22 11:07 stale[bot]

This will need rework once #20438 is in.

Teufelchen1 avatar Mar 26 '24 13:03 Teufelchen1

It is in...

MrKevinWeiss avatar Apr 09 '24 11:04 MrKevinWeiss