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.
2
.github/workflows/create_website_pr.yml
vendored
@ -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
|
||||||
|
@ -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.
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
@ -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:
|
||||||
|
@ -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);
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
//*****************************************************************************
|
//*****************************************************************************
|
||||||
|
@ -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.
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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 */
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
//*****************************************************************************
|
//*****************************************************************************
|
||||||
|
@ -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=#
|
||||||
|
@ -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)) {
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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));
|
||||||
|
@ -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 */
|
||||||
|
@ -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 {
|
||||||
|
@ -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 */
|
||||||
|
@ -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;
|
||||||
|
@ -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.
|
||||||
* ====================================================
|
* ====================================================
|
||||||
*/
|
*/
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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.
|
||||||
* ====================================================
|
* ====================================================
|
||||||
*/
|
*/
|
||||||
|
@ -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.
|
||||||
* ====================================================
|
* ====================================================
|
||||||
*/
|
*/
|
||||||
|
@ -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.
|
||||||
* ====================================================
|
* ====================================================
|
||||||
*/
|
*/
|
||||||
|
@ -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.
|
||||||
* ====================================================
|
* ====================================================
|
||||||
*/
|
*/
|
||||||
|
@ -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.
|
||||||
* ====================================================
|
* ====================================================
|
||||||
*/
|
*/
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -8,5 +8,3 @@ int __signbitd(double x)
|
|||||||
} y = { x };
|
} y = { x };
|
||||||
return y.i>>63;
|
return y.i>>63;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -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)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,4 +76,3 @@ def main():
|
|||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
||||||
|
@ -385,4 +385,3 @@ WCHAR ff_wtoupper ( /* Returns upper converted character */
|
|||||||
|
|
||||||
return chr;
|
return chr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 107 KiB |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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__
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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) },
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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) },
|
||||||
|
@ -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) },
|
||||||
|
@ -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) },
|
||||||
|
@ -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) },
|
||||||
|
@ -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) },
|
||||||
|
@ -12,4 +12,3 @@ EXTERNAL_FLASH_DEVICES = GD25Q16C
|
|||||||
LONGINT_IMPL = MPZ
|
LONGINT_IMPL = MPZ
|
||||||
|
|
||||||
CIRCUITPY_VECTORIO = 1
|
CIRCUITPY_VECTORIO = 1
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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) },
|
||||||
|
@ -38,4 +38,4 @@ bool board_requests_safe_mode(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void reset_board(void) {
|
void reset_board(void) {
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -12,4 +12,3 @@ LONGINT_IMPL = NONE
|
|||||||
CIRCUITPY_FULL_BUILD = 0
|
CIRCUITPY_FULL_BUILD = 0
|
||||||
|
|
||||||
SUPEROPT_GC = 0
|
SUPEROPT_GC = 0
|
||||||
|
|
||||||
|
@ -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) },
|
||||||
|
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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) },
|
||||||
|
@ -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) },
|
||||||
|
@ -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) },
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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) },
|
||||||
|
@ -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) },
|
||||||
|
@ -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;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,4 +37,4 @@ const super_runtime_obj_t common_hal_supervisor_runtime_obj = {
|
|||||||
.base = {
|
.base = {
|
||||||
.type = &supervisor_runtime_type,
|
.type = &supervisor_runtime_type,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -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)
|
||||||
|
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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"));
|
||||||
}
|
}
|
||||||
|
1
ports/cxd56/mkspk/.gitignore
vendored
@ -1,3 +1,2 @@
|
|||||||
/mkspk
|
/mkspk
|
||||||
/mkspk.exe
|
/mkspk.exe
|
||||||
|
|
||||||
|
@ -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.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,4 +37,4 @@ const super_runtime_obj_t common_hal_supervisor_runtime_obj = {
|
|||||||
.base = {
|
.base = {
|
||||||
.type = &supervisor_runtime_type,
|
.type = &supervisor_runtime_type,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -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) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|