Fix up end of file and trailing whitespace.

This can be enforced by pre-commit, but correct it separately to make it easier to review.
This commit is contained in:
Diego Elio Pettenò 2020-05-30 10:44:13 +01:00
parent 60df6170cc
commit dd5d7c86d2
294 changed files with 1101 additions and 1227 deletions

View File

@ -18,7 +18,7 @@ jobs:
python-version: 3.8 python-version: 3.8
- name: Install deps - name: Install deps
run: | run: |
pip install requests sh click pip install requests sh click
- name: Versions - name: Versions
run: | run: |
gcc --version gcc --version

View File

@ -1,7 +1,7 @@
# Building CircuitPython # Building CircuitPython
Welcome to CircuitPython! Welcome to CircuitPython!
This document is a quick-start guide only. This document is a quick-start guide only.
@ -28,7 +28,7 @@ This project has a bunch of git submodules. You will need to update them regula
As part of the build process, mpy-cross is needed to compile .py files into .mpy files. As part of the build process, mpy-cross is needed to compile .py files into .mpy files.
To compile (or recompile) mpy-cross: To compile (or recompile) mpy-cross:
make -C mpy-cross make -C mpy-cross
# Building # Building
@ -68,7 +68,7 @@ A successful run will say something like
# Debugging # Debugging
The easiest way to debug CircuitPython on hardware is with a JLink device, JLinkGDBServer, and an appropriate GDB. The easiest way to debug CircuitPython on hardware is with a JLink device, JLinkGDBServer, and an appropriate GDB.
Instructions can be found at https://learn.adafruit.com/debugging-the-samd21-with-gdb Instructions can be found at https://learn.adafruit.com/debugging-the-samd21-with-gdb
If using JLink, you'll need both the `JLinkGDBServer` and `arm-none-eabi-gdb` running. If using JLink, you'll need both the `JLinkGDBServer` and `arm-none-eabi-gdb` running.

View File

