karasevIA 2 лет назад
Родитель
Сommit
d4d5a813e7

+ 23 - 8
application.fam

@@ -27,15 +27,30 @@ App(
                 "Ethernet",
                 "Internet/DHCP",
 				"Internet/DNS",
-				"Internet/FTPClient",
-                "Internet/FTPServer",
-				"Internet/httpServer",
+				# "Internet/FTPClient",
+                # "Internet/FTPServer",
+				# "Internet/httpServer",
                 "Internet/ICMP",
-				"Internet/MQTT",
-                "Internet/MQTT/MQTTPacket/src",
-				"Internet/SNMP",
-				"Internet/SNTP",
-                "Internet/TFTP",
+				# "Internet/MQTT",
+                # "Internet/MQTT/MQTTPacket/src",
+				# "Internet/SNMP",
+				# "Internet/SNTP",
+                # "Internet/TFTP",
+			],
+            sources=[
+                "Ethernet/W5500/*.c",
+                "Ethernet/*.c",
+                "Internet/DHCP/*.c",
+				"Internet/DNS/*.c",
+				# "Internet/FTPClient/*.c",
+                # "Internet/FTPServer/*.c",
+				# "Internet/httpServer/*.c",
+                "Internet/ICMP/*.c",
+				# "Internet/MQTT/*.c",
+                # "Internet/MQTT/MQTTPacket/src/*.c",
+				# "Internet/SNMP/*.c",
+				# "Internet/SNTP/*.c",
+                # "Internet/TFTP/*.c",
 			],
 		),
 	],

+ 1 - 1
eth_save_process.c

@@ -279,7 +279,7 @@ void ehternet_save_process_print(EthernetSaveConfig* config, const char* str) {
     furi_assert(config);
     FuriHalRtcDateTime datetime = {0};
     furi_hal_rtc_get_datetime(&datetime);
-    bool res = storage_printf(
+    storage_printf(
         config->log_file,
         "%4d.%02d.%02d-%02d:%2d:%02d || %s",
         datetime.year,

+ 3 - 5
eth_worker.c

@@ -81,6 +81,8 @@ void eth_worker_set_active_process(EthWorker* worker, EthWorkerProcess state) {
     case EthWorkerProcessReset:
         worker->active_process = worker->reset_process;
         break;
+    default:
+        break;
     }
 }
 
@@ -105,7 +107,7 @@ static EthViewProcess* get_process(EthWorker* worker, EthWorkerProcess process)
     case EthWorkerProcessActive:
         return worker->active_process;
     default:
-        NULL;
+        return NULL;
     }
 }
 
@@ -263,10 +265,6 @@ static void W5500_WriteByte(uint8_t byte) {
     W5500_WriteBuff(&byte, sizeof(byte));
 }
 
