Closed serpent213 closed 2 months ago
Just realised that basic
does not rely on protocol_examples_common
, but uses the Kconfig.projbuild
from components/ethernet_init
, which does not know about openeth...
For reference, these examples do make use of protocol_examples_common
:
openthread/ot_br
peripherals/parlio/parlio_rx/logic_analyzer
peripherals/usb/host/uvc
protocols/esp_http_client
protocols/esp_local_ctrl
protocols/http_request
protocols/http_server/advanced_tests
protocols/http_server/async_handlers
protocols/http_server/file_serving
protocols/http_server/persistent_sockets
protocols/http_server/restful_server
protocols/http_server/simple
protocols/http_server/ws_echo_server
protocols/https_mbedtls
protocols/https_request
protocols/https_server/simple
protocols/https_server/wss_server
protocols/https_x509_bundle
protocols/icmp_echo
protocols/l2tap
protocols/modbus/tcp/mb_tcp_master
protocols/modbus/tcp/mb_tcp_slave
protocols/mqtt/custom_outbox
protocols/mqtt/ssl
protocols/mqtt/ssl_ds
protocols/mqtt/ssl_mutual_auth
protocols/mqtt/ssl_psk
protocols/mqtt/tcp
protocols/mqtt/ws
protocols/mqtt/wss
protocols/mqtt5
protocols/smtp_client
protocols/sntp
protocols/sockets/icmpv6_ping
protocols/sockets/non_blocking
protocols/sockets/tcp_client
protocols/sockets/tcp_client_multi_net
protocols/sockets/tcp_server
protocols/sockets/tcp_transport_client
protocols/sockets/udp_client
protocols/sockets/udp_multicast
protocols/sockets/udp_server
system/ota/advanced_https_ota
system/ota/native_ota_example
system/ota/pre_encrypted_ota
system/ota/simple_ota_example
zigbee/esp_zigbee_gateway
Code size of protocol_examples_common
:
───────────────────────────────────────────────────────────────────────────────
Language Files Lines Blanks Comments Code Complexity
───────────────────────────────────────────────────────────────────────────────
C 8 1492 220 153 1119 132
C Header 4 264 39 115 110 0
CMake 1 44 11 1 32 7
Markdown 1 58 21 0 37 0
───────────────────────────────────────────────────────────────────────────────
Total 14 1858 291 269 1298 139
───────────────────────────────────────────────────────────────────────────────
While these depend on ethernet/basic/components/ethernet_init
:
ethernet/iperf
network/bridge
network/eth2ap
network/simple_sniffer
network/sta2eth
network/vlan_support
Code size of ethernet/basic/components/ethernet_init
:
───────────────────────────────────────────────────────────────────────────────
Language Files Lines Blanks Comments Code Complexity
───────────────────────────────────────────────────────────────────────────────
C 1 338 26 54 258 49
C Header 1 41 5 26 10 0
CMake 1 3 0 0 3 0
───────────────────────────────────────────────────────────────────────────────
Total 3 382 31 80 271 49
───────────────────────────────────────────────────────────────────────────────
I understand that ethernet_init
has a much more limited scope.
Also I found the ifconfig component, which in turn depends on the ethernet_init component. Which appears to be an extended version of the example ethernet_init
with different license:
───────────────────────────────────────────────────────────────────────────────
Language Files Lines Blanks Comments Code Complexity
───────────────────────────────────────────────────────────────────────────────
C 1 490 60 62 368 57
C Header 1 68 12 26 30 0
CMake 1 3 0 0 3 0
License 1 201 32 0 169 0
Markdown 1 32 6 0 26 0
YAML 1 8 0 0 8 0
───────────────────────────────────────────────────────────────────────────────
Total 6 802 110 88 604 57
───────────────────────────────────────────────────────────────────────────────
...while as well lacking openeth support.
Would be nice to have an official, generic network_init
component, no? 🙂
Closing this.
Answers checklist.
General issue report
Running
menuconfig
in thebasic
folder gives me following example related menus:ETH_USE_OPENETH is set.
I cannot find the option to enable EXAMPLE_USE_OPENETH, even though it appears in
../../common_components/protocol_examples_common/Kconfig.projbuild
.Will spend some time to check its dependencies...