@ -34,10 +34,10 @@ All commands will, by default, run with `-E` (forces a rebuild from scratch of d
# will turn OFF the force rebuild # will turn OFF the force rebuild
make html FORCE= make html FORCE=
# will turn OFF the verbosity # will turn OFF the verbosity
make html VERBOSE= make html VERBOSE=
# will turn OFF the force rebuild and make it doubly verbose when running # will turn OFF the force rebuild and make it doubly verbose when running
make html FORCE= VERBOSE="-v -v" make html FORCE= VERBOSE="-v -v"

View File

@ -2,7 +2,7 @@
// //
//! \file socket.c //! \file socket.c
//! \brief SOCKET APIs Implements file. //! \brief SOCKET APIs Implements file.
//! \details SOCKET APIs like as Berkeley Socket APIs. //! \details SOCKET APIs like as Berkeley Socket APIs.
//! \version 1.0.3 //! \version 1.0.3
//! \date 2013/10/21 //! \date 2013/10/21
//! \par Revision history //! \par Revision history
@ -10,7 +10,7 @@
//! <2014/05/01> V1.0.3. Refer to M20140501 //! <2014/05/01> V1.0.3. Refer to M20140501
//! 1. Implicit type casting -> Explicit type casting. //! 1. Implicit type casting -> Explicit type casting.
//! 2. replace 0x01 with PACK_REMAINED in recvfrom() //! 2. replace 0x01 with PACK_REMAINED in recvfrom()
//! 3. Validation a destination ip in connect() & sendto(): //! 3. Validation a destination ip in connect() & sendto():
//! It occurs a fatal error on converting unint32 address if uint8* addr parameter is not aligned by 4byte address. //! It occurs a fatal error on converting unint32 address if uint8* addr parameter is not aligned by 4byte address.
//! Copy 4 byte addr value into temporary uint32 variable and then compares it. //! Copy 4 byte addr value into temporary uint32 variable and then compares it.
//! <2013/12/20> V1.0.2 Refer to M20131220 //! <2013/12/20> V1.0.2 Refer to M20131220
@ -23,30 +23,30 @@
//! //!
//! Copyright (c) 2013, WIZnet Co., LTD. //! Copyright (c) 2013, WIZnet Co., LTD.
//! All rights reserved. //! All rights reserved.
//! //!
//! Redistribution and use in source and binary forms, with or without //! Redistribution and use in source and binary forms, with or without
//! modification, are permitted provided that the following conditions //! modification, are permitted provided that the following conditions
//! are met: //! are met:
//! //!
//! * Redistributions of source code must retain the above copyright //! * Redistributions of source code must retain the above copyright
//! notice, this list of conditions and the following disclaimer. //! notice, this list of conditions and the following disclaimer.
//! * Redistributions in binary form must reproduce the above copyright //! * Redistributions in binary form must reproduce the above copyright
//! notice, this list of conditions and the following disclaimer in the //! notice, this list of conditions and the following disclaimer in the
//! documentation and/or other materials provided with the distribution. //! documentation and/or other materials provided with the distribution.
//! * Neither the name of the <ORGANIZATION> nor the names of its //! * Neither the name of the <ORGANIZATION> nor the names of its
//! contributors may be used to endorse or promote products derived //! contributors may be used to endorse or promote products derived
//! from this software without specific prior written permission. //! from this software without specific prior written permission.
//! //!
//! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" //! 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 //! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
//! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE //! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
//! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR //! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
//! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF //! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
//! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS //! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
//! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN //! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
//! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) //! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
//! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF //! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
//! THE POSSIBILITY OF SUCH DAMAGE. //! THE POSSIBILITY OF SUCH DAMAGE.
// //
//***************************************************************************** //*****************************************************************************
@ -123,7 +123,7 @@ int8_t WIZCHIP_EXPORT(socket)(uint8_t sn, uint8_t protocol, uint16_t port, uint8
#if _WIZCHIP_ == 5200 #if _WIZCHIP_ == 5200
if(flag & 0x10) return SOCKERR_SOCKFLAG; if(flag & 0x10) return SOCKERR_SOCKFLAG;
#endif #endif
if(flag != 0) if(flag != 0)
{ {
switch(protocol) switch(protocol)
@ -154,7 +154,7 @@ int8_t WIZCHIP_EXPORT(socket)(uint8_t sn, uint8_t protocol, uint16_t port, uint8
port = sock_any_port++; port = sock_any_port++;
if(sock_any_port == 0xFFF0) sock_any_port = SOCK_ANY_PORT_NUM; if(sock_any_port == 0xFFF0) sock_any_port = SOCK_ANY_PORT_NUM;
} }
setSn_PORT(sn,port); setSn_PORT(sn,port);
setSn_CR(sn,Sn_CR_OPEN); setSn_CR(sn,Sn_CR_OPEN);
while(getSn_CR(sn)); while(getSn_CR(sn));
sock_io_mode |= ((flag & SF_IO_NONBLOCK) << sn); sock_io_mode |= ((flag & SF_IO_NONBLOCK) << sn);
@ -163,12 +163,12 @@ int8_t WIZCHIP_EXPORT(socket)(uint8_t sn, uint8_t protocol, uint16_t port, uint8
sock_pack_info[sn] = 0; sock_pack_info[sn] = 0;
while(getSn_SR(sn) == SOCK_CLOSED); while(getSn_SR(sn) == SOCK_CLOSED);
return (int8_t)sn; return (int8_t)sn;
} }
int8_t WIZCHIP_EXPORT(close)(uint8_t sn) int8_t WIZCHIP_EXPORT(close)(uint8_t sn)
{ {
CHECK_SOCKNUM(); CHECK_SOCKNUM();
setSn_CR(sn,Sn_CR_CLOSE); setSn_CR(sn,Sn_CR_CLOSE);
/* wait to process the command... */ /* wait to process the command... */
while( getSn_CR(sn) ); while( getSn_CR(sn) );
@ -216,18 +216,18 @@ int8_t WIZCHIP_EXPORT(connect)(uint8_t sn, uint8_t * addr, uint16_t port)
if (taddr == 0xFFFFFFFF || taddr == 0) return SOCKERR_IPINVALID; if (taddr == 0xFFFFFFFF || taddr == 0) return SOCKERR_IPINVALID;
} }
// //
if(port == 0) return SOCKERR_PORTZERO; if(port == 0) return SOCKERR_PORTZERO;
setSn_DIPR(sn,addr); setSn_DIPR(sn,addr);
setSn_DPORT(sn,port); setSn_DPORT(sn,port);
#if _WIZCHIP_ == 5200 // for W5200 ARP errata #if _WIZCHIP_ == 5200 // for W5200 ARP errata
setSUBR(wizchip_getsubn()); setSUBR(wizchip_getsubn());
#endif #endif
setSn_CR(sn,Sn_CR_CONNECT); setSn_CR(sn,Sn_CR_CONNECT);
while(getSn_CR(sn)); while(getSn_CR(sn));
if(sock_io_mode & (1<<sn)) return SOCK_BUSY; if(sock_io_mode & (1<<sn)) return SOCK_BUSY;
while(getSn_SR(sn) != SOCK_ESTABLISHED) while(getSn_SR(sn) != SOCK_ESTABLISHED)
{ {
if (getSn_SR(sn) == SOCK_CLOSED) { if (getSn_SR(sn) == SOCK_CLOSED) {
#if _WIZCHIP_ == 5200 // for W5200 ARP errata #if _WIZCHIP_ == 5200 // for W5200 ARP errata
setSUBR((uint8_t*)"\x00\x00\x00\x00"); setSUBR((uint8_t*)"\x00\x00\x00\x00");
@ -237,17 +237,17 @@ int8_t WIZCHIP_EXPORT(connect)(uint8_t sn, uint8_t * addr, uint16_t port)
if (getSn_IR(sn) & Sn_IR_TIMEOUT) if (getSn_IR(sn) & Sn_IR_TIMEOUT)
{ {
setSn_IR(sn, Sn_IR_TIMEOUT); setSn_IR(sn, Sn_IR_TIMEOUT);
#if _WIZCHIP_ == 5200 // for W5200 ARP errata #if _WIZCHIP_ == 5200 // for W5200 ARP errata
setSUBR((uint8_t*)"\x00\x00\x00\x00"); setSUBR((uint8_t*)"\x00\x00\x00\x00");
#endif #endif
return SOCKERR_TIMEOUT; return SOCKERR_TIMEOUT;
} }
MICROPY_THREAD_YIELD(); MICROPY_THREAD_YIELD();
} }
#if _WIZCHIP_ == 5200 // for W5200 ARP errata #if _WIZCHIP_ == 5200 // for W5200 ARP errata
setSUBR((uint8_t*)"\x00\x00\x00\x00"); setSUBR((uint8_t*)"\x00\x00\x00\x00");
#endif #endif
return SOCK_OK; return SOCK_OK;
} }
@ -275,7 +275,7 @@ int32_t WIZCHIP_EXPORT(send)(uint8_t sn, uint8_t * buf, uint16_t len)
{ {
uint8_t tmp=0; uint8_t tmp=0;
uint16_t freesize=0; uint16_t freesize=0;
CHECK_SOCKNUM(); CHECK_SOCKNUM();
CHECK_SOCKMODE(Sn_MR_TCP); CHECK_SOCKMODE(Sn_MR_TCP);
CHECK_SOCKDATA(); CHECK_SOCKDATA();
@ -295,7 +295,7 @@ int32_t WIZCHIP_EXPORT(send)(uint8_t sn, uint8_t * buf, uint16_t len)
return SOCKERR_BUSY; return SOCKERR_BUSY;
} }
#endif #endif
sock_is_sending &= ~(1<<sn); sock_is_sending &= ~(1<<sn);
} }
else if(tmp & Sn_IR_TIMEOUT) else if(tmp & Sn_IR_TIMEOUT)
{ {
@ -338,7 +338,7 @@ int32_t WIZCHIP_EXPORT(recv)(uint8_t sn, uint8_t * buf, uint16_t len)
CHECK_SOCKNUM(); CHECK_SOCKNUM();
CHECK_SOCKMODE(Sn_MR_TCP); CHECK_SOCKMODE(Sn_MR_TCP);
CHECK_SOCKDATA(); CHECK_SOCKDATA();
recvsize = getSn_RxMAX(sn); recvsize = getSn_RxMAX(sn);
if(recvsize < len) len = recvsize; if(recvsize < len) len = recvsize;
while(1) while(1)
@ -398,9 +398,9 @@ int32_t WIZCHIP_EXPORT(sendto)(uint8_t sn, uint8_t * buf, uint16_t len, uint8_t
if(port == 0) return SOCKERR_PORTZERO; if(port == 0) return SOCKERR_PORTZERO;
tmp = getSn_SR(sn); tmp = getSn_SR(sn);
if(tmp != SOCK_MACRAW && tmp != SOCK_UDP) return SOCKERR_SOCKSTATUS; if(tmp != SOCK_MACRAW && tmp != SOCK_UDP) return SOCKERR_SOCKSTATUS;
setSn_DIPR(sn,addr); setSn_DIPR(sn,addr);
setSn_DPORT(sn,port); setSn_DPORT(sn,port);
freesize = getSn_TxMAX(sn); freesize = getSn_TxMAX(sn);
if (len > freesize) len = freesize; // check size not to exceed MAX size. if (len > freesize) len = freesize; // check size not to exceed MAX size.
while(1) while(1)
@ -413,7 +413,7 @@ int32_t WIZCHIP_EXPORT(sendto)(uint8_t sn, uint8_t * buf, uint16_t len, uint8_t
}; };
wiz_send_data(sn, buf, len); wiz_send_data(sn, buf, len);
#if _WIZCHIP_ == 5200 // for W5200 ARP errata #if _WIZCHIP_ == 5200 // for W5200 ARP errata
setSUBR(wizchip_getsubn()); setSUBR(wizchip_getsubn());
#endif #endif
@ -433,7 +433,7 @@ int32_t WIZCHIP_EXPORT(sendto)(uint8_t sn, uint8_t * buf, uint16_t len, uint8_t
else if(tmp & Sn_IR_TIMEOUT) else if(tmp & Sn_IR_TIMEOUT)
{ {
setSn_IR(sn, Sn_IR_TIMEOUT); setSn_IR(sn, Sn_IR_TIMEOUT);
#if _WIZCHIP_ == 5200 // for W5200 ARP errata #if _WIZCHIP_ == 5200 // for W5200 ARP errata
setSUBR((uint8_t*)"\x00\x00\x00\x00"); setSUBR((uint8_t*)"\x00\x00\x00\x00");
#endif #endif
return SOCKERR_TIMEOUT; return SOCKERR_TIMEOUT;
@ -441,7 +441,7 @@ int32_t WIZCHIP_EXPORT(sendto)(uint8_t sn, uint8_t * buf, uint16_t len, uint8_t
//////////// ////////////
MICROPY_THREAD_YIELD(); MICROPY_THREAD_YIELD();
} }
#if _WIZCHIP_ == 5200 // for W5200 ARP errata #if _WIZCHIP_ == 5200 // for W5200 ARP errata
setSUBR((uint8_t*)"\x00\x00\x00\x00"); setSUBR((uint8_t*)"\x00\x00\x00\x00");
#endif #endif
return len; return len;
@ -462,7 +462,7 @@ int32_t WIZCHIP_EXPORT(recvfrom)(uint8_t sn, uint8_t * buf, uint16_t len, uint8_
case Sn_MR_UDP: case Sn_MR_UDP:
case Sn_MR_MACRAW: case Sn_MR_MACRAW:
break; break;
#if ( _WIZCHIP_ < 5200 ) #if ( _WIZCHIP_ < 5200 )
case Sn_MR_IPRAW: case Sn_MR_IPRAW:
case Sn_MR_PPPoE: case Sn_MR_PPPoE:
break; break;
@ -519,7 +519,7 @@ int32_t WIZCHIP_EXPORT(recvfrom)(uint8_t sn, uint8_t * buf, uint16_t len, uint8_
sock_remained_size[sn] = head[0]; sock_remained_size[sn] = head[0];
sock_remained_size[sn] = (sock_remained_size[sn] <<8) + head[1]; sock_remained_size[sn] = (sock_remained_size[sn] <<8) + head[1];
sock_remained_size[sn] -= 2; // len includes 2 len bytes sock_remained_size[sn] -= 2; // len includes 2 len bytes
if(sock_remained_size[sn] > 1514) if(sock_remained_size[sn] > 1514)
{ {
WIZCHIP_EXPORT(close)(sn); WIZCHIP_EXPORT(close)(sn);
return SOCKFATAL_PACKLEN; return SOCKFATAL_PACKLEN;
@ -582,7 +582,7 @@ int8_t WIZCHIP_EXPORT(ctlsocket)(uint8_t sn, ctlsock_type cstype, void* arg)
else if(tmp == SOCK_IO_BLOCK) sock_io_mode &= ~(1<<sn); else if(tmp == SOCK_IO_BLOCK) sock_io_mode &= ~(1<<sn);
else return SOCKERR_ARG; else return SOCKERR_ARG;
break; break;
case CS_GET_IOMODE: case CS_GET_IOMODE:
//M20140501 : implict type casting -> explict type casting //M20140501 : implict type casting -> explict type casting
//*((uint8_t*)arg) = (sock_io_mode >> sn) & 0x0001; //*((uint8_t*)arg) = (sock_io_mode >> sn) & 0x0001;
*((uint8_t*)arg) = (uint8_t)((sock_io_mode >> sn) & 0x0001); *((uint8_t*)arg) = (uint8_t)((sock_io_mode >> sn) & 0x0001);
@ -591,7 +591,7 @@ int8_t WIZCHIP_EXPORT(ctlsocket)(uint8_t sn, ctlsock_type cstype, void* arg)
case CS_GET_MAXTXBUF: case CS_GET_MAXTXBUF:
*((uint16_t*)arg) = getSn_TxMAX(sn); *((uint16_t*)arg) = getSn_TxMAX(sn);
break; break;
case CS_GET_MAXRXBUF: case CS_GET_MAXRXBUF:
*((uint16_t*)arg) = getSn_RxMAX(sn); *((uint16_t*)arg) = getSn_RxMAX(sn);
break; break;
case CS_CLR_INTERRUPT: case CS_CLR_INTERRUPT:
@ -601,11 +601,11 @@ int8_t WIZCHIP_EXPORT(ctlsocket)(uint8_t sn, ctlsock_type cstype, void* arg)
case CS_GET_INTERRUPT: case CS_GET_INTERRUPT:
*((uint8_t*)arg) = getSn_IR(sn); *((uint8_t*)arg) = getSn_IR(sn);
break; break;
case CS_SET_INTMASK: case CS_SET_INTMASK:
if( (*(uint8_t*)arg) > SIK_ALL) return SOCKERR_ARG; if( (*(uint8_t*)arg) > SIK_ALL) return SOCKERR_ARG;
setSn_IMR(sn,*(uint8_t*)arg); setSn_IMR(sn,*(uint8_t*)arg);
break; break;
case CS_GET_INTMASK: case CS_GET_INTMASK:
*((uint8_t*)arg) = getSn_IMR(sn); *((uint8_t*)arg) = getSn_IMR(sn);
default: default:
return SOCKERR_ARG; return SOCKERR_ARG;
@ -658,11 +658,11 @@ int8_t WIZCHIP_EXPORT(setsockopt)(uint8_t sn, sockopt_type sotype, void* arg)
CHECK_SOCKMODE(Sn_MR_TCP); CHECK_SOCKMODE(Sn_MR_TCP);
setSn_KPALVTR(sn,*(uint8_t*)arg); setSn_KPALVTR(sn,*(uint8_t*)arg);
break; break;
#endif #endif
#endif #endif
default: default:
return SOCKERR_ARG; return SOCKERR_ARG;
} }
return SOCK_OK; return SOCK_OK;
} }
@ -680,20 +680,20 @@ int8_t WIZCHIP_EXPORT(getsockopt)(uint8_t sn, sockopt_type sotype, void* arg)
case SO_TOS: case SO_TOS:
*(uint8_t*) arg = getSn_TOS(sn); *(uint8_t*) arg = getSn_TOS(sn);
break; break;
case SO_MSS: case SO_MSS:
*(uint8_t*) arg = getSn_MSSR(sn); *(uint8_t*) arg = getSn_MSSR(sn);
case SO_DESTIP: case SO_DESTIP:
getSn_DIPR(sn, (uint8_t*)arg); getSn_DIPR(sn, (uint8_t*)arg);
break; break;
case SO_DESTPORT: case SO_DESTPORT:
*(uint16_t*) arg = getSn_DPORT(sn); *(uint16_t*) arg = getSn_DPORT(sn);
break; break;
#if _WIZCHIP_ > 5200 #if _WIZCHIP_ > 5200
case SO_KEEPALIVEAUTO: case SO_KEEPALIVEAUTO:
CHECK_SOCKMODE(Sn_MR_TCP); CHECK_SOCKMODE(Sn_MR_TCP);
*(uint16_t*) arg = getSn_KPALVTR(sn); *(uint16_t*) arg = getSn_KPALVTR(sn);
break; break;
#endif #endif
case SO_SENDBUF: case SO_SENDBUF:
*(uint16_t*) arg = getSn_TX_FSR(sn); *(uint16_t*) arg = getSn_TX_FSR(sn);
case SO_RECVBUF: case SO_RECVBUF:

View File

@ -2,43 +2,43 @@
// //
//! \file socket.h //! \file socket.h
//! \brief SOCKET APIs Header file. //! \brief SOCKET APIs Header file.
//! \details SOCKET APIs like as berkeley socket api. //! \details SOCKET APIs like as berkeley socket api.
//! \version 1.0.2 //! \version 1.0.2
//! \date 2013/10/21 //! \date 2013/10/21
//! \par Revision history //! \par Revision history
//! <2014/05/01> V1.0.2. Refer to M20140501 //! <2014/05/01> V1.0.2. Refer to M20140501
//! 1. Modify the comment : SO_REMAINED -> PACK_REMAINED //! 1. Modify the comment : SO_REMAINED -> PACK_REMAINED
//! 2. Add the comment as zero byte udp data reception in getsockopt(). //! 2. Add the comment as zero byte udp data reception in getsockopt().
//! <2013/10/21> 1st Release //! <2013/10/21> 1st Release
//! \author MidnightCow //! \author MidnightCow
//! \copyright //! \copyright
//! //!
//! Copyright (c) 2013, WIZnet Co., LTD. //! Copyright (c) 2013, WIZnet Co., LTD.
//! All rights reserved. //! All rights reserved.
//! //!
//! Redistribution and use in source and binary forms, with or without //! Redistribution and use in source and binary forms, with or without
//! modification, are permitted provided that the following conditions //! modification, are permitted provided that the following conditions
//! are met: //! are met:
//! //!
//! * Redistributions of source code must retain the above copyright //! * Redistributions of source code must retain the above copyright
//! notice, this list of conditions and the following disclaimer. //! notice, this list of conditions and the following disclaimer.
//! * Redistributions in binary form must reproduce the above copyright //! * Redistributions in binary form must reproduce the above copyright
//! notice, this list of conditions and the following disclaimer in the //! notice, this list of conditions and the following disclaimer in the
//! documentation and/or other materials provided with the distribution. //! documentation and/or other materials provided with the distribution.
//! * Neither the name of the <ORGANIZATION> nor the names of its //! * Neither the name of the <ORGANIZATION> nor the names of its
//! contributors may be used to endorse or promote products derived //! contributors may be used to endorse or promote products derived
//! from this software without specific prior written permission. //! from this software without specific prior written permission.
//! //!
//! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" //! 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 //! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
//! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE //! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
//! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR //! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
//! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF //! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
//! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS //! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
//! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN //! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
//! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) //! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
//! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF //! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
//! THE POSSIBILITY OF SUCH DAMAGE. //! THE POSSIBILITY OF SUCH DAMAGE.
// //
//***************************************************************************** //*****************************************************************************
@ -92,7 +92,7 @@
#define SOCK_BUSY 0 ///< Socket is busy on processing the operation. Valid only Non-block IO Mode. #define SOCK_BUSY 0 ///< Socket is busy on processing the operation. Valid only Non-block IO Mode.
#define SOCK_FATAL -1000 ///< Result is fatal error about socket process. #define SOCK_FATAL -1000 ///< Result is fatal error about socket process.
#define SOCK_ERROR 0 #define SOCK_ERROR 0
#define SOCKERR_SOCKNUM (SOCK_ERROR - 1) ///< Invalid socket number #define SOCKERR_SOCKNUM (SOCK_ERROR - 1) ///< Invalid socket number
#define SOCKERR_SOCKOPT (SOCK_ERROR - 2) ///< Invalid socket option #define SOCKERR_SOCKOPT (SOCK_ERROR - 2) ///< Invalid socket option
#define SOCKERR_SOCKINIT (SOCK_ERROR - 3) ///< Socket is not initialized #define SOCKERR_SOCKINIT (SOCK_ERROR - 3) ///< Socket is not initialized
@ -113,7 +113,7 @@
* SOCKET FLAG * SOCKET FLAG
*/ */
#define SF_ETHER_OWN (Sn_MR_MFEN) ///< In \ref Sn_MR_MACRAW, Receive only the packet as broadcast, multicast and own packet #define SF_ETHER_OWN (Sn_MR_MFEN) ///< In \ref Sn_MR_MACRAW, Receive only the packet as broadcast, multicast and own packet
#define SF_IGMP_VER2 (Sn_MR_MC) ///< In \ref Sn_MR_UDP with \ref SF_MULTI_ENABLE, Select IGMP version 2. #define SF_IGMP_VER2 (Sn_MR_MC) ///< In \ref Sn_MR_UDP with \ref SF_MULTI_ENABLE, Select IGMP version 2.
#define SF_TCP_NODELAY (Sn_MR_ND) ///< In \ref Sn_MR_TCP, Use to nodelayed ack. #define SF_TCP_NODELAY (Sn_MR_ND) ///< In \ref Sn_MR_TCP, Use to nodelayed ack.
#define SF_MULTI_ENABLE (Sn_MR_MULTI) ///< In \ref Sn_MR_UDP, Enable multicast mode. #define SF_MULTI_ENABLE (Sn_MR_MULTI) ///< In \ref Sn_MR_UDP, Enable multicast mode.
@ -184,7 +184,7 @@ int8_t WIZCHIP_EXPORT(listen)(uint8_t sn);
* @ingroup WIZnet_socket_APIs * @ingroup WIZnet_socket_APIs
* @brief Try to connect a server. * @brief Try to connect a server.
* @details It requests connection to the server with destination IP address and port number passed as parameter.\n * @details It requests connection to the server with destination IP address and port number passed as parameter.\n
* @note It is valid only in TCP client mode. * @note It is valid only in TCP client mode.
* In block io mode, it does not return until connection is completed. * In block io mode, it does not return until connection is completed.
* In Non-block io mode, it return @ref SOCK_BUSY immediately. * In Non-block io mode, it return @ref SOCK_BUSY immediately.
* *
@ -286,7 +286,7 @@ int32_t WIZCHIP_EXPORT(recv)(uint8_t sn, uint8_t * buf, uint16_t len);
* @ref SOCKERR_PORTZERO - Server port zero\n * @ref SOCKERR_PORTZERO - Server port zero\n
* @ref SOCKERR_SOCKCLOSED - Socket unexpectedly closed \n * @ref SOCKERR_SOCKCLOSED - Socket unexpectedly closed \n
* @ref SOCKERR_TIMEOUT - Timeout occurred \n * @ref SOCKERR_TIMEOUT - Timeout occurred \n
* @ref SOCK_BUSY - Socket is busy. * @ref SOCK_BUSY - Socket is busy.
*/ */
int32_t WIZCHIP_EXPORT(sendto)(uint8_t sn, uint8_t * buf, uint16_t len, uint8_t * addr, uint16_t port); int32_t WIZCHIP_EXPORT(sendto)(uint8_t sn, uint8_t * buf, uint16_t len, uint8_t * addr, uint16_t port);
@ -294,7 +294,7 @@ int32_t WIZCHIP_EXPORT(sendto)(uint8_t sn, uint8_t * buf, uint16_t len, uint8_t
* @ingroup WIZnet_socket_APIs * @ingroup WIZnet_socket_APIs
* @brief Receive datagram of UDP or MACRAW * @brief Receive datagram of UDP or MACRAW
* @details This function is an application I/F function which is used to receive the data in other then TCP mode. \n * @details This function is an application I/F function which is used to receive the data in other then TCP mode. \n
* This function is used to receive UDP and MAC_RAW mode, and handle the header as well. * This function is used to receive UDP and MAC_RAW mode, and handle the header as well.
* This function can divide to received the packet data. * This function can divide to received the packet data.
* On the MACRAW SOCKET, the addr and port parameters are ignored. * On the MACRAW SOCKET, the addr and port parameters are ignored.
* @note In block io mode, it doesn't return until data reception is completed - data is filled as <I>len</I> in socket buffer * @note In block io mode, it doesn't return until data reception is completed - data is filled as <I>len</I> in socket buffer
@ -302,7 +302,7 @@ int32_t WIZCHIP_EXPORT(sendto)(uint8_t sn, uint8_t * buf, uint16_t len, uint8_t
* *
* @param sn Socket number. It should be <b>0 ~ @ref \_WIZCHIP_SOCK_NUM_</b>. * @param sn Socket number. It should be <b>0 ~ @ref \_WIZCHIP_SOCK_NUM_</b>.
* @param buf Pointer buffer to read incoming data. * @param buf Pointer buffer to read incoming data.
* @param len The max data length of data in buf. * @param len The max data length of data in buf.
* When the received packet size <= len, receives data as packet sized. * When the received packet size <= len, receives data as packet sized.
* When others, receives data as len. * When others, receives data as len.
* @param addr Pointer variable of destination IP address. It should be allocated 4 bytes. * @param addr Pointer variable of destination IP address. It should be allocated 4 bytes.
@ -366,7 +366,7 @@ typedef enum
/** /**
* @ingroup DATA_TYPE * @ingroup DATA_TYPE
* @brief The type of socket option in @ref setsockopt() or @ref getsockopt() * @brief The type of socket option in @ref setsockopt() or @ref getsockopt()
*/ */
typedef enum typedef enum
{ {
SO_FLAG, ///< Valid only in getsockopt(), For set flag of socket refer to <I>flag</I> in @ref socket(). SO_FLAG, ///< Valid only in getsockopt(), For set flag of socket refer to <I>flag</I> in @ref socket().
@ -375,11 +375,11 @@ typedef enum
SO_MSS, ///< Set/Get MSS. @ref Sn_MSSR ( @ref setSn_MSSR(), @ref getSn_MSSR() ) SO_MSS, ///< Set/Get MSS. @ref Sn_MSSR ( @ref setSn_MSSR(), @ref getSn_MSSR() )
SO_DESTIP, ///< Set/Get the destination IP address. @ref Sn_DIPR ( @ref setSn_DIPR(), @ref getSn_DIPR() ) SO_DESTIP, ///< Set/Get the destination IP address. @ref Sn_DIPR ( @ref setSn_DIPR(), @ref getSn_DIPR() )
SO_DESTPORT, ///< Set/Get the destination Port number. @ref Sn_DPORT ( @ref setSn_DPORT(), @ref getSn_DPORT() ) SO_DESTPORT, ///< Set/Get the destination Port number. @ref Sn_DPORT ( @ref setSn_DPORT(), @ref getSn_DPORT() )
#if _WIZCHIP_ != 5100 #if _WIZCHIP_ != 5100
SO_KEEPALIVESEND, ///< Valid only in setsockopt. Manually send keep-alive packet in TCP mode SO_KEEPALIVESEND, ///< Valid only in setsockopt. Manually send keep-alive packet in TCP mode
#if _WIZCHIP_ > 5200 #if _WIZCHIP_ > 5200
SO_KEEPALIVEAUTO, ///< Set/Get keep-alive auto transmission timer in TCP mode SO_KEEPALIVEAUTO, ///< Set/Get keep-alive auto transmission timer in TCP mode
#endif #endif
#endif #endif
SO_SENDBUF, ///< Valid only in getsockopt. Get the free data size of Socekt TX buffer. @ref Sn_TX_FSR, @ref getSn_TX_FSR() SO_SENDBUF, ///< Valid only in getsockopt. Get the free data size of Socekt TX buffer. @ref Sn_TX_FSR, @ref getSn_TX_FSR()
SO_RECVBUF, ///< Valid only in getsockopt. Get the received data size in socket RX buffer. @ref Sn_RX_RSR, @ref getSn_RX_RSR() SO_RECVBUF, ///< Valid only in getsockopt. Get the received data size in socket RX buffer. @ref Sn_RX_RSR, @ref getSn_RX_RSR()
@ -400,34 +400,34 @@ typedef enum
* <tr> <td> @b cstype </td> <td> @b data type</td><td>@b value</td></tr> * <tr> <td> @b cstype </td> <td> @b data type</td><td>@b value</td></tr>
* <tr> <td> @ref CS_SET_IOMODE \n @ref CS_GET_IOMODE </td> <td> uint8_t </td><td>@ref SOCK_IO_BLOCK @ref SOCK_IO_NONBLOCK</td></tr> * <tr> <td> @ref CS_SET_IOMODE \n @ref CS_GET_IOMODE </td> <td> uint8_t </td><td>@ref SOCK_IO_BLOCK @ref SOCK_IO_NONBLOCK</td></tr>
* <tr> <td> @ref CS_GET_MAXTXBUF \n @ref CS_GET_MAXRXBUF </td> <td> uint16_t </td><td> 0 ~ 16K </td></tr> * <tr> <td> @ref CS_GET_MAXTXBUF \n @ref CS_GET_MAXRXBUF </td> <td> uint16_t </td><td> 0 ~ 16K </td></tr>
* <tr> <td> @ref CS_CLR_INTERRUPT \n @ref CS_GET_INTERRUPT \n @ref CS_SET_INTMASK \n @ref CS_GET_INTMASK </td> <td> @ref sockint_kind </td><td> @ref SIK_CONNECTED, etc. </td></tr> * <tr> <td> @ref CS_CLR_INTERRUPT \n @ref CS_GET_INTERRUPT \n @ref CS_SET_INTMASK \n @ref CS_GET_INTMASK </td> <td> @ref sockint_kind </td><td> @ref SIK_CONNECTED, etc. </td></tr>
* </table> * </table>
* @return @b Success @ref SOCK_OK \n * @return @b Success @ref SOCK_OK \n
* @b fail @ref SOCKERR_ARG - Invalid argument\n * @b fail @ref SOCKERR_ARG - Invalid argument\n
*/ */
int8_t WIZCHIP_EXPORT(ctlsocket)(uint8_t sn, ctlsock_type cstype, void* arg); int8_t WIZCHIP_EXPORT(ctlsocket)(uint8_t sn, ctlsock_type cstype, void* arg);
/** /**
* @ingroup WIZnet_socket_APIs * @ingroup WIZnet_socket_APIs
* @brief set socket options * @brief set socket options
* @details Set socket option like as TTL, MSS, TOS, and so on. Refer to @ref sockopt_type. * @details Set socket option like as TTL, MSS, TOS, and so on. Refer to @ref sockopt_type.
* *
* @param sn socket number * @param sn socket number
* @param sotype socket option type. refer to @ref sockopt_type * @param sotype socket option type. refer to @ref sockopt_type
* @param arg Data type and value is determined according to <I>sotype</I>. \n * @param arg Data type and value is determined according to <I>sotype</I>. \n
* <table> * <table>
* <tr> <td> @b sotype </td> <td> @b data type</td><td>@b value</td></tr> * <tr> <td> @b sotype </td> <td> @b data type</td><td>@b value</td></tr>
* <tr> <td> @ref SO_TTL </td> <td> uint8_t </td><td> 0 ~ 255 </td> </tr> * <tr> <td> @ref SO_TTL </td> <td> uint8_t </td><td> 0 ~ 255 </td> </tr>
* <tr> <td> @ref SO_TOS </td> <td> uint8_t </td><td> 0 ~ 255 </td> </tr> * <tr> <td> @ref SO_TOS </td> <td> uint8_t </td><td> 0 ~ 255 </td> </tr>
* <tr> <td> @ref SO_MSS </td> <td> uint16_t </td><td> 0 ~ 65535 </td> </tr> * <tr> <td> @ref SO_MSS </td> <td> uint16_t </td><td> 0 ~ 65535 </td> </tr>
* <tr> <td> @ref SO_DESTIP </td> <td> uint8_t[4] </td><td> </td></tr> * <tr> <td> @ref SO_DESTIP </td> <td> uint8_t[4] </td><td> </td></tr>
* <tr> <td> @ref SO_DESTPORT </td> <td> uint16_t </td><td> 0 ~ 65535 </td></tr> * <tr> <td> @ref SO_DESTPORT </td> <td> uint16_t </td><td> 0 ~ 65535 </td></tr>
* <tr> <td> @ref SO_KEEPALIVESEND </td> <td> null </td><td> null </td></tr> * <tr> <td> @ref SO_KEEPALIVESEND </td> <td> null </td><td> null </td></tr>
* <tr> <td> @ref SO_KEEPALIVEAUTO </td> <td> uint8_t </td><td> 0 ~ 255 </td></tr> * <tr> <td> @ref SO_KEEPALIVEAUTO </td> <td> uint8_t </td><td> 0 ~ 255 </td></tr>
* </table> * </table>
* @return * @return
* - @b Success : @ref SOCK_OK \n * - @b Success : @ref SOCK_OK \n
* - @b Fail * - @b Fail
* - @ref SOCKERR_SOCKNUM - Invalid Socket number \n * - @ref SOCKERR_SOCKNUM - Invalid Socket number \n
* - @ref SOCKERR_SOCKMODE - Invalid socket mode \n * - @ref SOCKERR_SOCKMODE - Invalid socket mode \n
* - @ref SOCKERR_SOCKOPT - Invalid socket option or its value \n * - @ref SOCKERR_SOCKOPT - Invalid socket option or its value \n
@ -435,7 +435,7 @@ int8_t WIZCHIP_EXPORT(ctlsocket)(uint8_t sn, ctlsock_type cstype, void* arg);
*/ */
int8_t WIZCHIP_EXPORT(setsockopt)(uint8_t sn, sockopt_type sotype, void* arg); int8_t WIZCHIP_EXPORT(setsockopt)(uint8_t sn, sockopt_type sotype, void* arg);
/** /**
* @ingroup WIZnet_socket_APIs * @ingroup WIZnet_socket_APIs
* @brief get socket options * @brief get socket options
* @details Get socket option like as FLAG, TTL, MSS, and so on. Refer to @ref sockopt_type * @details Get socket option like as FLAG, TTL, MSS, and so on. Refer to @ref sockopt_type
@ -447,24 +447,24 @@ int8_t WIZCHIP_EXPORT(setsockopt)(uint8_t sn, sockopt_type sotype, void* arg);
* <tr> <td> @ref SO_FLAG </td> <td> uint8_t </td><td> @ref SF_ETHER_OWN, etc... </td> </tr> * <tr> <td> @ref SO_FLAG </td> <td> uint8_t </td><td> @ref SF_ETHER_OWN, etc... </td> </tr>
* <tr> <td> @ref SO_TOS </td> <td> uint8_t </td><td> 0 ~ 255 </td> </tr> * <tr> <td> @ref SO_TOS </td> <td> uint8_t </td><td> 0 ~ 255 </td> </tr>
* <tr> <td> @ref SO_MSS </td> <td> uint16_t </td><td> 0 ~ 65535 </td> </tr> * <tr> <td> @ref SO_MSS </td> <td> uint16_t </td><td> 0 ~ 65535 </td> </tr>
* <tr> <td> @ref SO_DESTIP </td> <td> uint8_t[4] </td><td> </td></tr> * <tr> <td> @ref SO_DESTIP </td> <td> uint8_t[4] </td><td> </td></tr>
* <tr> <td> @ref SO_DESTPORT </td> <td> uint16_t </td><td> </td></tr> * <tr> <td> @ref SO_DESTPORT </td> <td> uint16_t </td><td> </td></tr>
* <tr> <td> @ref SO_KEEPALIVEAUTO </td> <td> uint8_t </td><td> 0 ~ 255 </td></tr> * <tr> <td> @ref SO_KEEPALIVEAUTO </td> <td> uint8_t </td><td> 0 ~ 255 </td></tr>
* <tr> <td> @ref SO_SENDBUF </td> <td> uint16_t </td><td> 0 ~ 65535 </td></tr> * <tr> <td> @ref SO_SENDBUF </td> <td> uint16_t </td><td> 0 ~ 65535 </td></tr>
* <tr> <td> @ref SO_RECVBUF </td> <td> uint16_t </td><td> 0 ~ 65535 </td></tr> * <tr> <td> @ref SO_RECVBUF </td> <td> uint16_t </td><td> 0 ~ 65535 </td></tr>
* <tr> <td> @ref SO_STATUS </td> <td> uint8_t </td><td> @ref SOCK_ESTABLISHED, etc.. </td></tr> * <tr> <td> @ref SO_STATUS </td> <td> uint8_t </td><td> @ref SOCK_ESTABLISHED, etc.. </td></tr>
* <tr> <td> @ref SO_REMAINSIZE </td> <td> uint16_t </td><td> 0~ 65535 </td></tr> * <tr> <td> @ref SO_REMAINSIZE </td> <td> uint16_t </td><td> 0~ 65535 </td></tr>
* <tr> <td> @ref SO_PACKINFO </td> <td> uint8_t </td><td> @ref PACK_FIRST, etc... </td></tr> * <tr> <td> @ref SO_PACKINFO </td> <td> uint8_t </td><td> @ref PACK_FIRST, etc... </td></tr>
* </table> * </table>
* @return * @return
* - @b Success : @ref SOCK_OK \n * - @b Success : @ref SOCK_OK \n
* - @b Fail * - @b Fail
* - @ref SOCKERR_SOCKNUM - Invalid Socket number \n * - @ref SOCKERR_SOCKNUM - Invalid Socket number \n
* - @ref SOCKERR_SOCKOPT - Invalid socket option or its value \n * - @ref SOCKERR_SOCKOPT - Invalid socket option or its value \n
* - @ref SOCKERR_SOCKMODE - Invalid socket mode \n * - @ref SOCKERR_SOCKMODE - Invalid socket mode \n
* @note * @note
* The option as PACK_REMAINED and SO_PACKINFO is valid only in NON-TCP mode and after call @ref recvfrom(). \n * The option as PACK_REMAINED and SO_PACKINFO is valid only in NON-TCP mode and after call @ref recvfrom(). \n
* When SO_PACKINFO value is PACK_FIRST and the return value of recvfrom() is zero, * When SO_PACKINFO value is PACK_FIRST and the return value of recvfrom() is zero,
* This means the zero byte UDP data(UDP Header only) received. * This means the zero byte UDP data(UDP Header only) received.
*/ */
int8_t WIZCHIP_EXPORT(getsockopt)(uint8_t sn, sockopt_type sotype, void* arg); int8_t WIZCHIP_EXPORT(getsockopt)(uint8_t sn, sockopt_type sotype, void* arg);

View File

@ -22,30 +22,30 @@
//! //!
//! Copyright (c) 2013, WIZnet Co., LTD. //! Copyright (c) 2013, WIZnet Co., LTD.
//! All rights reserved. //! All rights reserved.
//! //!
//! Redistribution and use in source and binary forms, with or without //! Redistribution and use in source and binary forms, with or without
//! modification, are permitted provided that the following conditions //! modification, are permitted provided that the following conditions
//! are met: //! are met:
//! //!
//! * Redistributions of source code must retain the above copyright //! * Redistributions of source code must retain the above copyright
//! notice, this list of conditions and the following disclaimer. //! notice, this list of conditions and the following disclaimer.
//! * Redistributions in binary form must reproduce the above copyright //! * Redistributions in binary form must reproduce the above copyright
//! notice, this list of conditions and the following disclaimer in the //! notice, this list of conditions and the following disclaimer in the
//! documentation and/or other materials provided with the distribution. //! documentation and/or other materials provided with the distribution.
//! * Neither the name of the <ORGANIZATION> nor the names of its //! * Neither the name of the <ORGANIZATION> nor the names of its
//! contributors may be used to endorse or promote products derived //! contributors may be used to endorse or promote products derived
//! from this software without specific prior written permission. //! from this software without specific prior written permission.
//! //!
//! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" //! 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 //! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
//! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE //! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
//! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR //! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
//! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF //! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
//! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS //! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
//! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN //! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
//! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) //! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
//! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF //! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
//! THE POSSIBILITY OF SUCH DAMAGE. //! THE POSSIBILITY OF SUCH DAMAGE.
// //
//***************************************************************************** //*****************************************************************************

View File

@ -13,30 +13,30 @@
//! //!
//! Copyright (c) 2013, WIZnet Co., LTD. //! Copyright (c) 2013, WIZnet Co., LTD.
//! All rights reserved. //! All rights reserved.
//! //!
//! Redistribution and use in source and binary forms, with or without //! Redistribution and use in source and binary forms, with or without
//! modification, are permitted provided that the following conditions //! modification, are permitted provided that the following conditions
//! are met: //! are met:
//! //!
//! * Redistributions of source code must retain the above copyright //! * Redistributions of source code must retain the above copyright
//! notice, this list of conditions and the following disclaimer. //! notice, this list of conditions and the following disclaimer.
//! * Redistributions in binary form must reproduce the above copyright //! * Redistributions in binary form must reproduce the above copyright
//! notice, this list of conditions and the following disclaimer in the //! notice, this list of conditions and the following disclaimer in the
//! documentation and/or other materials provided with the distribution. //! documentation and/or other materials provided with the distribution.
//! * Neither the name of the <ORGANIZATION> nor the names of its //! * Neither the name of the <ORGANIZATION> nor the names of its
//! contributors may be used to endorse or promote products derived //! contributors may be used to endorse or promote products derived
//! from this software without specific prior written permission. //! from this software without specific prior written permission.
//! //!
//! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" //! 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 //! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
//! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE //! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
//! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR //! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
//! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF //! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
//! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS //! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
//! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN //! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
//! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) //! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
//! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF //! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
//! THE POSSIBILITY OF SUCH DAMAGE. //! THE POSSIBILITY OF SUCH DAMAGE.
// //
//***************************************************************************** //*****************************************************************************
@ -66,8 +66,8 @@
* - @ref WIZCHIP_register : @ref Common_register_group and @ref Socket_register_group * - @ref WIZCHIP_register : @ref Common_register_group and @ref Socket_register_group
* - @ref WIZCHIP_IO_Functions : @ref Basic_IO_function, @ref Common_register_access_function and @ref Socket_register_access_function * - @ref WIZCHIP_IO_Functions : @ref Basic_IO_function, @ref Common_register_access_function and @ref Socket_register_access_function
*/ */
/** /**
* @defgroup WIZCHIP_register WIZCHIP register * @defgroup WIZCHIP_register WIZCHIP register
* @ingroup W5500 * @ingroup W5500
@ -138,9 +138,9 @@
* @sa UIPR, UPORTR : ICMP message. * @sa UIPR, UPORTR : ICMP message.
* @sa PHYCFGR, VERSIONR : etc. * @sa PHYCFGR, VERSIONR : etc.
*/ */
/** /**
* @defgroup Socket_register_group Socket register * @defgroup Socket_register_group Socket register
* @ingroup WIZCHIP_register * @ingroup WIZCHIP_register
@ -153,9 +153,9 @@
* @sa Sn_MSSR, Sn_TOS, Sn_TTL, Sn_KPALVTR, Sn_FRAG : Internet protocol. * @sa Sn_MSSR, Sn_TOS, Sn_TTL, Sn_KPALVTR, Sn_FRAG : Internet protocol.
* @sa Sn_RXBUF_SIZE, Sn_TXBUF_SIZE, Sn_TX_FSR, Sn_TX_RD, Sn_TX_WR, Sn_RX_RSR, Sn_RX_RD, Sn_RX_WR : Data communication * @sa Sn_RXBUF_SIZE, Sn_TXBUF_SIZE, Sn_TX_FSR, Sn_TX_RD, Sn_TX_WR, Sn_RX_RSR, Sn_RX_RD, Sn_RX_WR : Data communication
*/ */
/** /**
* @defgroup Basic_IO_function Basic I/O function * @defgroup Basic_IO_function Basic I/O function
* @ingroup WIZCHIP_IO_Functions * @ingroup WIZCHIP_IO_Functions
@ -173,7 +173,7 @@
* @ingroup WIZCHIP_IO_Functions * @ingroup WIZCHIP_IO_Functions
* @brief These are functions to access <b>socket registers</b>. * @brief These are functions to access <b>socket registers</b>.
*/ */
//------------------------------- defgroup end -------------------------------------------- //------------------------------- defgroup end --------------------------------------------
//----------------------------- W5500 Common Registers IOMAP ----------------------------- //----------------------------- W5500 Common Registers IOMAP -----------------------------
/** /**
@ -276,7 +276,7 @@
* @brief Socket Interrupt Mask Register(R/W) * @brief Socket Interrupt Mask Register(R/W)
* @details Each bit of @ref SIMR corresponds to each bit of @ref SIR. * @details Each bit of @ref SIMR corresponds to each bit of @ref SIR.
* When a bit of @ref SIMR is and the corresponding bit of @ref SIR is Interrupt will be issued. * When a bit of @ref SIMR is and the corresponding bit of @ref SIR is Interrupt will be issued.
* In other words, if a bit of @ref SIMR is an interrupt will be not issued even if the corresponding bit of @ref SIR is * In other words, if a bit of @ref SIMR is an interrupt will be not issued even if the corresponding bit of @ref SIR is
*/ */
//#define SIMR (_W5500_IO_BASE_ + (0x0018 << 8) + (WIZCHIP_CREG_BLOCK << 3)) //#define SIMR (_W5500_IO_BASE_ + (0x0018 << 8) + (WIZCHIP_CREG_BLOCK << 3))
@ -531,7 +531,7 @@
*/ */
#define Sn_TTL(N) WIZCHIP_SREG_ADDR(N, 0x0016) #define Sn_TTL(N) WIZCHIP_SREG_ADDR(N, 0x0016)
// Reserved (_W5500_IO_BASE_ + (0x0017 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3)) // Reserved (_W5500_IO_BASE_ + (0x0017 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
// Reserved (_W5500_IO_BASE_ + (0x0018 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3)) // Reserved (_W5500_IO_BASE_ + (0x0018 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
// Reserved (_W5500_IO_BASE_ + (0x0019 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3)) // Reserved (_W5500_IO_BASE_ + (0x0019 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
// Reserved (_W5500_IO_BASE_ + (0x001A << 8) + (WIZCHIP_SREG_BLOCK(N) << 3)) // Reserved (_W5500_IO_BASE_ + (0x001A << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
// Reserved (_W5500_IO_BASE_ + (0x001B << 8) + (WIZCHIP_SREG_BLOCK(N) << 3)) // Reserved (_W5500_IO_BASE_ + (0x001B << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
@ -633,8 +633,8 @@
* @ingroup Socket_register_group * @ingroup Socket_register_group
* @brief socket interrupt mask register(R) * @brief socket interrupt mask register(R)
* @details @ref Sn_IMR masks the interrupt of Socket n. * @details @ref Sn_IMR masks the interrupt of Socket n.
* Each bit corresponds to each bit of @ref Sn_IR. When a Socket n Interrupt is occurred and the corresponding bit of @ref Sn_IMR is * Each bit corresponds to each bit of @ref Sn_IR. When a Socket n Interrupt is occurred and the corresponding bit of @ref Sn_IMR is
* the corresponding bit of @ref Sn_IR becomes When both the corresponding bit of @ref Sn_IMR and @ref Sn_IR are and the n-th bit of @ref IR is * the corresponding bit of @ref Sn_IR becomes When both the corresponding bit of @ref Sn_IMR and @ref Sn_IR are and the n-th bit of @ref IR is
* Host is interrupted by asserted INTn PIN to low. * Host is interrupted by asserted INTn PIN to low.
*/ */
//#define Sn_IMR(N) (_W5500_IO_BASE_ + (0x002C << 8) + (WIZCHIP_SREG_BLOCK(N) << 3)) //#define Sn_IMR(N) (_W5500_IO_BASE_ + (0x002C << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
@ -694,7 +694,7 @@
* @brief Enable PPPoE * @brief Enable PPPoE
* @details 0 : DisablePPPoE mode\n * @details 0 : DisablePPPoE mode\n
* 1 : EnablePPPoE mode\n * 1 : EnablePPPoE mode\n
* If you use ADSL, this bit should be * If you use ADSL, this bit should be
*/ */
#define MR_PPPOE 0x08 #define MR_PPPOE 0x08
@ -715,7 +715,7 @@
/** /**
* @brief Get the destination unreachable message in UDP sending. * @brief Get the destination unreachable message in UDP sending.
* @details When receiving the ICMP (Destination port unreachable) packet, this bit is set as * @details When receiving the ICMP (Destination port unreachable) packet, this bit is set as
* When this bit is Destination Information such as IP address and Port number may be checked with the corresponding @ref UIPR & @ref UPORTR. * When this bit is Destination Information such as IP address and Port number may be checked with the corresponding @ref UIPR & @ref UPORTR.
*/ */
#define IR_UNREACH 0x40 #define IR_UNREACH 0x40
@ -743,7 +743,7 @@
#define PHYCFGR_OPMDC_100F (3<<3) #define PHYCFGR_OPMDC_100F (3<<3)
#define PHYCFGR_OPMDC_100H (2<<3) #define PHYCFGR_OPMDC_100H (2<<3)
#define PHYCFGR_OPMDC_10F (1<<3) #define PHYCFGR_OPMDC_10F (1<<3)
#define PHYCFGR_OPMDC_10H (0<<3) #define PHYCFGR_OPMDC_10H (0<<3)
#define PHYCFGR_DPX_FULL (1<<2) #define PHYCFGR_DPX_FULL (1<<2)
#define PHYCFGR_DPX_HALF (0<<2) #define PHYCFGR_DPX_HALF (0<<2)
#define PHYCFGR_SPD_100 (1<<1) #define PHYCFGR_SPD_100 (1<<1)
@ -818,7 +818,7 @@
* @brief Unicast Block in UDP Multicasting * @brief Unicast Block in UDP Multicasting
* @details 0 : disable Unicast Blocking\n * @details 0 : disable Unicast Blocking\n
* 1 : enable Unicast Blocking\n * 1 : enable Unicast Blocking\n
* This bit blocks receiving the unicast packet during UDP mode(P[3:0] = 010 and MULTI = * This bit blocks receiving the unicast packet during UDP mode(P[3:0] = 010 and MULTI =
*/ */
//#define Sn_MR_UCASTB 0x10 //#define Sn_MR_UCASTB 0x10
@ -866,7 +866,7 @@
* @brief Multicast Blocking in @ref Sn_MR_MACRAW mode * @brief Multicast Blocking in @ref Sn_MR_MACRAW mode
* @details 0 : using IGMP version 2\n * @details 0 : using IGMP version 2\n
* 1 : using IGMP version 1\n * 1 : using IGMP version 1\n
* This bit is applied only during UDP mode(P[3:0] = 010 and MULTI = * This bit is applied only during UDP mode(P[3:0] = 010 and MULTI =
* It configures the version for IGMP messages (Join/Leave/Report). * It configures the version for IGMP messages (Join/Leave/Report).
*/ */
#define Sn_MR_MMB Sn_MR_ND #define Sn_MR_MMB Sn_MR_ND
@ -921,7 +921,7 @@
* In this mode, Socket n operates as a <EFBFBD>TCP serverand waits for connection-request (SYN packet) from any <EFBFBD>TCP client * In this mode, Socket n operates as a <EFBFBD>TCP serverand waits for connection-request (SYN packet) from any <EFBFBD>TCP client
* The @ref Sn_SR changes the state from SOCK_INIT to SOCKET_LISTEN. * The @ref Sn_SR changes the state from SOCK_INIT to SOCKET_LISTEN.
* When a <EFBFBD>TCP clientconnection request is successfully established, * When a <EFBFBD>TCP clientconnection request is successfully established,
* the @ref Sn_SR changes from SOCK_LISTEN to SOCK_ESTABLISHED and the Sn_IR(0) becomes * the @ref Sn_SR changes from SOCK_LISTEN to SOCK_ESTABLISHED and the Sn_IR(0) becomes
* But when a <EFBFBD>TCP clientconnection request is failed, Sn_IR(3) becomes and the status of @ref Sn_SR changes to SOCK_CLOSED. * But when a <EFBFBD>TCP clientconnection request is failed, Sn_IR(3) becomes and the status of @ref Sn_SR changes to SOCK_CLOSED.
*/ */
#define Sn_CR_LISTEN 0x02 #define Sn_CR_LISTEN 0x02
@ -1132,7 +1132,7 @@
//#define SOCK_PPPOE 0x5F //#define SOCK_PPPOE 0x5F
/* IP PROTOCOL */ /* IP PROTOCOL */
#define IPPROTO_IP 0 //< Dummy for IP #define IPPROTO_IP 0 //< Dummy for IP
#define IPPROTO_ICMP 1 //< Control message protocol #define IPPROTO_ICMP 1 //< Control message protocol
#define IPPROTO_IGMP 2 //< Internet group management protocol #define IPPROTO_IGMP 2 //< Internet group management protocol
#define IPPROTO_GGP 3 //< Gateway^2 (deprecated) #define IPPROTO_GGP 3 //< Gateway^2 (deprecated)
@ -2027,7 +2027,7 @@ uint16_t getSn_RX_RSR(uint8_t sn);
///////////////////////////////////// /////////////////////////////////////
// Sn_TXBUF & Sn_RXBUF IO function // // Sn_TXBUF & Sn_RXBUF IO function //
///////////////////////////////////// /////////////////////////////////////
/** /**
* @brief Gets the max buffer size of socket sn passed as parameter. * @brief Gets the max buffer size of socket sn passed as parameter.
* @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>. * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
* @return uint16_t. Value of Socket n RX max buffer size. * @return uint16_t. Value of Socket n RX max buffer size.
@ -2035,7 +2035,7 @@ uint16_t getSn_RX_RSR(uint8_t sn);
#define getSn_RxMAX(sn) \ #define getSn_RxMAX(sn) \
(getSn_RXBUF_SIZE(sn) << 10) (getSn_RXBUF_SIZE(sn) << 10)
/** /**
* @brief Gets the max buffer size of socket sn passed as parameters. * @brief Gets the max buffer size of socket sn passed as parameters.
* @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>. * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
* @return uint16_t. Value of Socket n TX max buffer size. * @return uint16_t. Value of Socket n TX max buffer size.

View File

@ -20,30 +20,30 @@
//! //!
//! Copyright (c) 2013, WIZnet Co., LTD. //! Copyright (c) 2013, WIZnet Co., LTD.
//! All rights reserved. //! All rights reserved.
//! //!
//! Redistribution and use in source and binary forms, with or without //! Redistribution and use in source and binary forms, with or without
//! modification, are permitted provided that the following conditions //! modification, are permitted provided that the following conditions
//! are met: //! are met:
//! //!
//! * Redistributions of source code must retain the above copyright //! * Redistributions of source code must retain the above copyright
//! notice, this list of conditions and the following disclaimer. //! notice, this list of conditions and the following disclaimer.
//! * Redistributions in binary form must reproduce the above copyright //! * Redistributions in binary form must reproduce the above copyright
//! notice, this list of conditions and the following disclaimer in the //! notice, this list of conditions and the following disclaimer in the
//! documentation and/or other materials provided with the distribution. //! documentation and/or other materials provided with the distribution.
//! * Neither the name of the <ORGANIZATION> nor the names of its //! * Neither the name of the <ORGANIZATION> nor the names of its
//! contributors may be used to endorse or promote products derived //! contributors may be used to endorse or promote products derived
//! from this software without specific prior written permission. //! from this software without specific prior written permission.
//! //!
//! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" //! 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 //! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
//! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE //! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
//! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR //! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
//! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF //! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
//! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS //! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
//! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN //! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
//! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) //! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
//! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF //! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
//! THE POSSIBILITY OF SUCH DAMAGE. //! THE POSSIBILITY OF SUCH DAMAGE.
// //
//***************************************************************************** //*****************************************************************************
@ -114,7 +114,7 @@ void WIZCHIP_WRITE(uint32_t AddrSel, uint8_t wb )
WIZCHIP.CS._deselect(); WIZCHIP.CS._deselect();
WIZCHIP_CRITICAL_EXIT(); WIZCHIP_CRITICAL_EXIT();
} }
void WIZCHIP_READ_BUF (uint32_t AddrSel, uint8_t* pBuf, uint16_t len) void WIZCHIP_READ_BUF (uint32_t AddrSel, uint8_t* pBuf, uint16_t len)
{ {
uint8_t spi_data[3]; uint8_t spi_data[3];
@ -213,7 +213,7 @@ void wiz_send_data(uint8_t sn, uint8_t *wizdata, uint16_t len)
addrsel = ((uint32_t)ptr << 8) + (WIZCHIP_TXBUF_BLOCK(sn) << 3); addrsel = ((uint32_t)ptr << 8) + (WIZCHIP_TXBUF_BLOCK(sn) << 3);
// //
WIZCHIP_WRITE_BUF(addrsel,wizdata, len); WIZCHIP_WRITE_BUF(addrsel,wizdata, len);
ptr += len; ptr += len;
setSn_TX_WR(sn,ptr); setSn_TX_WR(sn,ptr);
} }
@ -222,7 +222,7 @@ void wiz_recv_data(uint8_t sn, uint8_t *wizdata, uint16_t len)
{ {
uint16_t ptr = 0; uint16_t ptr = 0;
uint32_t addrsel = 0; uint32_t addrsel = 0;
if(len == 0) return; if(len == 0) return;
ptr = getSn_RX_RD(sn); ptr = getSn_RX_RD(sn);
//M20140501 : implict type casting -> explict type casting //M20140501 : implict type casting -> explict type casting
@ -231,7 +231,7 @@ void wiz_recv_data(uint8_t sn, uint8_t *wizdata, uint16_t len)
// //
WIZCHIP_READ_BUF(addrsel, wizdata, len); WIZCHIP_READ_BUF(addrsel, wizdata, len);
ptr += len; ptr += len;
setSn_RX_RD(sn,ptr); setSn_RX_RD(sn,ptr);
} }
@ -244,4 +244,3 @@ void wiz_recv_ignore(uint8_t sn, uint16_t len)
ptr += len; ptr += len;
setSn_RX_RD(sn,ptr); setSn_RX_RD(sn,ptr);
} }

View File

@ -11,30 +11,30 @@
//! //!
//! Copyright (c) 2013, WIZnet Co., LTD. //! Copyright (c) 2013, WIZnet Co., LTD.
//! All rights reserved. //! All rights reserved.
//! //!
//! Redistribution and use in source and binary forms, with or without //! Redistribution and use in source and binary forms, with or without
//! modification, are permitted provided that the following conditions //! modification, are permitted provided that the following conditions
//! are met: //! are met:
//! //!
//! * Redistributions of source code must retain the above copyright //! * Redistributions of source code must retain the above copyright
//! notice, this list of conditions and the following disclaimer. //! notice, this list of conditions and the following disclaimer.
//! * Redistributions in binary form must reproduce the above copyright //! * Redistributions in binary form must reproduce the above copyright
//! notice, this list of conditions and the following disclaimer in the //! notice, this list of conditions and the following disclaimer in the
//! documentation and/or other materials provided with the distribution. //! documentation and/or other materials provided with the distribution.
//! * Neither the name of the <ORGANIZATION> nor the names of its //! * Neither the name of the <ORGANIZATION> nor the names of its
//! contributors may be used to endorse or promote products derived //! contributors may be used to endorse or promote products derived
//! from this software without specific prior written permission. //! from this software without specific prior written permission.
//! //!
//! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" //! 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 //! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
//! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE //! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
//! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR //! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
//! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF //! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
//! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS //! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
//! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN //! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
//! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) //! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
//! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF //! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
//! THE POSSIBILITY OF SUCH DAMAGE. //! THE POSSIBILITY OF SUCH DAMAGE.
// //
//***************************************************************************** //*****************************************************************************
@ -76,8 +76,8 @@
* - @ref WIZCHIP_register : @ref Common_register_group and @ref Socket_register_group * - @ref WIZCHIP_register : @ref Common_register_group and @ref Socket_register_group
* - @ref WIZCHIP_IO_Functions : @ref Basic_IO_function, @ref Common_register_access_function and @ref Socket_register_access_function * - @ref WIZCHIP_IO_Functions : @ref Basic_IO_function, @ref Common_register_access_function and @ref Socket_register_access_function
*/ */
/** /**
* @defgroup WIZCHIP_register WIZCHIP register * @defgroup WIZCHIP_register WIZCHIP register
* @ingroup W5500 * @ingroup W5500
@ -148,9 +148,9 @@
* @sa UIPR, UPORTR : ICMP message. * @sa UIPR, UPORTR : ICMP message.
* @sa PHYCFGR, VERSIONR : etc. * @sa PHYCFGR, VERSIONR : etc.
*/ */
/** /**
* @defgroup Socket_register_group Socket register * @defgroup Socket_register_group Socket register
* @ingroup WIZCHIP_register * @ingroup WIZCHIP_register
@ -163,9 +163,9 @@
* @sa Sn_MSSR, Sn_TOS, Sn_TTL, Sn_KPALVTR, Sn_FRAG : Internet protocol. * @sa Sn_MSSR, Sn_TOS, Sn_TTL, Sn_KPALVTR, Sn_FRAG : Internet protocol.
* @sa Sn_RXBUF_SIZE, Sn_TXBUF_SIZE, Sn_TX_FSR, Sn_TX_RD, Sn_TX_WR, Sn_RX_RSR, Sn_RX_RD, Sn_RX_WR : Data communication * @sa Sn_RXBUF_SIZE, Sn_TXBUF_SIZE, Sn_TX_FSR, Sn_TX_RD, Sn_TX_WR, Sn_RX_RSR, Sn_RX_RD, Sn_RX_WR : Data communication
*/ */
/** /**
* @defgroup Basic_IO_function Basic I/O function * @defgroup Basic_IO_function Basic I/O function
* @ingroup WIZCHIP_IO_Functions * @ingroup WIZCHIP_IO_Functions
@ -183,7 +183,7 @@
* @ingroup WIZCHIP_IO_Functions * @ingroup WIZCHIP_IO_Functions
* @brief These are functions to access <b>socket registers</b>. * @brief These are functions to access <b>socket registers</b>.
*/ */
//------------------------------- defgroup end -------------------------------------------- //------------------------------- defgroup end --------------------------------------------
//----------------------------- W5500 Common Registers IOMAP ----------------------------- //----------------------------- W5500 Common Registers IOMAP -----------------------------
/** /**
@ -286,7 +286,7 @@
* @brief Socket Interrupt Mask Register(R/W) * @brief Socket Interrupt Mask Register(R/W)
* @details Each bit of @ref SIMR corresponds to each bit of @ref SIR. * @details Each bit of @ref SIMR corresponds to each bit of @ref SIR.
* When a bit of @ref SIMR is and the corresponding bit of @ref SIR is Interrupt will be issued. * When a bit of @ref SIMR is and the corresponding bit of @ref SIR is Interrupt will be issued.
* In other words, if a bit of @ref SIMR is an interrupt will be not issued even if the corresponding bit of @ref SIR is * In other words, if a bit of @ref SIMR is an interrupt will be not issued even if the corresponding bit of @ref SIR is
*/ */
#define SIMR (_W5500_IO_BASE_ + (0x0018 << 8) + (WIZCHIP_CREG_BLOCK << 3)) #define SIMR (_W5500_IO_BASE_ + (0x0018 << 8) + (WIZCHIP_CREG_BLOCK << 3))
@ -540,7 +540,7 @@
*/ */
#define Sn_TTL(N) (_W5500_IO_BASE_ + (0x0016 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3)) #define Sn_TTL(N) (_W5500_IO_BASE_ + (0x0016 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
// Reserved (_W5500_IO_BASE_ + (0x0017 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3)) // Reserved (_W5500_IO_BASE_ + (0x0017 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
// Reserved (_W5500_IO_BASE_ + (0x0018 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3)) // Reserved (_W5500_IO_BASE_ + (0x0018 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
// Reserved (_W5500_IO_BASE_ + (0x0019 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3)) // Reserved (_W5500_IO_BASE_ + (0x0019 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
// Reserved (_W5500_IO_BASE_ + (0x001A << 8) + (WIZCHIP_SREG_BLOCK(N) << 3)) // Reserved (_W5500_IO_BASE_ + (0x001A << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
// Reserved (_W5500_IO_BASE_ + (0x001B << 8) + (WIZCHIP_SREG_BLOCK(N) << 3)) // Reserved (_W5500_IO_BASE_ + (0x001B << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
@ -642,8 +642,8 @@
* @ingroup Socket_register_group * @ingroup Socket_register_group
* @brief socket interrupt mask register(R) * @brief socket interrupt mask register(R)
* @details @ref Sn_IMR masks the interrupt of Socket n. * @details @ref Sn_IMR masks the interrupt of Socket n.
* Each bit corresponds to each bit of @ref Sn_IR. When a Socket n Interrupt is occurred and the corresponding bit of @ref Sn_IMR is * Each bit corresponds to each bit of @ref Sn_IR. When a Socket n Interrupt is occurred and the corresponding bit of @ref Sn_IMR is
* the corresponding bit of @ref Sn_IR becomes When both the corresponding bit of @ref Sn_IMR and @ref Sn_IR are and the n-th bit of @ref IR is * the corresponding bit of @ref Sn_IR becomes When both the corresponding bit of @ref Sn_IMR and @ref Sn_IR are and the n-th bit of @ref IR is
* Host is interrupted by asserted INTn PIN to low. * Host is interrupted by asserted INTn PIN to low.
*/ */
#define Sn_IMR(N) (_W5500_IO_BASE_ + (0x002C << 8) + (WIZCHIP_SREG_BLOCK(N) << 3)) #define Sn_IMR(N) (_W5500_IO_BASE_ + (0x002C << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
@ -703,7 +703,7 @@
* @brief Enable PPPoE * @brief Enable PPPoE
* @details 0 : DisablePPPoE mode\n * @details 0 : DisablePPPoE mode\n
* 1 : EnablePPPoE mode\n * 1 : EnablePPPoE mode\n
* If you use ADSL, this bit should be * If you use ADSL, this bit should be
*/ */
#define MR_PPPOE 0x08 #define MR_PPPOE 0x08
@ -724,7 +724,7 @@
/** /**
* @brief Get the destination unreachable message in UDP sending. * @brief Get the destination unreachable message in UDP sending.
* @details When receiving the ICMP (Destination port unreachable) packet, this bit is set as * @details When receiving the ICMP (Destination port unreachable) packet, this bit is set as
* When this bit is Destination Information such as IP address and Port number may be checked with the corresponding @ref UIPR & @ref UPORTR. * When this bit is Destination Information such as IP address and Port number may be checked with the corresponding @ref UIPR & @ref UPORTR.
*/ */
#define IR_UNREACH 0x40 #define IR_UNREACH 0x40
@ -752,7 +752,7 @@
#define PHYCFGR_OPMDC_100F (3<<3) #define PHYCFGR_OPMDC_100F (3<<3)
#define PHYCFGR_OPMDC_100H (2<<3) #define PHYCFGR_OPMDC_100H (2<<3)
#define PHYCFGR_OPMDC_10F (1<<3) #define PHYCFGR_OPMDC_10F (1<<3)
#define PHYCFGR_OPMDC_10H (0<<3) #define PHYCFGR_OPMDC_10H (0<<3)
#define PHYCFGR_DPX_FULL (1<<2) #define PHYCFGR_DPX_FULL (1<<2)
#define PHYCFGR_DPX_HALF (0<<2) #define PHYCFGR_DPX_HALF (0<<2)
#define PHYCFGR_SPD_100 (1<<1) #define PHYCFGR_SPD_100 (1<<1)
@ -823,7 +823,7 @@
* @brief Unicast Block in UDP Multicasting * @brief Unicast Block in UDP Multicasting
* @details 0 : disable Unicast Blocking\n * @details 0 : disable Unicast Blocking\n
* 1 : enable Unicast Blocking\n * 1 : enable Unicast Blocking\n
* This bit blocks receiving the unicast packet during UDP mode(P[3:0] = 010 and MULTI = * This bit blocks receiving the unicast packet during UDP mode(P[3:0] = 010 and MULTI =
*/ */
#define Sn_MR_UCASTB 0x10 #define Sn_MR_UCASTB 0x10
@ -871,7 +871,7 @@
* @brief Multicast Blocking in @ref Sn_MR_MACRAW mode * @brief Multicast Blocking in @ref Sn_MR_MACRAW mode
* @details 0 : using IGMP version 2\n * @details 0 : using IGMP version 2\n
* 1 : using IGMP version 1\n * 1 : using IGMP version 1\n
* This bit is applied only during UDP mode(P[3:0] = 010 and MULTI = * This bit is applied only during UDP mode(P[3:0] = 010 and MULTI =
* It configures the version for IGMP messages (Join/Leave/Report). * It configures the version for IGMP messages (Join/Leave/Report).
*/ */
#define Sn_MR_MMB Sn_MR_ND #define Sn_MR_MMB Sn_MR_ND
@ -926,7 +926,7 @@
* In this mode, Socket n operates as a <EFBFBD>TCP serverand waits for connection-request (SYN packet) from any <EFBFBD>TCP client * In this mode, Socket n operates as a <EFBFBD>TCP serverand waits for connection-request (SYN packet) from any <EFBFBD>TCP client
* The @ref Sn_SR changes the state from SOCK_INIT to SOCKET_LISTEN. * The @ref Sn_SR changes the state from SOCK_INIT to SOCKET_LISTEN.
* When a <EFBFBD>TCP clientconnection request is successfully established, * When a <EFBFBD>TCP clientconnection request is successfully established,
* the @ref Sn_SR changes from SOCK_LISTEN to SOCK_ESTABLISHED and the Sn_IR(0) becomes * the @ref Sn_SR changes from SOCK_LISTEN to SOCK_ESTABLISHED and the Sn_IR(0) becomes
* But when a <EFBFBD>TCP clientconnection request is failed, Sn_IR(3) becomes and the status of @ref Sn_SR changes to SOCK_CLOSED. * But when a <EFBFBD>TCP clientconnection request is failed, Sn_IR(3) becomes and the status of @ref Sn_SR changes to SOCK_CLOSED.
*/ */
#define Sn_CR_LISTEN 0x02 #define Sn_CR_LISTEN 0x02
@ -1137,7 +1137,7 @@
//#define SOCK_PPPOE 0x5F //#define SOCK_PPPOE 0x5F
/* IP PROTOCOL */ /* IP PROTOCOL */
#define IPPROTO_IP 0 //< Dummy for IP #define IPPROTO_IP 0 //< Dummy for IP
#define IPPROTO_ICMP 1 //< Control message protocol #define IPPROTO_ICMP 1 //< Control message protocol
#define IPPROTO_IGMP 2 //< Internet group management protocol #define IPPROTO_IGMP 2 //< Internet group management protocol
#define IPPROTO_GGP 3 //< Gateway^2 (deprecated) #define IPPROTO_GGP 3 //< Gateway^2 (deprecated)
@ -1994,7 +1994,7 @@ uint16_t getSn_RX_RSR(uint8_t sn);
///////////////////////////////////// /////////////////////////////////////
// Sn_TXBUF & Sn_RXBUF IO function // // Sn_TXBUF & Sn_RXBUF IO function //
///////////////////////////////////// /////////////////////////////////////
/** /**
* @brief Gets the max buffer size of socket sn passed as parameter. * @brief Gets the max buffer size of socket sn passed as parameter.
* @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>. * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
* @return uint16_t. Value of Socket n RX max buffer size. * @return uint16_t. Value of Socket n RX max buffer size.
@ -2002,7 +2002,7 @@ uint16_t getSn_RX_RSR(uint8_t sn);
#define getSn_RxMAX(sn) \ #define getSn_RxMAX(sn) \
(getSn_RXBUF_SIZE(sn) << 10) (getSn_RXBUF_SIZE(sn) << 10)
/** /**
* @brief Gets the max buffer size of socket sn passed as parameters. * @brief Gets the max buffer size of socket sn passed as parameters.
* @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>. * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
* @return uint16_t. Value of Socket n TX max buffer size. * @return uint16_t. Value of Socket n TX max buffer size.

View File

@ -1,4 +1,4 @@
//****************************************************************************/ //****************************************************************************/
//! //!
//! \file wizchip_conf.c //! \file wizchip_conf.c
//! \brief WIZCHIP Config Header File. //! \brief WIZCHIP Config Header File.
@ -17,30 +17,30 @@
//! //!
//! Copyright (c) 2013, WIZnet Co., LTD. //! Copyright (c) 2013, WIZnet Co., LTD.
//! All rights reserved. //! All rights reserved.
//! //!
//! Redistribution and use in source and binary forms, with or without //! Redistribution and use in source and binary forms, with or without
//! modification, are permitted provided that the following conditions //! modification, are permitted provided that the following conditions
//! are met: //! are met:
//! //!
//! * Redistributions of source code must retain the above copyright //! * Redistributions of source code must retain the above copyright
//! notice, this list of conditions and the following disclaimer. //! notice, this list of conditions and the following disclaimer.
//! * Redistributions in binary form must reproduce the above copyright //! * Redistributions in binary form must reproduce the above copyright
//! notice, this list of conditions and the following disclaimer in the //! notice, this list of conditions and the following disclaimer in the
//! documentation and/or other materials provided with the distribution. //! documentation and/or other materials provided with the distribution.
//! * Neither the name of the <ORGANIZATION> nor the names of its //! * Neither the name of the <ORGANIZATION> nor the names of its
//! contributors may be used to endorse or promote products derived //! contributors may be used to endorse or promote products derived
//! from this software without specific prior written permission. //! from this software without specific prior written permission.
//! //!
//! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" //! 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 //! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
//! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE //! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
//! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR //! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
//! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF //! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
//! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS //! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
//! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN //! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
//! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) //! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
//! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF //! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
//! THE POSSIBILITY OF SUCH DAMAGE. //! THE POSSIBILITY OF SUCH DAMAGE.
// //
//*****************************************************************************/ //*****************************************************************************/
@ -88,7 +88,7 @@ uint8_t wizchip_bus_readbyte(uint32_t AddrSel) { return * ((volatile uint8_t *)(
* @note This function help not to access wrong address. If you do not describe this function or register any functions, * @note This function help not to access wrong address. If you do not describe this function or register any functions,
* null function is called. * null function is called.
*/ */
//M20140501 : Explict pointer type casting //M20140501 : Explict pointer type casting
//void wizchip_bus_writebyte(uint32_t AddrSel, uint8_t wb) { *((volatile uint8_t*) AddrSel) = wb; }; //void wizchip_bus_writebyte(uint32_t AddrSel, uint8_t wb) { *((volatile uint8_t*) AddrSel) = wb; };
void wizchip_bus_writebyte(uint32_t AddrSel, uint8_t wb) { *((volatile uint8_t*)((ptrdiff_t)AddrSel)) = wb; }; void wizchip_bus_writebyte(uint32_t AddrSel, uint8_t wb) { *((volatile uint8_t*)((ptrdiff_t)AddrSel)) = wb; };
@ -160,7 +160,7 @@ void reg_wizchip_cs_cbfunc(void(*cs_sel)(void), void(*cs_desel)(void))
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(uint8_t(*bus_rb)(uint32_t addr), void (*bus_wb)(uint32_t addr, uint8_t wb))
{ {
while(!(WIZCHIP.if_mode & _WIZCHIP_IO_MODE_BUS_)); while(!(WIZCHIP.if_mode & _WIZCHIP_IO_MODE_BUS_));
if(!bus_rb || !bus_wb) if(!bus_rb || !bus_wb)
{ {
WIZCHIP.IF.BUS._read_byte = wizchip_bus_readbyte; WIZCHIP.IF.BUS._read_byte = wizchip_bus_readbyte;
@ -176,7 +176,7 @@ void reg_wizchip_bus_cbfunc(uint8_t(*bus_rb)(uint32_t addr), void (*bus_wb)(uint
void reg_wizchip_spi_cbfunc(void (*spi_rb)(uint8_t *, uint32_t), void (*spi_wb)(const uint8_t *, uint32_t)) void reg_wizchip_spi_cbfunc(void (*spi_rb)(uint8_t *, uint32_t), void (*spi_wb)(const uint8_t *, uint32_t))
{ {
while(!(WIZCHIP.if_mode & _WIZCHIP_IO_MODE_SPI_)); while(!(WIZCHIP.if_mode & _WIZCHIP_IO_MODE_SPI_));
if(!spi_rb || !spi_wb) if(!spi_rb || !spi_wb)
{ {
WIZCHIP.IF.SPI._read_bytes = wizchip_spi_readbytes; WIZCHIP.IF.SPI._read_bytes = wizchip_spi_readbytes;
@ -199,7 +199,7 @@ int8_t ctlwizchip(ctlwizchip_type cwtype, void* arg)
wizchip_sw_reset(); wizchip_sw_reset();
break; break;
case CW_INIT_WIZCHIP: case CW_INIT_WIZCHIP:
if(arg != 0) if(arg != 0)
{ {
ptmp[0] = (uint8_t*)arg; ptmp[0] = (uint8_t*)arg;
ptmp[1] = ptmp[0] + _WIZCHIP_SOCK_NUM_; ptmp[1] = ptmp[0] + _WIZCHIP_SOCK_NUM_;
@ -213,7 +213,7 @@ int8_t ctlwizchip(ctlwizchip_type cwtype, void* arg)
break; break;
case CW_SET_INTRMASK: case CW_SET_INTRMASK:
wizchip_setinterruptmask(*((intr_kind*)arg)); wizchip_setinterruptmask(*((intr_kind*)arg));
break; break;
case CW_GET_INTRMASK: case CW_GET_INTRMASK:
*((intr_kind*)arg) = wizchip_getinterruptmask(); *((intr_kind*)arg) = wizchip_getinterruptmask();
break; break;
@ -267,7 +267,7 @@ int8_t ctlwizchip(ctlwizchip_type cwtype, void* arg)
int8_t ctlnetwork(ctlnetwork_type cntype, void* arg) int8_t ctlnetwork(ctlnetwork_type cntype, void* arg)
{ {
switch(cntype) switch(cntype)
{ {
case CN_SET_NETINFO: case CN_SET_NETINFO:
@ -346,7 +346,7 @@ void wizchip_clrinterrupt(intr_kind intr)
#if _WIZCHIP_ == 5200 #if _WIZCHIP_ == 5200
ir |= (1 << 6); ir |= (1 << 6);
#endif #endif
#if _WIZCHIP_ < 5200 #if _WIZCHIP_ < 5200
sir &= 0x0F; sir &= 0x0F;
#endif #endif
@ -357,7 +357,7 @@ void wizchip_clrinterrupt(intr_kind intr)
#else #else
setIR(ir); setIR(ir);
setSIR(sir); setSIR(sir);
#endif #endif
} }
intr_kind wizchip_getinterrupt(void) intr_kind wizchip_getinterrupt(void)
@ -371,7 +371,7 @@ intr_kind wizchip_getinterrupt(void)
#else #else
ir = getIR(); ir = getIR();
sir = getSIR(); sir = getSIR();
#endif #endif
#if _WIZCHIP_ < 5500 #if _WIZCHIP_ < 5500
ir &= ~(1<<4); // IK_WOL ir &= ~(1<<4); // IK_WOL
@ -394,7 +394,7 @@ void wizchip_setinterruptmask(intr_kind intr)
#if _WIZCHIP_ == 5200 #if _WIZCHIP_ == 5200
imr &= ~(1 << 6); imr &= ~(1 << 6);
#endif #endif
#if _WIZCHIP_ < 5200 #if _WIZCHIP_ < 5200
simr &= 0x0F; simr &= 0x0F;
#endif #endif
@ -405,7 +405,7 @@ void wizchip_setinterruptmask(intr_kind intr)
#else #else
setIMR(imr); setIMR(imr);
setSIMR(simr); setSIMR(simr);
#endif #endif
} }
intr_kind wizchip_getinterruptmask(void) intr_kind wizchip_getinterruptmask(void)
@ -419,7 +419,7 @@ intr_kind wizchip_getinterruptmask(void)
#else #else
imr = getIMR(); imr = getIMR();
simr = getSIMR(); simr = getSIMR();
#endif #endif
#if _WIZCHIP_ < 5500 #if _WIZCHIP_ < 5500
imr &= ~(1<<4); // IK_WOL imr &= ~(1<<4); // IK_WOL
@ -459,12 +459,12 @@ int8_t wizphy_getphypmode(void)
#if _WIZCHIP_ == 5200 #if _WIZCHIP_ == 5200
if(getPHYSTATUS() & PHYSTATUS_POWERDOWN) if(getPHYSTATUS() & PHYSTATUS_POWERDOWN)
tmp = PHY_POWER_DOWN; tmp = PHY_POWER_DOWN;
else else
tmp = PHY_POWER_NORM; tmp = PHY_POWER_NORM;
#elif _WIZCHIP_ == 5500 #elif _WIZCHIP_ == 5500
if(getPHYCFGR() & PHYCFGR_OPMDC_PDOWN) if(getPHYCFGR() & PHYCFGR_OPMDC_PDOWN)
tmp = PHY_POWER_DOWN; tmp = PHY_POWER_DOWN;
else else
tmp = PHY_POWER_NORM; tmp = PHY_POWER_NORM;
#else #else
tmp = -1; tmp = -1;
@ -479,7 +479,7 @@ void wizphy_reset(void)
uint8_t tmp = getPHYCFGR(); uint8_t tmp = getPHYCFGR();
tmp &= PHYCFGR_RST; tmp &= PHYCFGR_RST;
setPHYCFGR(tmp); setPHYCFGR(tmp);
tmp = getPHYCFGR(); tmp = getPHYCFGR();
tmp |= ~PHYCFGR_RST; tmp |= ~PHYCFGR_RST;
setPHYCFGR(tmp); setPHYCFGR(tmp);
} }
@ -501,7 +501,7 @@ void wizphy_setphyconf(wiz_PhyConf* phyconf)
tmp |= PHYCFGR_OPMDC_100F; tmp |= PHYCFGR_OPMDC_100F;
else else
tmp |= PHYCFGR_OPMDC_10F; tmp |= PHYCFGR_OPMDC_10F;
} }
else else
{ {
if(phyconf->speed == PHY_SPEED_100) if(phyconf->speed == PHY_SPEED_100)
@ -522,7 +522,7 @@ void wizphy_getphyconf(wiz_PhyConf* phyconf)
switch(tmp & PHYCFGR_OPMDC_ALLA) switch(tmp & PHYCFGR_OPMDC_ALLA)
{ {
case PHYCFGR_OPMDC_ALLA: case PHYCFGR_OPMDC_ALLA:
case PHYCFGR_OPMDC_100FA: case PHYCFGR_OPMDC_100FA:
phyconf->mode = PHY_MODE_AUTONEGO; phyconf->mode = PHY_MODE_AUTONEGO;
break; break;
default: default:
@ -565,7 +565,7 @@ int8_t wizphy_setphypmode(uint8_t pmode)
uint8_t tmp = 0; uint8_t tmp = 0;
tmp = getPHYCFGR(); tmp = getPHYCFGR();
if((tmp & PHYCFGR_OPMD)== 0) return -1; if((tmp & PHYCFGR_OPMD)== 0) return -1;
tmp &= ~PHYCFGR_OPMDC_ALLA; tmp &= ~PHYCFGR_OPMDC_ALLA;
if( pmode == PHY_POWER_DOWN) if( pmode == PHY_POWER_DOWN)
tmp |= PHYCFGR_OPMDC_PDOWN; tmp |= PHYCFGR_OPMDC_PDOWN;
else else
@ -633,11 +633,11 @@ uint8_t *wizchip_getsubn(void) {
int8_t wizchip_setnetmode(netmode_type netmode) int8_t wizchip_setnetmode(netmode_type netmode)
{ {
uint8_t tmp = 0; uint8_t tmp = 0;
#if _WIZCHIP_ != 5500 #if _WIZCHIP_ != 5500
if(netmode & ~(NM_WAKEONLAN | NM_PPPOE | NM_PINGBLOCK)) return -1; if(netmode & ~(NM_WAKEONLAN | NM_PPPOE | NM_PINGBLOCK)) return -1;
#else #else
if(netmode & ~(NM_WAKEONLAN | NM_PPPOE | NM_PINGBLOCK | NM_FORCEARP)) return -1; if(netmode & ~(NM_WAKEONLAN | NM_PPPOE | NM_PINGBLOCK | NM_FORCEARP)) return -1;
#endif #endif
tmp = getMR(); tmp = getMR();
tmp |= (uint8_t)netmode; tmp |= (uint8_t)netmode;
setMR(tmp); setMR(tmp);

View File

@ -11,30 +11,30 @@
//! //!
//! Copyright (c) 2013, WIZnet Co., LTD. //! Copyright (c) 2013, WIZnet Co., LTD.
//! All rights reserved. //! All rights reserved.
//! //!
//! Redistribution and use in source and binary forms, with or without //! Redistribution and use in source and binary forms, with or without
//! modification, are permitted provided that the following conditions //! modification, are permitted provided that the following conditions
//! are met: //! are met:
//! //!
//! * Redistributions of source code must retain the above copyright //! * Redistributions of source code must retain the above copyright
//! notice, this list of conditions and the following disclaimer. //! notice, this list of conditions and the following disclaimer.
//! * Redistributions in binary form must reproduce the above copyright //! * Redistributions in binary form must reproduce the above copyright
//! notice, this list of conditions and the following disclaimer in the //! notice, this list of conditions and the following disclaimer in the
//! documentation and/or other materials provided with the distribution. //! documentation and/or other materials provided with the distribution.
//! * Neither the name of the <ORGANIZATION> nor the names of its //! * Neither the name of the <ORGANIZATION> nor the names of its
//! contributors may be used to endorse or promote products derived //! contributors may be used to endorse or promote products derived
//! from this software without specific prior written permission. //! from this software without specific prior written permission.
//! //!
//! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" //! 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 //! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
//! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE //! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
//! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR //! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
//! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF //! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
//! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS //! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
//! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN //! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
//! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) //! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
//! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF //! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
//! THE POSSIBILITY OF SUCH DAMAGE. //! THE POSSIBILITY OF SUCH DAMAGE.
// //
//***************************************************************************** //*****************************************************************************
@ -42,9 +42,9 @@
/** /**
* @defgroup extra_functions 2. WIZnet Extra Functions * @defgroup extra_functions 2. WIZnet Extra Functions
* *
* @brief These functions is optional function. It could be replaced at WIZCHIP I/O function because they were made by WIZCHIP I/O functions. * @brief These functions is optional function. It could be replaced at WIZCHIP I/O function because they were made by WIZCHIP I/O functions.
* @details There are functions of configuring WIZCHIP, network, interrupt, phy, network information and timer. \n * @details There are functions of configuring WIZCHIP, network, interrupt, phy, network information and timer. \n
* *
*/ */
#ifndef _WIZCHIP_CONF_H_ #ifndef _WIZCHIP_CONF_H_
@ -97,10 +97,10 @@
#include "w5200/w5200.h" #include "w5200/w5200.h"
#elif (_WIZCHIP_ == 5500) #elif (_WIZCHIP_ == 5500)
#define _WIZCHIP_ID_ "W5500\0" #define _WIZCHIP_ID_ "W5500\0"
/** /**
* @brief Define interface mode. \n * @brief Define interface mode. \n
* @todo Should select interface mode as chip. * @todo Should select interface mode as chip.
* - @ref \_WIZCHIP_IO_MODE_SPI_ \n * - @ref \_WIZCHIP_IO_MODE_SPI_ \n
* -@ref \_WIZCHIP_IO_MODE_SPI_VDM_ : Valid only in @ref \_WIZCHIP_ == 5500 \n * -@ref \_WIZCHIP_IO_MODE_SPI_VDM_ : Valid only in @ref \_WIZCHIP_ == 5500 \n
* -@ref \_WIZCHIP_IO_MODE_SPI_FDM_ : Valid only in @ref \_WIZCHIP_ == 5500 \n * -@ref \_WIZCHIP_IO_MODE_SPI_FDM_ : Valid only in @ref \_WIZCHIP_ == 5500 \n
@ -109,12 +109,12 @@
* - @ref \_WIZCHIP_IO_MODE_BUS_INDIR_ \n * - @ref \_WIZCHIP_IO_MODE_BUS_INDIR_ \n
* - Others will be defined in future. \n\n * - Others will be defined in future. \n\n
* ex> <code> #define \_WIZCHIP_IO_MODE_ \_WIZCHIP_IO_MODE_SPI_VDM_ </code> * ex> <code> #define \_WIZCHIP_IO_MODE_ \_WIZCHIP_IO_MODE_SPI_VDM_ </code>
* *
*/ */
//#define _WIZCHIP_IO_MODE_ _WIZCHIP_IO_MODE_SPI_FDM_ //#define _WIZCHIP_IO_MODE_ _WIZCHIP_IO_MODE_SPI_FDM_
#define _WIZCHIP_IO_MODE_ _WIZCHIP_IO_MODE_SPI_VDM_ #define _WIZCHIP_IO_MODE_ _WIZCHIP_IO_MODE_SPI_VDM_
#include "w5500/w5500.h" #include "w5500/w5500.h"
#else #else
#error "Unknown defined _WIZCHIP_. You should define one of 5100, 5200, and 5500 !!!" #error "Unknown defined _WIZCHIP_. You should define one of 5100, 5200, and 5500 !!!"
#endif #endif
@ -128,19 +128,19 @@
* @ref \_WIZCHIP_IO_MODE_BUS_DIR_, @ref \_WIZCHIP_IO_MODE_BUS_INDIR_). \n\n * @ref \_WIZCHIP_IO_MODE_BUS_DIR_, @ref \_WIZCHIP_IO_MODE_BUS_INDIR_). \n\n
* ex> <code> #define \_WIZCHIP_IO_BASE_ 0x00008000 </code> * ex> <code> #define \_WIZCHIP_IO_BASE_ 0x00008000 </code>
*/ */
#define _WIZCHIP_IO_BASE_ 0x00000000 // #define _WIZCHIP_IO_BASE_ 0x00000000 //
#if _WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_BUS_ #if _WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_BUS_
#ifndef _WIZCHIP_IO_BASE_ #ifndef _WIZCHIP_IO_BASE_
#error "You should be define _WIZCHIP_IO_BASE to fit your system memory map." #error "You should be define _WIZCHIP_IO_BASE to fit your system memory map."
#endif #endif
#endif #endif
#if _WIZCHIP_ > 5100 #if _WIZCHIP_ > 5100
#define _WIZCHIP_SOCK_NUM_ 8 ///< The count of independant socket of @b WIZCHIP #define _WIZCHIP_SOCK_NUM_ 8 ///< The count of independant socket of @b WIZCHIP
#else #else
#define _WIZCHIP_SOCK_NUM_ 4 ///< The count of independant socket of @b WIZCHIP #define _WIZCHIP_SOCK_NUM_ 4 ///< The count of independant socket of @b WIZCHIP
#endif #endif
/******************************************************** /********************************************************
@ -159,9 +159,9 @@ typedef struct __WIZCHIP
*/ */
struct _CRIS struct _CRIS
{ {
void (*_enter) (void); ///< crtical section enter void (*_enter) (void); ///< crtical section enter
void (*_exit) (void); ///< critial section exit void (*_exit) (void); ///< critial section exit
}CRIS; }CRIS;
/** /**
* The set of @ref\_WIZCHIP_ select control callback func. * The set of @ref\_WIZCHIP_ select control callback func.
*/ */
@ -169,20 +169,20 @@ typedef struct __WIZCHIP
{ {
void (*_select) (void); ///< @ref \_WIZCHIP_ selected void (*_select) (void); ///< @ref \_WIZCHIP_ selected
void (*_deselect)(void); ///< @ref \_WIZCHIP_ deselected void (*_deselect)(void); ///< @ref \_WIZCHIP_ deselected
}CS; }CS;
/** /**
* The set of interface IO callback func. * The set of interface IO callback func.
*/ */
union _IF union _IF
{ {
/** /**
* For BUS interface IO * For BUS interface IO
*/ */
struct struct
{ {
uint8_t (*_read_byte) (uint32_t AddrSel); uint8_t (*_read_byte) (uint32_t AddrSel);
void (*_write_byte) (uint32_t AddrSel, uint8_t wb); void (*_write_byte) (uint32_t AddrSel, uint8_t wb);
}BUS; }BUS;
/** /**
* For SPI interface IO * For SPI interface IO
*/ */
@ -210,13 +210,13 @@ typedef enum
CW_CLR_INTERRUPT, ///< Clears interrupt CW_CLR_INTERRUPT, ///< Clears interrupt
CW_SET_INTRMASK, ///< Masks interrupt CW_SET_INTRMASK, ///< Masks interrupt
CW_GET_INTRMASK, ///< Get interrupt mask CW_GET_INTRMASK, ///< Get interrupt mask
CW_SET_INTRTIME, ///< Set interval time between the current and next interrupt. CW_SET_INTRTIME, ///< Set interval time between the current and next interrupt.
CW_GET_INTRTIME, ///< Set interval time between the current and next interrupt. CW_GET_INTRTIME, ///< Set interval time between the current and next interrupt.
CW_GET_ID, ///< Gets WIZCHIP name. CW_GET_ID, ///< Gets WIZCHIP name.
#if _WIZCHIP_ == 5500 #if _WIZCHIP_ == 5500
CW_RESET_PHY, ///< Resets internal PHY. Valid Only W5000 CW_RESET_PHY, ///< Resets internal PHY. Valid Only W5000
CW_SET_PHYCONF, ///< When PHY configured by interal register, PHY operation mode (Manual/Auto, 10/100, Half/Full). Valid Only W5000 CW_SET_PHYCONF, ///< When PHY configured by interal register, PHY operation mode (Manual/Auto, 10/100, Half/Full). Valid Only W5000
CW_GET_PHYCONF, ///< Get PHY operation mode in interal register. Valid Only W5000 CW_GET_PHYCONF, ///< Get PHY operation mode in interal register. Valid Only W5000
CW_GET_PHYSTATUS, ///< Get real PHY status on operating. Valid Only W5000 CW_GET_PHYSTATUS, ///< Get real PHY status on operating. Valid Only W5000
CW_SET_PHYPOWMODE, ///< Set PHY power mode as noraml and down when PHYSTATUS.OPMD == 1. Valid Only W5000 CW_SET_PHYPOWMODE, ///< Set PHY power mode as noraml and down when PHYSTATUS.OPMD == 1. Valid Only W5000
@ -249,13 +249,13 @@ typedef enum
{ {
#if _WIZCHIP_ > 5200 #if _WIZCHIP_ > 5200
IK_WOL = (1 << 4), ///< Wake On Lan by receiving the magic packet. Valid in W500. IK_WOL = (1 << 4), ///< Wake On Lan by receiving the magic packet. Valid in W500.
#endif #endif
IK_PPPOE_TERMINATED = (1 << 5), ///< PPPoE Disconnected IK_PPPOE_TERMINATED = (1 << 5), ///< PPPoE Disconnected
#if _WIZCHIP_ != 5200 #if _WIZCHIP_ != 5200
IK_DEST_UNREACH = (1 << 6), ///< Destination IP & Port Unreable, No use in W5200 IK_DEST_UNREACH = (1 << 6), ///< Destination IP & Port Unreable, No use in W5200
#endif #endif
IK_IP_CONFLICT = (1 << 7), ///< IP conflict occurred IK_IP_CONFLICT = (1 << 7), ///< IP conflict occurred
@ -263,22 +263,22 @@ typedef enum
IK_SOCK_1 = (1 << 9), ///< Socket 1 interrupt IK_SOCK_1 = (1 << 9), ///< Socket 1 interrupt
IK_SOCK_2 = (1 << 10), ///< Socket 2 interrupt IK_SOCK_2 = (1 << 10), ///< Socket 2 interrupt
IK_SOCK_3 = (1 << 11), ///< Socket 3 interrupt IK_SOCK_3 = (1 << 11), ///< Socket 3 interrupt
#if _WIZCHIP_ > 5100 #if _WIZCHIP_ > 5100
IK_SOCK_4 = (1 << 12), ///< Socket 4 interrupt, No use in 5100 IK_SOCK_4 = (1 << 12), ///< Socket 4 interrupt, No use in 5100
IK_SOCK_5 = (1 << 13), ///< Socket 5 interrupt, No use in 5100 IK_SOCK_5 = (1 << 13), ///< Socket 5 interrupt, No use in 5100
IK_SOCK_6 = (1 << 14), ///< Socket 6 interrupt, No use in 5100 IK_SOCK_6 = (1 << 14), ///< Socket 6 interrupt, No use in 5100
IK_SOCK_7 = (1 << 15), ///< Socket 7 interrupt, No use in 5100 IK_SOCK_7 = (1 << 15), ///< Socket 7 interrupt, No use in 5100
#endif #endif
#if _WIZCHIP_ > 5100 #if _WIZCHIP_ > 5100
IK_SOCK_ALL = (0xFF << 8) ///< All Socket interrpt IK_SOCK_ALL = (0xFF << 8) ///< All Socket interrpt
#else #else
IK_SOCK_ALL = (0x0F << 8) ///< All Socket interrpt IK_SOCK_ALL = (0x0F << 8) ///< All Socket interrpt
#endif #endif
}intr_kind; }intr_kind;
#define PHY_CONFBY_HW 0 ///< Configured PHY operation mode by HW pin #define PHY_CONFBY_HW 0 ///< Configured PHY operation mode by HW pin
#define PHY_CONFBY_SW 1 ///< Configured PHY operation mode by SW register #define PHY_CONFBY_SW 1 ///< Configured PHY operation mode by SW register
#define PHY_MODE_MANUAL 0 ///< Configured PHY operation mode with user setting. #define PHY_MODE_MANUAL 0 ///< Configured PHY operation mode with user setting.
#define PHY_MODE_AUTONEGO 1 ///< Configured PHY operation mode with auto-negotiation #define PHY_MODE_AUTONEGO 1 ///< Configured PHY operation mode with auto-negotiation
#define PHY_SPEED_10 0 ///< Link Speed 10 #define PHY_SPEED_10 0 ///< Link Speed 10
@ -288,13 +288,13 @@ typedef enum
#define PHY_LINK_OFF 0 ///< Link Off #define PHY_LINK_OFF 0 ///< Link Off
#define PHY_LINK_ON 1 ///< Link On #define PHY_LINK_ON 1 ///< Link On
#define PHY_POWER_NORM 0 ///< PHY power normal mode #define PHY_POWER_NORM 0 ///< PHY power normal mode
#define PHY_POWER_DOWN 1 ///< PHY power down mode #define PHY_POWER_DOWN 1 ///< PHY power down mode
#if _WIZCHIP_ == 5500 #if _WIZCHIP_ == 5500
/** /**
* @ingroup DATA_TYPE * @ingroup DATA_TYPE
* It configures PHY configuration when CW_SET PHYCONF or CW_GET_PHYCONF in W5500, * It configures PHY configuration when CW_SET PHYCONF or CW_GET_PHYCONF in W5500,
* and it indicates the real PHY status configured by HW or SW in all WIZCHIP. \n * and it indicates the real PHY status configured by HW or SW in all WIZCHIP. \n
* Valid only in W5500. * Valid only in W5500.
*/ */
@ -303,11 +303,11 @@ typedef struct wiz_PhyConf_t
uint8_t by; ///< set by @ref PHY_CONFBY_HW or @ref PHY_CONFBY_SW uint8_t by; ///< set by @ref PHY_CONFBY_HW or @ref PHY_CONFBY_SW
uint8_t mode; ///< set by @ref PHY_MODE_MANUAL or @ref PHY_MODE_AUTONEGO uint8_t mode; ///< set by @ref PHY_MODE_MANUAL or @ref PHY_MODE_AUTONEGO
uint8_t speed; ///< set by @ref PHY_SPEED_10 or @ref PHY_SPEED_100 uint8_t speed; ///< set by @ref PHY_SPEED_10 or @ref PHY_SPEED_100
uint8_t duplex; ///< set by @ref PHY_DUPLEX_HALF @ref PHY_DUPLEX_FULL uint8_t duplex; ///< set by @ref PHY_DUPLEX_HALF @ref PHY_DUPLEX_FULL
//uint8_t power; ///< set by @ref PHY_POWER_NORM or @ref PHY_POWER_DOWN //uint8_t power; ///< set by @ref PHY_POWER_NORM or @ref PHY_POWER_DOWN
//uint8_t link; ///< Valid only in CW_GET_PHYSTATUS. set by @ref PHY_LINK_ON or PHY_DUPLEX_OFF //uint8_t link; ///< Valid only in CW_GET_PHYSTATUS. set by @ref PHY_LINK_ON or PHY_DUPLEX_OFF
}wiz_PhyConf; }wiz_PhyConf;
#endif #endif
/** /**
* @ingroup DATA_TYPE * @ingroup DATA_TYPE
@ -327,7 +327,7 @@ typedef struct wiz_NetInfo_t
{ {
uint8_t mac[6]; ///< Source Mac Address uint8_t mac[6]; ///< Source Mac Address
uint8_t ip[4]; ///< Source IP Address uint8_t ip[4]; ///< Source IP Address
uint8_t sn[4]; ///< Subnet Mask uint8_t sn[4]; ///< Subnet Mask
uint8_t gw[4]; ///< Gateway IP Address uint8_t gw[4]; ///< Gateway IP Address
uint8_t dns[4]; ///< DNS server IP Address uint8_t dns[4]; ///< DNS server IP Address
dhcp_mode dhcp; ///< 1 - Static, 2 - DHCP dhcp_mode dhcp; ///< 1 - Static, 2 - DHCP
@ -339,10 +339,10 @@ typedef struct wiz_NetInfo_t
*/ */
typedef enum typedef enum
{ {
#if _WIZCHIP_ == 5500 #if _WIZCHIP_ == 5500
NM_FORCEARP = (1<<1), ///< Force to APP send whenever udp data is sent. Valid only in W5500 NM_FORCEARP = (1<<1), ///< Force to APP send whenever udp data is sent. Valid only in W5500
#endif #endif
NM_WAKEONLAN = (1<<5), ///< Wake On Lan NM_WAKEONLAN = (1<<5), ///< Wake On Lan
NM_PINGBLOCK = (1<<4), ///< Block ping-request NM_PINGBLOCK = (1<<4), ///< Block ping-request
NM_PPPOE = (1<<3), ///< PPPoE mode NM_PPPOE = (1<<3), ///< PPPoE mode
}netmode_type; }netmode_type;
@ -353,7 +353,7 @@ typedef enum
*/ */
typedef struct wiz_NetTimeout_t typedef struct wiz_NetTimeout_t
{ {
uint8_t retry_cnt; ///< retry count uint8_t retry_cnt; ///< retry count
uint16_t time_100us; ///< time unit 100us uint16_t time_100us; ///< time unit 100us
}wiz_NetTimeout; }wiz_NetTimeout;
@ -389,8 +389,8 @@ void reg_wizchip_bus_cbfunc(uint8_t (*bus_rb)(uint32_t addr), void (*bus_wb)(uin
/** /**
*@brief Registers call back function for SPI interface. *@brief Registers call back function for SPI interface.
*@param spi_rb : callback function to read byte usig SPI *@param spi_rb : callback function to read byte usig SPI
*@param spi_wb : callback function to write byte usig SPI *@param spi_wb : callback function to write byte usig SPI
*@todo Describe \ref wizchip_spi_readbyte and \ref wizchip_spi_writebyte function *@todo Describe \ref wizchip_spi_readbyte and \ref wizchip_spi_writebyte function
*or register your functions. *or register your functions.
*@note If you do not describe or register, null function is called. *@note If you do not describe or register, null function is called.
@ -405,8 +405,8 @@ void reg_wizchip_spi_cbfunc(void (*spi_rb)(uint8_t *, uint32_t), void (*spi_wb)(
* @param cwtype : Decides to the control type * @param cwtype : Decides to the control type
* @param arg : arg type is dependent on cwtype. * @param arg : arg type is dependent on cwtype.
* @return 0 : Success \n * @return 0 : Success \n
* -1 : Fail because of invalid \ref ctlwizchip_type or unsupported \ref ctlwizchip_type in WIZCHIP * -1 : Fail because of invalid \ref ctlwizchip_type or unsupported \ref ctlwizchip_type in WIZCHIP
*/ */
int8_t ctlwizchip(ctlwizchip_type cwtype, void* arg); int8_t ctlwizchip(ctlwizchip_type cwtype, void* arg);
/** /**
@ -416,20 +416,20 @@ int8_t ctlwizchip(ctlwizchip_type cwtype, void* arg);
* @param cntype : Input. Decides to the control type * @param cntype : Input. Decides to the control type
* @param arg : Inout. arg type is dependent on cntype. * @param arg : Inout. arg type is dependent on cntype.
* @return -1 : Fail because of invalid \ref ctlnetwork_type or unsupported \ref ctlnetwork_type in WIZCHIP \n * @return -1 : Fail because of invalid \ref ctlnetwork_type or unsupported \ref ctlnetwork_type in WIZCHIP \n
* 0 : Success * 0 : Success
*/ */
int8_t ctlnetwork(ctlnetwork_type cntype, void* arg); int8_t ctlnetwork(ctlnetwork_type cntype, void* arg);
/* /*
* The following functions are implemented for internal use. * The following functions are implemented for internal use.
* but You can call these functions for code size reduction instead of ctlwizchip() and ctlnetwork(). * but You can call these functions for code size reduction instead of ctlwizchip() and ctlnetwork().
*/ */
/** /**
* @ingroup extra_functions * @ingroup extra_functions
* @brief Reset WIZCHIP by softly. * @brief Reset WIZCHIP by softly.
*/ */
void wizchip_sw_reset(void); void wizchip_sw_reset(void);
/** /**
@ -442,28 +442,28 @@ void wizchip_sw_reset(void);
*/ */
int8_t wizchip_init(uint8_t* txsize, uint8_t* rxsize); int8_t wizchip_init(uint8_t* txsize, uint8_t* rxsize);
/** /**
* @ingroup extra_functions * @ingroup extra_functions
* @brief Clear Interrupt of WIZCHIP. * @brief Clear Interrupt of WIZCHIP.
* @param intr : @ref intr_kind value operated OR. It can type-cast to uint16_t. * @param intr : @ref intr_kind value operated OR. It can type-cast to uint16_t.
*/ */
void wizchip_clrinterrupt(intr_kind intr); void wizchip_clrinterrupt(intr_kind intr);
/** /**
* @ingroup extra_functions * @ingroup extra_functions
* @brief Get Interrupt of WIZCHIP. * @brief Get Interrupt of WIZCHIP.
* @return @ref intr_kind value operated OR. It can type-cast to uint16_t. * @return @ref intr_kind value operated OR. It can type-cast to uint16_t.
*/ */
intr_kind wizchip_getinterrupt(void); intr_kind wizchip_getinterrupt(void);
/** /**
* @ingroup extra_functions * @ingroup extra_functions
* @brief Mask or Unmask Interrupt of WIZCHIP. * @brief Mask or Unmask Interrupt of WIZCHIP.
* @param intr : @ref intr_kind value operated OR. It can type-cast to uint16_t. * @param intr : @ref intr_kind value operated OR. It can type-cast to uint16_t.
*/ */
void wizchip_setinterruptmask(intr_kind intr); void wizchip_setinterruptmask(intr_kind intr);
/** /**
* @ingroup extra_functions * @ingroup extra_functions
* @brief Get Interrupt mask of WIZCHIP. * @brief Get Interrupt mask of WIZCHIP.
* @return : The operated OR vaule of @ref intr_kind. It can type-cast to uint16_t. * @return : The operated OR vaule of @ref intr_kind. It can type-cast to uint16_t.
@ -482,25 +482,25 @@ intr_kind wizchip_getinterruptmask(void);
* @brief Set the phy information for WIZCHIP without power mode * @brief Set the phy information for WIZCHIP without power mode
* @param phyconf : @ref wiz_PhyConf * @param phyconf : @ref wiz_PhyConf
*/ */
void wizphy_setphyconf(wiz_PhyConf* phyconf); void wizphy_setphyconf(wiz_PhyConf* phyconf);
/** /**
* @ingroup extra_functions * @ingroup extra_functions
* @brief Get phy configuration information. * @brief Get phy configuration information.
* @param phyconf : @ref wiz_PhyConf * @param phyconf : @ref wiz_PhyConf
*/ */
void wizphy_getphyconf(wiz_PhyConf* phyconf); void wizphy_getphyconf(wiz_PhyConf* phyconf);
/** /**
* @ingroup extra_functions * @ingroup extra_functions
* @brief Get phy status. * @brief Get phy status.
* @param phyconf : @ref wiz_PhyConf * @param phyconf : @ref wiz_PhyConf
*/ */
void wizphy_getphystat(wiz_PhyConf* phyconf); void wizphy_getphystat(wiz_PhyConf* phyconf);
/** /**
* @ingroup extra_functions * @ingroup extra_functions
* @brief set the power mode of phy inside WIZCHIP. Refer to @ref PHYCFGR in W5500, @ref PHYSTATUS in W5200 * @brief set the power mode of phy inside WIZCHIP. Refer to @ref PHYCFGR in W5500, @ref PHYSTATUS in W5200
* @param pmode Settig value of power down mode. * @param pmode Settig value of power down mode.
*/ */
int8_t wizphy_setphypmode(uint8_t pmode); int8_t wizphy_setphypmode(uint8_t pmode);
#endif #endif
/** /**
@ -523,14 +523,14 @@ uint8_t *wizchip_getsubn(void);
/** /**
* @ingroup extra_functions * @ingroup extra_functions
* @brief Set the network mode such WOL, PPPoE, Ping Block, and etc. * @brief Set the network mode such WOL, PPPoE, Ping Block, and etc.
* @param pnetinfo Value of network mode. Refer to @ref netmode_type. * @param pnetinfo Value of network mode. Refer to @ref netmode_type.
*/ */
int8_t wizchip_setnetmode(netmode_type netmode); int8_t wizchip_setnetmode(netmode_type netmode);
/** /**
* @ingroup extra_functions * @ingroup extra_functions
* @brief Get the network mode such WOL, PPPoE, Ping Block, and etc. * @brief Get the network mode such WOL, PPPoE, Ping Block, and etc.
* @return Value of network mode. Refer to @ref netmode_type. * @return Value of network mode. Refer to @ref netmode_type.
*/ */
netmode_type wizchip_getnetmode(void); netmode_type wizchip_getnetmode(void);
@ -538,16 +538,16 @@ netmode_type wizchip_getnetmode(void);
/** /**
* @ingroup extra_functions * @ingroup extra_functions
* @brief Set retry time value(@ref RTR) and retry count(@ref RCR). * @brief Set retry time value(@ref RTR) and retry count(@ref RCR).
* @details @ref RTR configures the retransmission timeout period and @ref RCR configures the number of time of retransmission. * @details @ref RTR configures the retransmission timeout period and @ref RCR configures the number of time of retransmission.
* @param nettime @ref RTR value and @ref RCR value. Refer to @ref wiz_NetTimeout. * @param nettime @ref RTR value and @ref RCR value. Refer to @ref wiz_NetTimeout.
*/ */
void wizchip_settimeout(wiz_NetTimeout* nettime); void wizchip_settimeout(wiz_NetTimeout* nettime);
/** /**
* @ingroup extra_functions * @ingroup extra_functions
* @brief Get retry time value(@ref RTR) and retry count(@ref RCR). * @brief Get retry time value(@ref RTR) and retry count(@ref RCR).
* @details @ref RTR configures the retransmission timeout period and @ref RCR configures the number of time of retransmission. * @details @ref RTR configures the retransmission timeout period and @ref RCR configures the number of time of retransmission.
* @param nettime @ref RTR value and @ref RCR value. Refer to @ref wiz_NetTimeout. * @param nettime @ref RTR value and @ref RCR value. Refer to @ref wiz_NetTimeout.
*/ */
void wizchip_gettimeout(wiz_NetTimeout* nettime); void wizchip_gettimeout(wiz_NetTimeout* nettime);

View File

@ -15,30 +15,30 @@
//! //!
//! Copyright (c) 2013, WIZnet Co., LTD. //! Copyright (c) 2013, WIZnet Co., LTD.
//! All rights reserved. //! All rights reserved.
//! //!
//! Redistribution and use in source and binary forms, with or without //! Redistribution and use in source and binary forms, with or without
//! modification, are permitted provided that the following conditions //! modification, are permitted provided that the following conditions
//! are met: //! are met:
//! //!
//! * Redistributions of source code must retain the above copyright //! * Redistributions of source code must retain the above copyright
//! notice, this list of conditions and the following disclaimer. //! notice, this list of conditions and the following disclaimer.
//! * Redistributions in binary form must reproduce the above copyright //! * Redistributions in binary form must reproduce the above copyright
//! notice, this list of conditions and the following disclaimer in the //! notice, this list of conditions and the following disclaimer in the
//! documentation and/or other materials provided with the distribution. //! documentation and/or other materials provided with the distribution.
//! * Neither the name of the <ORGANIZATION> nor the names of its //! * Neither the name of the <ORGANIZATION> nor the names of its
//! contributors may be used to endorse or promote products derived //! contributors may be used to endorse or promote products derived
//! from this software without specific prior written permission. //! from this software without specific prior written permission.
//! //!
//! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" //! 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 //! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
//! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE //! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
//! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR //! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
//! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF //! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
//! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS //! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
//! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN //! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
//! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) //! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
//! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF //! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
//! THE POSSIBILITY OF SUCH DAMAGE. //! THE POSSIBILITY OF SUCH DAMAGE.
// //
//***************************************************************************** //*****************************************************************************
@ -46,7 +46,7 @@
#define _DHCP_H_ #define _DHCP_H_
/* /*
* @brief * @brief
* @details If you want to display debug & processing message, Define _DHCP_DEBUG_ * @details If you want to display debug & processing message, Define _DHCP_DEBUG_
* @note If defined, it depends on <stdio.h> * @note If defined, it depends on <stdio.h>
*/ */
@ -65,7 +65,7 @@
#define DCHP_HOST_NAME "WIZnet\0" #define DCHP_HOST_NAME "WIZnet\0"
/* /*
* @brief return value of @ref DHCP_run() * @brief return value of @ref DHCP_run()
*/ */
enum enum
@ -74,7 +74,7 @@ enum
DHCP_RUNNING, ///< Processing DHCP protocol DHCP_RUNNING, ///< Processing DHCP protocol
DHCP_IP_ASSIGN, ///< First Occupy IP from DHPC server (if cbfunc == null, act as default default_ip_assign) DHCP_IP_ASSIGN, ///< First Occupy IP from DHPC server (if cbfunc == null, act as default default_ip_assign)
DHCP_IP_CHANGED, ///< Change IP address by new IP address from DHCP (if cbfunc == null, act as default default_ip_update) DHCP_IP_CHANGED, ///< Change IP address by new IP address from DHCP (if cbfunc == null, act as default default_ip_update)
DHCP_IP_LEASED, ///< Stand by DHCP_IP_LEASED, ///< Stand by
DHCP_STOPPED ///< Stop processing DHCP protocol DHCP_STOPPED ///< Stop processing DHCP protocol
}; };
@ -89,12 +89,12 @@ void DHCP_init(uint8_t s, DHCP_INIT_BUFFER_TYPE* buf);
/* /*
* @brief DHCP 1s Tick Timer handler * @brief DHCP 1s Tick Timer handler
* @note SHOULD BE register to your system 1s Tick timer handler * @note SHOULD BE register to your system 1s Tick timer handler
*/ */
void DHCP_time_handler(void); void DHCP_time_handler(void);
/* /*
* @brief Register call back function * @brief Register call back function
* @param ip_assign - callback func when IP is assigned from DHCP server first * @param ip_assign - callback func when IP is assigned from DHCP server first
* @param ip_update - callback func when IP is changed * @param ip_update - callback func when IP is changed
* @prarm ip_conflict - callback func when the assigned IP is conflict with others. * @prarm ip_conflict - callback func when the assigned IP is conflict with others.
@ -112,13 +112,13 @@ void reg_dhcp_cbfunc(void(*ip_assign)(void), void(*ip_update)(void), void(*ip_co
* @ref DHCP_STOPPED \n * @ref DHCP_STOPPED \n
* *
* @note This function is always called by you main task. * @note This function is always called by you main task.
*/ */
uint8_t DHCP_run(void); uint8_t DHCP_run(void);
/* /*
* @brief Stop DHCP processing * @brief Stop DHCP processing
* @note If you want to restart. call DHCP_init() and DHCP_run() * @note If you want to restart. call DHCP_init() and DHCP_run()
*/ */
void DHCP_stop(void); void DHCP_stop(void);
/* Get Network information assigned from DHCP server */ /* Get Network information assigned from DHCP server */

View File

@ -22,30 +22,30 @@
//! //!
//! Copyright (c) 2013, WIZnet Co., LTD. //! Copyright (c) 2013, WIZnet Co., LTD.
//! All rights reserved. //! All rights reserved.
//! //!
//! Redistribution and use in source and binary forms, with or without //! Redistribution and use in source and binary forms, with or without
//! modification, are permitted provided that the following conditions //! modification, are permitted provided that the following conditions
//! are met: //! are met:
//! //!
//! * Redistributions of source code must retain the above copyright //! * Redistributions of source code must retain the above copyright
//! notice, this list of conditions and the following disclaimer. //! notice, this list of conditions and the following disclaimer.
//! * Redistributions in binary form must reproduce the above copyright //! * Redistributions in binary form must reproduce the above copyright
//! notice, this list of conditions and the following disclaimer in the //! notice, this list of conditions and the following disclaimer in the
//! documentation and/or other materials provided with the distribution. //! documentation and/or other materials provided with the distribution.
//! * Neither the name of the <ORGANIZATION> nor the names of its //! * Neither the name of the <ORGANIZATION> nor the names of its
//! contributors may be used to endorse or promote products derived //! contributors may be used to endorse or promote products derived
//! from this software without specific prior written permission. //! from this software without specific prior written permission.
//! //!
//! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" //! 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 //! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
//! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE //! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
//! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR //! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
//! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF //! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
//! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS //! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
//! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN //! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
//! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) //! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
//! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF //! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
//! THE POSSIBILITY OF SUCH DAMAGE. //! THE POSSIBILITY OF SUCH DAMAGE.
// //
//***************************************************************************** //*****************************************************************************
@ -338,7 +338,7 @@ uint8_t * dns_answer(uint8_t * msg, uint8_t * cp, uint8_t * ip_from_dns)
* len - is the size of reply message. * len - is the size of reply message.
* Returns : -1 - Domain name length is too big * Returns : -1 - Domain name length is too big
* 0 - Fail (Timeout or parse error) * 0 - Fail (Timeout or parse error)
* 1 - Success, * 1 - Success,
*/ */
int8_t parseDNSMSG(struct dhdr * pdhdr, uint8_t * pbuf, uint8_t * ip_from_dns) int8_t parseDNSMSG(struct dhdr * pdhdr, uint8_t * pbuf, uint8_t * ip_from_dns)
{ {
@ -525,7 +525,7 @@ int8_t DNS_run(uint8_t * dns_ip, uint8_t * name, uint8_t * ip_from_dns)
int8_t ret_check_timeout; int8_t ret_check_timeout;
hal_sys_tick = HAL_GetTick(); hal_sys_tick = HAL_GetTick();
// Socket open // Socket open
WIZCHIP_EXPORT(socket)(DNS_SOCKET, Sn_MR_UDP, 0, 0); WIZCHIP_EXPORT(socket)(DNS_SOCKET, Sn_MR_UDP, 0, 0);

View File

@ -2,7 +2,7 @@
// //
//! \file dns.h //! \file dns.h
//! \brief DNS APIs Header file. //! \brief DNS APIs Header file.
//! \details Send DNS query & Receive DNS reponse. //! \details Send DNS query & Receive DNS reponse.
//! \version 1.1.0 //! \version 1.1.0
//! \date 2013/11/18 //! \date 2013/11/18
//! \par Revision history //! \par Revision history
@ -20,30 +20,30 @@
//! //!
//! Copyright (c) 2013, WIZnet Co., LTD. //! Copyright (c) 2013, WIZnet Co., LTD.
//! All rights reserved. //! All rights reserved.
//! //!
//! Redistribution and use in source and binary forms, with or without //! Redistribution and use in source and binary forms, with or without
//! modification, are permitted provided that the following conditions //! modification, are permitted provided that the following conditions
//! are met: //! are met:
//! //!
//! * Redistributions of source code must retain the above copyright //! * Redistributions of source code must retain the above copyright
//! notice, this list of conditions and the following disclaimer. //! notice, this list of conditions and the following disclaimer.
//! * Redistributions in binary form must reproduce the above copyright //! * Redistributions in binary form must reproduce the above copyright
//! notice, this list of conditions and the following disclaimer in the //! notice, this list of conditions and the following disclaimer in the
//! documentation and/or other materials provided with the distribution. //! documentation and/or other materials provided with the distribution.
//! * Neither the name of the <ORGANIZATION> nor the names of its //! * Neither the name of the <ORGANIZATION> nor the names of its
//! contributors may be used to endorse or promote products derived //! contributors may be used to endorse or promote products derived
//! from this software without specific prior written permission. //! from this software without specific prior written permission.
//! //!
//! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" //! 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 //! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
//! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE //! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
//! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR //! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
//! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF //! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
//! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS //! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
//! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN //! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
//! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) //! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
//! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF //! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
//! THE POSSIBILITY OF SUCH DAMAGE. //! THE POSSIBILITY OF SUCH DAMAGE.
// //
//***************************************************************************** //*****************************************************************************

View File

@ -27,7 +27,7 @@
#define MICROPY_INCLUDED_STM32_FONT_PETME128_8X8_H #define MICROPY_INCLUDED_STM32_FONT_PETME128_8X8_H
static const uint8_t font_petme128_8x8[] = { static const uint8_t font_petme128_8x8[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 32= 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 32=
0x00,0x00,0x00,0x4f,0x4f,0x00,0x00,0x00, // 33=! 0x00,0x00,0x00,0x4f,0x4f,0x00,0x00,0x00, // 33=!
0x00,0x07,0x07,0x00,0x00,0x07,0x07,0x00, // 34=" 0x00,0x07,0x07,0x00,0x00,0x07,0x07,0x00, // 34="
0x14,0x7f,0x7f,0x14,0x14,0x7f,0x7f,0x14, // 35=# 0x14,0x7f,0x7f,0x14,0x14,0x7f,0x7f,0x14, // 35=#

View File

@ -17,22 +17,22 @@
* *
* Developed at SunPro, a Sun Microsystems, Inc. business. * Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this * Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice * software is freely granted, provided that this notice
* is preserved. * is preserved.
* ==================================================== * ====================================================
* *
*/ */
/* __ieee754_rem_pio2f(x,y) /* __ieee754_rem_pio2f(x,y)
* *
* return the remainder of x rem pi/2 in y[0]+y[1] * return the remainder of x rem pi/2 in y[0]+y[1]
* use __kernel_rem_pio2f() * use __kernel_rem_pio2f()
*/ */
#include "fdlibm.h" #include "fdlibm.h"
/* /*
* Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi
*/ */
#ifdef __STDC__ #ifdef __STDC__
static const __int32_t two_over_pi[] = { static const __int32_t two_over_pi[] = {
@ -40,27 +40,27 @@ static const __int32_t two_over_pi[] = {
static __int32_t two_over_pi[] = { static __int32_t two_over_pi[] = {
#endif #endif
0xA2, 0xF9, 0x83, 0x6E, 0x4E, 0x44, 0x15, 0x29, 0xFC, 0xA2, 0xF9, 0x83, 0x6E, 0x4E, 0x44, 0x15, 0x29, 0xFC,
0x27, 0x57, 0xD1, 0xF5, 0x34, 0xDD, 0xC0, 0xDB, 0x62, 0x27, 0x57, 0xD1, 0xF5, 0x34, 0xDD, 0xC0, 0xDB, 0x62,
0x95, 0x99, 0x3C, 0x43, 0x90, 0x41, 0xFE, 0x51, 0x63, 0x95, 0x99, 0x3C, 0x43, 0x90, 0x41, 0xFE, 0x51, 0x63,
0xAB, 0xDE, 0xBB, 0xC5, 0x61, 0xB7, 0x24, 0x6E, 0x3A, 0xAB, 0xDE, 0xBB, 0xC5, 0x61, 0xB7, 0x24, 0x6E, 0x3A,
0x42, 0x4D, 0xD2, 0xE0, 0x06, 0x49, 0x2E, 0xEA, 0x09, 0x42, 0x4D, 0xD2, 0xE0, 0x06, 0x49, 0x2E, 0xEA, 0x09,
0xD1, 0x92, 0x1C, 0xFE, 0x1D, 0xEB, 0x1C, 0xB1, 0x29, 0xD1, 0x92, 0x1C, 0xFE, 0x1D, 0xEB, 0x1C, 0xB1, 0x29,
0xA7, 0x3E, 0xE8, 0x82, 0x35, 0xF5, 0x2E, 0xBB, 0x44, 0xA7, 0x3E, 0xE8, 0x82, 0x35, 0xF5, 0x2E, 0xBB, 0x44,
0x84, 0xE9, 0x9C, 0x70, 0x26, 0xB4, 0x5F, 0x7E, 0x41, 0x84, 0xE9, 0x9C, 0x70, 0x26, 0xB4, 0x5F, 0x7E, 0x41,
0x39, 0x91, 0xD6, 0x39, 0x83, 0x53, 0x39, 0xF4, 0x9C, 0x39, 0x91, 0xD6, 0x39, 0x83, 0x53, 0x39, 0xF4, 0x9C,
0x84, 0x5F, 0x8B, 0xBD, 0xF9, 0x28, 0x3B, 0x1F, 0xF8, 0x84, 0x5F, 0x8B, 0xBD, 0xF9, 0x28, 0x3B, 0x1F, 0xF8,
0x97, 0xFF, 0xDE, 0x05, 0x98, 0x0F, 0xEF, 0x2F, 0x11, 0x97, 0xFF, 0xDE, 0x05, 0x98, 0x0F, 0xEF, 0x2F, 0x11,
0x8B, 0x5A, 0x0A, 0x6D, 0x1F, 0x6D, 0x36, 0x7E, 0xCF, 0x8B, 0x5A, 0x0A, 0x6D, 0x1F, 0x6D, 0x36, 0x7E, 0xCF,
0x27, 0xCB, 0x09, 0xB7, 0x4F, 0x46, 0x3F, 0x66, 0x9E, 0x27, 0xCB, 0x09, 0xB7, 0x4F, 0x46, 0x3F, 0x66, 0x9E,
0x5F, 0xEA, 0x2D, 0x75, 0x27, 0xBA, 0xC7, 0xEB, 0xE5, 0x5F, 0xEA, 0x2D, 0x75, 0x27, 0xBA, 0xC7, 0xEB, 0xE5,
0xF1, 0x7B, 0x3D, 0x07, 0x39, 0xF7, 0x8A, 0x52, 0x92, 0xF1, 0x7B, 0x3D, 0x07, 0x39, 0xF7, 0x8A, 0x52, 0x92,
0xEA, 0x6B, 0xFB, 0x5F, 0xB1, 0x1F, 0x8D, 0x5D, 0x08, 0xEA, 0x6B, 0xFB, 0x5F, 0xB1, 0x1F, 0x8D, 0x5D, 0x08,
0x56, 0x03, 0x30, 0x46, 0xFC, 0x7B, 0x6B, 0xAB, 0xF0, 0x56, 0x03, 0x30, 0x46, 0xFC, 0x7B, 0x6B, 0xAB, 0xF0,
0xCF, 0xBC, 0x20, 0x9A, 0xF4, 0x36, 0x1D, 0xA9, 0xE3, 0xCF, 0xBC, 0x20, 0x9A, 0xF4, 0x36, 0x1D, 0xA9, 0xE3,
0x91, 0x61, 0x5E, 0xE6, 0x1B, 0x08, 0x65, 0x99, 0x85, 0x91, 0x61, 0x5E, 0xE6, 0x1B, 0x08, 0x65, 0x99, 0x85,
0x5F, 0x14, 0xA0, 0x68, 0x40, 0x8D, 0xFF, 0xD8, 0x80, 0x5F, 0x14, 0xA0, 0x68, 0x40, 0x8D, 0xFF, 0xD8, 0x80,
0x4D, 0x73, 0x27, 0x31, 0x06, 0x06, 0x15, 0x56, 0xCA, 0x4D, 0x73, 0x27, 0x31, 0x06, 0x06, 0x15, 0x56, 0xCA,
0x73, 0xA8, 0xC9, 0x60, 0xE2, 0x7B, 0xC0, 0x8C, 0x6B, 0x73, 0xA8, 0xC9, 0x60, 0xE2, 0x7B, 0xC0, 0x8C, 0x6B,
}; };
/* This array is like the one in e_rem_pio2.c, but the numbers are /* This array is like the one in e_rem_pio2.c, but the numbers are
@ -89,9 +89,9 @@ static __int32_t npio2_hw[] = {
*/ */
#ifdef __STDC__ #ifdef __STDC__
static const float static const float
#else #else
static float static float
#endif #endif
zero = 0.0000000000e+00, /* 0x00000000 */ zero = 0.0000000000e+00, /* 0x00000000 */
half = 5.0000000000e-01, /* 0x3f000000 */ half = 5.0000000000e-01, /* 0x3f000000 */
@ -121,7 +121,7 @@ pio2_3t = 6.1232342629e-17; /* 0x248d3132 */
if(ix<=0x3f490fd8) /* |x| ~<= pi/4 , no need for reduction */ if(ix<=0x3f490fd8) /* |x| ~<= pi/4 , no need for reduction */
{y[0] = x; y[1] = 0; return 0;} {y[0] = x; y[1] = 0; return 0;}
if(ix<0x4016cbe4) { /* |x| < 3pi/4, special case with n=+-1 */ if(ix<0x4016cbe4) { /* |x| < 3pi/4, special case with n=+-1 */
if(hx>0) { if(hx>0) {
z = x - pio2_1; z = x - pio2_1;
if((ix&0xfffffff0)!=0x3fc90fd0) { /* 24+24 bit pi OK */ if((ix&0xfffffff0)!=0x3fc90fd0) { /* 24+24 bit pi OK */
y[0] = z - pio2_1t; y[0] = z - pio2_1t;
@ -151,27 +151,27 @@ pio2_3t = 6.1232342629e-17; /* 0x248d3132 */
fn = (float)n; fn = (float)n;
r = t-fn*pio2_1; r = t-fn*pio2_1;
w = fn*pio2_1t; /* 1st round good to 40 bit */ w = fn*pio2_1t; /* 1st round good to 40 bit */
if(n<32&&(__int32_t)(ix&0xffffff00)!=npio2_hw[n-1]) { if(n<32&&(__int32_t)(ix&0xffffff00)!=npio2_hw[n-1]) {
y[0] = r-w; /* quick check no cancellation */ y[0] = r-w; /* quick check no cancellation */
} else { } else {
__uint32_t high; __uint32_t high;
j = ix>>23; j = ix>>23;
y[0] = r-w; y[0] = r-w;
GET_FLOAT_WORD(high,y[0]); GET_FLOAT_WORD(high,y[0]);
i = j-((high>>23)&0xff); i = j-((high>>23)&0xff);
if(i>8) { /* 2nd iteration needed, good to 57 */ if(i>8) { /* 2nd iteration needed, good to 57 */
t = r; t = r;
w = fn*pio2_2; w = fn*pio2_2;
r = t-w; r = t-w;
w = fn*pio2_2t-((t-r)-w); w = fn*pio2_2t-((t-r)-w);
y[0] = r-w; y[0] = r-w;
GET_FLOAT_WORD(high,y[0]); GET_FLOAT_WORD(high,y[0]);
i = j-((high>>23)&0xff); i = j-((high>>23)&0xff);
if(i>25) { /* 3rd iteration need, 74 bits acc */ if(i>25) { /* 3rd iteration need, 74 bits acc */
t = r; /* will cover all possible cases */ t = r; /* will cover all possible cases */
w = fn*pio2_3; w = fn*pio2_3;
r = t-w; r = t-w;
w = fn*pio2_3t-((t-r)-w); w = fn*pio2_3t-((t-r)-w);
y[0] = r-w; y[0] = r-w;
} }
} }
@ -180,7 +180,7 @@ pio2_3t = 6.1232342629e-17; /* 0x248d3132 */
if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;} if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;}
else return n; else return n;
} }
/* /*
* all other (large) arguments * all other (large) arguments
*/ */
if(!FLT_UWORD_IS_FINITE(ix)) { if(!FLT_UWORD_IS_FINITE(ix)) {

View File

@ -17,7 +17,7 @@
* *
* Developed at SunPro, a Sun Microsystems, Inc. business. * Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this * Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice * software is freely granted, provided that this notice
* is preserved. * is preserved.
* ==================================================== * ====================================================
*/ */
@ -74,12 +74,12 @@ float sqrtf(float x)
r = 0x01000000L; /* r = moving bit from right to left */ r = 0x01000000L; /* r = moving bit from right to left */
while(r!=0) { while(r!=0) {
t = s+r; t = s+r;
if(t<=ix) { if(t<=ix) {
s = t+r; s = t+r;
ix -= t; ix -= t;
q += r; q += r;
} }
ix += ix; ix += ix;
r>>=1; r>>=1;
} }

View File

@ -17,7 +17,7 @@
* *
* Developed at SunPro, a Sun Microsystems, Inc. business. * Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this * Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice * software is freely granted, provided that this notice
* is preserved. * is preserved.
* ==================================================== * ====================================================
* *
@ -29,9 +29,9 @@
#define __ieee754_logf logf #define __ieee754_logf logf
#ifdef __STDC__ #ifdef __STDC__
static const float static const float
#else #else
static float static float
#endif #endif
two23= 8.3886080000e+06, /* 0x4b000000 */ two23= 8.3886080000e+06, /* 0x4b000000 */
half= 5.0000000000e-01, /* 0x3f000000 */ half= 5.0000000000e-01, /* 0x3f000000 */
@ -144,9 +144,9 @@ static float zero= 0.0000000000e+00;
} }
switch (n) { switch (n) {
case 0: y = __kernel_sinf(pi*y,zero,0); break; case 0: y = __kernel_sinf(pi*y,zero,0); break;
case 1: case 1:
case 2: y = __kernel_cosf(pi*((float)0.5-y),zero); break; case 2: y = __kernel_cosf(pi*((float)0.5-y),zero); break;
case 3: case 3:
case 4: y = __kernel_sinf(pi*(one-y),zero,0); break; case 4: y = __kernel_sinf(pi*(one-y),zero,0); break;
case 5: case 5:
case 6: y = -__kernel_cosf(pi*(y-(float)1.5),zero); break; case 6: y = -__kernel_cosf(pi*(y-(float)1.5),zero); break;
@ -219,7 +219,7 @@ static float zero= 0.0000000000e+00;
p3 = t2+w*(t5+w*(t8+w*(t11+w*t14))); p3 = t2+w*(t5+w*(t8+w*(t11+w*t14)));
p = z*p1-(tt-w*(p2+y*p3)); p = z*p1-(tt-w*(p2+y*p3));
r += (tf + p); break; r += (tf + p); break;
case 2: case 2:
p1 = y*(u0+y*(u1+y*(u2+y*(u3+y*(u4+y*u5))))); p1 = y*(u0+y*(u1+y*(u2+y*(u3+y*(u4+y*u5)))));
p2 = one+y*(v1+y*(v2+y*(v3+y*(v4+y*v5)))); p2 = one+y*(v1+y*(v2+y*(v3+y*(v4+y*v5))));
r += (-(float)0.5*y + p1/p2); r += (-(float)0.5*y + p1/p2);
@ -248,7 +248,7 @@ static float zero= 0.0000000000e+00;
y = z*z; y = z*z;
w = w0+z*(w1+y*(w2+y*(w3+y*(w4+y*(w5+y*w6))))); w = w0+z*(w1+y*(w2+y*(w3+y*(w4+y*(w5+y*w6)))));
r = (x-half)*(t-one)+w; r = (x-half)*(t-one)+w;
} else } else
/* 2**58 <= x <= inf */ /* 2**58 <= x <= inf */
r = x*(__ieee754_logf(x)-one); r = x*(__ieee754_logf(x)-one);
if(hx<0) r = nadj - r; if(hx<0) r = nadj - r;

View File

@ -15,7 +15,7 @@
* *
* Developed at SunPro, a Sun Microsystems, Inc. business. * Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this * Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice * software is freely granted, provided that this notice
* is preserved. * is preserved.
* ==================================================== * ====================================================
*/ */
@ -136,12 +136,12 @@
#define __P(p) () #define __P(p) ()
#endif #endif
/* /*
* set X_TLOSS = pi*2**52, which is possibly defined in <values.h> * set X_TLOSS = pi*2**52, which is possibly defined in <values.h>
* (one may replace the following line by "#include <values.h>") * (one may replace the following line by "#include <values.h>")
*/ */
#define X_TLOSS 1.41484755040568800000e+16 #define X_TLOSS 1.41484755040568800000e+16
/* Functions that are not documented, and are not in <math.h>. */ /* Functions that are not documented, and are not in <math.h>. */
@ -154,13 +154,13 @@ extern float scalbf __P((float, float));
extern float significandf __P((float)); extern float significandf __P((float));
/* ieee style elementary float functions */ /* ieee style elementary float functions */
extern float __ieee754_sqrtf __P((float)); extern float __ieee754_sqrtf __P((float));
extern float __ieee754_acosf __P((float)); extern float __ieee754_acosf __P((float));
extern float __ieee754_acoshf __P((float)); extern float __ieee754_acoshf __P((float));
extern float __ieee754_logf __P((float)); extern float __ieee754_logf __P((float));
extern float __ieee754_atanhf __P((float)); extern float __ieee754_atanhf __P((float));
extern float __ieee754_asinf __P((float)); extern float __ieee754_asinf __P((float));
extern float __ieee754_atan2f __P((float,float)); extern float __ieee754_atan2f __P((float,float));
extern float __ieee754_expf __P((float)); extern float __ieee754_expf __P((float));
extern float __ieee754_coshf __P((float)); extern float __ieee754_coshf __P((float));
extern float __ieee754_fmodf __P((float,float)); extern float __ieee754_fmodf __P((float,float));

View File

@ -17,7 +17,7 @@
* *
* Developed at SunPro, a Sun Microsystems, Inc. business. * Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this * Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice * software is freely granted, provided that this notice
* is preserved. * is preserved.
* ==================================================== * ====================================================
*/ */
@ -25,9 +25,9 @@
#include "fdlibm.h" #include "fdlibm.h"
#ifdef __STDC__ #ifdef __STDC__
static const float static const float
#else #else
static float static float
#endif #endif
one = 1.0000000000e+00, /* 0x3f800000 */ one = 1.0000000000e+00, /* 0x3f800000 */
C1 = 4.1666667908e-02, /* 0x3d2aaaab */ C1 = 4.1666667908e-02, /* 0x3d2aaaab */
@ -53,7 +53,7 @@ C6 = -1.1359647598e-11; /* 0xad47d74e */
} }
z = x*x; z = x*x;
r = z*(C1+z*(C2+z*(C3+z*(C4+z*(C5+z*C6))))); r = z*(C1+z*(C2+z*(C3+z*(C4+z*(C5+z*C6)))));
if(ix < 0x3e99999a) /* if |x| < 0.3 */ if(ix < 0x3e99999a) /* if |x| < 0.3 */
return one - ((float)0.5*z - (z*r - x*y)); return one - ((float)0.5*z - (z*r - x*y));
else { else {
if(ix > 0x3f480000) { /* x > 0.78125 */ if(ix > 0x3f480000) { /* x > 0.78125 */

View File

@ -17,7 +17,7 @@
* *
* Developed at SunPro, a Sun Microsystems, Inc. business. * Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this * Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice * software is freely granted, provided that this notice
* is preserved. * is preserved.
* ==================================================== * ====================================================
*/ */
@ -30,7 +30,7 @@
#ifdef __STDC__ #ifdef __STDC__
static const int init_jk[] = {4,7,9}; /* initial value for jk */ static const int init_jk[] = {4,7,9}; /* initial value for jk */
#else #else
static int init_jk[] = {4,7,9}; static int init_jk[] = {4,7,9};
#endif #endif
#ifdef __STDC__ #ifdef __STDC__
@ -52,9 +52,9 @@ static float PIo2[] = {
}; };
#ifdef __STDC__ #ifdef __STDC__
static const float static const float
#else #else
static float static float
#endif #endif
zero = 0.0, zero = 0.0,
one = 1.0, one = 1.0,
@ -62,9 +62,9 @@ two8 = 2.5600000000e+02, /* 0x43800000 */
twon8 = 3.9062500000e-03; /* 0x3b800000 */ twon8 = 3.9062500000e-03; /* 0x3b800000 */
#ifdef __STDC__ #ifdef __STDC__
int __kernel_rem_pio2f(float *x, float *y, int e0, int nx, int prec, const __int32_t *ipio2) int __kernel_rem_pio2f(float *x, float *y, int e0, int nx, int prec, const __int32_t *ipio2)
#else #else
int __kernel_rem_pio2f(x,y,e0,nx,prec,ipio2) int __kernel_rem_pio2f(x,y,e0,nx,prec,ipio2)
float x[], y[]; int e0,nx,prec; __int32_t ipio2[]; float x[], y[]; int e0,nx,prec; __int32_t ipio2[];
#endif #endif
{ {
@ -109,7 +109,7 @@ recompute:
i = (iq[jz-1]>>(8-q0)); n += i; i = (iq[jz-1]>>(8-q0)); n += i;
iq[jz-1] -= i<<(8-q0); iq[jz-1] -= i<<(8-q0);
ih = iq[jz-1]>>(7-q0); ih = iq[jz-1]>>(7-q0);
} }
else if(q0==0) ih = iq[jz-1]>>8; else if(q0==0) ih = iq[jz-1]>>8;
else if(z>=(float)0.5) ih=2; else if(z>=(float)0.5) ih=2;
@ -141,7 +141,7 @@ recompute:
#pragma GCC diagnostic push #pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wfloat-equal" #pragma GCC diagnostic ignored "-Wfloat-equal"
if(z==zero) { if(z==zero) {
#pragma GCC diagnostic pop #pragma GCC diagnostic pop
j = 0; j = 0;
for (i=jz-1;i>=jk;i--) j |= iq[i]; for (i=jz-1;i>=jk;i--) j |= iq[i];
if(j==0) { /* need recomputation */ if(j==0) { /* need recomputation */
@ -166,7 +166,7 @@ recompute:
while(iq[jz]==0) { jz--; q0-=8;} while(iq[jz]==0) { jz--; q0-=8;}
} else { /* break z into 8-bit if necessary */ } else { /* break z into 8-bit if necessary */
z = scalbnf(z,-(int)q0); z = scalbnf(z,-(int)q0);
if(z>=two8) { if(z>=two8) {
fw = (float)((__int32_t)(twon8*z)); fw = (float)((__int32_t)(twon8*z));
iq[jz] = (__int32_t)(z-two8*fw); iq[jz] = (__int32_t)(z-two8*fw);
jz += 1; q0 += 8; jz += 1; q0 += 8;
@ -191,29 +191,29 @@ recompute:
case 0: case 0:
fw = 0.0; fw = 0.0;
for (i=jz;i>=0;i--) fw += fq[i]; for (i=jz;i>=0;i--) fw += fq[i];
y[0] = (ih==0)? fw: -fw; y[0] = (ih==0)? fw: -fw;
break; break;
case 1: case 1:
case 2: case 2:
fw = 0.0; fw = 0.0;
for (i=jz;i>=0;i--) fw += fq[i]; for (i=jz;i>=0;i--) fw += fq[i];
y[0] = (ih==0)? fw: -fw; y[0] = (ih==0)? fw: -fw;
fw = fq[0]-fw; fw = fq[0]-fw;
for (i=1;i<=jz;i++) fw += fq[i]; for (i=1;i<=jz;i++) fw += fq[i];
y[1] = (ih==0)? fw: -fw; y[1] = (ih==0)? fw: -fw;
break; break;
case 3: /* painful */ case 3: /* painful */
for (i=jz;i>0;i--) { for (i=jz;i>0;i--) {
fw = fq[i-1]+fq[i]; fw = fq[i-1]+fq[i];
fq[i] += fq[i-1]-fw; fq[i] += fq[i-1]-fw;
fq[i-1] = fw; fq[i-1] = fw;
} }
for (i=jz;i>1;i--) { for (i=jz;i>1;i--) {
fw = fq[i-1]+fq[i]; fw = fq[i-1]+fq[i];
fq[i] += fq[i-1]-fw; fq[i] += fq[i-1]-fw;
fq[i-1] = fw; fq[i-1] = fw;
} }
for (fw=0.0,i=jz;i>=2;i--) fw += fq[i]; for (fw=0.0,i=jz;i>=2;i--) fw += fq[i];
if(ih==0) { if(ih==0) {
y[0] = fq[0]; y[1] = fq[1]; y[2] = fw; y[0] = fq[0]; y[1] = fq[1]; y[2] = fw;
} else { } else {

View File

@ -17,7 +17,7 @@
* *
* Developed at SunPro, a Sun Microsystems, Inc. business. * Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this * Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice * software is freely granted, provided that this notice
* is preserved. * is preserved.
* ==================================================== * ====================================================
*/ */
@ -25,9 +25,9 @@
#include "fdlibm.h" #include "fdlibm.h"
#ifdef __STDC__ #ifdef __STDC__
static const float static const float
#else #else
static float static float
#endif #endif
half = 5.0000000000e-01,/* 0x3f000000 */ half = 5.0000000000e-01,/* 0x3f000000 */
S1 = -1.6666667163e-01, /* 0xbe2aaaab */ S1 = -1.6666667163e-01, /* 0xbe2aaaab */

View File

@ -17,16 +17,16 @@
* *
* Developed at SunPro, a Sun Microsystems, Inc. business. * Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this * Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice * software is freely granted, provided that this notice
* is preserved. * is preserved.
* ==================================================== * ====================================================
*/ */
#include "libm.h" #include "libm.h"
#ifdef __STDC__ #ifdef __STDC__
static const float static const float
#else #else
static float static float
#endif #endif
one = 1.0000000000e+00, /* 0x3f800000 */ one = 1.0000000000e+00, /* 0x3f800000 */
pio4 = 7.8539812565e-01, /* 0x3f490fda */ pio4 = 7.8539812565e-01, /* 0x3f490fda */
@ -87,7 +87,7 @@ T[] = {
return (float)(1-((hx>>30)&2))*(v-(float)2.0*(x-(w*w/(w+v)-r))); return (float)(1-((hx>>30)&2))*(v-(float)2.0*(x-(w*w/(w+v)-r)));
} }
if(iy==1) return w; if(iy==1) return w;
else { /* if allow error up to 2 ulp, else { /* if allow error up to 2 ulp,
simply return -1.0/(x+r) here */ simply return -1.0/(x+r) here */
/* compute -1.0/(x+r) accurately */ /* compute -1.0/(x+r) accurately */
float a,t; float a,t;

View File

@ -17,7 +17,7 @@
* *
* Developed at SunPro, a Sun Microsystems, Inc. business. * Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this * Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice * software is freely granted, provided that this notice
* is preserved. * is preserved.
* ==================================================== * ====================================================
*/ */

View File

@ -17,7 +17,7 @@
* *
* Developed at SunPro, a Sun Microsystems, Inc. business. * Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this * Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice * software is freely granted, provided that this notice
* is preserved. * is preserved.
* ==================================================== * ====================================================
*/ */
@ -57,7 +57,7 @@ qq3 = 5.0813062117e-03, /* 0x3ba68116 */
qq4 = 1.3249473704e-04, /* 0x390aee49 */ qq4 = 1.3249473704e-04, /* 0x390aee49 */
qq5 = -3.9602282413e-06, /* 0xb684e21a */ qq5 = -3.9602282413e-06, /* 0xb684e21a */
/* /*
* Coefficients for approximation to erf in [0.84375,1.25] * Coefficients for approximation to erf in [0.84375,1.25]
*/ */
pa0 = -2.3621185683e-03, /* 0xbb1acdc6 */ pa0 = -2.3621185683e-03, /* 0xbb1acdc6 */
pa1 = 4.1485610604e-01, /* 0x3ed46805 */ pa1 = 4.1485610604e-01, /* 0x3ed46805 */
@ -110,9 +110,9 @@ sb6 = 4.7452853394e+02, /* 0x43ed43a7 */
sb7 = -2.2440952301e+01; /* 0xc1b38712 */ sb7 = -2.2440952301e+01; /* 0xc1b38712 */
#ifdef __STDC__ #ifdef __STDC__
float erff(float x) float erff(float x)
#else #else
float erff(x) float erff(x)
float x; float x;
#endif #endif
{ {
@ -127,7 +127,7 @@ sb7 = -2.2440952301e+01; /* 0xc1b38712 */
if(ix < 0x3f580000) { /* |x|<0.84375 */ if(ix < 0x3f580000) { /* |x|<0.84375 */
if(ix < 0x31800000) { /* |x|<2**-28 */ if(ix < 0x31800000) { /* |x|<2**-28 */
if (ix < 0x04000000) if (ix < 0x04000000)
/*avoid underflow */ /*avoid underflow */
return (float)0.125*((float)8.0*x+efx8*x); return (float)0.125*((float)8.0*x+efx8*x);
return x + efx*x; return x + efx*x;
@ -167,9 +167,9 @@ sb7 = -2.2440952301e+01; /* 0xc1b38712 */
} }
#ifdef __STDC__ #ifdef __STDC__
float erfcf(float x) float erfcf(float x)
#else #else
float erfcf(x) float erfcf(x)
float x; float x;
#endif #endif
{ {
@ -202,7 +202,7 @@ sb7 = -2.2440952301e+01; /* 0xc1b38712 */
P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6))))); P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6))))); Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
if(hx>=0) { if(hx>=0) {
z = one-erx; return z - P/Q; z = one-erx; return z - P/Q;
} else { } else {
z = erx+P/Q; return one+z; z = erx+P/Q; return one+z;
} }

View File

@ -17,7 +17,7 @@
* *
* Developed at SunPro, a Sun Microsystems, Inc. business. * Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this * Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice * software is freely granted, provided that this notice
* is preserved. * is preserved.
* ==================================================== * ====================================================
*/ */

View File

@ -17,7 +17,7 @@
* *
* Developed at SunPro, a Sun Microsystems, Inc. business. * Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this * Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice * software is freely granted, provided that this notice
* is preserved. * is preserved.
* ==================================================== * ====================================================
*/ */

View File

@ -17,7 +17,7 @@
* *
* Developed at SunPro, a Sun Microsystems, Inc. business. * Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this * Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice * software is freely granted, provided that this notice
* is preserved. * is preserved.
* ==================================================== * ====================================================
*/ */

View File

@ -17,7 +17,7 @@
* *
* Developed at SunPro, a Sun Microsystems, Inc. business. * Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this * Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice * software is freely granted, provided that this notice
* is preserved. * is preserved.
* ==================================================== * ====================================================
*/ */

View File

@ -17,7 +17,7 @@
* *
* Developed at SunPro, a Sun Microsystems, Inc. business. * Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this * Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice * software is freely granted, provided that this notice
* is preserved. * is preserved.
* ==================================================== * ====================================================
*/ */

View File

@ -17,7 +17,7 @@
* *
* Developed at SunPro, a Sun Microsystems, Inc. business. * Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this * Permission to use, copy, modify, and distribute this
* software is freely granted, provided that this notice * software is freely granted, provided that this notice
* is preserved. * is preserved.
* ==================================================== * ====================================================
* *
@ -44,7 +44,7 @@
y = __ieee754_lgammaf_r(x,&(_REENT_SIGNGAM(_REENT))); y = __ieee754_lgammaf_r(x,&(_REENT_SIGNGAM(_REENT)));
if(_LIB_VERSION == _IEEE_) return y; if(_LIB_VERSION == _IEEE_) return y;
if(!finitef(y)&&finitef(x)) { if(!finitef(y)&&finitef(x)) {
#ifndef HUGE_VAL #ifndef HUGE_VAL
#define HUGE_VAL inf #define HUGE_VAL inf
double inf = 0.0; double inf = 0.0;
@ -77,11 +77,11 @@
} }
if (exc.err != 0) if (exc.err != 0)
errno = exc.err; errno = exc.err;
return (float)exc.retval; return (float)exc.retval;
} else } else
return y; return y;
#endif #endif
} }
#ifdef _DOUBLE_IS_32BITS #ifdef _DOUBLE_IS_32BITS

View File

@ -8,5 +8,3 @@ int __signbitd(double x)
} y = { x }; } y = { x };
return y.i>>63; return y.i>>63;
} }

View File

@ -25,4 +25,3 @@ $(BUILD)/memzip-files.c: $(shell find ${MEMZIP_DIR} -type f)
@$(ECHO) "Creating $@" @$(ECHO) "Creating $@"
$(Q)$(PYTHON) $(MAKE_MEMZIP) --zip-file $(BUILD)/memzip-files.zip --c-file $@ $(MEMZIP_DIR) $(Q)$(PYTHON) $(MAKE_MEMZIP) --zip-file $(BUILD)/memzip-files.zip --c-file $@ $(MEMZIP_DIR)
``` ```

View File

@ -16,4 +16,3 @@ mp_lexer_t *mp_lexer_new_from_file(const char *filename)
return mp_lexer_new_from_str_len(qstr_from_str(filename), (const char *)data, (mp_uint_t)len, 0); return mp_lexer_new_from_str_len(qstr_from_str(filename), (const char *)data, (mp_uint_t)len, 0);
} }

View File

@ -76,4 +76,3 @@ def main():
if __name__ == "__main__": if __name__ == "__main__":
main() main()

View File

@ -385,4 +385,3 @@ WCHAR ff_wtoupper ( /* Returns upper converted character */
return chr; return chr;
} }

View File

@ -15,4 +15,3 @@ You can get the latest version using Git, by pulling from
Patches are welcome. Patches that turn this from tinytest to hugetest Patches are welcome. Patches that turn this from tinytest to hugetest
will not be applied. If you want a huge test framework, use CUnit. will not be applied. If you want a huge test framework, use CUnit.

View File

@ -474,4 +474,3 @@ tinytest_set_test_skipped_(void)
if (cur_test_outcome==OK) if (cur_test_outcome==OK)
cur_test_outcome = SKIP; cur_test_outcome = SKIP;
} }

View File

@ -368,4 +368,4 @@
id="g5465"><path id="g5465"><path
id="path5467" id="path5467"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 0,0 C 1.069,-0.604 2.001,-3.052 2.61,-6.566 2.596,-6.436 2.585,-6.304 2.571,-6.173 2.43,-4.877 2.259,-3.587 2.062,-2.304 1.874,-1.02 1.655,0.257 1.4,1.521 1.151,2.784 0.866,4.036 0.524,5.259 c -0.336,1.22 -0.722,2.422 -1.205,3.525 -0.243,0.548 -0.503,1.077 -0.792,1.529 -0.278,0.448 -0.623,0.838 -0.84,0.961 -0.04,0.026 -0.067,0.038 -0.087,0.044 l -0.072,-0.004 c -0.043,-0.015 0.108,0.01 0.067,-10e-4 0.002,0 -0.016,-0.009 -0.05,-0.03 C -2.604,11.21 -2.939,10.854 -3.202,10.421 -3.755,9.534 -4.186,8.371 -4.556,7.206 -4.924,6.027 -5.222,4.799 -5.471,3.554 -5.718,2.307 -5.938,1.046 -6.115,-0.226 c -0.179,-1.272 -0.32,-2.552 -0.447,-3.836 -0.241,-2.571 -0.389,-5.158 -0.452,-7.75 l -0.037,-1.519 -1.451,-0.058 -2.032,-0.081 c 0.304,-0.178 0.607,-0.357 0.91,-0.536 l 5.116,-3.091 c 0.042,-0.025 0.083,-0.051 0.126,-0.077 -0.004,0.309 -0.007,0.619 -0.007,0.933 0,6.707 0.952,12.47 2.316,15.006 -0.071,-0.657 -0.11,-1.382 -0.11,-2.149 0,-1.433 0.136,-2.731 0.356,-3.677 0.224,-0.964 0.537,-1.563 0.883,-1.563 0.468,0 0.878,1.107 1.088,2.738 0.095,0.743 0.15,1.596 0.15,2.502 0,1.29 -0.111,2.47 -0.294,3.384" /></g></g></g></g></svg> d="M 0,0 C 1.069,-0.604 2.001,-3.052 2.61,-6.566 2.596,-6.436 2.585,-6.304 2.571,-6.173 2.43,-4.877 2.259,-3.587 2.062,-2.304 1.874,-1.02 1.655,0.257 1.4,1.521 1.151,2.784 0.866,4.036 0.524,5.259 c -0.336,1.22 -0.722,2.422 -1.205,3.525 -0.243,0.548 -0.503,1.077 -0.792,1.529 -0.278,0.448 -0.623,0.838 -0.84,0.961 -0.04,0.026 -0.067,0.038 -0.087,0.044 l -0.072,-0.004 c -0.043,-0.015 0.108,0.01 0.067,-10e-4 0.002,0 -0.016,-0.009 -0.05,-0.03 C -2.604,11.21 -2.939,10.854 -3.202,10.421 -3.755,9.534 -4.186,8.371 -4.556,7.206 -4.924,6.027 -5.222,4.799 -5.471,3.554 -5.718,2.307 -5.938,1.046 -6.115,-0.226 c -0.179,-1.272 -0.32,-2.552 -0.447,-3.836 -0.241,-2.571 -0.389,-5.158 -0.452,-7.75 l -0.037,-1.519 -1.451,-0.058 -2.032,-0.081 c 0.304,-0.178 0.607,-0.357 0.91,-0.536 l 5.116,-3.091 c 0.042,-0.025 0.083,-0.051 0.126,-0.077 -0.004,0.309 -0.007,0.619 -0.007,0.933 0,6.707 0.952,12.47 2.316,15.006 -0.071,-0.657 -0.11,-1.382 -0.11,-2.149 0,-1.433 0.136,-2.731 0.356,-3.677 0.224,-0.964 0.537,-1.563 0.883,-1.563 0.468,0 0.878,1.107 1.088,2.738 0.095,0.743 0.15,1.596 0.15,2.502 0,1.29 -0.111,2.47 -0.294,3.384" /></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB

View File

@ -413,4 +413,4 @@
id="g10457"><path id="g10457"><path
id="path10459" id="path10459"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 0,0 3.99,1.09 7.954,2.26 6.252,1.855 1.671,0.496 5.787,1.717 -6.001,1.541 C 18.416,9.277 17.168,9.536 15.924,9.82 l -2.158,0.484 c -0.021,0.944 -0.06,1.888 -0.122,2.832 -0.103,1.462 -0.252,2.923 -0.469,4.38 -0.431,2.912 -1.074,5.82 -2.162,8.645 -0.537,1.413 -1.186,2.807 -2,4.159 -0.825,1.343 -1.814,2.67 -3.237,3.775 -1.408,1.107 -3.488,1.847 -5.552,1.385 -2.006,-0.444 -3.459,-1.684 -4.511,-2.921 -0.382,-0.455 -0.719,-0.925 -1.035,-1.401 -0.161,0.064 -0.317,0.123 -0.49,0.191 -0.304,0.124 -0.619,0.252 -0.938,0.382 -0.342,0.124 -0.626,0.295 -0.931,0.464 -0.311,0.174 -0.621,0.349 -0.927,0.52 -0.312,0.177 -0.557,0.393 -0.837,0.59 -0.261,0.205 -0.563,0.392 -0.768,0.611 -0.228,0.219 -0.444,0.427 -0.643,0.618 -0.199,0.198 -0.341,0.401 -0.493,0.579 -0.153,0.179 -0.267,0.34 -0.351,0.479 -0.189,0.278 -0.271,0.463 -0.271,0.463 0,0 -0.041,-0.186 -0.054,-0.536 -0.016,-0.18 -0.02,-0.399 -10e-4,-0.64 0.017,-0.242 0.015,-0.536 0.061,-0.838 0.053,-0.307 0.111,-0.64 0.171,-0.991 0.051,-0.371 0.187,-0.708 0.294,-1.093 0.122,-0.373 0.226,-0.795 0.392,-1.174 0.171,-0.384 0.345,-0.775 0.52,-1.165 0.18,-0.395 0.36,-0.808 0.585,-1.154 0.221,-0.365 0.438,-0.724 0.647,-1.071 0.217,-0.347 0.423,-0.703 0.638,-1.01 0.225,-0.294 0.438,-0.572 0.635,-0.829 0.05,-0.063 0.095,-0.121 0.144,-0.182 -0.112,-0.354 -0.235,-0.705 -0.335,-1.06 -0.809,-2.85 -1.251,-5.746 -1.455,-8.64 -0.105,-1.446 -0.169,-2.891 -0.148,-4.334 0.024,-1.456 0.071,-2.878 0.216,-4.314 0.096,-1.433 0.329,-2.854 0.552,-4.269 0.237,-1.421 0.562,-2.802 0.925,-4.181 l -0.1,2.134 -0.038,2.122 c -0.002,0.546 0.007,1.094 0.017,1.641 0.015,0.862 0.041,1.723 0.087,2.581 0.049,1.399 0.169,2.813 0.321,4.189 0.154,1.389 0.324,2.771 0.567,4.139 0.489,2.732 1.141,5.425 2.041,7.984 0.458,1.276 0.988,2.514 1.606,3.673 0.626,1.146 1.309,2.247 2.121,3.11 0.797,0.88 1.722,1.465 2.52,1.585 0.19,0.038 0.42,0.041 0.571,0.022 l 0.265,-0.021 c 0.096,-0.007 0.077,-0.026 0.121,-0.034 0.053,-0.018 0.11,-0.023 0.224,-0.07 0.393,-0.131 0.799,-0.37 1.208,-0.684 0.817,-0.647 1.571,-1.621 2.203,-2.7 0.633,-1.087 1.175,-2.279 1.626,-3.522 0.459,-1.242 0.816,-2.536 1.155,-3.841 0.333,-1.307 0.603,-2.639 0.821,-3.985 0.443,-2.69 0.633,-5.433 0.716,-8.178 L 9.918,7.053 11.459,6.811 12.605,6.63 11.046,6.059 4.729,3.658 3.317,3.122 2.445,2.78 c 0.027,0.486 0.045,0.979 0.045,1.484 0,3.923 -0.828,7.348 -2.062,9.241 -0.378,-0.966 -0.901,-1.567 -1.479,-1.567 -0.787,0 -1.465,1.122 -1.819,2.756 -1.821,-1.229 -3.165,-5.426 -3.165,-10.43 0,-1.679 0.156,-3.261 0.425,-4.678 -0.762,-0.31 -1.523,-0.62 -2.283,-0.933 -1.383,-0.57 -2.763,-1.147 -4.136,-1.744 2.692,0.631 5.363,1.323 8.034,2.018 z" /></g></g></g></g></svg> d="m 0,0 3.99,1.09 7.954,2.26 6.252,1.855 1.671,0.496 5.787,1.717 -6.001,1.541 C 18.416,9.277 17.168,9.536 15.924,9.82 l -2.158,0.484 c -0.021,0.944 -0.06,1.888 -0.122,2.832 -0.103,1.462 -0.252,2.923 -0.469,4.38 -0.431,2.912 -1.074,5.82 -2.162,8.645 -0.537,1.413 -1.186,2.807 -2,4.159 -0.825,1.343 -1.814,2.67 -3.237,3.775 -1.408,1.107 -3.488,1.847 -5.552,1.385 -2.006,-0.444 -3.459,-1.684 -4.511,-2.921 -0.382,-0.455 -0.719,-0.925 -1.035,-1.401 -0.161,0.064 -0.317,0.123 -0.49,0.191 -0.304,0.124 -0.619,0.252 -0.938,0.382 -0.342,0.124 -0.626,0.295 -0.931,0.464 -0.311,0.174 -0.621,0.349 -0.927,0.52 -0.312,0.177 -0.557,0.393 -0.837,0.59 -0.261,0.205 -0.563,0.392 -0.768,0.611 -0.228,0.219 -0.444,0.427 -0.643,0.618 -0.199,0.198 -0.341,0.401 -0.493,0.579 -0.153,0.179 -0.267,0.34 -0.351,0.479 -0.189,0.278 -0.271,0.463 -0.271,0.463 0,0 -0.041,-0.186 -0.054,-0.536 -0.016,-0.18 -0.02,-0.399 -10e-4,-0.64 0.017,-0.242 0.015,-0.536 0.061,-0.838 0.053,-0.307 0.111,-0.64 0.171,-0.991 0.051,-0.371 0.187,-0.708 0.294,-1.093 0.122,-0.373 0.226,-0.795 0.392,-1.174 0.171,-0.384 0.345,-0.775 0.52,-1.165 0.18,-0.395 0.36,-0.808 0.585,-1.154 0.221,-0.365 0.438,-0.724 0.647,-1.071 0.217,-0.347 0.423,-0.703 0.638,-1.01 0.225,-0.294 0.438,-0.572 0.635,-0.829 0.05,-0.063 0.095,-0.121 0.144,-0.182 -0.112,-0.354 -0.235,-0.705 -0.335,-1.06 -0.809,-2.85 -1.251,-5.746 -1.455,-8.64 -0.105,-1.446 -0.169,-2.891 -0.148,-4.334 0.024,-1.456 0.071,-2.878 0.216,-4.314 0.096,-1.433 0.329,-2.854 0.552,-4.269 0.237,-1.421 0.562,-2.802 0.925,-4.181 l -0.1,2.134 -0.038,2.122 c -0.002,0.546 0.007,1.094 0.017,1.641 0.015,0.862 0.041,1.723 0.087,2.581 0.049,1.399 0.169,2.813 0.321,4.189 0.154,1.389 0.324,2.771 0.567,4.139 0.489,2.732 1.141,5.425 2.041,7.984 0.458,1.276 0.988,2.514 1.606,3.673 0.626,1.146 1.309,2.247 2.121,3.11 0.797,0.88 1.722,1.465 2.52,1.585 0.19,0.038 0.42,0.041 0.571,0.022 l 0.265,-0.021 c 0.096,-0.007 0.077,-0.026 0.121,-0.034 0.053,-0.018 0.11,-0.023 0.224,-0.07 0.393,-0.131 0.799,-0.37 1.208,-0.684 0.817,-0.647 1.571,-1.621 2.203,-2.7 0.633,-1.087 1.175,-2.279 1.626,-3.522 0.459,-1.242 0.816,-2.536 1.155,-3.841 0.333,-1.307 0.603,-2.639 0.821,-3.985 0.443,-2.69 0.633,-5.433 0.716,-8.178 L 9.918,7.053 11.459,6.811 12.605,6.63 11.046,6.059 4.729,3.658 3.317,3.122 2.445,2.78 c 0.027,0.486 0.045,0.979 0.045,1.484 0,3.923 -0.828,7.348 -2.062,9.241 -0.378,-0.966 -0.901,-1.567 -1.479,-1.567 -0.787,0 -1.465,1.122 -1.819,2.756 -1.821,-1.229 -3.165,-5.426 -3.165,-10.43 0,-1.679 0.156,-3.261 0.425,-4.678 -0.762,-0.31 -1.523,-0.62 -2.283,-0.933 -1.383,-0.57 -2.763,-1.147 -4.136,-1.744 2.692,0.631 5.363,1.323 8.034,2.018 z" /></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 90 KiB

View File

@ -5873,4 +5873,4 @@
id="g10145"><path id="g10145"><path
id="path10147" id="path10147"
style="fill:#e90e8b;fill-opacity:1;fill-rule:nonzero;stroke:none" style="fill:#e90e8b;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 0,0 C 0.588,-0.108 1.194,-0.158 1.804,-0.242 2.11,-0.279 2.417,-0.317 2.727,-0.355 3.036,-0.389 3.349,-0.4 3.661,-0.424 c 0.627,-0.036 1.26,-0.09 1.894,-0.113 0.635,-0.015 1.274,-0.029 1.911,-0.044 0.638,-0.006 1.275,0.033 1.91,0.047 0.211,0.005 0.421,0.014 0.631,0.024 0.422,0.019 0.843,0.043 1.26,0.074 1.254,0.063 2.474,0.241 3.658,0.376 1.179,0.171 2.316,0.346 3.384,0.567 0.534,0.106 1.053,0.211 1.555,0.311 0.498,0.119 0.98,0.233 1.442,0.343 0.925,0.209 1.764,0.446 2.506,0.656 0.746,0.201 1.386,0.4 1.912,0.57 1.052,0.335 1.649,0.545 1.649,0.545 0,0 -0.63,-0.064 -1.726,-0.21 C 24.558,2.58 22.998,2.378 21.128,2.136 20.195,2.012 19.184,1.904 18.116,1.781 17.583,1.715 17.034,1.661 16.474,1.617 15.913,1.563 15.341,1.509 14.759,1.454 14.177,1.413 13.585,1.371 12.986,1.328 12.388,1.277 11.78,1.276 11.17,1.233 10.56,1.196 9.944,1.169 9.326,1.167 8.708,1.164 8.088,1.135 7.468,1.15 6.848,1.155 6.228,1.16 5.61,1.165 4.993,1.179 4.38,1.221 3.77,1.246 3.159,1.27 2.556,1.32 1.96,1.364 1.364,1.417 0.771,1.436 0.194,1.514 -0.96,1.655 -2.084,1.757 -3.14,1.932 -4.2,2.075 -5.197,2.258 -6.121,2.419 -7.048,2.568 -7.884,2.77 -8.636,2.912 c -0.751,0.147 -1.403,0.292 -1.938,0.42 -0.39,0.09 -0.719,0.162 -0.982,0.219 -0.462,0.099 -0.716,0.149 -0.716,0.149 0,0 0.573,-0.264 1.593,-0.696 0.256,-0.108 0.539,-0.228 0.847,-0.358 C -9.523,2.517 -9.181,2.408 -8.817,2.274 -8.089,2.021 -7.274,1.697 -6.354,1.452 -6.342,1.448 -6.327,1.444 -6.315,1.44 -6.533,1.319 -6.751,1.192 -6.967,1.062 -7.001,1.04 -7.035,1.021 -7.069,1 -7.28,0.87 -7.489,0.733 -7.696,0.594 -7.744,0.562 -7.792,0.532 -7.84,0.499 -8.087,0.329 -8.332,0.153 -8.573,-0.031 -9.037,-0.36 -9.46,-0.744 -9.901,-1.114 c -0.414,-0.398 -0.842,-0.791 -1.231,-1.223 -0.406,-0.417 -0.769,-0.868 -1.15,-1.314 -0.355,-0.459 -0.713,-0.926 -1.033,-1.411 -0.333,-0.479 -0.649,-0.97 -0.946,-1.469 -0.894,-1.497 -1.638,-3.068 -2.293,-4.639 -0.111,-0.263 -0.217,-0.525 -0.32,-0.788 -0.309,-0.789 -0.588,-1.58 -0.865,-2.372 -0.186,-0.536 -0.364,-1.053 -0.524,-1.56 -0.114,-0.363 -0.22,-0.721 -0.329,-1.08 v -0.001 c -0.001,-0.002 -0.002,-0.006 -0.003,-0.008 -0.293,-0.912 -0.583,-1.816 -0.869,-2.709 -0.14,-0.448 -0.291,-0.875 -0.436,-1.307 -0.147,-0.43 -0.279,-0.864 -0.433,-1.276 -0.576,-1.684 -1.217,-3.232 -1.908,-4.655 -0.178,-0.352 -0.354,-0.7 -0.527,-1.043 -0.194,-0.328 -0.385,-0.65 -0.573,-0.967 -0.094,-0.16 -0.186,-0.32 -0.278,-0.477 -0.105,-0.148 -0.207,-0.294 -0.31,-0.439 -0.204,-0.294 -0.404,-0.581 -0.601,-0.864 -0.209,-0.27 -0.432,-0.521 -0.642,-0.777 -0.218,-0.246 -0.404,-0.522 -0.636,-0.736 -0.452,-0.436 -0.857,-0.897 -1.295,-1.264 -0.445,-0.37 -0.861,-0.717 -1.245,-1.037 -0.412,-0.287 -0.79,-0.55 -1.131,-0.788 -0.176,-0.12 -0.334,-0.245 -0.5,-0.344 -0.168,-0.098 -0.326,-0.19 -0.472,-0.274 -0.294,-0.17 -0.542,-0.315 -0.744,-0.433 -0.403,-0.242 -0.617,-0.371 -0.617,-0.371 0,0 0.248,0.04 0.71,0.116 0.23,0.041 0.515,0.092 0.848,0.152 0.167,0.031 0.347,0.063 0.537,0.097 0.191,0.044 0.389,0.115 0.603,0.178 0.427,0.129 0.903,0.285 1.428,0.459 0.502,0.205 1.029,0.463 1.608,0.726 0.298,0.121 0.566,0.306 0.856,0.48 0.289,0.178 0.588,0.361 0.893,0.55 0.318,0.176 0.584,0.43 0.89,0.656 0.184,0.147 0.377,0.297 0.569,0.45 0.002,10e-4 0.002,0.002 0.004,0.003 0,0 0,-0.002 -0.001,-0.002 -0.139,-0.39 -0.28,-0.769 -0.427,-1.136 -0.56,-1.452 -1.203,-2.72 -1.855,-3.808 -0.655,-1.084 -1.326,-1.986 -1.944,-2.682 -0.148,-0.181 -0.303,-0.337 -0.447,-0.487 -0.147,-0.148 -0.273,-0.303 -0.404,-0.428 -0.263,-0.251 -0.48,-0.479 -0.676,-0.646 -0.386,-0.344 -0.592,-0.527 -0.592,-0.527 0,0 0.256,0.101 0.737,0.29 0.468,0.21 1.185,0.528 2.006,1.068 0.105,0.066 0.21,0.134 0.318,0.208 0.757,0.507 1.613,1.175 2.467,2.049 0.978,0.995 1.973,2.238 2.879,3.693 0.458,0.726 0.88,1.508 1.308,2.321 0.411,0.819 0.801,1.678 1.185,2.564 0.254,0.606 0.497,1.231 0.738,1.863 0.112,0.293 0.224,0.584 0.335,0.883 0.117,0.316 0.228,0.64 0.34,0.963 0.21,0.601 0.416,1.207 0.624,1.818 0.009,0.03 0.019,0.059 0.03,0.089 0.624,1.917 1.269,3.897 1.926,5.91 0.164,0.493 0.338,0.985 0.511,1.472 0.08,0.225 0.161,0.452 0.241,0.679 0.179,0.481 0.359,0.957 0.54,1.433 0.063,0.168 0.127,0.335 0.19,0.501 0.213,0.555 0.429,1.105 0.652,1.647 0.7,1.744 1.496,3.394 2.375,4.916 0.234,0.368 0.441,0.761 0.692,1.108 0.244,0.352 0.488,0.703 0.73,1.052 0.534,0.646 1.044,1.311 1.635,1.871 0.543,0.619 1.203,1.078 1.793,1.613 0.318,0.235 0.649,0.449 0.97,0.675 0.16,0.112 0.321,0.223 0.479,0.334 0.165,0.102 0.338,0.192 0.504,0.288 0.338,0.191 0.67,0.381 0.998,0.566 0.325,0.196 0.686,0.312 1.018,0.479 0.218,0.099 0.429,0.196 0.641,0.295 C -0.259,0.043 -0.169,0.028 -0.078,0.013 -0.052,0.009 -0.026,0.004 0,0" /></g></g></g></g></svg> d="M 0,0 C 0.588,-0.108 1.194,-0.158 1.804,-0.242 2.11,-0.279 2.417,-0.317 2.727,-0.355 3.036,-0.389 3.349,-0.4 3.661,-0.424 c 0.627,-0.036 1.26,-0.09 1.894,-0.113 0.635,-0.015 1.274,-0.029 1.911,-0.044 0.638,-0.006 1.275,0.033 1.91,0.047 0.211,0.005 0.421,0.014 0.631,0.024 0.422,0.019 0.843,0.043 1.26,0.074 1.254,0.063 2.474,0.241 3.658,0.376 1.179,0.171 2.316,0.346 3.384,0.567 0.534,0.106 1.053,0.211 1.555,0.311 0.498,0.119 0.98,0.233 1.442,0.343 0.925,0.209 1.764,0.446 2.506,0.656 0.746,0.201 1.386,0.4 1.912,0.57 1.052,0.335 1.649,0.545 1.649,0.545 0,0 -0.63,-0.064 -1.726,-0.21 C 24.558,2.58 22.998,2.378 21.128,2.136 20.195,2.012 19.184,1.904 18.116,1.781 17.583,1.715 17.034,1.661 16.474,1.617 15.913,1.563 15.341,1.509 14.759,1.454 14.177,1.413 13.585,1.371 12.986,1.328 12.388,1.277 11.78,1.276 11.17,1.233 10.56,1.196 9.944,1.169 9.326,1.167 8.708,1.164 8.088,1.135 7.468,1.15 6.848,1.155 6.228,1.16 5.61,1.165 4.993,1.179 4.38,1.221 3.77,1.246 3.159,1.27 2.556,1.32 1.96,1.364 1.364,1.417 0.771,1.436 0.194,1.514 -0.96,1.655 -2.084,1.757 -3.14,1.932 -4.2,2.075 -5.197,2.258 -6.121,2.419 -7.048,2.568 -7.884,2.77 -8.636,2.912 c -0.751,0.147 -1.403,0.292 -1.938,0.42 -0.39,0.09 -0.719,0.162 -0.982,0.219 -0.462,0.099 -0.716,0.149 -0.716,0.149 0,0 0.573,-0.264 1.593,-0.696 0.256,-0.108 0.539,-0.228 0.847,-0.358 C -9.523,2.517 -9.181,2.408 -8.817,2.274 -8.089,2.021 -7.274,1.697 -6.354,1.452 -6.342,1.448 -6.327,1.444 -6.315,1.44 -6.533,1.319 -6.751,1.192 -6.967,1.062 -7.001,1.04 -7.035,1.021 -7.069,1 -7.28,0.87 -7.489,0.733 -7.696,0.594 -7.744,0.562 -7.792,0.532 -7.84,0.499 -8.087,0.329 -8.332,0.153 -8.573,-0.031 -9.037,-0.36 -9.46,-0.744 -9.901,-1.114 c -0.414,-0.398 -0.842,-0.791 -1.231,-1.223 -0.406,-0.417 -0.769,-0.868 -1.15,-1.314 -0.355,-0.459 -0.713,-0.926 -1.033,-1.411 -0.333,-0.479 -0.649,-0.97 -0.946,-1.469 -0.894,-1.497 -1.638,-3.068 -2.293,-4.639 -0.111,-0.263 -0.217,-0.525 -0.32,-0.788 -0.309,-0.789 -0.588,-1.58 -0.865,-2.372 -0.186,-0.536 -0.364,-1.053 -0.524,-1.56 -0.114,-0.363 -0.22,-0.721 -0.329,-1.08 v -0.001 c -0.001,-0.002 -0.002,-0.006 -0.003,-0.008 -0.293,-0.912 -0.583,-1.816 -0.869,-2.709 -0.14,-0.448 -0.291,-0.875 -0.436,-1.307 -0.147,-0.43 -0.279,-0.864 -0.433,-1.276 -0.576,-1.684 -1.217,-3.232 -1.908,-4.655 -0.178,-0.352 -0.354,-0.7 -0.527,-1.043 -0.194,-0.328 -0.385,-0.65 -0.573,-0.967 -0.094,-0.16 -0.186,-0.32 -0.278,-0.477 -0.105,-0.148 -0.207,-0.294 -0.31,-0.439 -0.204,-0.294 -0.404,-0.581 -0.601,-0.864 -0.209,-0.27 -0.432,-0.521 -0.642,-0.777 -0.218,-0.246 -0.404,-0.522 -0.636,-0.736 -0.452,-0.436 -0.857,-0.897 -1.295,-1.264 -0.445,-0.37 -0.861,-0.717 -1.245,-1.037 -0.412,-0.287 -0.79,-0.55 -1.131,-0.788 -0.176,-0.12 -0.334,-0.245 -0.5,-0.344 -0.168,-0.098 -0.326,-0.19 -0.472,-0.274 -0.294,-0.17 -0.542,-0.315 -0.744,-0.433 -0.403,-0.242 -0.617,-0.371 -0.617,-0.371 0,0 0.248,0.04 0.71,0.116 0.23,0.041 0.515,0.092 0.848,0.152 0.167,0.031 0.347,0.063 0.537,0.097 0.191,0.044 0.389,0.115 0.603,0.178 0.427,0.129 0.903,0.285 1.428,0.459 0.502,0.205 1.029,0.463 1.608,0.726 0.298,0.121 0.566,0.306 0.856,0.48 0.289,0.178 0.588,0.361 0.893,0.55 0.318,0.176 0.584,0.43 0.89,0.656 0.184,0.147 0.377,0.297 0.569,0.45 0.002,10e-4 0.002,0.002 0.004,0.003 0,0 0,-0.002 -0.001,-0.002 -0.139,-0.39 -0.28,-0.769 -0.427,-1.136 -0.56,-1.452 -1.203,-2.72 -1.855,-3.808 -0.655,-1.084 -1.326,-1.986 -1.944,-2.682 -0.148,-0.181 -0.303,-0.337 -0.447,-0.487 -0.147,-0.148 -0.273,-0.303 -0.404,-0.428 -0.263,-0.251 -0.48,-0.479 -0.676,-0.646 -0.386,-0.344 -0.592,-0.527 -0.592,-0.527 0,0 0.256,0.101 0.737,0.29 0.468,0.21 1.185,0.528 2.006,1.068 0.105,0.066 0.21,0.134 0.318,0.208 0.757,0.507 1.613,1.175 2.467,2.049 0.978,0.995 1.973,2.238 2.879,3.693 0.458,0.726 0.88,1.508 1.308,2.321 0.411,0.819 0.801,1.678 1.185,2.564 0.254,0.606 0.497,1.231 0.738,1.863 0.112,0.293 0.224,0.584 0.335,0.883 0.117,0.316 0.228,0.64 0.34,0.963 0.21,0.601 0.416,1.207 0.624,1.818 0.009,0.03 0.019,0.059 0.03,0.089 0.624,1.917 1.269,3.897 1.926,5.91 0.164,0.493 0.338,0.985 0.511,1.472 0.08,0.225 0.161,0.452 0.241,0.679 0.179,0.481 0.359,0.957 0.54,1.433 0.063,0.168 0.127,0.335 0.19,0.501 0.213,0.555 0.429,1.105 0.652,1.647 0.7,1.744 1.496,3.394 2.375,4.916 0.234,0.368 0.441,0.761 0.692,1.108 0.244,0.352 0.488,0.703 0.73,1.052 0.534,0.646 1.044,1.311 1.635,1.871 0.543,0.619 1.203,1.078 1.793,1.613 0.318,0.235 0.649,0.449 0.97,0.675 0.16,0.112 0.321,0.223 0.479,0.334 0.165,0.102 0.338,0.192 0.504,0.288 0.338,0.191 0.67,0.381 0.998,0.566 0.325,0.196 0.686,0.312 1.018,0.479 0.218,0.099 0.429,0.196 0.641,0.295 C -0.259,0.043 -0.169,0.028 -0.078,0.013 -0.052,0.009 -0.026,0.004 0,0" /></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 600 KiB

After

Width:  |  Height:  |  Size: 600 KiB

View File

@ -478,4 +478,4 @@
id="g5189"><path id="g5189"><path
id="path5191" id="path5191"
style="fill:#e90e8b;fill-opacity:1;fill-rule:nonzero;stroke:none" style="fill:#e90e8b;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 0,0 c -0.752,-0.143 -1.588,-0.344 -2.515,-0.493 -0.923,-0.161 -1.92,-0.344 -2.98,-0.487 -1.056,-0.175 -2.179,-0.277 -3.334,-0.418 -0.576,-0.079 -1.169,-0.097 -1.765,-0.15 -0.597,-0.044 -1.2,-0.095 -1.81,-0.118 -0.611,-0.025 -1.224,-0.067 -1.842,-0.081 -0.616,-0.005 -1.236,-0.01 -1.858,-0.015 -0.619,-0.015 -1.24,0.014 -1.857,0.017 -0.619,0.002 -1.234,0.029 -1.844,0.066 -0.61,0.043 -1.217,0.044 -1.816,0.095 -0.599,0.043 -1.191,0.085 -1.774,0.126 -0.581,0.055 -1.154,0.109 -1.712,0.163 -0.563,0.044 -1.112,0.098 -1.644,0.164 -1.067,0.123 -2.08,0.231 -3.012,0.355 -1.87,0.242 -3.428,0.444 -4.52,0.586 -1.092,0.146 -1.721,0.21 -1.725,0.21 h -10e-4 c 0,0 0.597,-0.21 1.652,-0.545 0.525,-0.17 1.166,-0.37 1.91,-0.57 0.742,-0.21 1.581,-0.447 2.506,-0.656 0.462,-0.11 0.943,-0.225 1.442,-0.343 0.501,-0.1 1.02,-0.205 1.556,-0.311 1.066,-0.221 2.205,-0.396 3.382,-0.567 1.184,-0.135 2.406,-0.313 3.659,-0.376 0.423,-0.032 0.849,-0.056 1.277,-0.075 0.205,-0.009 0.409,-0.018 0.614,-0.023 0.634,-0.014 1.272,-0.053 1.909,-0.047 0.639,0.014 1.277,0.029 1.913,0.044 0.634,0.023 1.265,0.077 1.892,0.113 0.313,0.023 0.626,0.035 0.936,0.068 0.308,0.039 0.616,0.077 0.922,0.114 0.609,0.084 1.216,0.133 1.804,0.242 0.027,0.004 0.053,0.009 0.08,0.014 0.09,0.015 0.179,0.029 0.27,0.044 0.213,-0.098 0.424,-0.195 0.641,-0.294 0.332,-0.167 0.693,-0.283 1.018,-0.479 0.327,-0.186 0.661,-0.375 0.998,-0.566 0.167,-0.096 0.339,-0.186 0.503,-0.288 0.159,-0.111 0.32,-0.222 0.48,-0.334 0.321,-0.226 0.652,-0.44 0.971,-0.675 0.589,-0.535 1.25,-0.994 1.793,-1.614 0.59,-0.559 1.1,-1.224 1.635,-1.871 0.241,-0.348 0.485,-0.699 0.729,-1.051 0.251,-0.347 0.458,-0.74 0.693,-1.108 0.879,-1.522 1.676,-3.172 2.374,-4.916 0.481,-1.167 0.93,-2.368 1.382,-3.577 0.08,-0.227 0.161,-0.457 0.241,-0.684 0.174,-0.486 0.347,-0.978 0.513,-1.471 0.655,-2.013 1.3,-3.993 1.925,-5.91 0.328,-0.971 0.648,-1.933 0.993,-2.87 0.349,-0.938 0.702,-1.858 1.074,-2.747 0.384,-0.885 0.773,-1.744 1.185,-2.563 0.427,-0.814 0.848,-1.595 1.307,-2.321 0.906,-1.455 1.901,-2.699 2.879,-3.693 0.976,-0.999 1.955,-1.728 2.785,-2.258 0.822,-0.539 1.537,-0.857 2.006,-1.067 0.481,-0.189 0.738,-0.29 0.738,-0.29 0,0 -0.206,0.183 -0.592,0.527 -0.197,0.167 -0.414,0.395 -0.675,0.646 -0.132,0.125 -0.259,0.28 -0.405,0.428 -0.144,0.15 -0.299,0.306 -0.448,0.487 -0.618,0.696 -1.289,1.598 -1.944,2.682 -0.653,1.087 -1.293,2.356 -1.855,3.808 -0.147,0.368 -0.289,0.748 -0.427,1.138 0.193,-0.154 0.387,-0.305 0.573,-0.453 0.305,-0.226 0.571,-0.48 0.889,-0.657 0.306,-0.188 0.604,-0.372 0.893,-0.549 0.29,-0.174 0.559,-0.359 0.856,-0.48 0.58,-0.264 1.106,-0.521 1.608,-0.726 0.525,-0.174 1,-0.33 1.428,-0.459 0.214,-0.063 0.414,-0.134 0.603,-0.178 0.191,-0.034 0.37,-0.067 0.537,-0.097 0.334,-0.06 0.617,-0.111 0.848,-0.152 0.463,-0.076 0.71,-0.116 0.71,-0.116 0,0 -0.214,0.129 -0.616,0.371 -0.203,0.118 -0.452,0.262 -0.744,0.433 -0.147,0.084 -0.304,0.176 -0.473,0.274 -0.164,0.099 -0.324,0.223 -0.499,0.344 -0.342,0.238 -0.72,0.501 -1.132,0.788 -0.385,0.32 -0.801,0.667 -1.245,1.037 -0.438,0.367 -0.843,0.828 -1.296,1.264 -0.231,0.214 -0.416,0.49 -0.635,0.736 -0.21,0.256 -0.433,0.507 -0.641,0.777 -0.197,0.283 -0.398,0.57 -0.602,0.864 -0.103,0.145 -0.206,0.291 -0.31,0.439 -0.091,0.157 -0.184,0.317 -0.277,0.477 -0.189,0.317 -0.38,0.639 -0.574,0.967 -0.174,0.343 -0.349,0.691 -0.526,1.043 -0.691,1.423 -1.334,2.971 -1.91,4.655 -0.153,0.412 -0.285,0.846 -0.431,1.276 -0.146,0.431 -0.297,0.859 -0.436,1.306 -0.287,0.894 -0.578,1.798 -0.87,2.71 -0.001,0.002 -0.002,0.006 -0.003,0.008 -0.107,0.36 -0.215,0.717 -0.329,1.081 -0.161,0.507 -0.337,1.024 -0.523,1.56 -0.371,1.055 -0.745,2.109 -1.186,3.16 -0.873,2.095 -1.905,4.189 -3.238,6.108 -0.322,0.485 -0.679,0.952 -1.034,1.411 -0.379,0.446 -0.743,0.897 -1.151,1.314 -0.387,0.432 -0.815,0.825 -1.228,1.223 -0.443,0.37 -0.866,0.754 -1.33,1.083 -0.727,0.557 -1.486,1.044 -2.258,1.471 l 0.041,0.012 c 0.918,0.245 1.733,0.569 2.462,0.822 0.362,0.134 0.706,0.242 1.014,0.372 0.308,0.13 0.592,0.249 0.847,0.358 1.02,0.431 1.593,0.696 1.593,0.696 0,0 -0.16,-0.031 -0.455,-0.094 C 2.891,0.633 2.471,0.542 1.939,0.42 1.403,0.292 0.752,0.146 0,0" /></g></g></g></g></svg> d="m 0,0 c -0.752,-0.143 -1.588,-0.344 -2.515,-0.493 -0.923,-0.161 -1.92,-0.344 -2.98,-0.487 -1.056,-0.175 -2.179,-0.277 -3.334,-0.418 -0.576,-0.079 -1.169,-0.097 -1.765,-0.15 -0.597,-0.044 -1.2,-0.095 -1.81,-0.118 -0.611,-0.025 -1.224,-0.067 -1.842,-0.081 -0.616,-0.005 -1.236,-0.01 -1.858,-0.015 -0.619,-0.015 -1.24,0.014 -1.857,0.017 -0.619,0.002 -1.234,0.029 -1.844,0.066 -0.61,0.043 -1.217,0.044 -1.816,0.095 -0.599,0.043 -1.191,0.085 -1.774,0.126 -0.581,0.055 -1.154,0.109 -1.712,0.163 -0.563,0.044 -1.112,0.098 -1.644,0.164 -1.067,0.123 -2.08,0.231 -3.012,0.355 -1.87,0.242 -3.428,0.444 -4.52,0.586 -1.092,0.146 -1.721,0.21 -1.725,0.21 h -10e-4 c 0,0 0.597,-0.21 1.652,-0.545 0.525,-0.17 1.166,-0.37 1.91,-0.57 0.742,-0.21 1.581,-0.447 2.506,-0.656 0.462,-0.11 0.943,-0.225 1.442,-0.343 0.501,-0.1 1.02,-0.205 1.556,-0.311 1.066,-0.221 2.205,-0.396 3.382,-0.567 1.184,-0.135 2.406,-0.313 3.659,-0.376 0.423,-0.032 0.849,-0.056 1.277,-0.075 0.205,-0.009 0.409,-0.018 0.614,-0.023 0.634,-0.014 1.272,-0.053 1.909,-0.047 0.639,0.014 1.277,0.029 1.913,0.044 0.634,0.023 1.265,0.077 1.892,0.113 0.313,0.023 0.626,0.035 0.936,0.068 0.308,0.039 0.616,0.077 0.922,0.114 0.609,0.084 1.216,0.133 1.804,0.242 0.027,0.004 0.053,0.009 0.08,0.014 0.09,0.015 0.179,0.029 0.27,0.044 0.213,-0.098 0.424,-0.195 0.641,-0.294 0.332,-0.167 0.693,-0.283 1.018,-0.479 0.327,-0.186 0.661,-0.375 0.998,-0.566 0.167,-0.096 0.339,-0.186 0.503,-0.288 0.159,-0.111 0.32,-0.222 0.48,-0.334 0.321,-0.226 0.652,-0.44 0.971,-0.675 0.589,-0.535 1.25,-0.994 1.793,-1.614 0.59,-0.559 1.1,-1.224 1.635,-1.871 0.241,-0.348 0.485,-0.699 0.729,-1.051 0.251,-0.347 0.458,-0.74 0.693,-1.108 0.879,-1.522 1.676,-3.172 2.374,-4.916 0.481,-1.167 0.93,-2.368 1.382,-3.577 0.08,-0.227 0.161,-0.457 0.241,-0.684 0.174,-0.486 0.347,-0.978 0.513,-1.471 0.655,-2.013 1.3,-3.993 1.925,-5.91 0.328,-0.971 0.648,-1.933 0.993,-2.87 0.349,-0.938 0.702,-1.858 1.074,-2.747 0.384,-0.885 0.773,-1.744 1.185,-2.563 0.427,-0.814 0.848,-1.595 1.307,-2.321 0.906,-1.455 1.901,-2.699 2.879,-3.693 0.976,-0.999 1.955,-1.728 2.785,-2.258 0.822,-0.539 1.537,-0.857 2.006,-1.067 0.481,-0.189 0.738,-0.29 0.738,-0.29 0,0 -0.206,0.183 -0.592,0.527 -0.197,0.167 -0.414,0.395 -0.675,0.646 -0.132,0.125 -0.259,0.28 -0.405,0.428 -0.144,0.15 -0.299,0.306 -0.448,0.487 -0.618,0.696 -1.289,1.598 -1.944,2.682 -0.653,1.087 -1.293,2.356 -1.855,3.808 -0.147,0.368 -0.289,0.748 -0.427,1.138 0.193,-0.154 0.387,-0.305 0.573,-0.453 0.305,-0.226 0.571,-0.48 0.889,-0.657 0.306,-0.188 0.604,-0.372 0.893,-0.549 0.29,-0.174 0.559,-0.359 0.856,-0.48 0.58,-0.264 1.106,-0.521 1.608,-0.726 0.525,-0.174 1,-0.33 1.428,-0.459 0.214,-0.063 0.414,-0.134 0.603,-0.178 0.191,-0.034 0.37,-0.067 0.537,-0.097 0.334,-0.06 0.617,-0.111 0.848,-0.152 0.463,-0.076 0.71,-0.116 0.71,-0.116 0,0 -0.214,0.129 -0.616,0.371 -0.203,0.118 -0.452,0.262 -0.744,0.433 -0.147,0.084 -0.304,0.176 -0.473,0.274 -0.164,0.099 -0.324,0.223 -0.499,0.344 -0.342,0.238 -0.72,0.501 -1.132,0.788 -0.385,0.32 -0.801,0.667 -1.245,1.037 -0.438,0.367 -0.843,0.828 -1.296,1.264 -0.231,0.214 -0.416,0.49 -0.635,0.736 -0.21,0.256 -0.433,0.507 -0.641,0.777 -0.197,0.283 -0.398,0.57 -0.602,0.864 -0.103,0.145 -0.206,0.291 -0.31,0.439 -0.091,0.157 -0.184,0.317 -0.277,0.477 -0.189,0.317 -0.38,0.639 -0.574,0.967 -0.174,0.343 -0.349,0.691 -0.526,1.043 -0.691,1.423 -1.334,2.971 -1.91,4.655 -0.153,0.412 -0.285,0.846 -0.431,1.276 -0.146,0.431 -0.297,0.859 -0.436,1.306 -0.287,0.894 -0.578,1.798 -0.87,2.71 -0.001,0.002 -0.002,0.006 -0.003,0.008 -0.107,0.36 -0.215,0.717 -0.329,1.081 -0.161,0.507 -0.337,1.024 -0.523,1.56 -0.371,1.055 -0.745,2.109 -1.186,3.16 -0.873,2.095 -1.905,4.189 -3.238,6.108 -0.322,0.485 -0.679,0.952 -1.034,1.411 -0.379,0.446 -0.743,0.897 -1.151,1.314 -0.387,0.432 -0.815,0.825 -1.228,1.223 -0.443,0.37 -0.866,0.754 -1.33,1.083 -0.727,0.557 -1.486,1.044 -2.258,1.471 l 0.041,0.012 c 0.918,0.245 1.733,0.569 2.462,0.822 0.362,0.134 0.706,0.242 1.014,0.372 0.308,0.13 0.592,0.249 0.847,0.358 1.02,0.431 1.593,0.696 1.593,0.696 0,0 -0.16,-0.031 -0.455,-0.094 C 2.891,0.633 2.471,0.542 1.939,0.42 1.403,0.292 0.752,0.146 0,0" /></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 75 KiB

View File

@ -618,4 +618,4 @@
id="g14550"><path id="g14550"><path
id="path14552" id="path14552"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 0,0 c -0.161,-1.553 -0.126,-2.987 -0.026,-4.161 -12.803,0.01 -17.578,2.458 -17.578,4.003 0,2.687 7.455,7.852 17.653,7.852 0.88,0 1.737,-0.04 2.574,-0.112 C 1.191,5.452 0.3,2.902 0,0 M 8.064,6.59 C 13.921,4.923 17.7,1.755 17.7,-0.158 17.7,-1.499 14.1,-3.52 4.777,-4.036 4.5,-1.401 4.582,3.378 8.064,6.59 M -21.31,3.529 c -0.711,-1.182 -1.103,-2.424 -1.103,-3.687 0,-4.204 4.146,-6.26 7.624,-7.243 3.681,-1.041 8.673,-1.569 14.838,-1.569 6.164,0 11.156,0.528 14.836,1.569 3.478,0.983 7.625,3.039 7.625,7.243 0,5.128 -6.413,9.899 -14.761,11.796 0,0 -15.682,4.692 -29.059,-8.109" /></g></g></g></g></svg> d="m 0,0 c -0.161,-1.553 -0.126,-2.987 -0.026,-4.161 -12.803,0.01 -17.578,2.458 -17.578,4.003 0,2.687 7.455,7.852 17.653,7.852 0.88,0 1.737,-0.04 2.574,-0.112 C 1.191,5.452 0.3,2.902 0,0 M 8.064,6.59 C 13.921,4.923 17.7,1.755 17.7,-0.158 17.7,-1.499 14.1,-3.52 4.777,-4.036 4.5,-1.401 4.582,3.378 8.064,6.59 M -21.31,3.529 c -0.711,-1.182 -1.103,-2.424 -1.103,-3.687 0,-4.204 4.146,-6.26 7.624,-7.243 3.681,-1.041 8.673,-1.569 14.838,-1.569 6.164,0 11.156,0.528 14.836,1.569 3.478,0.983 7.625,3.039 7.625,7.243 0,5.128 -6.413,9.899 -14.761,11.796 0,0 -15.682,4.692 -29.059,-8.109" /></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 86 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 107 KiB

View File

@ -93,4 +93,4 @@
id="g3884"><path id="g3884"><path
id="path3886" id="path3886"
style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none" style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 0,0 V -0.002 C -0.52,0.546 -1.049,1.08 -1.595,1.603 -1.68,1.685 -1.767,1.766 -1.853,1.848 V -3.94 C -1.219,-4.651 -0.59,-5.367 0,-6.117 V -6.39 -41.674 h 6.278 v 24.966 c 0.379,-0.889 0.738,-1.784 1.062,-2.698 h 4.22 c -0.584,1.809 -1.27,3.573 -2.044,5.289 -0.068,0.148 -0.132,0.299 -0.203,0.444 -0.223,0.483 -0.454,0.961 -0.693,1.436 -0.08,0.158 -0.161,0.317 -0.244,0.475 -0.246,0.481 -0.498,0.961 -0.761,1.431 -0.039,0.07 -0.08,0.138 -0.119,0.207 -0.39,0.691 -0.797,1.369 -1.218,2.041 v 0.008 C 4.458,-5.172 2.353,-2.469 0,0" /></g></g></g></g></svg> d="M 0,0 V -0.002 C -0.52,0.546 -1.049,1.08 -1.595,1.603 -1.68,1.685 -1.767,1.766 -1.853,1.848 V -3.94 C -1.219,-4.651 -0.59,-5.367 0,-6.117 V -6.39 -41.674 h 6.278 v 24.966 c 0.379,-0.889 0.738,-1.784 1.062,-2.698 h 4.22 c -0.584,1.809 -1.27,3.573 -2.044,5.289 -0.068,0.148 -0.132,0.299 -0.203,0.444 -0.223,0.483 -0.454,0.961 -0.693,1.436 -0.08,0.158 -0.161,0.317 -0.244,0.475 -0.246,0.481 -0.498,0.961 -0.761,1.431 -0.039,0.07 -0.08,0.138 -0.119,0.207 -0.39,0.691 -0.797,1.369 -1.218,2.041 v 0.008 C 4.458,-5.172 2.353,-2.469 0,0" /></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -603,4 +603,4 @@
id="g15548"><path id="g15548"><path
id="path15550" id="path15550"
style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none" style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 0,0 2.273,0.622 4.532,1.288 3.56,1.055 0.953,0.284 3.297,0.977 -3.418,0.88 C 10.492,5.286 9.781,5.434 9.072,5.595 L 7.842,5.871 C 7.83,6.408 7.809,6.947 7.771,7.484 7.715,8.318 7.629,9.149 7.506,9.98 7.26,11.64 6.895,13.296 6.273,14.906 5.967,15.71 5.6,16.505 5.135,17.275 4.664,18.041 4.1,18.797 3.291,19.425 c -0.803,0.631 -1.986,1.054 -3.164,0.789 -1.143,-0.253 -1.971,-0.959 -2.57,-1.664 -0.219,-0.259 -0.411,-0.527 -0.588,-0.798 -0.094,0.037 -0.182,0.071 -0.282,0.109 -0.171,0.07 -0.351,0.143 -0.535,0.218 -0.193,0.07 -0.355,0.168 -0.529,0.264 -0.176,0.1 -0.353,0.199 -0.527,0.296 -0.178,0.101 -0.319,0.224 -0.479,0.336 -0.148,0.118 -0.32,0.223 -0.435,0.348 -0.131,0.125 -0.252,0.244 -0.366,0.352 -0.115,0.114 -0.195,0.229 -0.281,0.331 -0.088,0.102 -0.154,0.193 -0.201,0.273 -0.107,0.158 -0.152,0.263 -0.152,0.263 0,0 -0.026,-0.106 -0.034,-0.305 -0.009,-0.103 -0.009,-0.227 0,-0.365 0.01,-0.139 0.01,-0.305 0.036,-0.477 0.029,-0.175 0.062,-0.365 0.097,-0.564 0.03,-0.212 0.106,-0.404 0.166,-0.623 0.071,-0.212 0.129,-0.454 0.223,-0.669 0.1,-0.219 0.197,-0.443 0.297,-0.664 0.103,-0.225 0.205,-0.46 0.332,-0.657 0.127,-0.208 0.25,-0.412 0.371,-0.611 0.123,-0.198 0.24,-0.4 0.363,-0.575 0.127,-0.168 0.248,-0.326 0.362,-0.472 0.029,-0.037 0.054,-0.069 0.084,-0.104 C -4.588,14.254 -4.658,14.053 -4.715,13.852 -5.174,12.229 -5.428,10.579 -5.543,8.93 -5.604,8.105 -5.641,7.283 -5.629,6.46 -5.613,5.631 -5.588,4.821 -5.504,4.002 -5.451,3.186 -5.316,2.377 -5.189,1.57 -5.055,0.76 -4.871,-0.027 -4.662,-0.812 L -4.721,0.404 -4.74,1.613 c -0.002,0.311 0.004,0.623 0.008,0.935 0.009,0.491 0.025,0.981 0.048,1.47 0.03,0.797 0.098,1.603 0.184,2.387 0.088,0.792 0.184,1.579 0.324,2.359 0.278,1.556 0.649,3.089 1.162,4.547 0.262,0.728 0.563,1.433 0.916,2.093 0.356,0.654 0.746,1.281 1.207,1.773 0.454,0.501 0.983,0.835 1.436,0.902 0.109,0.022 0.24,0.024 0.326,0.013 L 1.02,18.079 C 1.076,18.076 1.066,18.065 1.09,18.06 1.121,18.05 1.154,18.047 1.219,18.021 1.443,17.946 1.674,17.809 1.906,17.631 2.371,17.262 2.801,16.707 3.162,16.093 3.521,15.474 3.832,14.794 4.088,14.086 4.35,13.378 4.551,12.642 4.746,11.897 4.936,11.154 5.09,10.394 5.213,9.627 5.467,8.095 5.574,6.533 5.621,4.968 L 5.65,4.019 6.529,3.881 7.182,3.778 6.295,3.452 2.693,2.085 1.889,1.778 1.393,1.584 C 1.41,1.861 1.418,2.143 1.418,2.429 1.418,4.665 0.945,6.616 0.244,7.695 0.027,7.144 -0.27,6.802 -0.6,6.802 c -0.449,0 -0.834,0.639 -1.035,1.57 -1.039,-0.7 -1.804,-3.092 -1.804,-5.943 0,-0.955 0.087,-1.857 0.242,-2.664 -0.436,-0.177 -0.867,-0.353 -1.301,-0.531 -0.787,-0.326 -1.572,-0.654 -2.357,-0.995 1.535,0.36 3.056,0.755 4.578,1.15 z" /></g></g></g></g></svg> d="m 0,0 2.273,0.622 4.532,1.288 3.56,1.055 0.953,0.284 3.297,0.977 -3.418,0.88 C 10.492,5.286 9.781,5.434 9.072,5.595 L 7.842,5.871 C 7.83,6.408 7.809,6.947 7.771,7.484 7.715,8.318 7.629,9.149 7.506,9.98 7.26,11.64 6.895,13.296 6.273,14.906 5.967,15.71 5.6,16.505 5.135,17.275 4.664,18.041 4.1,18.797 3.291,19.425 c -0.803,0.631 -1.986,1.054 -3.164,0.789 -1.143,-0.253 -1.971,-0.959 -2.57,-1.664 -0.219,-0.259 -0.411,-0.527 -0.588,-0.798 -0.094,0.037 -0.182,0.071 -0.282,0.109 -0.171,0.07 -0.351,0.143 -0.535,0.218 -0.193,0.07 -0.355,0.168 -0.529,0.264 -0.176,0.1 -0.353,0.199 -0.527,0.296 -0.178,0.101 -0.319,0.224 -0.479,0.336 -0.148,0.118 -0.32,0.223 -0.435,0.348 -0.131,0.125 -0.252,0.244 -0.366,0.352 -0.115,0.114 -0.195,0.229 -0.281,0.331 -0.088,0.102 -0.154,0.193 -0.201,0.273 -0.107,0.158 -0.152,0.263 -0.152,0.263 0,0 -0.026,-0.106 -0.034,-0.305 -0.009,-0.103 -0.009,-0.227 0,-0.365 0.01,-0.139 0.01,-0.305 0.036,-0.477 0.029,-0.175 0.062,-0.365 0.097,-0.564 0.03,-0.212 0.106,-0.404 0.166,-0.623 0.071,-0.212 0.129,-0.454 0.223,-0.669 0.1,-0.219 0.197,-0.443 0.297,-0.664 0.103,-0.225 0.205,-0.46 0.332,-0.657 0.127,-0.208 0.25,-0.412 0.371,-0.611 0.123,-0.198 0.24,-0.4 0.363,-0.575 0.127,-0.168 0.248,-0.326 0.362,-0.472 0.029,-0.037 0.054,-0.069 0.084,-0.104 C -4.588,14.254 -4.658,14.053 -4.715,13.852 -5.174,12.229 -5.428,10.579 -5.543,8.93 -5.604,8.105 -5.641,7.283 -5.629,6.46 -5.613,5.631 -5.588,4.821 -5.504,4.002 -5.451,3.186 -5.316,2.377 -5.189,1.57 -5.055,0.76 -4.871,-0.027 -4.662,-0.812 L -4.721,0.404 -4.74,1.613 c -0.002,0.311 0.004,0.623 0.008,0.935 0.009,0.491 0.025,0.981 0.048,1.47 0.03,0.797 0.098,1.603 0.184,2.387 0.088,0.792 0.184,1.579 0.324,2.359 0.278,1.556 0.649,3.089 1.162,4.547 0.262,0.728 0.563,1.433 0.916,2.093 0.356,0.654 0.746,1.281 1.207,1.773 0.454,0.501 0.983,0.835 1.436,0.902 0.109,0.022 0.24,0.024 0.326,0.013 L 1.02,18.079 C 1.076,18.076 1.066,18.065 1.09,18.06 1.121,18.05 1.154,18.047 1.219,18.021 1.443,17.946 1.674,17.809 1.906,17.631 2.371,17.262 2.801,16.707 3.162,16.093 3.521,15.474 3.832,14.794 4.088,14.086 4.35,13.378 4.551,12.642 4.746,11.897 4.936,11.154 5.09,10.394 5.213,9.627 5.467,8.095 5.574,6.533 5.621,4.968 L 5.65,4.019 6.529,3.881 7.182,3.778 6.295,3.452 2.693,2.085 1.889,1.778 1.393,1.584 C 1.41,1.861 1.418,2.143 1.418,2.429 1.418,4.665 0.945,6.616 0.244,7.695 0.027,7.144 -0.27,6.802 -0.6,6.802 c -0.449,0 -0.834,0.639 -1.035,1.57 -1.039,-0.7 -1.804,-3.092 -1.804,-5.943 0,-0.955 0.087,-1.857 0.242,-2.664 -0.436,-0.177 -0.867,-0.353 -1.301,-0.531 -0.787,-0.326 -1.572,-0.654 -2.357,-0.995 1.535,0.36 3.056,0.755 4.578,1.15 z" /></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 165 KiB

View File

@ -74,4 +74,4 @@
id="g3772"><path id="g3772"><path
id="path3774" id="path3774"
style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none" style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 0,0 5.74,24.865 H 2.239 L -3.499,0 Z" /></g></g></g></g></svg> d="M 0,0 5.74,24.865 H 2.239 L -3.499,0 Z" /></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

@ -633,4 +633,4 @@
id="g16074"><path id="g16074"><path
id="path16076" id="path16076"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 0,0 h 4.107 v -2.053 c 0.948,1.217 2.162,2.324 4.241,2.324 3.108,0 4.921,-2.054 4.921,-5.378 v -9.375 H 9.161 v 8.077 c 0,1.946 -0.922,2.947 -2.485,2.947 -1.571,0 -2.569,-1.001 -2.569,-2.947 v -8.077 H 0 Z" /></g></g></g></g></svg> d="m 0,0 h 4.107 v -2.053 c 0.948,1.217 2.162,2.324 4.241,2.324 3.108,0 4.921,-2.054 4.921,-5.378 v -9.375 H 9.161 v 8.077 c 0,1.946 -0.922,2.947 -2.485,2.947 -1.571,0 -2.569,-1.001 -2.569,-2.947 v -8.077 H 0 Z" /></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 107 KiB

View File

@ -1082,4 +1082,4 @@
id="g17854"><path id="g17854"><path
id="path17856" id="path17856"
style="fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none" style="fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 0,0 C -4.549,0 -8.826,-0.083 -12.044,-0.235 -17.5,-0.492 -17.5,-0.762 -17.5,-1.301 c 0,-0.538 0,-0.808 5.456,-1.066 3.218,-0.151 7.495,-0.235 12.044,-0.235 4.549,0 8.826,0.084 12.044,0.235 5.456,0.258 5.456,0.528 5.456,1.066 0,0.539 0,0.809 -5.456,1.066 C 8.826,-0.083 4.549,0 0,0 m 0,-0.5 c 9.389,0 17,-0.358 17,-0.801 0,-0.442 -7.611,-0.801 -17,-0.801 -9.389,0 -17,0.359 -17,0.801 0,0.443 7.611,0.801 17,0.801" /></g></g></g></g></svg> d="M 0,0 C -4.549,0 -8.826,-0.083 -12.044,-0.235 -17.5,-0.492 -17.5,-0.762 -17.5,-1.301 c 0,-0.538 0,-0.808 5.456,-1.066 3.218,-0.151 7.495,-0.235 12.044,-0.235 4.549,0 8.826,0.084 12.044,0.235 5.456,0.258 5.456,0.528 5.456,1.066 0,0.539 0,0.809 -5.456,1.066 C 8.826,-0.083 4.549,0 0,0 m 0,-0.5 c 9.389,0 17,-0.358 17,-0.801 0,-0.442 -7.611,-0.801 -17,-0.801 -9.389,0 -17,0.359 -17,0.801 0,0.443 7.611,0.801 17,0.801" /></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 322 KiB

After

Width:  |  Height:  |  Size: 322 KiB

View File

@ -883,4 +883,4 @@
id="tspan20612" id="tspan20612"
y="0" y="0"
x="0">1</tspan></text> x="0">1</tspan></text>
</g></svg> </g></svg>

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 86 KiB

View File

@ -1019,4 +1019,4 @@
id="g21156"><path id="g21156"><path
id="path21158" id="path21158"
style="fill:#bc0f7a;fill-opacity:1;fill-rule:nonzero;stroke:none" style="fill:#bc0f7a;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 0,0 c 0,0 0.227,0.497 0.522,1.411 0.284,0.912 0.644,2.254 0.721,3.922 0.064,1.659 -0.203,3.658 -1.092,5.584 -0.874,1.93 -2.358,3.705 -4.093,5.105 -0.436,0.36 -0.869,0.688 -1.35,1.006 -0.456,0.299 -0.885,0.61 -1.396,0.866 -0.975,0.566 -1.991,0.951 -3.004,1.268 -1.03,0.251 -2.045,0.451 -3.024,0.425 -0.972,-0.013 -1.889,-0.131 -2.699,-0.369 -0.817,-0.211 -1.527,-0.525 -2.123,-0.849 -0.589,-0.341 -1.07,-0.681 -1.447,-0.98 -0.373,-0.308 -0.651,-0.564 -0.823,-0.757 -0.177,-0.184 -0.272,-0.283 -0.272,-0.283 0,0 0.109,0.082 0.314,0.236 0.199,0.16 0.513,0.365 0.908,0.625 0.403,0.247 0.908,0.518 1.507,0.774 0.611,0.226 1.293,0.495 2.078,0.63 0.774,0.168 1.637,0.213 2.534,0.16 0.902,-0.037 1.836,-0.241 2.779,-0.513 0.922,-0.326 1.897,-0.691 2.77,-1.223 0.448,-0.228 0.901,-0.549 1.358,-0.838 0.428,-0.273 0.868,-0.602 1.277,-0.933 0.827,-0.666 1.599,-1.397 2.278,-2.184 0.682,-0.785 1.243,-1.645 1.698,-2.52 C 0.347,8.811 0.706,6.937 0.731,5.337 0.784,3.729 0.56,2.38 0.356,1.454 0.161,0.523 0,0 0,0" /></g></g></g></g></svg> d="m 0,0 c 0,0 0.227,0.497 0.522,1.411 0.284,0.912 0.644,2.254 0.721,3.922 0.064,1.659 -0.203,3.658 -1.092,5.584 -0.874,1.93 -2.358,3.705 -4.093,5.105 -0.436,0.36 -0.869,0.688 -1.35,1.006 -0.456,0.299 -0.885,0.61 -1.396,0.866 -0.975,0.566 -1.991,0.951 -3.004,1.268 -1.03,0.251 -2.045,0.451 -3.024,0.425 -0.972,-0.013 -1.889,-0.131 -2.699,-0.369 -0.817,-0.211 -1.527,-0.525 -2.123,-0.849 -0.589,-0.341 -1.07,-0.681 -1.447,-0.98 -0.373,-0.308 -0.651,-0.564 -0.823,-0.757 -0.177,-0.184 -0.272,-0.283 -0.272,-0.283 0,0 0.109,0.082 0.314,0.236 0.199,0.16 0.513,0.365 0.908,0.625 0.403,0.247 0.908,0.518 1.507,0.774 0.611,0.226 1.293,0.495 2.078,0.63 0.774,0.168 1.637,0.213 2.534,0.16 0.902,-0.037 1.836,-0.241 2.779,-0.513 0.922,-0.326 1.897,-0.691 2.77,-1.223 0.448,-0.228 0.901,-0.549 1.358,-0.838 0.428,-0.273 0.868,-0.602 1.277,-0.933 0.827,-0.666 1.599,-1.397 2.278,-2.184 0.682,-0.785 1.243,-1.645 1.698,-2.52 C 0.347,8.811 0.706,6.937 0.731,5.337 0.784,3.729 0.56,2.38 0.356,1.454 0.161,0.523 0,0 0,0" /></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 183 KiB

After

Width:  |  Height:  |  Size: 183 KiB

View File

@ -903,4 +903,4 @@
transform="translate(266.938,449.3901)"><path transform="translate(266.938,449.3901)"><path
id="path16598" id="path16598"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 0,0 -0.031,0.008 -39.606,10.181 0.063,0.243 L 0,0.258 39.574,10.432 39.637,10.189 Z" /></g></g></g></g></g></g></g></svg> d="m 0,0 -0.031,0.008 -39.606,10.181 0.063,0.243 L 0,0.258 39.574,10.432 39.637,10.189 Z" /></g></g></g></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 114 KiB

View File

@ -1034,4 +1034,4 @@
style="fill:#e80e8a;fill-opacity:1;fill-rule:nonzero;stroke:none" style="fill:#e80e8a;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 0,0 h 0.006 c 0,0 -0.006,0.001 -0.007,0.001 -0.53,0.417 -1.547,0.95 -3.369,1.006 -2.13,0.065 -3.564,0.182 -4.913,0.526 -0.15,0.051 -0.3,0.098 -0.447,0.154 -0.531,0.165 -1.046,0.366 -1.542,0.59 -0.511,0.198 -0.973,0.469 -1.434,0.706 -0.444,0.262 -0.878,0.516 -1.268,0.788 -0.389,0.273 -0.748,0.542 -1.055,0.824 -1.269,1.086 -1.791,2.109 -1.791,2.109 0,0 0.087,-0.269 0.335,-0.699 0.123,-0.215 0.29,-0.465 0.498,-0.742 0.213,-0.27 0.453,-0.582 0.765,-0.873 0.297,-0.308 0.648,-0.608 1.031,-0.912 0.383,-0.303 0.81,-0.597 1.268,-0.871 0.468,-0.253 0.941,-0.543 1.459,-0.754 0.506,-0.242 1.029,-0.46 1.569,-0.636 0.534,-0.196 1.081,-0.344 1.624,-0.474 0.538,-0.149 1.073,-0.266 1.597,-0.347 0.337,-0.056 0.662,-0.115 0.983,-0.162 0.769,-0.117 1.44,-0.26 2.023,-0.438 0.661,-0.2 1.22,-0.444 1.674,-0.754 0.488,-0.334 0.858,-0.746 1.147,-1.244 0.157,-0.297 0.315,-0.592 0.445,-0.919 0.059,-0.14 0.115,-0.283 0.17,-0.427 0.016,-0.043 0.033,-0.086 0.049,-0.129 0.047,-0.125 0.094,-0.248 0.141,-0.373 0.02,-0.059 0.041,-0.117 0.062,-0.176 0.045,-0.127 0.09,-0.254 0.133,-0.383 0.17,-0.521 0.338,-1.035 0.5,-1.533 0.002,-0.008 0.005,-0.016 0.008,-0.024 0.054,-0.158 0.107,-0.316 0.162,-0.472 0.029,-0.082 0.056,-0.166 0.088,-0.25 0.029,-0.076 0.058,-0.153 0.087,-0.229 0.063,-0.164 0.126,-0.326 0.191,-0.482 0.1,-0.231 0.201,-0.453 0.308,-0.666 0.111,-0.211 0.22,-0.414 0.339,-0.604 0.235,-0.377 0.494,-0.699 0.747,-0.957 0.222,-0.226 0.445,-0.4 0.64,-0.533 0.028,-0.017 0.057,-0.035 0.083,-0.053 0.213,-0.14 0.4,-0.222 0.521,-0.277 0.125,-0.049 0.191,-0.076 0.191,-0.076 0,0 -0.054,0.049 -0.154,0.137 -0.051,0.043 -0.107,0.103 -0.175,0.168 -0.034,0.033 -0.067,0.072 -0.105,0.111 -0.037,0.039 -0.078,0.08 -0.116,0.127 -0.161,0.18 -0.335,0.414 -0.505,0.695 -0.169,0.283 -0.336,0.611 -0.48,0.988 -0.039,0.096 -0.076,0.194 -0.111,0.295 0.05,-0.039 0.099,-0.078 0.148,-0.117 0.079,-0.058 0.148,-0.123 0.23,-0.17 0.081,-0.049 0.157,-0.095 0.233,-0.142 0.074,-0.045 0.144,-0.094 0.222,-0.125 0.15,-0.069 0.287,-0.135 0.417,-0.188 0.136,-0.045 0.259,-0.086 0.371,-0.119 0.055,-0.018 0.107,-0.035 0.156,-0.047 0.049,-0.008 0.096,-0.017 0.14,-0.025 0.086,-0.016 0.16,-0.03 0.219,-0.039 0.121,-0.02 0.184,-0.03 0.184,-0.03 0,0 -0.055,0.034 -0.16,0.096 C 5.481,-9.119 5.417,-9.082 5.34,-9.039 5.301,-9.015 5.26,-8.992 5.217,-8.966 5.174,-8.941 5.133,-8.91 5.087,-8.878 4.999,-8.816 4.901,-8.748 4.793,-8.673 4.694,-8.589 4.586,-8.5 4.47,-8.404 4.357,-8.308 4.252,-8.189 4.134,-8.076 4.075,-8.021 4.026,-7.949 3.969,-7.884 3.915,-7.818 3.858,-7.753 3.803,-7.683 3.752,-7.609 3.7,-7.535 3.647,-7.458 3.62,-7.421 3.593,-7.382 3.567,-7.345 3.542,-7.304 3.518,-7.263 3.495,-7.22 3.446,-7.138 3.396,-7.054 3.346,-6.97 3.3,-6.88 3.254,-6.791 3.208,-6.699 3.03,-6.33 2.864,-5.929 2.713,-5.49 c -0.04,0.106 -0.074,0.219 -0.111,0.33 -0.039,0.112 -0.078,0.223 -0.114,0.338 -0.074,0.233 -0.15,0.467 -0.226,0.705 v 0.002 c -0.029,0.092 -0.056,0.186 -0.086,0.28 -0.041,0.132 -0.088,0.265 -0.135,0.406 -0.072,0.205 -0.145,0.41 -0.225,0.615 -0.026,0.068 -0.054,0.135 -0.083,0.203 -0.17,0.409 -0.363,0.816 -0.596,1.204 -0.076,0.131 -0.158,0.258 -0.245,0.383 -0.083,0.126 -0.176,0.247 -0.267,0.366 -0.046,0.053 -0.093,0.103 -0.138,0.157 l 0.006,-0.003 c 0,0 -0.116,0.193 -0.41,0.442 C 0.059,-0.043 0.027,-0.021 0,0" /></g><g d="m 0,0 h 0.006 c 0,0 -0.006,0.001 -0.007,0.001 -0.53,0.417 -1.547,0.95 -3.369,1.006 -2.13,0.065 -3.564,0.182 -4.913,0.526 -0.15,0.051 -0.3,0.098 -0.447,0.154 -0.531,0.165 -1.046,0.366 -1.542,0.59 -0.511,0.198 -0.973,0.469 -1.434,0.706 -0.444,0.262 -0.878,0.516 -1.268,0.788 -0.389,0.273 -0.748,0.542 -1.055,0.824 -1.269,1.086 -1.791,2.109 -1.791,2.109 0,0 0.087,-0.269 0.335,-0.699 0.123,-0.215 0.29,-0.465 0.498,-0.742 0.213,-0.27 0.453,-0.582 0.765,-0.873 0.297,-0.308 0.648,-0.608 1.031,-0.912 0.383,-0.303 0.81,-0.597 1.268,-0.871 0.468,-0.253 0.941,-0.543 1.459,-0.754 0.506,-0.242 1.029,-0.46 1.569,-0.636 0.534,-0.196 1.081,-0.344 1.624,-0.474 0.538,-0.149 1.073,-0.266 1.597,-0.347 0.337,-0.056 0.662,-0.115 0.983,-0.162 0.769,-0.117 1.44,-0.26 2.023,-0.438 0.661,-0.2 1.22,-0.444 1.674,-0.754 0.488,-0.334 0.858,-0.746 1.147,-1.244 0.157,-0.297 0.315,-0.592 0.445,-0.919 0.059,-0.14 0.115,-0.283 0.17,-0.427 0.016,-0.043 0.033,-0.086 0.049,-0.129 0.047,-0.125 0.094,-0.248 0.141,-0.373 0.02,-0.059 0.041,-0.117 0.062,-0.176 0.045,-0.127 0.09,-0.254 0.133,-0.383 0.17,-0.521 0.338,-1.035 0.5,-1.533 0.002,-0.008 0.005,-0.016 0.008,-0.024 0.054,-0.158 0.107,-0.316 0.162,-0.472 0.029,-0.082 0.056,-0.166 0.088,-0.25 0.029,-0.076 0.058,-0.153 0.087,-0.229 0.063,-0.164 0.126,-0.326 0.191,-0.482 0.1,-0.231 0.201,-0.453 0.308,-0.666 0.111,-0.211 0.22,-0.414 0.339,-0.604 0.235,-0.377 0.494,-0.699 0.747,-0.957 0.222,-0.226 0.445,-0.4 0.64,-0.533 0.028,-0.017 0.057,-0.035 0.083,-0.053 0.213,-0.14 0.4,-0.222 0.521,-0.277 0.125,-0.049 0.191,-0.076 0.191,-0.076 0,0 -0.054,0.049 -0.154,0.137 -0.051,0.043 -0.107,0.103 -0.175,0.168 -0.034,0.033 -0.067,0.072 -0.105,0.111 -0.037,0.039 -0.078,0.08 -0.116,0.127 -0.161,0.18 -0.335,0.414 -0.505,0.695 -0.169,0.283 -0.336,0.611 -0.48,0.988 -0.039,0.096 -0.076,0.194 -0.111,0.295 0.05,-0.039 0.099,-0.078 0.148,-0.117 0.079,-0.058 0.148,-0.123 0.23,-0.17 0.081,-0.049 0.157,-0.095 0.233,-0.142 0.074,-0.045 0.144,-0.094 0.222,-0.125 0.15,-0.069 0.287,-0.135 0.417,-0.188 0.136,-0.045 0.259,-0.086 0.371,-0.119 0.055,-0.018 0.107,-0.035 0.156,-0.047 0.049,-0.008 0.096,-0.017 0.14,-0.025 0.086,-0.016 0.16,-0.03 0.219,-0.039 0.121,-0.02 0.184,-0.03 0.184,-0.03 0,0 -0.055,0.034 -0.16,0.096 C 5.481,-9.119 5.417,-9.082 5.34,-9.039 5.301,-9.015 5.26,-8.992 5.217,-8.966 5.174,-8.941 5.133,-8.91 5.087,-8.878 4.999,-8.816 4.901,-8.748 4.793,-8.673 4.694,-8.589 4.586,-8.5 4.47,-8.404 4.357,-8.308 4.252,-8.189 4.134,-8.076 4.075,-8.021 4.026,-7.949 3.969,-7.884 3.915,-7.818 3.858,-7.753 3.803,-7.683 3.752,-7.609 3.7,-7.535 3.647,-7.458 3.62,-7.421 3.593,-7.382 3.567,-7.345 3.542,-7.304 3.518,-7.263 3.495,-7.22 3.446,-7.138 3.396,-7.054 3.346,-6.97 3.3,-6.88 3.254,-6.791 3.208,-6.699 3.03,-6.33 2.864,-5.929 2.713,-5.49 c -0.04,0.106 -0.074,0.219 -0.111,0.33 -0.039,0.112 -0.078,0.223 -0.114,0.338 -0.074,0.233 -0.15,0.467 -0.226,0.705 v 0.002 c -0.029,0.092 -0.056,0.186 -0.086,0.28 -0.041,0.132 -0.088,0.265 -0.135,0.406 -0.072,0.205 -0.145,0.41 -0.225,0.615 -0.026,0.068 -0.054,0.135 -0.083,0.203 -0.17,0.409 -0.363,0.816 -0.596,1.204 -0.076,0.131 -0.158,0.258 -0.245,0.383 -0.083,0.126 -0.176,0.247 -0.267,0.366 -0.046,0.053 -0.093,0.103 -0.138,0.157 l 0.006,-0.003 c 0,0 -0.116,0.193 -0.41,0.442 C 0.059,-0.043 0.027,-0.021 0,0" /></g><g
transform="translate(492.7959,323.2324)" transform="translate(492.7959,323.2324)"
id="g20008" /></g></g></g></svg> id="g20008" /></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 309 KiB

After

Width:  |  Height:  |  Size: 309 KiB

View File

@ -962,4 +962,4 @@
id="g17204"><path id="g17204"><path
id="path17206" id="path17206"
style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none" style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 0,0 c 0,-0.838 -0.686,-1.518 -1.525,-1.518 -0.837,0 -1.518,0.68 -1.518,1.518 0,0.839 0.681,1.519 1.518,1.519 C -0.686,1.519 0,0.839 0,0" /></g></g></g></g></svg> d="m 0,0 c 0,-0.838 -0.686,-1.518 -1.525,-1.518 -0.837,0 -1.518,0.68 -1.518,1.518 0,0.839 0.681,1.519 1.518,1.519 C -0.686,1.519 0,0.839 0,0" /></g></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 98 KiB

View File

@ -1214,4 +1214,4 @@
d="m 0,0 c 3.464,0.942 2.658,10.376 2.658,10.376 h -14.301 -12.299 c 0,0 -1.419,-9.774 4.78,-10.567 6.046,-0.773 4.318,7.167 15.929,5.897" /></g></g></g></g><path d="m 0,0 c 3.464,0.942 2.658,10.376 2.658,10.376 h -14.301 -12.299 c 0,0 -1.419,-9.774 4.78,-10.567 6.046,-0.773 4.318,7.167 15.929,5.897" /></g></g></g></g><path
id="path18662" id="path18662"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 154.293,494.23 h -27.616 v 0.917 h 27.616 z" /></g></g></g></svg> d="m 154.293,494.23 h -27.616 v 0.917 h 27.616 z" /></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 136 KiB

After

Width:  |  Height:  |  Size: 136 KiB

View File

@ -128,7 +128,7 @@
X(ENOTEMPTY) \ X(ENOTEMPTY) \
X(EILSEQ) X(EILSEQ)
#endif #endif
// type definitions for the specific machine // type definitions for the specific machine
#ifdef __LP64__ #ifdef __LP64__

View File

@ -2,7 +2,7 @@
STATIC const mp_rom_map_elem_t board_global_dict_table[] = { STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
// Serial // Serial
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PA11) }, // RX { MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PA11) }, // RX
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA11) }, { MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA11) },
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PA10) }, // TX { MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PA10) }, // TX

View File

@ -24,7 +24,7 @@
* THE SOFTWARE. * THE SOFTWARE.
*/ */
// Updated to support Alorium Technology Evo M51 // Updated to support Alorium Technology Evo M51
// Author: Bryan Craker // Author: Bryan Craker
// Date: 2020-05-20 // Date: 2020-05-20

View File

@ -4,7 +4,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR_ANMB), MP_ROM_PTR(&pin_PA02) }, { MP_OBJ_NEW_QSTR(MP_QSTR_ANMB), MP_ROM_PTR(&pin_PA02) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_ANVLIM), MP_ROM_PTR(&pin_PA04) }, { MP_OBJ_NEW_QSTR(MP_QSTR_ANVLIM), MP_ROM_PTR(&pin_PA04) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_AN5V), MP_ROM_PTR(&pin_PA05) }, { MP_OBJ_NEW_QSTR(MP_QSTR_AN5V), MP_ROM_PTR(&pin_PA05) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_MBPWM), MP_ROM_PTR(&pin_PA14) }, { MP_OBJ_NEW_QSTR(MP_QSTR_MBPWM), MP_ROM_PTR(&pin_PA14) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_MBINT), MP_ROM_PTR(&pin_PA15) }, { MP_OBJ_NEW_QSTR(MP_QSTR_MBINT), MP_ROM_PTR(&pin_PA15) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_MBCS), MP_ROM_PTR(&pin_PA18) }, { MP_OBJ_NEW_QSTR(MP_QSTR_MBCS), MP_ROM_PTR(&pin_PA18) },

View File

@ -32,4 +32,4 @@
// USB is always used internally so skip the pin objects for it. // USB is always used internally so skip the pin objects for it.
#define IGNORE_PIN_PA24 1 #define IGNORE_PIN_PA24 1
#define IGNORE_PIN_PA25 1 #define IGNORE_PIN_PA25 1

View File

@ -15,4 +15,3 @@ CIRCUITPY_BITBANGIO = 0
CIRCUITPY_FREQUENCYIO = 0 CIRCUITPY_FREQUENCYIO = 0
CIRCUITPY_I2CSLAVE = 0 CIRCUITPY_I2CSLAVE = 0
CIRCUITPY_VECTORIO = 0 CIRCUITPY_VECTORIO = 0

View File

@ -14,7 +14,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA08) }, { MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PA20) }, { MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PA20) },
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PA21) }, { MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PA21) },
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA06) }, { MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA07) }, { MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA07) },
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA18) }, { MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA18) },
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA16) }, { MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA16) },

View File

@ -16,7 +16,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA08) }, { MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PA20) }, { MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PA20) },
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PA21) }, { MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PA21) },
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA06) }, { MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA07) }, { MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA07) },
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA18) }, { MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA18) },
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA16) }, { MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA16) },