-static void wait_ms(int ms) {
-    furi_delay_ms(ms);
-}
-
 static wiz_NetInfo gWIZNETINFO;
 void update_WIZNETINFO(uint8_t is_dhcp) {
     furi_assert(static_worker);

+ 1 - 0
eth_worker_dhcp.c

@@ -3,5 +3,6 @@
 #include <dhcp.h>
 
 void dhcp_timer_callback(void* context) {
+    UNUSED(context);
     DHCP_time_handler();
 }

+ 0 - 1
finik_eth_app.c

@@ -61,7 +61,6 @@ static void finik_eth_app_draw_callback(Canvas* canvas, void* ctx) {
 
     canvas_clear(canvas);
 
-    DrawMode mode = app->draw_mode;
     DrawProcess process = app->draw_process;
     CursorPosition cursor = app->cursor_position;
     float consumption = app->info.current_gauge;

+ 576 - 643
lib/ioLibrary_Driver/Ethernet/wizchip_conf.c

@@ -1,4 +1,4 @@
-//****************************************************************************/ 
+//****************************************************************************/
 //!
 //! \file wizchip_conf.c
 //! \brief WIZCHIP Config Header File.
@@ -21,30 +21,30 @@
 //!
 //! Copyright (c)  2013, WIZnet Co., LTD.
 //! All rights reserved.
-//! 
-//! Redistribution and use in source and binary forms, with or without 
-//! modification, are permitted provided that the following conditions 
-//! are met: 
-//! 
-//!     * Redistributions of source code must retain the above copyright 
-//! notice, this list of conditions and the following disclaimer. 
+//!
+//! Redistribution and use in source and binary forms, with or without
+//! modification, are permitted provided that the following conditions
+//! are met:
+//!
+//!     * Redistributions of source code must retain the above copyright
+//! notice, this list of conditions and the following disclaimer.
 //!     * Redistributions in binary form must reproduce the above copyright
 //! notice, this list of conditions and the following disclaimer in the
-//! documentation and/or other materials provided with the distribution. 
-//!     * Neither the name of the <ORGANIZATION> nor the names of its 
-//! contributors may be used to endorse or promote products derived 
-//! from this software without specific prior written permission. 
-//! 
+//! documentation and/or other materials provided with the distribution.
+//!     * Neither the name of the <ORGANIZATION> nor the names of its
+//! contributors may be used to endorse or promote products derived
+//! from this software without specific prior written permission.
+//!
 //! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-//! AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+//! AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 //! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-//! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
-//! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
-//! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+//! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+//! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+//! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 //! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-//! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
-//! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-//! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 
+//! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+//! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+//! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
 //! THE POSSIBILITY OF SUCH DAMAGE.
 //
 //*****************************************************************************/
@@ -64,7 +64,8 @@
  * null function is called.
  */
 //void 	  wizchip_cris_enter(void)           {};
-void 	  wizchip_cris_enter(void)           {}
+void wizchip_cris_enter(void) {
+}
 
 /**
  * @brief Default function to disable interrupt.
@@ -72,7 +73,8 @@ void 	  wizchip_cris_enter(void)           {}
  * null function is called.
  */
 //void 	  wizchip_cris_exit(void)          {};
-void 	  wizchip_cris_exit(void)          {}
+void wizchip_cris_exit(void) {
+}
 
 /**
  * @brief Default function to select chip.
@@ -80,7 +82,8 @@ void 	  wizchip_cris_exit(void)          {}
  * null function is called.
  */
 //void 	wizchip_cs_select(void)            {};
-void 	wizchip_cs_select(void)            {}
+void wizchip_cs_select(void) {
+}
 
 /**
  * @brief Default function to deselect chip.
@@ -88,16 +91,19 @@ void 	wizchip_cs_select(void)            {}
  * null function is called.
  */
 //void 	wizchip_cs_deselect(void)          {};
-void 	wizchip_cs_deselect(void)          {}
+void wizchip_cs_deselect(void) {
+}
 
 /**
  * @brief Default function to read in direct or indirect interface.
  * @note This function help not to access wrong address. If you do not describe this function or register any functions,
  * null function is called.
  */
- //M20150601 : Rename the function for integrating with W5300
+//M20150601 : Rename the function for integrating with W5300
 //uint8_t wizchip_bus_readbyte(uint32_t AddrSel) { return * ((volatile uint8_t *)((ptrdiff_t) AddrSel)); }
-iodata_t wizchip_bus_readdata(uint32_t AddrSel) { return * ((volatile iodata_t *)((ptrdiff_t) AddrSel)); }
+iodata_t wizchip_bus_readdata(uint32_t AddrSel) {
+    return *((volatile iodata_t*)((ptrdiff_t)AddrSel));
+}
 
 /**
  * @brief Default function to write in direct or indirect interface.
@@ -106,7 +112,9 @@ iodata_t wizchip_bus_readdata(uint32_t AddrSel) { return * ((volatile iodata_t *
  */
 //M20150601 : Rename the function for integrating with W5300
 //void 	wizchip_bus_writebyte(uint32_t AddrSel, uint8_t wb)  { *((volatile uint8_t*)((ptrdiff_t)AddrSel)) = wb; }
-void 	wizchip_bus_writedata(uint32_t AddrSel, iodata_t wb)  { *((volatile iodata_t*)((ptrdiff_t)AddrSel)) = wb; }
+void wizchip_bus_writedata(uint32_t AddrSel, iodata_t wb) {
+    *((volatile iodata_t*)((ptrdiff_t)AddrSel)) = wb;
+}
 
 /**
  * @brief Default function to read in SPI interface.
@@ -114,7 +122,9 @@ void 	wizchip_bus_writedata(uint32_t AddrSel, iodata_t wb)  { *((volatile iodata
  * null function is called.
  */
 //uint8_t wizchip_spi_readbyte(void)        {return 0;};
-uint8_t wizchip_spi_readbyte(void)        {return 0;}
+// uint8_t wizchip_spi_readbyte(void) {
+//     return 0;
+// }
 
 /**
  * @brief Default function to write in SPI interface.
@@ -122,15 +132,16 @@ uint8_t wizchip_spi_readbyte(void)        {return 0;}
  * null function is called.
  */
 //void 	wizchip_spi_writebyte(uint8_t wb) {};
-void 	wizchip_spi_writebyte(uint8_t wb) {}
+//void 	wizchip_spi_writebyte(uint8_t wb) {}
 
 /**
  * @brief Default function to burst read in SPI interface.
  * @note This function help not to access wrong address. If you do not describe this function or register any functions,
  * null function is called.
  */
-//void 	wizchip_spi_readburst(uint8_t* pBuf, uint16_t len) 	{}; 
-void 	wizchip_spi_readburst(uint8_t* pBuf, uint16_t len) 	{}
+//void 	wizchip_spi_readburst(uint8_t* pBuf, uint16_t len) 	{};
+// void wizchip_spi_readburst(uint8_t* pBuf, uint16_t len) {
+// }
 
 /**
  * @brief Default function to burst write in SPI interface.
@@ -138,7 +149,8 @@ void 	wizchip_spi_readburst(uint8_t* pBuf, uint16_t len) 	{}
  * null function is called.
  */
 //void 	wizchip_spi_writeburst(uint8_t* pBuf, uint16_t len) {};
-void 	wizchip_spi_writeburst(uint8_t* pBuf, uint16_t len) {}
+// void wizchip_spi_writeburst(uint8_t* pBuf, uint16_t len) {
+// }
 
 /**
  * @\ref _WIZCHIP instance
@@ -161,70 +173,53 @@ _WIZCHIP  WIZCHIP =
 //    .IF.SPI._read_byte   = wizchip_spi_readbyte,
 //    .IF.SPI._write_byte  = wizchip_spi_writebyte
       };
-*/      
-_WIZCHIP  WIZCHIP =
-{
+*/
+_WIZCHIP WIZCHIP = {
     _WIZCHIP_IO_MODE_,
-    _WIZCHIP_ID_ ,
-    {
-        wizchip_cris_enter,
-        wizchip_cris_exit
-    },
-    {
-        wizchip_cs_select,
-        wizchip_cs_deselect
-    },
+    _WIZCHIP_ID_,
+    {wizchip_cris_enter, wizchip_cris_exit},
+    {wizchip_cs_select, wizchip_cs_deselect},
     {
-        {
-            //M20150601 : Rename the function 
-            //wizchip_bus_readbyte,
-            //wizchip_bus_writebyte
-            wizchip_bus_readdata,
-            wizchip_bus_writedata
-        },
-
+        {//M20150601 : Rename the function
+         //wizchip_bus_readbyte,
+         //wizchip_bus_writebyte
+         wizchip_bus_readdata,
+         wizchip_bus_writedata},
+
+    }};
+
+static uint8_t _DNS_[4]; // DNS server ip address
+static dhcp_mode _DHCP_; // DHCP mode
+
+void reg_wizchip_cris_cbfunc(void (*cris_en)(void), void (*cris_ex)(void)) {
+    if(!cris_en || !cris_ex) {
+        WIZCHIP.CRIS._enter = wizchip_cris_enter;
+        WIZCHIP.CRIS._exit = wizchip_cris_exit;
+    } else {
+        WIZCHIP.CRIS._enter = cris_en;
+        WIZCHIP.CRIS._exit = cris_ex;
     }
-};
-
-
-static uint8_t    _DNS_[4];      // DNS server ip address
-static dhcp_mode  _DHCP_;        // DHCP mode
-
-void reg_wizchip_cris_cbfunc(void(*cris_en)(void), void(*cris_ex)(void))
-{
-   if(!cris_en || !cris_ex)
-   {
-      WIZCHIP.CRIS._enter = wizchip_cris_enter;
-      WIZCHIP.CRIS._exit  = wizchip_cris_exit;
-   }
-   else
-   {
-      WIZCHIP.CRIS._enter = cris_en;
-      WIZCHIP.CRIS._exit  = cris_ex;
-   }
 }
 
-void reg_wizchip_cs_cbfunc(void(*cs_sel)(void), void(*cs_desel)(void))
-{
-   if(!cs_sel || !cs_desel)
-   {
-      WIZCHIP.CS._select   = wizchip_cs_select;
-      WIZCHIP.CS._deselect = wizchip_cs_deselect;
-   }
-   else
-   {
-      WIZCHIP.CS._select   = cs_sel;
-      WIZCHIP.CS._deselect = cs_desel;
-   }
+void reg_wizchip_cs_cbfunc(void (*cs_sel)(void), void (*cs_desel)(void)) {
+    if(!cs_sel || !cs_desel) {
+        WIZCHIP.CS._select = wizchip_cs_select;
+        WIZCHIP.CS._deselect = wizchip_cs_deselect;
+    } else {
+        WIZCHIP.CS._select = cs_sel;
+        WIZCHIP.CS._deselect = cs_desel;
+    }
 }
 
 //M20150515 : For integrating with W5300
 //void reg_wizchip_bus_cbfunc(uint8_t(*bus_rb)(uint32_t addr), void (*bus_wb)(uint32_t addr, uint8_t wb))
-void reg_wizchip_bus_cbfunc(iodata_t(*bus_rb)(uint32_t addr), void (*bus_wb)(uint32_t addr, iodata_t wb))
-{
-   while(!(WIZCHIP.if_mode & _WIZCHIP_IO_MODE_BUS_));
-   //M20150601 : Rename call back function for integrating with W5300
-   /*
+void reg_wizchip_bus_cbfunc(
+    iodata_t (*bus_rb)(uint32_t addr),
+    void (*bus_wb)(uint32_t addr, iodata_t wb)) {
+    while(!(WIZCHIP.if_mode & _WIZCHIP_IO_MODE_BUS_))
+        ;
+    //M20150601 : Rename call back function for integrating with W5300
+    /*
    if(!bus_rb || !bus_wb)
    {
       WIZCHIP.IF.BUS._read_byte   = wizchip_bus_readbyte;
@@ -236,674 +231,612 @@ void reg_wizchip_bus_cbfunc(iodata_t(*bus_rb)(uint32_t addr), void (*bus_wb)(uin
       WIZCHIP.IF.BUS._write_byte  = bus_wb;
    }
    */
-   if(!bus_rb || !bus_wb)
-   {
-      WIZCHIP.IF.BUS._read_data   = wizchip_bus_readdata;
-      WIZCHIP.IF.BUS._write_data  = wizchip_bus_writedata;
-   }
-   else
-   {
-      WIZCHIP.IF.BUS._read_data   = bus_rb;
-      WIZCHIP.IF.BUS._write_data  = bus_wb;
-   }
+    if(!bus_rb || !bus_wb) {
+        WIZCHIP.IF.BUS._read_data = wizchip_bus_readdata;
+        WIZCHIP.IF.BUS._write_data = wizchip_bus_writedata;
+    } else {
+        WIZCHIP.IF.BUS._read_data = bus_rb;
+        WIZCHIP.IF.BUS._write_data = bus_wb;
+    }
 }
 
-void reg_wizchip_spi_cbfunc(uint8_t (*spi_rb)(void), void (*spi_wb)(uint8_t wb))
-{
-   while(!(WIZCHIP.if_mode & _WIZCHIP_IO_MODE_SPI_));
-   
-   if(!spi_rb || !spi_wb)
-   {
-      WIZCHIP.IF.SPI._read_byte   = wizchip_spi_readbyte;
-      WIZCHIP.IF.SPI._write_byte  = wizchip_spi_writebyte;
-   }
-   else
-   {
-      WIZCHIP.IF.SPI._read_byte   = spi_rb;
-      WIZCHIP.IF.SPI._write_byte  = spi_wb;
-   }
+void reg_wizchip_spi_cbfunc(uint8_t (*spi_rb)(void), void (*spi_wb)(uint8_t wb)) {
+    while(!(WIZCHIP.if_mode & _WIZCHIP_IO_MODE_SPI_))
+        ;
+
+    if(!spi_rb || !spi_wb) {
+        //   WIZCHIP.IF.SPI._read_byte = wizchip_spi_readbyte;
+        //   WIZCHIP.IF.SPI._write_byte = wizchip_spi_writebyte;
+    } else {
+        WIZCHIP.IF.SPI._read_byte = spi_rb;
+        WIZCHIP.IF.SPI._write_byte = spi_wb;
+    }
 }
 
 // 20140626 Eric Added for SPI burst operations
-void reg_wizchip_spiburst_cbfunc(void (*spi_rb)(uint8_t* pBuf, uint16_t len), void (*spi_wb)(uint8_t* pBuf, uint16_t len))
-{
-   while(!(WIZCHIP.if_mode & _WIZCHIP_IO_MODE_SPI_));
-
-   if(!spi_rb || !spi_wb)
-   {
-      WIZCHIP.IF.SPI._read_burst   = wizchip_spi_readburst;
-      WIZCHIP.IF.SPI._write_burst  = wizchip_spi_writeburst;
-   }
-   else
-   {
-      WIZCHIP.IF.SPI._read_burst   = spi_rb;
-      WIZCHIP.IF.SPI._write_burst  = spi_wb;
-   }
+void reg_wizchip_spiburst_cbfunc(
+    void (*spi_rb)(uint8_t* pBuf, uint16_t len),
+    void (*spi_wb)(uint8_t* pBuf, uint16_t len)) {
+    while(!(WIZCHIP.if_mode & _WIZCHIP_IO_MODE_SPI_))
+        ;
+
+    if(!spi_rb || !spi_wb) {
+        //   WIZCHIP.IF.SPI._read_burst = wizchip_spi_readburst;
+        //   WIZCHIP.IF.SPI._write_burst = wizchip_spi_writeburst;
+    } else {
+        WIZCHIP.IF.SPI._read_burst = spi_rb;
+        WIZCHIP.IF.SPI._write_burst = spi_wb;
+    }
 }
 
-int8_t ctlwizchip(ctlwizchip_type cwtype, void* arg)
-{
-#if	_WIZCHIP_ == W5100S || _WIZCHIP_ == W5200 || _WIZCHIP_ == W5500
-   uint8_t tmp = 0;
+int8_t ctlwizchip(ctlwizchip_type cwtype, void* arg) {
+#if _WIZCHIP_ == W5100S || _WIZCHIP_ == W5200 || _WIZCHIP_ == W5500
+    uint8_t tmp = 0;
 #endif
-   uint8_t* ptmp[2] = {0,0};
-   switch(cwtype)
-   {
-      case CW_RESET_WIZCHIP:
-         wizchip_sw_reset();
-         break;
-      case CW_INIT_WIZCHIP:
-         if(arg != 0) 
-         {
+    uint8_t* ptmp[2] = {0, 0};
+    switch(cwtype) {
+    case CW_RESET_WIZCHIP:
+        wizchip_sw_reset();
+        break;
+    case CW_INIT_WIZCHIP:
+        if(arg != 0) {
             ptmp[0] = (uint8_t*)arg;
             ptmp[1] = ptmp[0] + _WIZCHIP_SOCK_NUM_;
-         }
-         return wizchip_init(ptmp[0], ptmp[1]);
-      case CW_CLR_INTERRUPT:
-         wizchip_clrinterrupt(*((intr_kind*)arg));
-         break;
-      case CW_GET_INTERRUPT:
+        }
+        return wizchip_init(ptmp[0], ptmp[1]);
+    case CW_CLR_INTERRUPT:
+        wizchip_clrinterrupt(*((intr_kind*)arg));
+        break;
+    case CW_GET_INTERRUPT:
         *((intr_kind*)arg) = wizchip_getinterrupt();
-         break;
-      case CW_SET_INTRMASK:
-         wizchip_setinterruptmask(*((intr_kind*)arg));
-         break;         
-      case CW_GET_INTRMASK:
-         *((intr_kind*)arg) = wizchip_getinterruptmask();
-         break;
-   //M20150601 : This can be supported by W5200, W5500
-   //#if _WIZCHIP_ > W5100
-   #if (_WIZCHIP_ == W5200 || _WIZCHIP_ == W5500)
-      case CW_SET_INTRTIME:
-         setINTLEVEL(*(uint16_t*)arg);
-         break;
-      case CW_GET_INTRTIME:
-         *(uint16_t*)arg = getINTLEVEL();
-         break;
-   #endif
-      case CW_GET_ID:
-         ((uint8_t*)arg)[0] = WIZCHIP.id[0];
-         ((uint8_t*)arg)[1] = WIZCHIP.id[1];
-         ((uint8_t*)arg)[2] = WIZCHIP.id[2];
-         ((uint8_t*)arg)[3] = WIZCHIP.id[3];
-         ((uint8_t*)arg)[4] = WIZCHIP.id[4];
-         ((uint8_t*)arg)[5] = WIZCHIP.id[5];
-         ((uint8_t*)arg)[6] = 0;
-         break;
-   #if _WIZCHIP_ == W5100S || _WIZCHIP_ == W5500
-      case CW_RESET_PHY:
-         wizphy_reset();
-         break;
-      case CW_SET_PHYCONF:
-         wizphy_setphyconf((wiz_PhyConf*)arg);
-         break;
-      case CW_GET_PHYCONF:
-         wizphy_getphyconf((wiz_PhyConf*)arg);
-         break;
-      case CW_GET_PHYSTATUS:
-         break;
-      case CW_SET_PHYPOWMODE:
-         return wizphy_setphypmode(*(uint8_t*)arg);
-   #endif
-   #if _WIZCHIP_ == W5100S || _WIZCHIP_ == W5200 || _WIZCHIP_ == W5500
-      case CW_GET_PHYPOWMODE:
-         tmp = wizphy_getphypmode();
-         if((int8_t)tmp == -1) return -1;
-         *(uint8_t*)arg = tmp;
-         break;
-      case CW_GET_PHYLINK:
-         tmp = wizphy_getphylink();
-         if((int8_t)tmp == -1) return -1;
-         *(uint8_t*)arg = tmp;
-         break;
-   #endif      
-      default:
-         return -1;
-   }
-   return 0;
+        break;
+    case CW_SET_INTRMASK:
+        wizchip_setinterruptmask(*((intr_kind*)arg));
+        break;
+    case CW_GET_INTRMASK:
+        *((intr_kind*)arg) = wizchip_getinterruptmask();
+        break;
+//M20150601 : This can be supported by W5200, W5500
+//#if _WIZCHIP_ > W5100
+#if(_WIZCHIP_ == W5200 || _WIZCHIP_ == W5500)
+    case CW_SET_INTRTIME:
+        setINTLEVEL(*(uint16_t*)arg);
+        break;
+    case CW_GET_INTRTIME:
+        *(uint16_t*)arg = getINTLEVEL();
+        break;
+#endif
+    case CW_GET_ID:
+        ((uint8_t*)arg)[0] = WIZCHIP.id[0];
+        ((uint8_t*)arg)[1] = WIZCHIP.id[1];
+        ((uint8_t*)arg)[2] = WIZCHIP.id[2];
+        ((uint8_t*)arg)[3] = WIZCHIP.id[3];
+        ((uint8_t*)arg)[4] = WIZCHIP.id[4];
+        ((uint8_t*)arg)[5] = WIZCHIP.id[5];
+        ((uint8_t*)arg)[6] = 0;
+        break;
+#if _WIZCHIP_ == W5100S || _WIZCHIP_ == W5500
+    case CW_RESET_PHY:
+        wizphy_reset();
+        break;
+    case CW_SET_PHYCONF:
+        wizphy_setphyconf((wiz_PhyConf*)arg);
+        break;
+    case CW_GET_PHYCONF:
+        wizphy_getphyconf((wiz_PhyConf*)arg);
+        break;
+    case CW_GET_PHYSTATUS:
+        break;
+    case CW_SET_PHYPOWMODE:
+        return wizphy_setphypmode(*(uint8_t*)arg);
+#endif
+#if _WIZCHIP_ == W5100S || _WIZCHIP_ == W5200 || _WIZCHIP_ == W5500
+    case CW_GET_PHYPOWMODE:
+        tmp = wizphy_getphypmode();
+        if((int8_t)tmp == -1) return -1;
+        *(uint8_t*)arg = tmp;
+        break;
+    case CW_GET_PHYLINK:
+        tmp = wizphy_getphylink();
+        if((int8_t)tmp == -1) return -1;
+        *(uint8_t*)arg = tmp;
+        break;
+#endif
+    default:
+        return -1;
+    }
+    return 0;
 }
 
-
-int8_t ctlnetwork(ctlnetwork_type cntype, void* arg)
-{
-   
-   switch(cntype)
-   {
-      case CN_SET_NETINFO:
-         wizchip_setnetinfo((wiz_NetInfo*)arg);
-         break;
-      case CN_GET_NETINFO:
-         wizchip_getnetinfo((wiz_NetInfo*)arg);
-         break;
-      case CN_SET_NETMODE:
-         return wizchip_setnetmode(*(netmode_type*)arg);
-      case CN_GET_NETMODE:
-         *(netmode_type*)arg = wizchip_getnetmode();
-         break;
-      case CN_SET_TIMEOUT:
-         wizchip_settimeout((wiz_NetTimeout*)arg);
-         break;
-      case CN_GET_TIMEOUT:
-         wizchip_gettimeout((wiz_NetTimeout*)arg);
-         break;
-      default:
-         return -1;
-   }
-   return 0;
+int8_t ctlnetwork(ctlnetwork_type cntype, void* arg) {
+    switch(cntype) {
+    case CN_SET_NETINFO:
+        wizchip_setnetinfo((wiz_NetInfo*)arg);
+        break;
+    case CN_GET_NETINFO:
+        wizchip_getnetinfo((wiz_NetInfo*)arg);
+        break;
+    case CN_SET_NETMODE:
+        return wizchip_setnetmode(*(netmode_type*)arg);
+    case CN_GET_NETMODE:
+        *(netmode_type*)arg = wizchip_getnetmode();
+        break;
+    case CN_SET_TIMEOUT:
+        wizchip_settimeout((wiz_NetTimeout*)arg);
+        break;
+    case CN_GET_TIMEOUT:
+        wizchip_gettimeout((wiz_NetTimeout*)arg);
+        break;
+    default:
+        return -1;
+    }
+    return 0;
 }
 
-void wizchip_sw_reset(void)
-{
-   uint8_t gw[4], sn[4], sip[4];
-   uint8_t mac[6];
+void wizchip_sw_reset(void) {
+    uint8_t gw[4], sn[4], sip[4];
+    uint8_t mac[6];
 //A20150601
-#if _WIZCHIP_IO_MODE_  == _WIZCHIP_IO_MODE_BUS_INDIR_
-   uint16_t mr = (uint16_t)getMR();
-   setMR(mr | MR_IND);
+#if _WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_BUS_INDIR_
+    uint16_t mr = (uint16_t)getMR();
+    setMR(mr | MR_IND);
 #endif
-//
-   getSHAR(mac);
-   getGAR(gw);  getSUBR(sn);  getSIPR(sip);
-   setMR(MR_RST);
-   getMR(); // for delay
-//A2015051 : For indirect bus mode 
-#if _WIZCHIP_IO_MODE_  == _WIZCHIP_IO_MODE_BUS_INDIR_
-   setMR(mr | MR_IND);
+    //
+    getSHAR(mac);
+    getGAR(gw);
+    getSUBR(sn);
+    getSIPR(sip);
+    setMR(MR_RST);
+    getMR(); // for delay
+//A2015051 : For indirect bus mode
+#if _WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_BUS_INDIR_
+    setMR(mr | MR_IND);
 #endif
-//
-   setSHAR(mac);
-   setGAR(gw);
-   setSUBR(sn);
-   setSIPR(sip);
+    //
+    setSHAR(mac);
+    setGAR(gw);
+    setSUBR(sn);
+    setSIPR(sip);
 }
 
-int8_t wizchip_init(uint8_t* txsize, uint8_t* rxsize)
-{
-   int8_t i;
+int8_t wizchip_init(uint8_t* txsize, uint8_t* rxsize) {
+    int8_t i;
 #if _WIZCHIP_ < W5200
-   int8_t j;
+    int8_t j;
 #endif
-   int8_t tmp = 0;
-   wizchip_sw_reset();
-   if(txsize)
-   {
-      tmp = 0;
-   //M20150601 : For integrating with W5300
-   #if _WIZCHIP_ == W5300
-		for(i = 0 ; i < _WIZCHIP_SOCK_NUM_; i++)
-		{
-			if(txsize[i] >= 64) return -1;   //No use 64KB even if W5300 support max 64KB memory allocation
-			tmp += txsize[i];
-			if(tmp > 128) return -1;
-		}
-		if(tmp % 8) return -1;
-   #else
-		for(i = 0 ; i < _WIZCHIP_SOCK_NUM_; i++)
-		{
-			tmp += txsize[i];
-
-		#if _WIZCHIP_ < W5200	//2016.10.28 peter add condition for w5100 and w5100s
-			if(tmp > 8) return -1;
-		#else
-			if(tmp > 16) return -1;
-		#endif
-		}
-		for(i = 0 ; i < _WIZCHIP_SOCK_NUM_; i++)
-		{
-		#if _WIZCHIP_ < W5200	//2016.10.28 peter add condition for w5100
-			j = 0;
-			while((txsize[i] >> j != 1)&&(txsize[i] !=0)){j++;}
-			setSn_TXBUF_SIZE(i, j);
-		#else
-			setSn_TXBUF_SIZE(i, txsize[i]);
-		#endif
-		}
-
-	#endif
-   }
+    int8_t tmp = 0;
+    wizchip_sw_reset();
+    if(txsize) {
+        tmp = 0;
+//M20150601 : For integrating with W5300
+#if _WIZCHIP_ == W5300
+        for(i = 0; i < _WIZCHIP_SOCK_NUM_; i++) {
+            if(txsize[i] >= 64)
+                return -1; //No use 64KB even if W5300 support max 64KB memory allocation
+            tmp += txsize[i];
+            if(tmp > 128) return -1;
+        }
+        if(tmp % 8) return -1;
+#else
+        for(i = 0; i < _WIZCHIP_SOCK_NUM_; i++) {
+            tmp += txsize[i];
 
-   if(rxsize)
-   {
-      tmp = 0;
-   #if _WIZCHIP_ == W5300
-      for(i = 0 ; i < _WIZCHIP_SOCK_NUM_; i++)
-		{
-			if(rxsize[i] >= 64) return -1;   //No use 64KB even if W5300 support max 64KB memory allocation
-			tmp += rxsize[i];
-			if(tmp > 128) return -1;
-		}
-		if(tmp % 8) return -1;
-   #else
-		for(i = 0 ; i < _WIZCHIP_SOCK_NUM_; i++)
-		{
-			tmp += rxsize[i];
-		#if _WIZCHIP_ < W5200	//2016.10.28 peter add condition for w5100 and w5100s
-			if(tmp > 8) return -1;
-		#else
-			if(tmp > 16) return -1;
-		#endif
-		}
-
-		for(i = 0 ; i < _WIZCHIP_SOCK_NUM_; i++)
-		{
-		#if _WIZCHIP_ < W5200	// add condition for w5100
-			j = 0;
-			while((rxsize[i] >> j != 1)&&(txsize[i] !=0)){j++;}
-			setSn_RXBUF_SIZE(i, j);
-		#else
-			setSn_RXBUF_SIZE(i, rxsize[i]);
-		#endif
-		}
-	#endif
-   }
-   return 0;
+#if _WIZCHIP_ < W5200 //2016.10.28 peter add condition for w5100 and w5100s
+            if(tmp > 8) return -1;
+#else
+            if(tmp > 16) return -1;
+#endif
+        }
+        for(i = 0; i < _WIZCHIP_SOCK_NUM_; i++) {
+#if _WIZCHIP_ < W5200 //2016.10.28 peter add condition for w5100
+            j = 0;
+            while((txsize[i] >> j != 1) && (txsize[i] != 0)) {
+                j++;
+            }
+            setSn_TXBUF_SIZE(i, j);
+#else
+            setSn_TXBUF_SIZE(i, txsize[i]);
+#endif
+        }
+
+#endif
+    }
+
+    if(rxsize) {
+        tmp = 0;
+#if _WIZCHIP_ == W5300
+        for(i = 0; i < _WIZCHIP_SOCK_NUM_; i++) {
+            if(rxsize[i] >= 64)
+                return -1; //No use 64KB even if W5300 support max 64KB memory allocation
+            tmp += rxsize[i];
+            if(tmp > 128) return -1;
+        }
+        if(tmp % 8) return -1;
+#else
+        for(i = 0; i < _WIZCHIP_SOCK_NUM_; i++) {
+            tmp += rxsize[i];
+#if _WIZCHIP_ < W5200 //2016.10.28 peter add condition for w5100 and w5100s
+            if(tmp > 8) return -1;
+#else
+            if(tmp > 16) return -1;
+#endif
+        }
+
+        for(i = 0; i < _WIZCHIP_SOCK_NUM_; i++) {
+#if _WIZCHIP_ < W5200 // add condition for w5100
+            j = 0;
+            while((rxsize[i] >> j != 1) && (txsize[i] != 0)) {
+                j++;
+            }
+            setSn_RXBUF_SIZE(i, j);
+#else
+            setSn_RXBUF_SIZE(i, rxsize[i]);
+#endif
+        }
+#endif
+    }
+    return 0;
 }
 
-void wizchip_clrinterrupt(intr_kind intr)
-{
-   uint8_t ir  = (uint8_t)intr;
-   uint8_t sir = (uint8_t)((uint16_t)intr >> 8);
+void wizchip_clrinterrupt(intr_kind intr) {
+    uint8_t ir = (uint8_t)intr;
+    uint8_t sir = (uint8_t)((uint16_t)intr >> 8);
 #if _WIZCHIP_ < W5500
-   ir |= (1<<4); // IK_WOL
+    ir |= (1 << 4); // IK_WOL
 #endif
 #if _WIZCHIP_ == W5200
-   ir |= (1 << 6);
+    ir |= (1 << 6);
 #endif
-   
+
 #if _WIZCHIP_ < W5200
-   sir &= 0x0F;
+    sir &= 0x0F;
 #endif
 
 #if _WIZCHIP_ <= W5100S
-   ir |= sir;
-   setIR(ir);
+    ir |= sir;
+    setIR(ir);
 //A20150601 : For integrating with W5300
 #elif _WIZCHIP_ == W5300
-   setIR( ((((uint16_t)ir) << 8) | (((uint16_t)sir) & 0x00FF)) );
+    setIR(((((uint16_t)ir) << 8) | (((uint16_t)sir) & 0x00FF)));
 #else
-   setIR(ir);
-//M20200227 : For clear
-   //setSIR(sir);
-   for(ir=0; ir<8; ir++){
-       if(sir & (0x01 <<ir) ) setSn_IR(ir, 0xff);
-   }
+    setIR(ir);
+    //M20200227 : For clear
+    //setSIR(sir);
+    for(ir = 0; ir < 8; ir++) {
+        if(sir & (0x01 << ir)) setSn_IR(ir, 0xff);
+    }
 
-#endif   
+#endif
 }
 
-intr_kind wizchip_getinterrupt(void)
-{
-   uint8_t ir  = 0;
-   uint8_t sir = 0;
-   uint16_t ret = 0;
+intr_kind wizchip_getinterrupt(void) {
+    uint8_t ir = 0;
+    uint8_t sir = 0;
+    uint16_t ret = 0;
 #if _WIZCHIP_ <= W5100S
-   ir = getIR();
-   sir = ir & 0x0F;
+    ir = getIR();
+    sir = ir & 0x0F;
 //A20150601 : For integrating with W5300
-#elif _WIZCHIP_  == W5300
-   ret = getIR();
-   ir = (uint8_t)(ret >> 8);
-   sir = (uint8_t)ret;
+#elif _WIZCHIP_ == W5300
+    ret = getIR();
+    ir = (uint8_t)(ret >> 8);
+    sir = (uint8_t)ret;
 #else
-   ir  = getIR();
-   sir = getSIR();
-#endif         
+    ir = getIR();
+    sir = getSIR();
+#endif
 
 //M20150601 : For Integrating with W5300
 //#if _WIZCHIP_ < W5500
 #if _WIZCHIP_ < W5200
-   ir &= ~(1<<4); // IK_WOL
+    ir &= ~(1 << 4); // IK_WOL
 #endif
 #if _WIZCHIP_ == W5200
-   ir &= ~(1 << 6);
+    ir &= ~(1 << 6);
 #endif
-  ret = sir;
-  ret = (ret << 8) + ir;
-  return (intr_kind)ret;
+    ret = sir;
+    ret = (ret << 8) + ir;
+    return (intr_kind)ret;
 }
 
-void wizchip_setinterruptmask(intr_kind intr)
-{
-   uint8_t imr  = (uint8_t)intr;
-   uint8_t simr = (uint8_t)((uint16_t)intr >> 8);
+void wizchip_setinterruptmask(intr_kind intr) {
+    uint8_t imr = (uint8_t)intr;
+    uint8_t simr = (uint8_t)((uint16_t)intr >> 8);
 #if _WIZCHIP_ < W5500
-   imr &= ~(1<<4); // IK_WOL
+    imr &= ~(1 << 4); // IK_WOL
 #endif
 #if _WIZCHIP_ == W5200
-   imr &= ~(1 << 6);
+    imr &= ~(1 << 6);
 #endif
-   
+
 #if _WIZCHIP_ < W5200
-   simr &= 0x0F;
-   imr |= simr;
-   setIMR(imr);
+    simr &= 0x0F;
+    imr |= simr;
+    setIMR(imr);
 //A20150601 : For integrating with W5300
 #elif _WIZCHIP_ == W5300
-   setIMR( ((((uint16_t)imr) << 8) | (((uint16_t)simr) & 0x00FF)) );
+    setIMR(((((uint16_t)imr) << 8) | (((uint16_t)simr) & 0x00FF)));
 #else
-   setIMR(imr);
-   setSIMR(simr);
-#endif   
+    setIMR(imr);
+    setSIMR(simr);
+#endif
 }
 
-intr_kind wizchip_getinterruptmask(void)
-{
-   uint8_t imr  = 0;
-   uint8_t simr = 0;
-   uint16_t ret = 0;
+intr_kind wizchip_getinterruptmask(void) {
+    uint8_t imr = 0;
+    uint8_t simr = 0;
+    uint16_t ret = 0;
 #if _WIZCHIP_ < W5200
-   imr  = getIMR();
-   simr = imr & 0x0F;
+    imr = getIMR();
+    simr = imr & 0x0F;
 //A20150601 : For integrating with W5300
 #elif _WIZCHIP_ == W5300
-   ret = getIMR();
-   imr = (uint8_t)(ret >> 8);
-   simr = (uint8_t)ret;
+    ret = getIMR();
+    imr = (uint8_t)(ret >> 8);
+    simr = (uint8_t)ret;
 #else
-   imr  = getIMR();
-   simr = getSIMR();
-#endif         
+    imr = getIMR();
+    simr = getSIMR();
+#endif
 
 #if _WIZCHIP_ < W5500
-   imr &= ~(1<<4); // IK_WOL
+    imr &= ~(1 << 4); // IK_WOL
 #endif
 #if _WIZCHIP_ == W5200
-   imr &= ~(1 << 6);  // IK_DEST_UNREACH
+    imr &= ~(1 << 6); // IK_DEST_UNREACH
 #endif
-  ret = simr;
-  ret = (ret << 8) + imr;
-  return (intr_kind)ret;
+    ret = simr;
+    ret = (ret << 8) + imr;
+    return (intr_kind)ret;
 }
 
-int8_t wizphy_getphylink(void)
-{
-   int8_t tmp = PHY_LINK_OFF;
+int8_t wizphy_getphylink(void) {
+    int8_t tmp = PHY_LINK_OFF;
 #if _WIZCHIP_ == W5100S
-   if(getPHYSR() & PHYSR_LNK)
-	   tmp = PHY_LINK_ON;
-#elif   _WIZCHIP_ == W5200
-   if(getPHYSTATUS() & PHYSTATUS_LINK)
-      tmp = PHY_LINK_ON;
+    if(getPHYSR() & PHYSR_LNK) tmp = PHY_LINK_ON;
+#elif _WIZCHIP_ == W5200
+    if(getPHYSTATUS() & PHYSTATUS_LINK) tmp = PHY_LINK_ON;
 #elif _WIZCHIP_ == W5500
-   if(getPHYCFGR() & PHYCFGR_LNK_ON)
-      tmp = PHY_LINK_ON;
+    if(getPHYCFGR() & PHYCFGR_LNK_ON) tmp = PHY_LINK_ON;
 
 #else
-   tmp = -1;
+    tmp = -1;
 #endif
-   return tmp;
+    return tmp;
 }
 
 #if _WIZCHIP_ > W5100
 
-int8_t wizphy_getphypmode(void)
-{
-   int8_t tmp = 0;
-   #if   _WIZCHIP_ == W5200
-      if(getPHYSTATUS() & PHYSTATUS_POWERDOWN)
-         tmp = PHY_POWER_DOWN;
-      else          
-         tmp = PHY_POWER_NORM;
-   #elif _WIZCHIP_ == 5500
-      if((getPHYCFGR() & PHYCFGR_OPMDC_ALLA) == PHYCFGR_OPMDC_PDOWN)
-         tmp = PHY_POWER_DOWN;
-      else 
-         tmp = PHY_POWER_NORM;
-   #else
-      tmp = -1;
-   #endif
-   return tmp;
+int8_t wizphy_getphypmode(void) {
+    int8_t tmp = 0;
+#if _WIZCHIP_ == W5200
+    if(getPHYSTATUS() & PHYSTATUS_POWERDOWN)
+        tmp = PHY_POWER_DOWN;
+    else
+        tmp = PHY_POWER_NORM;
+#elif _WIZCHIP_ == 5500
+    if((getPHYCFGR() & PHYCFGR_OPMDC_ALLA) == PHYCFGR_OPMDC_PDOWN)
+        tmp = PHY_POWER_DOWN;
+    else
+        tmp = PHY_POWER_NORM;
+#else
+    tmp = -1;
+#endif
+    return tmp;
 }
 #endif
 
 #if _WIZCHIP_ == W5100S
-void wizphy_reset(void)
-{
-	uint16_t tmp = wiz_mdio_read(PHYMDIO_BMCR);
-	tmp |= BMCR_RESET;
-	wiz_mdio_write(PHYMDIO_BMCR, tmp);
-	while(wiz_mdio_read(PHYMDIO_BMCR)&BMCR_RESET){}
-}
-
-void wizphy_setphyconf(wiz_PhyConf* phyconf)
-{
-   uint16_t tmp = wiz_mdio_read(PHYMDIO_BMCR);
-   if(phyconf->mode == PHY_MODE_AUTONEGO)
-      tmp |= BMCR_AUTONEGO;
-   else
-   {
-	  tmp &= ~BMCR_AUTONEGO;
-      if(phyconf->duplex == PHY_DUPLEX_FULL)
-      {
-    	  tmp |= BMCR_DUP;
-      }
-      else
-      {
-    	  tmp &= ~BMCR_DUP;
-      }
-      if(phyconf->speed == PHY_SPEED_100)
-      {
-    	  tmp |= BMCR_SPEED;
-      }
-      else
-      {
-    	  tmp &= ~BMCR_SPEED;
-      }
-   }
-   wiz_mdio_write(PHYMDIO_BMCR, tmp);
+void wizphy_reset(void) {
+    uint16_t tmp = wiz_mdio_read(PHYMDIO_BMCR);
+    tmp |= BMCR_RESET;
+    wiz_mdio_write(PHYMDIO_BMCR, tmp);
+    while(wiz_mdio_read(PHYMDIO_BMCR) & BMCR_RESET) {
+    }
 }
 
-void wizphy_getphyconf(wiz_PhyConf* phyconf)
-{
-   uint16_t tmp = 0;
-   tmp = wiz_mdio_read(PHYMDIO_BMCR);
-   phyconf->by   = PHY_CONFBY_SW;
-   if(tmp & BMCR_AUTONEGO)
-   {
-	   phyconf->mode = PHY_MODE_AUTONEGO;
-   }
-   else
-   {
-	   phyconf->mode = PHY_MODE_MANUAL;
-	   if(tmp&BMCR_DUP) phyconf->duplex = PHY_DUPLEX_FULL;
-	   else phyconf->duplex = PHY_DUPLEX_HALF;
-	   if(tmp&BMCR_SPEED) phyconf->speed = PHY_SPEED_100;
-	   else phyconf->speed = PHY_SPEED_10;
-   }
+void wizphy_setphyconf(wiz_PhyConf* phyconf) {
+    uint16_t tmp = wiz_mdio_read(PHYMDIO_BMCR);
+    if(phyconf->mode == PHY_MODE_AUTONEGO)
+        tmp |= BMCR_AUTONEGO;
+    else {
+        tmp &= ~BMCR_AUTONEGO;
+        if(phyconf->duplex == PHY_DUPLEX_FULL) {
+            tmp |= BMCR_DUP;
+        } else {
+            tmp &= ~BMCR_DUP;
+        }
+        if(phyconf->speed == PHY_SPEED_100) {
+            tmp |= BMCR_SPEED;
+        } else {
+            tmp &= ~BMCR_SPEED;
+        }
+    }
+    wiz_mdio_write(PHYMDIO_BMCR, tmp);
 }
 
-int8_t wizphy_setphypmode(uint8_t pmode)
-{
-   uint16_t tmp = 0;
-   tmp = wiz_mdio_read(PHYMDIO_BMCR);
-   if( pmode == PHY_POWER_DOWN)
-   {
-      tmp |= BMCR_PWDN;
-   }
-   else
-   {
-	   tmp &= ~BMCR_PWDN;
-   }
-   wiz_mdio_write(PHYMDIO_BMCR, tmp);
-   tmp = wiz_mdio_read(PHYMDIO_BMCR);
-   if( pmode == PHY_POWER_DOWN)
-   {
-      if(tmp & BMCR_PWDN) return 0;
-   }
-   else
-   {
-      if((tmp & BMCR_PWDN) != BMCR_PWDN) return 0;
-   }
-   return -1;
+void wizphy_getphyconf(wiz_PhyConf* phyconf) {
+    uint16_t tmp = 0;
+    tmp = wiz_mdio_read(PHYMDIO_BMCR);
+    phyconf->by = PHY_CONFBY_SW;
+    if(tmp & BMCR_AUTONEGO) {
+        phyconf->mode = PHY_MODE_AUTONEGO;
+    } else {
+        phyconf->mode = PHY_MODE_MANUAL;
+        if(tmp & BMCR_DUP)
+            phyconf->duplex = PHY_DUPLEX_FULL;
+        else
+            phyconf->duplex = PHY_DUPLEX_HALF;
+        if(tmp & BMCR_SPEED)
+            phyconf->speed = PHY_SPEED_100;
+        else
+            phyconf->speed = PHY_SPEED_10;
+    }
+}
+
+int8_t wizphy_setphypmode(uint8_t pmode) {
+    uint16_t tmp = 0;
+    tmp = wiz_mdio_read(PHYMDIO_BMCR);
+    if(pmode == PHY_POWER_DOWN) {
+        tmp |= BMCR_PWDN;
+    } else {
+        tmp &= ~BMCR_PWDN;
+    }
+    wiz_mdio_write(PHYMDIO_BMCR, tmp);
+    tmp = wiz_mdio_read(PHYMDIO_BMCR);
+    if(pmode == PHY_POWER_DOWN) {
+        if(tmp & BMCR_PWDN) return 0;
+    } else {
+        if((tmp & BMCR_PWDN) != BMCR_PWDN) return 0;
+    }
+    return -1;
 }
 
 #endif
 #if _WIZCHIP_ == W5500
-void wizphy_reset(void)
-{
-   uint8_t tmp = getPHYCFGR();
-   tmp &= PHYCFGR_RST;
-   setPHYCFGR(tmp);
-   tmp = getPHYCFGR();
-   tmp |= ~PHYCFGR_RST;
-   setPHYCFGR(tmp);
-}
-
-void wizphy_setphyconf(wiz_PhyConf* phyconf)
-{
-   uint8_t tmp = 0;
-   if(phyconf->by == PHY_CONFBY_SW)
-      tmp |= PHYCFGR_OPMD;
-   else
-      tmp &= ~PHYCFGR_OPMD;
-   if(phyconf->mode == PHY_MODE_AUTONEGO)
-      tmp |= PHYCFGR_OPMDC_ALLA;
-   else
-   {
-      if(phyconf->duplex == PHY_DUPLEX_FULL)
-      {
-         if(phyconf->speed == PHY_SPEED_100)
-            tmp |= PHYCFGR_OPMDC_100F;
-         else
-            tmp |= PHYCFGR_OPMDC_10F;
-      }   
-      else
-      {
-         if(phyconf->speed == PHY_SPEED_100)
-            tmp |= PHYCFGR_OPMDC_100H;
-         else
-            tmp |= PHYCFGR_OPMDC_10H;
-      }
-   }
-   setPHYCFGR(tmp);
-   wizphy_reset();
+void wizphy_reset(void) {
+    uint8_t tmp = getPHYCFGR();
+    tmp &= PHYCFGR_RST;
+    setPHYCFGR(tmp);
+    tmp = getPHYCFGR();
+    tmp |= ~PHYCFGR_RST;
+    setPHYCFGR(tmp);
 }
 
-void wizphy_getphyconf(wiz_PhyConf* phyconf)
-{
-   uint8_t tmp = 0;
-   tmp = getPHYCFGR();
-   phyconf->by   = (tmp & PHYCFGR_OPMD) ? PHY_CONFBY_SW : PHY_CONFBY_HW;
-   switch(tmp & PHYCFGR_OPMDC_ALLA)
-   {
-      case PHYCFGR_OPMDC_ALLA:
-      case PHYCFGR_OPMDC_100FA: 
-         phyconf->mode = PHY_MODE_AUTONEGO;
-         break;
-      default:
-         phyconf->mode = PHY_MODE_MANUAL;
-         break;
-   }
-   switch(tmp & PHYCFGR_OPMDC_ALLA)
-   {
-      case PHYCFGR_OPMDC_100FA:
-      case PHYCFGR_OPMDC_100F:
-      case PHYCFGR_OPMDC_100H:
-         phyconf->speed = PHY_SPEED_100;
-         break;
-      default:
-         phyconf->speed = PHY_SPEED_10;
-         break;
-   }
-   switch(tmp & PHYCFGR_OPMDC_ALLA)
-   {
-      case PHYCFGR_OPMDC_100FA:
-      case PHYCFGR_OPMDC_100F:
-      case PHYCFGR_OPMDC_10F:
-         phyconf->duplex = PHY_DUPLEX_FULL;
-         break;
-      default:
-         phyconf->duplex = PHY_DUPLEX_HALF;
-         break;
-   }
+void wizphy_setphyconf(wiz_PhyConf* phyconf) {
+    uint8_t tmp = 0;
+    if(phyconf->by == PHY_CONFBY_SW)
+        tmp |= PHYCFGR_OPMD;
+    else
+        tmp &= ~PHYCFGR_OPMD;
+    if(phyconf->mode == PHY_MODE_AUTONEGO)
+        tmp |= PHYCFGR_OPMDC_ALLA;
+    else {
+        if(phyconf->duplex == PHY_DUPLEX_FULL) {
+            if(phyconf->speed == PHY_SPEED_100)
+                tmp |= PHYCFGR_OPMDC_100F;
+            else
+                tmp |= PHYCFGR_OPMDC_10F;
+        } else {
+            if(phyconf->speed == PHY_SPEED_100)
+                tmp |= PHYCFGR_OPMDC_100H;
+            else
+                tmp |= PHYCFGR_OPMDC_10H;
+        }
+    }
+    setPHYCFGR(tmp);
+    wizphy_reset();
 }
 
-void wizphy_getphystat(wiz_PhyConf* phyconf)
-{
-   uint8_t tmp = getPHYCFGR();
-   phyconf->duplex = (tmp & PHYCFGR_DPX_FULL) ? PHY_DUPLEX_FULL : PHY_DUPLEX_HALF;
-   phyconf->speed  = (tmp & PHYCFGR_SPD_100) ? PHY_SPEED_100 : PHY_SPEED_10;
+void wizphy_getphyconf(wiz_PhyConf* phyconf) {
+    uint8_t tmp = 0;
+    tmp = getPHYCFGR();
+    phyconf->by = (tmp & PHYCFGR_OPMD) ? PHY_CONFBY_SW : PHY_CONFBY_HW;
+    switch(tmp & PHYCFGR_OPMDC_ALLA) {
+    case PHYCFGR_OPMDC_ALLA:
+    case PHYCFGR_OPMDC_100FA:
+        phyconf->mode = PHY_MODE_AUTONEGO;
+        break;
+    default:
+        phyconf->mode = PHY_MODE_MANUAL;
+        break;
+    }
+    switch(tmp & PHYCFGR_OPMDC_ALLA) {
+    case PHYCFGR_OPMDC_100FA:
+    case PHYCFGR_OPMDC_100F:
+    case PHYCFGR_OPMDC_100H:
+        phyconf->speed = PHY_SPEED_100;
+        break;
+    default:
+        phyconf->speed = PHY_SPEED_10;
+        break;
+    }
+    switch(tmp & PHYCFGR_OPMDC_ALLA) {
+    case PHYCFGR_OPMDC_100FA:
+    case PHYCFGR_OPMDC_100F:
+    case PHYCFGR_OPMDC_10F:
+        phyconf->duplex = PHY_DUPLEX_FULL;
+        break;
+    default:
+        phyconf->duplex = PHY_DUPLEX_HALF;
+        break;
+    }
 }
 
-int8_t wizphy_setphypmode(uint8_t pmode)
-{
-   uint8_t tmp = 0;
-   tmp = getPHYCFGR();
-   if((tmp & PHYCFGR_OPMD)== 0) return -1;
-   tmp &= ~PHYCFGR_OPMDC_ALLA;         
-   if( pmode == PHY_POWER_DOWN)
-      tmp |= PHYCFGR_OPMDC_PDOWN;
-   else
-      tmp |= PHYCFGR_OPMDC_ALLA;
-   setPHYCFGR(tmp);
-   wizphy_reset();
-   tmp = getPHYCFGR();
-   if( pmode == PHY_POWER_DOWN)
-   {
-      if(tmp & PHYCFGR_OPMDC_PDOWN) return 0;
-   }
-   else
-   {
-      if(tmp & PHYCFGR_OPMDC_ALLA) return 0;
-   }
-   return -1;
+void wizphy_getphystat(wiz_PhyConf* phyconf) {
+    uint8_t tmp = getPHYCFGR();
+    phyconf->duplex = (tmp & PHYCFGR_DPX_FULL) ? PHY_DUPLEX_FULL : PHY_DUPLEX_HALF;
+    phyconf->speed = (tmp & PHYCFGR_SPD_100) ? PHY_SPEED_100 : PHY_SPEED_10;
 }
-#endif
 
+int8_t wizphy_setphypmode(uint8_t pmode) {
+    uint8_t tmp = 0;
+    tmp = getPHYCFGR();
+    if((tmp & PHYCFGR_OPMD) == 0) return -1;
+    tmp &= ~PHYCFGR_OPMDC_ALLA;
+    if(pmode == PHY_POWER_DOWN)
+        tmp |= PHYCFGR_OPMDC_PDOWN;
+    else
+        tmp |= PHYCFGR_OPMDC_ALLA;
+    setPHYCFGR(tmp);
+    wizphy_reset();
+    tmp = getPHYCFGR();
+    if(pmode == PHY_POWER_DOWN) {
+        if(tmp & PHYCFGR_OPMDC_PDOWN) return 0;
+    } else {
+        if(tmp & PHYCFGR_OPMDC_ALLA) return 0;
+    }
+    return -1;
+}
+#endif
 
-void wizchip_setnetinfo(wiz_NetInfo* pnetinfo)
-{
-   setSHAR(pnetinfo->mac);
-   setGAR(pnetinfo->gw);
-   setSUBR(pnetinfo->sn);
-   setSIPR(pnetinfo->ip);
-   _DNS_[0] = pnetinfo->dns[0];
-   _DNS_[1] = pnetinfo->dns[1];
-   _DNS_[2] = pnetinfo->dns[2];
-   _DNS_[3] = pnetinfo->dns[3];
-   _DHCP_   = pnetinfo->dhcp;
+void wizchip_setnetinfo(wiz_NetInfo* pnetinfo) {
+    setSHAR(pnetinfo->mac);
+    setGAR(pnetinfo->gw);
+    setSUBR(pnetinfo->sn);
+    setSIPR(pnetinfo->ip);
+    _DNS_[0] = pnetinfo->dns[0];
+    _DNS_[1] = pnetinfo->dns[1];
+    _DNS_[2] = pnetinfo->dns[2];
+    _DNS_[3] = pnetinfo->dns[3];
+    _DHCP_ = pnetinfo->dhcp;
 }
 
-void wizchip_getnetinfo(wiz_NetInfo* pnetinfo)
-{
-   getSHAR(pnetinfo->mac);
-   getGAR(pnetinfo->gw);
-   getSUBR(pnetinfo->sn);
-   getSIPR(pnetinfo->ip);
-   pnetinfo->dns[0]= _DNS_[0];
-   pnetinfo->dns[1]= _DNS_[1];
-   pnetinfo->dns[2]= _DNS_[2];
-   pnetinfo->dns[3]= _DNS_[3];
-   pnetinfo->dhcp  = _DHCP_;
+void wizchip_getnetinfo(wiz_NetInfo* pnetinfo) {
+    getSHAR(pnetinfo->mac);
+    getGAR(pnetinfo->gw);
+    getSUBR(pnetinfo->sn);
+    getSIPR(pnetinfo->ip);
+    pnetinfo->dns[0] = _DNS_[0];
+    pnetinfo->dns[1] = _DNS_[1];
+    pnetinfo->dns[2] = _DNS_[2];
+    pnetinfo->dns[3] = _DNS_[3];
+    pnetinfo->dhcp = _DHCP_;
 }
 
-int8_t wizchip_setnetmode(netmode_type netmode)
-{
-   uint8_t tmp = 0;
+int8_t wizchip_setnetmode(netmode_type netmode) {
+    uint8_t tmp = 0;
 #if _WIZCHIP_ != W5500
-   if(netmode & ~(NM_WAKEONLAN | NM_PPPOE | NM_PINGBLOCK)) return -1;
+    if(netmode & ~(NM_WAKEONLAN | NM_PPPOE | NM_PINGBLOCK)) return -1;
 #else
-   if(netmode & ~(NM_WAKEONLAN | NM_PPPOE | NM_PINGBLOCK | NM_FORCEARP)) return -1;
-#endif      
-   tmp = getMR();
-   tmp |= (uint8_t)netmode;
-   setMR(tmp);
-   return 0;
+    if(netmode & ~(NM_WAKEONLAN | NM_PPPOE | NM_PINGBLOCK | NM_FORCEARP)) return -1;
+#endif
+    tmp = getMR();
+    tmp |= (uint8_t)netmode;
+    setMR(tmp);
+    return 0;
 }
 
-netmode_type wizchip_getnetmode(void)
-{
-   return (netmode_type) getMR();
+netmode_type wizchip_getnetmode(void) {
+    return (netmode_type)getMR();
 }
 
-void wizchip_settimeout(wiz_NetTimeout* nettime)
-{
-   setRCR(nettime->retry_cnt);
-   setRTR(nettime->time_100us);
+void wizchip_settimeout(wiz_NetTimeout* nettime) {
+    setRCR(nettime->retry_cnt);
+    setRTR(nettime->time_100us);
 }
 
-void wizchip_gettimeout(wiz_NetTimeout* nettime)
-{
-   nettime->retry_cnt = getRCR();
-   nettime->time_100us = getRTR();
+void wizchip_gettimeout(wiz_NetTimeout* nettime) {
+    nettime->retry_cnt = getRCR();
+    nettime->time_100us = getRTR();
 }

+ 1 - 1
lib/ioLibrary_Driver/Internet/DHCP/dhcp.c

@@ -215,7 +215,7 @@ int8_t dhcp_state = STATE_DHCP_INIT; // DHCP state
 int8_t dhcp_retry_count = 0;
 
 uint32_t dhcp_lease_time = INFINITE_LEASETIME;
-volatile int32_t dhcp_tick_1s = 0; // unit 1 second
+volatile uint32_t dhcp_tick_1s = 0; // unit 1 second
 uint32_t dhcp_tick_next = DHCP_WAIT_TIME;
 
 uint32_t DHCP_XID; // Any number