diff --git a/README.md b/README.md index d6c57f3..a2621b9 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ List of the adaptations: ### WiFiST * Class constructor changed, 3 new constructors depend on the communication driver: `WiFiClass(SPIClass \*SPIx, uint8_t cs, uint8_t spiIRQ, uint8_t reset, uint8_t wakeup);` -`WiFiClass(HardwareSerial \*UARTx, uint8_t reset, uint8_t wakeup);` +`WiFiClass(Uart \*UARTx, uint8_t reset, uint8_t wakeup);` `WiFiClass(uint8_t tx, uint8_t rx, uint8_t reset, uint8_t wakeup);` * `status()`: less verbose; only `WL_CONNECTED`, `WL_NO_SHIELD`, `WL_IDLE_STATUS`, `WL_NO_SSID_AVAIL`, `WL_SCAN_COMPLETED`, `WL_CONNECT_FAILED` implemented. * `setMac()`: function added to set MAC address of the Wifi module. diff --git a/src/ISM43362_M3G_L44_driver.cpp b/src/ISM43362_M3G_L44_driver.cpp index b623df0..0fa038b 100644 --- a/src/ISM43362_M3G_L44_driver.cpp +++ b/src/ISM43362_M3G_L44_driver.cpp @@ -102,7 +102,7 @@ IsmDrvClass::IsmDrvClass(SPIClass *SPIx, uint8_t cs, uint8_t spiIRQ, * @param wakeup : wakeup pin * @retval None */ -IsmDrvClass::IsmDrvClass(HardwareSerial *UARTx, uint8_t reset, uint8_t wakeup) +IsmDrvClass::IsmDrvClass(Uart *UARTx, uint8_t reset, uint8_t wakeup) { /* Call UART constructor */ /* TODO: neither developed nor tested on DISCO L475VG IOT because the WiFi diff --git a/src/ISM43362_M3G_L44_driver.h b/src/ISM43362_M3G_L44_driver.h index ad999ff..84ffdd5 100644 --- a/src/ISM43362_M3G_L44_driver.h +++ b/src/ISM43362_M3G_L44_driver.h @@ -340,7 +340,7 @@ class IsmDrvClass : public WiFiDrvClass { public: IsmDrvClass(SPIClass *SPIx, uint8_t cs, uint8_t spiIRQ, uint8_t reset, uint8_t wakeup); - IsmDrvClass(HardwareSerial *UARTx, uint8_t reset, uint8_t wakeup); + IsmDrvClass(Uart *UARTx, uint8_t reset, uint8_t wakeup); IsmDrvClass(uint8_t tx, uint8_t rx, uint8_t reset, uint8_t wakeup); virtual ES_WIFI_Status_t ES_WIFI_Init(); diff --git a/src/WiFiST.cpp b/src/WiFiST.cpp index 0e3179c..dc038f9 100644 --- a/src/WiFiST.cpp +++ b/src/WiFiST.cpp @@ -73,7 +73,7 @@ WiFiClass::WiFiClass(SPIClass *SPIx, uint8_t cs, uint8_t spiIRQ, uint8_t reset, * @param wakeup : wakeup pin * @retval None */ -WiFiClass::WiFiClass(HardwareSerial *UARTx, uint8_t reset, uint8_t wakeup) +WiFiClass::WiFiClass(Uart *UARTx, uint8_t reset, uint8_t wakeup) { DrvWiFi = new IsmDrvClass(UARTx, reset, wakeup); wifi_status = WL_NO_SHIELD; diff --git a/src/WiFiST.h b/src/WiFiST.h index f65c7f9..e01ec05 100644 --- a/src/WiFiST.h +++ b/src/WiFiST.h @@ -51,7 +51,7 @@ class WiFiClass { // WiFi device with SPI WiFiClass(SPIClass *SPIx, uint8_t cs, uint8_t spiIRQ, uint8_t reset, uint8_t wakeup); // WiFi device with UART - WiFiClass(HardwareSerial *UARTx, uint8_t reset, uint8_t wakeup); + WiFiClass(Uart *UARTx, uint8_t reset, uint8_t wakeup); // WiFi device with USB WiFiClass(uint8_t tx, uint8_t rx, uint8_t reset, uint8_t wakeup); diff --git a/src/wifi_drv.h b/src/wifi_drv.h index 7e8b243..caf3ac3 100644 --- a/src/wifi_drv.h +++ b/src/wifi_drv.h @@ -39,6 +39,14 @@ #include #include "IPAddress.h" #include "es_wifi_conf.h" +#include "stm32_def.h" + +/* Ensure core backward compatibility */ +#if defined(STM32_CORE_VERSION) && (STM32_CORE_VERSION > 0x020C0000) + using namespace arduino; +#else + #define Uart HardwareSerial +#endif /* Exported typedef ----------------------------------------------------------*/