View File

@ -14,7 +14,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA08) }, { MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PA20) }, { MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PA20) },
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PA21) }, { MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PA21) },
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA06) }, { MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA07) }, { MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA07) },
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA18) }, { MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA18) },
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA16) }, { MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA16) },

View File

@ -14,7 +14,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA08) }, { MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PA20) }, { MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PA20) },
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PA21) }, { MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PA21) },
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA06) }, { MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA07) }, { MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA07) },
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA18) }, { MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA18) },
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA16) }, { MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA16) },

View File

@ -9,11 +9,11 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
// Buttons // Buttons
{ MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PA03) }, { MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PA03) },
{ MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PA00) }, { MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PA00) },
{ MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PA01) }, { MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PA01) },
// Motors // Motors
{ MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PA22) }, { MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PA22) },
{ MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PA11) }, { MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PA11) },
@ -23,10 +23,10 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PA07) }, { MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PA07) },
{ MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA18) }, { MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PA18) },
{ MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA17) }, { MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PA17) },
// Buzzer // Buzzer
{ MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA16) }, { MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA16) },
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA08) }, { MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_PA09) }, { MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_PA09) },
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA13) }, { MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA13) },
@ -34,7 +34,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
//UART //UART
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA01) }, { MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA01) },
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PA00) }, { MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PA00) },
// I2C // I2C
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA08) }, { MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA09) }, { MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA09) },

