Its impossible to build because of build is broken. Build log is full of errors like
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:80:15: error: 'ETH_DMADescTypeDef' does not name a type
80 | __ALIGN_BEGIN ETH_DMADescTypeDef DMARxDscrTab[ETH_RXBUFNB] __ALIGN_END;/* Ethernet Rx MA Descriptor /
| ^~~~~~~~~~~~~~~~~~
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:85:15: error: 'ETH_DMADescTypeDef' does not name a type
85 | __ALIGN_BEGIN ETH_DMADescTypeDef DMATxDscrTab[ETH_TXBUFNB] __ALIGN_END;/ Ethernet Tx DMA Descriptor */
Set up Visual Code as described, use this ini and build.
Its dead jim.
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:193:56: error: 'Tx_Buff' was not declared in this scope
193 | HAL_ETH_DMATxDescListInit(&EthHandle, DMATxDscrTab, &Tx_Buff[0][0], ETH_TXBUFNB);
| ^~~~~~~
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:193:3: error: 'HAL_ETH_DMATxDescListInit' was not declared in this scope
193 | HAL_ETH_DMATxDescListInit(&EthHandle, DMATxDscrTab, &Tx_Buff[0][0], ETH_TXBUFNB);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:196:41: error: 'DMARxDscrTab' was not declared in this scope
196 | HAL_ETH_DMARxDescListInit(&EthHandle, DMARxDscrTab, &Rx_Buff[0][0], ETH_RXBUFNB);
| ^~~~~~~~~~~~
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:196:56: error: 'Rx_Buff' was not declared in this scope
196 | HAL_ETH_DMARxDescListInit(&EthHandle, DMARxDscrTab, &Rx_Buff[0][0], ETH_RXBUFNB);
| ^~~~~~~
.pio\libdeps\STM32\STM32Ethernet\src\utility\stm32_eth.cpp: In function 'void TIM_scheduler_Config()':
.pio\libdeps\STM32\STM32Ethernet\src\utility\stm32_eth.cpp:66:35: error: 'TIM14' was not declared in this scope; did you mean 'TIM1'?
66 | #define DEFAULT_ETHERNET_TIMER TIM14
| ^~~~~
.pio\libdeps\STM32\STM32Ethernet\src\utility\stm32_eth.cpp:184:30: note: in expansion of macro 'DEFAULT_ETHERNET_TIMER'
184 | EthTim = new HardwareTimer(DEFAULT_ETHERNET_TIMER);
| ^~~~~~~~~~~~~~~~~~~~~~
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:196:3: error: 'HAL_ETH_DMARxDescListInit' was not declared in this scope
196 | HAL_ETH_DMARxDescListInit(&EthHandle, DMARxDscrTab, &Rx_Buff[0][0], ETH_RXBUFNB);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:217:3: error: 'HAL_ETH_Start' was not declared in this scope; did you
mean 'HAL_ADC_Start'?
217 | HAL_ETH_Start(&EthHandle);
| ^~~~~~~~~~~~~
| HAL_ADC_Start
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:223:39: error: 'PHY_IMR' was not declared in this scope; did you mean
'PHY_MISR'?
223 | HAL_ETH_ReadPHYRegister(&EthHandle, PHY_IMR, ®value);
| ^~~~~~~
| PHY_MISR
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:223:3: error: 'HAL_ETH_ReadPHYRegister' was not declared in this scope 223 | HAL_ETH_ReadPHYRegister(&EthHandle, PHY_IMR, ®value);
| ^~~~~~~~~~~~~~~~~~~~~~~
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:225:15: error: 'PHY_ISFR_INT4' was not declared in this scope
225 | regvalue |= PHY_ISFR_INT4;
| ^~~~~~~~~~~~~
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:228:3: error: 'HAL_ETH_WritePHYRegister' was not declared in this scope
228 | HAL_ETH_WritePHYRegister(&EthHandle, PHY_IMR, regvalue);
| ^~~~~~~~~~~~~~~~~~~~~~~~
*** [.pio\build\STM32\lib3c6\STM32Ethernet\utility\stm32_eth.cpp.o] Error 1
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp: In function 'err_t low_level_output(netif*, pbuf*)':
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:254:33: error: 'EthHandle' was not declared in this scope
254 | uint8_t *buffer = (uint8_t *)(EthHandle.TxDesc->Buffer1Addr);
| ^~~~~~~~~
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:255:8: error: 'ETH_DMADescTypeDef' does not name a type
255 | __IO ETH_DMADescTypeDef *DmaTxDesc;
| ^~~~~~~~~~~~~~~~~~
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:263:3: error: 'DmaTxDesc' was not declared in this scope
263 | DmaTxDesc = EthHandle.TxDesc;
| ^~~~~~~~~
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:269:30: error: 'ETH_DMATXDESC_OWN' was not declared in this scope
269 | if ((DmaTxDesc->Status & ETH_DMATXDESC_OWN) != (uint32_t)RESET) {
| ^~~~~~~~~~~~~~~~~
In file included from C:\Users\matrixxx\.platformio\packages\framework-arduinoststm32\system\STM32F1xx/stm32f1xx_hal_conf.h:13,
from C:\Users\matrixxx\.platformio\packages\framework-arduinoststm32\system\Drivers\STM32F1xx_HAL_Driver\Inc/stm32f1xx_hal.h:30,
from C:\Users\matrixxx\.platformio\packages\framework-arduinoststm32\system\Drivers\CMSIS\Device\ST\STM32F1xx\Include/stm32f1xx.h:255,
from C:\Users\matrixxx\.platformio\packages\framework-arduinoststm32\cores\arduino\stm32/stm32_def.h:28,
from .pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:48:
C:\Users\matrixxx\.platformio\packages\framework-arduinoststm32\system\STM32F1xx/stm32f1xx_hal_conf_default.h:188:40: error: 'ETH_MAX_PACKET_SIZE' was not declared in this scope
188 | #define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */
| ^~~~~~~~~~~~~~~~~~~
.pio\libdeps\STM32\STM32Ethernet\src\utility\ethernetif.cpp:279:47: note: in expansion of macro 'ETH_TX_BUF_SIZE'
279 | while ((byteslefttocopy + bufferoffset) > ETH_TX_BUF_SIZE) {
| ^~~~~~~~~~~~~~~
In file included from src\main.cpp:22:
src\defines.h:64:4: warning: #warning Using W5x00 & Ethernet_Generic lib [-Wcpp]
64 | #warning Using W5x00 & Ethernet_Generic lib
| ^~~~~~~
src\defines.h:89:12: fatal error: SPI.h: No such file or directory
### Information
Visual Code newest.
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/bluepill_f103c8.html
PLATFORM: ST STM32 (15.0.0) > BluePill F103C8
HARDWARE: STM32F103C8T6 72MHz, 20KB RAM, 64KB Flash
DEBUG: Current (stlink) External (blackmagic, cmsis-dap, jlink, stlink)
PACKAGES:
- framework-arduinoststm32 @ 4.20100.211028 (2.1.0)
- framework-cmsis @ 2.50700.210515 (5.7.0)
- toolchain-gccarmnoneeabi @ 1.90201.191206 (9.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain+, Compatibility ~ strict
Found 19 compatible libraries
Scanning dependencies...
Dependency Graph
|-- STM32duino LwIP @ 2.1.2
| |-- STM32Ethernet @ 1.3.0
|-- STM32Ethernet @ 1.3.0
|-- Functional-Vlpp @ 1.0.2
|-- Ethernet_Generic @ 2.2.0
|-- UIPEthernet @ 2.0.12
|-- EthernetENC @ 2.0.3
|-- EthernetWebServer_STM32 @ 1.5.0
| |-- STM32duino LwIP @ 2.1.2
| | |-- STM32Ethernet @ 1.3.0
| |-- STM32Ethernet @ 1.3.0
| |-- Functional-Vlpp @ 1.0.2
| |-- Ethernet_Generic @ 2.2.0
### Additional context
Maybe same problem because of this: https://community.st.com/s/question/0D53W00001RKeRZSA1/stm32f4-hal-eth-broken
Hi Khoih! Thanks for all your hard work! Hope you can help here too :) Mike.