Skip to content

Handling of the Kconfig.projbuild during Ethernet support in the mros2-esp32 project #26

@yamati-kz

Description

@yamati-kz

Hello @takasehideki san.
I would appreciate it if you could consider the Ethernet specifications for the wired connection.

1. Prerequisites

2.Verification Status

2.1 Examples of Success

  • Placing the Kconfig.projbuild file inside workspace/echoback_string/main/ works successfully.
workspace
├── echoback_string
│   ├── CMakeLists.txt
│   └── main
│       ├── CMakeLists.txt
│       ├── echoback_string.cpp
│       └── Kconfig.projbuild   # add
├── echoreply_string
├── m5stack_sample
├── pub_float32
├── pub_image
├── pub_long_string_sub_crc
├── pub_twist
├── sub_pose
└── sub_uint16
  • The Kconfig.projbuild is created by merging as follows:
cat ./mros2esp32-network-select.txt \
    ~/esp/esp-idf/examples/ethernet/basic/main/Kconfig.projbuild \
    ~/esp/esp-idf/examples/ethernet/basic/components/ethernet_init/Kconfig.projbuild \
    > ./Kconfig.projbuild
  • In the following description, switch between either Wi-Fi or Ethernet in mros2esp32-network-select.txt..
menu "mros2-esp32 network interface"
    choice
        prompt "mros2-esp32 network interface"
	    default MROS2_ESP32_NETIF_WIFI
            config MROS2_ESP32_NETIF_WIFI
                bool "WiFi"
            config MROS2_ESP32_NETIF_ETH_SPI
                bool "Ethernet-SPI"
	endchoice
endmenu

2.2 Examples of Failure (Improvements Needed)

  • I edited the CMakeLists.txt, but even though the file seems to be read, it doesn't appear in idf.py menuconfig.
  • The default location makes the software configuration cleaner
platform
├── ethernet            # rename basic to ethernet
│   ├── CMakeLists.txt 
│   ├── components
│   │   └── ethernet_init
│   │       ├── CMakeLists.txt
│   │       ├── ethernet_init.c
│   │       ├── ethernet_init.h
│   │       └── Kconfig.projbuild # Default location
│   └── main
│       ├── CMakeLists.txt
│       ├── ethernet_example_main.c
│       ├── ethernet_example_main.h
│       └── Kconfig.projbuild # Default location
├── mros2-platform.cpp
├── mros2-platform.h
├── rtps
├── templates.hpp
└── wifi

I am attaching the Kconfig.projbuild that I created.
margefile.zip

Would you prefer that I create a pull request, or would you rather I attach only the necessary files in a ZIP file

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions