Warning: DOMDocument::loadHTML(): Document is empty in Entity, line: 2 in /home/hosting_users/wizwiki/www/wiki/lib/plugins/markdownextra/syntax.php on line 107
The ioLibrary means “Internet Offload Library” for WIZnet chip. It includes drivers and application protocols. There are three kinds of libraries explained on this page The first two drivers (ioLibrary_BSD, ioLibrary) can be used for W5500 application designs. These will be updated continuously. The former BSD-Type driver will not be updated, as it is only meant to be a migration help from W5200 to W5500.
1. ioLibrary_BSD
2. ioLibrary
3. BSD Type driver for W5200 User
This driver provides the Berkeley Socket type APIs. The function names of this ioLibrary_BSD are the same as the function names of the ioLibrary.
< ioLibrary_BSD : latest version >
ioLibrary_BSD GitHub Repository
< ioLibrary_BSD : old version >
Type | Version | Note | Download Link | |
---|---|---|---|---|
Source code | Ethernet (Berkeley Socket type APIs) | 1.0.3 | - | Click |
1.0.2 | - | Click | ||
1.0.1 | - | Click | ||
1.0.0 | - | Click | ||
Internet (Application protocols) | 1.1.1 | - | Click | |
1.1.0 | - | Click | ||
1.0.0 | - | Click | ||
Documents | Socket APIs Help (chm, html) | 1.0.3 | - | Click |
1.0.2 | - | Click | ||
1.0.1 | - | Click | ||
1.0.0 | - | Click |
< Update History >
< Application code examples : latest version >
Application | Update | Note | Download Link | |
---|---|---|---|---|
STM32F103X CooCox CoIDE Project | Loopback Test | 2013-11-04 | - | Click |
DHCP Client | 2013-12-26 | - | Click | |
DNS Client | 2013-12-26 | - | Click | |
EnergyMicro Tiny GECKO(EFM32TG840F32) IAR Project | Loopback Test DHCP Client DNS Client | 2013-12-20 | - | Click |
< Application code examples : old version >
Application | Update | Note | Download Link | |
---|---|---|---|---|
STM32F103X CooCox CoIDE Project | Loopback Test | 2013-10-23 | - | Click |
DHCP Client | 2013-11-08 | - | Click | |
DNS Client | 2013-11-08 | - | Click |
These projects do not contain [Ethernet] and [Internet] codes. (Empty directory)
Please download ioLibrary_BSD APIs and Application protocols,
and then insert to each of same named directory in provided project.
< History >
This driver provides BSD-type Socket APIs for W5500. Because the function names of this driver are more user-friendly than those of the older drivers, …, current WIZnet chip users can easily migrate from their WIZnet chip application to the W5500 application. All drivers for W5100, W5200 and W5300 will be merged into the ioLibrary in the near future. All application protocols will also be merged into ioLibrary based on this BSD-type Socket APIs.
This table shows the differences between other BSD drivers and new W5500 driver.
Driver | Other BSD Drivers | W5500 Driver |
---|---|---|
Variables Type | type.h (made by wiznet) ex) uint16 | stdint.h (standard) ex) uint16_t |
Register Naming | REGName + Index ex) SIPR0 , SIPR1, SIPR2, SIPR3 | REGName & WIZCHIP_OFFSET_INC ex> SIP, WIZCHIP_OFFSET_INC(SIP,1), WIZCHIP_OFFSET_INC(SIP,2), WIZCHIP_OFFSET_INC(SIP,3) |
Basic IO function | IINCHIP_READ IINCHIP_WRITE IINCHIP_READ_BUF IINCHIP_WRITE_BUF 16bit Address Space User should implement Functions MCU Dependent | WIZCHIP_READ WIZCHIP_WRITE WIZCHIP_READ_BUF WIZCHIP_WRITE_BUF 32bit Address Space Since users implement MCU-dependent parts and then register them as Callback function, users don't need to implement the Function itself. Supports IINCHIP_XXX function for backward compatiblity. |
Register Function | IINCHIP_XXX can be used. Supports some getREG() & setREG() functions. | It is not recommended to use WIZCHIP_XXXX. Supports getREG() & setREG() functions or macros for all registers. |
Extra Functions | None | Optional and omissible Supports User-friendly named functions. All extra functions can be implemented by using setREG() & getREG(). |
Socket APIs | Other BSD Drivers | W5500 Driver |
---|---|---|
Return Value | void Success or Fail Transmit/Receive Size | Success or Fail Transmit/Receive Size All functions return. |
Error Code | None | SOCK_BUSY : 0 SOCKERR_SOCKNUM SOCKERR_SOCKOPT SOCKERR_SOCKINIT SOCKERR_SOCKCLOSED SOCKERR_SOCKMODE SOCKERR_SOCKFLAG SOCKERR_SOCKSTATUS SOCKERR_ARG SOCKERR_PORTZERO SOCKERR_IPINVALID SOCKERR_TIMEOUT SOCKERR_DATALEN SOCKERR_BUFFER SOCKFATAL_PACKLEN |
IO Mode | Block & Non-Block Fixed | Block or Non-Block configurable |
Block Function | send recv sendto recvfrom | send recv sendto recvfrom connect |
Non-Block Function | connect | |
recvfrom | Should read data in received packet unit. | Can read data received packet separately. |
< ioLibrary with example project : latest version >
Application | Version | Note | Download Link | |
---|---|---|---|---|
Cookie board | Loopback test | 1.0.2 | - | Click |
<Revision History>
< ioLibrary : latest version >
Description | Version | Note | Download Link | |
---|---|---|---|---|
Driver Source code | ioLibrary source code | 1.0.2 | - | Click |
< ioLibrary : old version >
Description | Version | Note | Download Link | |
---|---|---|---|---|
Driver Source code | ioLibrary source code | 1.0.0 | - | Click |
Driver documents | Socket APIs Help(chm, html) (To use html, open the index.html) | 1.0.0 | - | Click |
This ioLibrary has basic I/O functions, socket register access functions, common register access functions, utilities and functions for setting up a platform and network This code has been evaluated on the CooCox Cookie Board with ARM Cortex-M0 MCU.
Please refer to this link for more details.
The figure below shows the folder structure of this ioLibrary.
This driver has the same BSD as the API for W5200 users. We have been evaluating this code on the ARM-CortexM3(STM32F103 series) chipset.
This type of driver is the final version. We will not update it later.
Please use the new (well coded ) driver code for new projects.