View File

@ -12,4 +12,3 @@ EXTERNAL_FLASH_DEVICES = GD25Q16C
LONGINT_IMPL = MPZ LONGINT_IMPL = MPZ
CIRCUITPY_VECTORIO = 1 CIRCUITPY_VECTORIO = 1

View File

@ -18,4 +18,3 @@ CIRCUITPY_AUDIOIO = 0
# Too much flash for Korean translations # Too much flash for Korean translations
CIRCUITPY_VECTORIO = 0 CIRCUITPY_VECTORIO = 0

View File

@ -40,7 +40,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA20) }, { MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA20) },
{ MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_PA21) }, { MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_PA21) },
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA23) }, { MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA23) },
{ MP_ROM_QSTR(MP_QSTR_TFT_BACKLIGHT), MP_ROM_PTR(&pin_PB14) }, { MP_ROM_QSTR(MP_QSTR_TFT_BACKLIGHT), MP_ROM_PTR(&pin_PB14) },
{ MP_ROM_QSTR(MP_QSTR_TFT_CS), MP_ROM_PTR(&pin_PA27) }, { MP_ROM_QSTR(MP_QSTR_TFT_CS), MP_ROM_PTR(&pin_PA27) },
{ MP_ROM_QSTR(MP_QSTR_TFT_DC), MP_ROM_PTR(&pin_PB31) }, { MP_ROM_QSTR(MP_QSTR_TFT_DC), MP_ROM_PTR(&pin_PB31) },

