mirror of
https://github.com/tbnobody/OpenDTU.git
synced 2025-12-13 18:30:43 +01:00
Implement W5500 support
This commit is contained in:
@@ -84,6 +84,30 @@
|
||||
#define CMT_SDIO -1
|
||||
#endif
|
||||
|
||||
#ifndef W5500_MOSI
|
||||
#define W5500_MOSI -1
|
||||
#endif
|
||||
|
||||
#ifndef W5500_MISO
|
||||
#define W5500_MISO -1
|
||||
#endif
|
||||
|
||||
#ifndef W5500_SCLK
|
||||
#define W5500_SCLK -1
|
||||
#endif
|
||||
|
||||
#ifndef W5500_CS
|
||||
#define W5500_CS -1
|
||||
#endif
|
||||
|
||||
#ifndef W5500_INT
|
||||
#define W5500_INT -1
|
||||
#endif
|
||||
|
||||
#ifndef W5500_RST
|
||||
#define W5500_RST -1
|
||||
#endif
|
||||
|
||||
PinMappingClass PinMapping;
|
||||
|
||||
PinMappingClass::PinMappingClass()
|
||||
@@ -103,6 +127,13 @@ PinMappingClass::PinMappingClass()
|
||||
_pinMapping.cmt_gpio3 = CMT_GPIO3;
|
||||
_pinMapping.cmt_sdio = CMT_SDIO;
|
||||
|
||||
_pinMapping.w5500_mosi = W5500_MOSI;
|
||||
_pinMapping.w5500_miso = W5500_MISO;
|
||||
_pinMapping.w5500_sclk = W5500_SCLK;
|
||||
_pinMapping.w5500_cs = W5500_CS;
|
||||
_pinMapping.w5500_int = W5500_INT;
|
||||
_pinMapping.w5500_rst = W5500_RST;
|
||||
|
||||
#ifdef OPENDTU_ETHERNET
|
||||
_pinMapping.eth_enabled = true;
|
||||
#else
|
||||
@@ -164,6 +195,13 @@ bool PinMappingClass::init(const String& deviceMapping)
|
||||
_pinMapping.cmt_gpio3 = doc[i]["cmt"]["gpio3"] | CMT_GPIO3;
|
||||
_pinMapping.cmt_sdio = doc[i]["cmt"]["sdio"] | CMT_SDIO;
|
||||
|
||||
_pinMapping.w5500_mosi = doc[i]["w5500"]["mosi"] | W5500_MOSI;
|
||||
_pinMapping.w5500_miso = doc[i]["w5500"]["miso"] | W5500_MISO;
|
||||
_pinMapping.w5500_sclk = doc[i]["w5500"]["sclk"] | W5500_SCLK;
|
||||
_pinMapping.w5500_cs = doc[i]["w5500"]["cs"] | W5500_CS;
|
||||
_pinMapping.w5500_int = doc[i]["w5500"]["int"] | W5500_INT;
|
||||
_pinMapping.w5500_rst = doc[i]["w5500"]["rst"] | W5500_RST;
|
||||
|
||||
#ifdef OPENDTU_ETHERNET
|
||||
_pinMapping.eth_enabled = doc[i]["eth"]["enabled"] | true;
|
||||
#else
|
||||
@@ -211,6 +249,16 @@ bool PinMappingClass::isValidCmt2300Config() const
|
||||
&& _pinMapping.cmt_sdio >= 0;
|
||||
}
|
||||
|
||||
bool PinMappingClass::isValidW5500Config() const
|
||||
{
|
||||
return _pinMapping.w5500_mosi >= 0
|
||||
&& _pinMapping.w5500_miso >= 0
|
||||
&& _pinMapping.w5500_sclk >= 0
|
||||
&& _pinMapping.w5500_cs >= 0
|
||||
&& _pinMapping.w5500_int >= 0
|
||||
&& _pinMapping.w5500_rst >= 0;
|
||||
}
|
||||
|
||||
bool PinMappingClass::isValidEthConfig() const
|
||||
{
|
||||
return _pinMapping.eth_enabled;
|
||||
|
||||
Reference in New Issue
Block a user