micro-ROS / micro-ROS/micro_ros_espidf_component

Issues compiling with W5500 enabled

Aperta
#234 6 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
C
Stelle
419
Fork
124
Merge medio
21h 35m
PR unite (30g)
3

Descrizione

## Issue template

- Hardware description: ESP32 with W5500
- RTOS: freeRTOS
- Installation type: idf 5.2 in vscode
- Version or commit hash: ROS Iron, Micro-ROS commit 2b541f8

#### Steps to reproduce the issue
Create a new project using the pub/sub example.
Configure project to use W5500

#### Expected behavior
Code compiles and is able to run on the ESP32

#### Actual behavior
I instead get the following when compling:

```
/home/kevin/projects/esp32/hello_world/components/micro_ros_espidf_component/network_interfaces/uros_ethernet_netif.c: In function 'uros_network_interface_initialize':
/home/kevin/projects/esp32/hello_world/components/micro_ros_espidf_component/network_interfaces/uros_ethernet_netif.c:78:21: error: implicit declaration of function 'esp_eth_set_default_handlers' [-Werror=implicit-function-declaration]
78 | ESP_ERROR_CHECK(esp_eth_set_default_handlers(eth_netif));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/kevin/esp/v5.2/esp-idf/components/esp_common/include/esp_err.h:117:30: note: in definition of macro 'ESP_ERROR_CHECK'
117 | esp_err_t err_rc_ = (x); \
| ^
/home/kevin/projects/esp32/hello_world/components/micro_ros_espidf_component/network_interfaces/uros_ethernet_netif.c:139:74: error: macro "ETH_W5500_DEFAULT_CONFIG" requires 2 arguments, but only 1 given
139 | eth_w5500_config_t w5500_config = ETH_W5500_DEFAULT_CONFIG(spi_handle);
| ^
In file included from /home/kevin/esp/v5.2/esp-idf/components/esp_eth/include/esp_eth_driver.h:9,
from /home/kevin/esp/v5.2/esp-idf/components/esp_eth/include/esp_eth.h:15,
from /home/kevin/projects/esp32/hello_world/components/micro_ros_espidf_component/network_interfaces/uros_ethernet_netif.c:6:
/home/kevin/esp/v5.2/esp-idf/components/esp_eth/include/esp_eth_mac.h:623: note: macro "ETH_W5500_DEFAULT_CONFIG" defined here
623 | #define ETH_W5500_DEFAULT_CONFIG(spi_host, spi_devcfg_p) \
|
/home/kevin/projects/esp32/hello_world/components/micro_ros_espidf_component/network_interfaces/uros_ethernet_netif.c:139:39: error: 'ETH_W5500_DEFAULT_CONFIG' undeclared (first use in this function)
139 | eth_w5500_config_t w5500_config = ETH_W5500_DEFAULT_CONFIG(spi_handle);
| ^~~~~~~~~~~~~~~~~~~~~~~~`
```

#### Additional information
Only change to the basic component it to allow pin 35 to be selected for MISO.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia da network_interfaces/uros_ethernet_netif.c, in particolare dalle chiamate alle righe 78 e 139, e confronta queste API con gli header di ESP-IDF 5.2 mostrati nell'output del compilatore. Esegui nuovamente l'esempio pub/sub configurato per W5500; il lavoro è completato quando il componente viene compilato correttamente e l'ESP32 riesce a eseguirlo.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
c
Ambito
embedded-iot
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.