View File

@ -38,4 +38,4 @@ bool board_requests_safe_mode(void) {
} }
void reset_board(void) { void reset_board(void) {
} }

View File

@ -22,7 +22,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_PA09), MP_ROM_PTR(&pin_PA09) }, { MP_ROM_QSTR(MP_QSTR_PA09), MP_ROM_PTR(&pin_PA09) },
{ MP_ROM_QSTR(MP_QSTR_PA06), MP_ROM_PTR(&pin_PA06) }, { MP_ROM_QSTR(MP_QSTR_PA06), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_DAC0), MP_ROM_PTR(&pin_PA02) }, { MP_ROM_QSTR(MP_QSTR_DAC0), MP_ROM_PTR(&pin_PA02) },
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB09) }, { MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB09) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PB08) }, { MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PB08) },
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA16) }, { MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA16) },
@ -30,9 +30,9 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_PB03) }, { MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_PB03) },
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
}; };
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

View File

@ -23,6 +23,3 @@
// Enable the use of 2 displays // Enable the use of 2 displays
#define CIRCUITPY_DISPLAY_LIMIT (2) #define CIRCUITPY_DISPLAY_LIMIT (2)

View File

@ -29,4 +29,3 @@
// USB is always used. // USB is always used.
#define IGNORE_PIN_PA24 1 #define IGNORE_PIN_PA24 1
#define IGNORE_PIN_PA25 1 #define IGNORE_PIN_PA25 1

View File

@ -12,4 +12,3 @@ LONGINT_IMPL = NONE
CIRCUITPY_FULL_BUILD = 0 CIRCUITPY_FULL_BUILD = 0
SUPEROPT_GC = 0 SUPEROPT_GC = 0

View File

@ -23,7 +23,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PA04) }, { MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PA04) },
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PA06) }, { MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PA05) }, { MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PA05) },
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PA08) }, { MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA09) }, { MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA09) },

View File

@ -58,4 +58,4 @@ void reset_board(void) {
common_hal_nvm_bytearray_get_bytes(&bootcnt,0,1,&value_out); common_hal_nvm_bytearray_get_bytes(&bootcnt,0,1,&value_out);
++value_out; ++value_out;
common_hal_nvm_bytearray_set_bytes(&bootcnt,0,&value_out,1); common_hal_nvm_bytearray_set_bytes(&bootcnt,0,&value_out,1);
} }

View File

@ -17,7 +17,7 @@
#define BOARD_FLASH_SIZE (FLASH_SIZE - 0x4000 - CIRCUITPY_INTERNAL_NVM_SIZE) #define BOARD_FLASH_SIZE (FLASH_SIZE - 0x4000 - CIRCUITPY_INTERNAL_NVM_SIZE)
// External flash W25Q80DV // External flash W25Q80DV
#define EXTERNAL_FLASH_QSPI_DUAL #define EXTERNAL_FLASH_QSPI_DUAL
#define BOARD_HAS_CRYSTAL 1 #define BOARD_HAS_CRYSTAL 1

View File

@ -40,16 +40,16 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_EN_GPS), MP_ROM_PTR(&pin_PB01) }, { MP_ROM_QSTR(MP_QSTR_EN_GPS), MP_ROM_PTR(&pin_PB01) },
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB02) }, { MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PB02) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PB03) }, { MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PB03) },
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PB12) }, { MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PB12) },
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PB13) }, { MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PB13) },
{ MP_ROM_QSTR(MP_QSTR_WDT_WDI), MP_ROM_PTR(&pin_PA23) }, { MP_ROM_QSTR(MP_QSTR_WDT_WDI), MP_ROM_PTR(&pin_PA23) },
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA21) }, { MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA21) },
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
}; };
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

View File

@ -58,4 +58,4 @@ void reset_board(void) {
common_hal_nvm_bytearray_get_bytes(&bootcnt,0,1,&value_out); common_hal_nvm_bytearray_get_bytes(&bootcnt,0,1,&value_out);
++value_out; ++value_out;
common_hal_nvm_bytearray_set_bytes(&bootcnt,0,&value_out,1); common_hal_nvm_bytearray_set_bytes(&bootcnt,0,&value_out,1);
} }

View File

@ -44,7 +44,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PB23) }, { MP_OBJ_NEW_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PB23) },
// SDCS, dup of D4 // SDCS, dup of D4
{ MP_OBJ_NEW_QSTR(MP_QSTR_SD_CS), MP_ROM_PTR(&pin_PA14) }, { MP_OBJ_NEW_QSTR(MP_QSTR_SD_CS), MP_ROM_PTR(&pin_PA14) },
// Special named pins // Special named pins
{ MP_OBJ_NEW_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA15) }, { MP_OBJ_NEW_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA15) },

View File

@ -44,7 +44,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PB23) }, { MP_OBJ_NEW_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PB23) },
// SDCS, dup of D4 // SDCS, dup of D4
{ MP_OBJ_NEW_QSTR(MP_QSTR_SD_CS), MP_ROM_PTR(&pin_PA14) }, { MP_OBJ_NEW_QSTR(MP_QSTR_SD_CS), MP_ROM_PTR(&pin_PA14) },
// Special named pins // Special named pins
{ MP_OBJ_NEW_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA15) }, { MP_OBJ_NEW_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA15) },

View File

@ -83,7 +83,7 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_SWCLK), MP_ROM_PTR(&pin_PA30) }, { MP_ROM_QSTR(MP_QSTR_SWCLK), MP_ROM_PTR(&pin_PA30) },
{ MP_ROM_QSTR(MP_QSTR_PI_GP24), MP_ROM_PTR(&pin_PA31) }, { MP_ROM_QSTR(MP_QSTR_PI_GP24), MP_ROM_PTR(&pin_PA31) },
{ MP_ROM_QSTR(MP_QSTR_SWDIO), MP_ROM_PTR(&pin_PA31) }, { MP_ROM_QSTR(MP_QSTR_SWDIO), MP_ROM_PTR(&pin_PA31) },
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
//{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, //{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },

View File

@ -49,4 +49,4 @@ void reset_board(void) {
common_hal_digitalio_digitalinout_switch_to_output(&neopixel, false, DRIVE_MODE_PUSH_PULL); common_hal_digitalio_digitalinout_switch_to_output(&neopixel, false, DRIVE_MODE_PUSH_PULL);
common_hal_neopixel_write(&neopixel, zeroes, 96); common_hal_neopixel_write(&neopixel, zeroes, 96);
common_hal_digitalio_digitalinout_deinit(&neopixel); common_hal_digitalio_digitalinout_deinit(&neopixel);
} }

View File

@ -14,4 +14,4 @@ CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_USTACK = 1 CIRCUITPY_USTACK = 1
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_NeoPixel

View File

@ -42,12 +42,12 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_TDI), MP_ROM_PTR(&pin_PB02) }, { MP_ROM_QSTR(MP_QSTR_TDI), MP_ROM_PTR(&pin_PB02) },
{ MP_ROM_QSTR(MP_QSTR_TMS), MP_ROM_PTR(&pin_PB03) }, { MP_ROM_QSTR(MP_QSTR_TMS), MP_ROM_PTR(&pin_PB03) },
{ MP_ROM_QSTR(MP_QSTR_ESP_CS),MP_ROM_PTR(&pin_PB15) }, { MP_ROM_QSTR(MP_QSTR_ESP_CS),MP_ROM_PTR(&pin_PB15) },
{ MP_ROM_QSTR(MP_QSTR_TX1), MP_ROM_PTR(&pin_PA12) }, { MP_ROM_QSTR(MP_QSTR_TX1), MP_ROM_PTR(&pin_PA12) },
{ MP_ROM_QSTR(MP_QSTR_RX1), MP_ROM_PTR(&pin_PA13) }, { MP_ROM_QSTR(MP_QSTR_RX1), MP_ROM_PTR(&pin_PA13) },
{ MP_ROM_QSTR(MP_QSTR_TX2), MP_ROM_PTR(&pin_PB16) }, { MP_ROM_QSTR(MP_QSTR_TX2), MP_ROM_PTR(&pin_PB16) },
{ MP_ROM_QSTR(MP_QSTR_RX2), MP_ROM_PTR(&pin_PB17) }, { MP_ROM_QSTR(MP_QSTR_RX2), MP_ROM_PTR(&pin_PB17) },
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA08) }, { MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_PA08) },
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA09) }, { MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_PA09) },
@ -56,11 +56,11 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_PA27) }, { MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_PA27) },
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA15) }, { MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_PA15) },
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
{ MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_PA06) }, { MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_PA06) },
}; };
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

View File

@ -37,4 +37,3 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
}; };
MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table);

View File

@ -21,14 +21,14 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA10) }, { MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA10) },
{ MP_ROM_QSTR(MP_QSTR_D16), MP_ROM_PTR(&pin_PA22) }, { MP_ROM_QSTR(MP_QSTR_D16), MP_ROM_PTR(&pin_PA22) },
{ MP_ROM_QSTR(MP_QSTR_D17), MP_ROM_PTR(&pin_PA23) }, { MP_ROM_QSTR(MP_QSTR_D17), MP_ROM_PTR(&pin_PA23) },
// External SPI // External SPI
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PA07) }, { MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PA07) },
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PA06) }, { MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PA05) }, { MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PA05) },
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
// UART // UART
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PA22) }, { MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PA22) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA23) }, { MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA23) },
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },

View File

@ -21,14 +21,14 @@ STATIC const mp_rom_map_elem_t board_global_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA10) }, { MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA10) },
{ MP_ROM_QSTR(MP_QSTR_D16), MP_ROM_PTR(&pin_PA22) }, { MP_ROM_QSTR(MP_QSTR_D16), MP_ROM_PTR(&pin_PA22) },
{ MP_ROM_QSTR(MP_QSTR_D17), MP_ROM_PTR(&pin_PA23) }, { MP_ROM_QSTR(MP_QSTR_D17), MP_ROM_PTR(&pin_PA23) },
// External SPI // External SPI
{ MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PA07) }, { MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_PA07) },
{ MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PA06) }, { MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_PA06) },
{ MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PA05) }, { MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_PA05) },
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
// UART // UART
{ MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PA22) }, { MP_ROM_QSTR(MP_QSTR_TX), MP_ROM_PTR(&pin_PA22) },
{ MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA23) }, { MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_PA23) },
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },

View File

@ -25,20 +25,20 @@ void common_hal_countio_counter_construct(countio_counter_obj_t* self,
// These default settings apply when the EIC isn't yet enabled. // These default settings apply when the EIC isn't yet enabled.
self->eic_channel_a = pin_a->extint_channel; self->eic_channel_a = pin_a->extint_channel;
self->pin_a = pin_a->number; self->pin_a = pin_a->number;
gpio_set_pin_function(self->pin_a, GPIO_PIN_FUNCTION_A); gpio_set_pin_function(self->pin_a, GPIO_PIN_FUNCTION_A);
gpio_set_pin_pull_mode(self->pin_a, GPIO_PULL_UP); gpio_set_pin_pull_mode(self->pin_a, GPIO_PULL_UP);
set_eic_channel_data(self->eic_channel_a, (void*) self); set_eic_channel_data(self->eic_channel_a, (void*) self);
self->count = 0; self->count = 0;
claim_pin(pin_a); claim_pin(pin_a);
set_eic_handler(self->eic_channel_a, EIC_HANDLER_COUNTER); set_eic_handler(self->eic_channel_a, EIC_HANDLER_COUNTER);
turn_on_eic_channel(self->eic_channel_a, EIC_CONFIG_SENSE0_FALL_Val); turn_on_eic_channel(self->eic_channel_a, EIC_CONFIG_SENSE0_FALL_Val);
@ -77,7 +77,7 @@ void common_hal_countio_counter_reset(countio_counter_obj_t* self){
void counter_interrupt_handler(uint8_t channel) { void counter_interrupt_handler(uint8_t channel) {
countio_counter_obj_t* self = get_eic_channel_data(channel); countio_counter_obj_t* self = get_eic_channel_data(channel);
self->count += 1; self->count += 1;
} }

View File

@ -150,4 +150,3 @@ void common_hal_neopixel_write(const digitalio_digitalinout_obj_t* digitalinout,
mp_hal_enable_all_interrupts(); mp_hal_enable_all_interrupts();
} }

View File

@ -37,4 +37,4 @@ const super_runtime_obj_t common_hal_supervisor_runtime_obj = {
.base = { .base = {
.type = &supervisor_runtime_type, .type = &supervisor_runtime_type,
}, },
}; };

View File

@ -38,4 +38,3 @@
#define DEFAULT_UART_BUS_TX (&pin_UART2_TXD) #define DEFAULT_UART_BUS_TX (&pin_UART2_TXD)
#define MICROPY_PY_REVERSE_SPECIAL_METHODS (1) #define MICROPY_PY_REVERSE_SPECIAL_METHODS (1)

View File

@ -79,7 +79,7 @@ bool common_hal_busio_i2c_try_lock(busio_i2c_obj_t *self) {
bool common_hal_busio_i2c_has_lock(busio_i2c_obj_t *self) { bool common_hal_busio_i2c_has_lock(busio_i2c_obj_t *self) {
return self->has_lock; return self->has_lock;
} }
void common_hal_busio_i2c_unlock(busio_i2c_obj_t *self) { void common_hal_busio_i2c_unlock(busio_i2c_obj_t *self) {
self->has_lock = false; self->has_lock = false;
} }

View File

@ -31,7 +31,7 @@
#include "shared-bindings/busio/SPI.h" #include "shared-bindings/busio/SPI.h"
void common_hal_busio_spi_construct(busio_spi_obj_t *self, const mcu_pin_obj_t *clock, void common_hal_busio_spi_construct(busio_spi_obj_t *self, const mcu_pin_obj_t *clock,
const mcu_pin_obj_t *mosi, const mcu_pin_obj_t *miso) { const mcu_pin_obj_t *mosi, const mcu_pin_obj_t *miso) {
int port = -1; int port = -1;

View File

@ -63,7 +63,7 @@ void common_hal_pulseio_pulseout_construct(pulseio_pulseout_obj_t *self,
if (pulse_fd < 0) { if (pulse_fd < 0) {
pulse_fd = open("/dev/timer0", O_RDONLY); pulse_fd = open("/dev/timer0", O_RDONLY);
} }
if (pulse_fd < 0) { if (pulse_fd < 0) {
mp_raise_RuntimeError(translate("All timers in use")); mp_raise_RuntimeError(translate("All timers in use"));
} }

View File

@ -1,3 +1,2 @@
/mkspk /mkspk
/mkspk.exe /mkspk.exe

View File

@ -146,4 +146,3 @@ void port_interrupt_after_ticks(uint32_t ticks) {
void port_sleep_until_interrupt(void) { void port_sleep_until_interrupt(void) {
// TODO: Implement sleep. // TODO: Implement sleep.
} }

View File

@ -35,4 +35,3 @@ bool common_hal_get_serial_connected(void) {
bool common_hal_get_serial_bytes_available(void) { bool common_hal_get_serial_bytes_available(void) {
return (bool) serial_bytes_available(); return (bool) serial_bytes_available();
} }

View File

@ -37,4 +37,4 @@ const super_runtime_obj_t common_hal_supervisor_runtime_obj = {
.base = { .base = {
.type = &supervisor_runtime_type, .type = &supervisor_runtime_type,
}, },
}; };

View File

@ -121,4 +121,3 @@ mp_uint_t supervisor_flash_write_blocks(const uint8_t *src, uint32_t lba, uint32
void supervisor_flash_release_cache(void) { void supervisor_flash_release_cache(void) {
} }

Some files were not shown because too many files have changed in this diff Show More