arduino stuffs
Diffstat (limited to 'libraries/Ethernet/src/Ethernet.cpp')
-rw-r--r--libraries/Ethernet/src/Ethernet.cpp242
1 files changed, 0 insertions, 242 deletions
diff --git a/libraries/Ethernet/src/Ethernet.cpp b/libraries/Ethernet/src/Ethernet.cpp
deleted file mode 100644
index 658bd64..0000000
--- a/libraries/Ethernet/src/Ethernet.cpp
+++ /dev/null
@@ -1,242 +0,0 @@
-/* Copyright 2018 Paul Stoffregen
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy of this
- * software and associated documentation files (the "Software"), to deal in the Software
- * without restriction, including without limitation the rights to use, copy, modify,
- * merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to the following
- * conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
- * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
- * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#include <Arduino.h>
-#include "Ethernet.h"
-#include "utility/w5100.h"
-#include "Dhcp.h"
-
-IPAddress EthernetClass::_dnsServerAddress;
-DhcpClass* EthernetClass::_dhcp = NULL;
-
-int EthernetClass::begin(uint8_t *mac, unsigned long timeout, unsigned long responseTimeout)
-{
- static DhcpClass s_dhcp;
- _dhcp = &s_dhcp;
-
- // Initialise the basic info
- if (W5100.init() == 0) return 0;
- SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
- W5100.setMACAddress(mac);
- W5100.setIPAddress(IPAddress(0,0,0,0).raw_address());
- SPI.endTransaction();
-
- // Now try to get our config info from a DHCP server
- int ret = _dhcp->beginWithDHCP(mac, timeout, responseTimeout);
- if (ret == 1) {
- // We've successfully found a DHCP server and got our configuration
- // info, so set things accordingly
- SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
- W5100.setIPAddress(_dhcp->getLocalIp().raw_address());
- W5100.setGatewayIp(_dhcp->getGatewayIp().raw_address());
- W5100.setSubnetMask(_dhcp->getSubnetMask().raw_address());
- SPI.endTransaction();
- _dnsServerAddress = _dhcp->getDnsServerIp();
- socketPortRand(micros());
- }
- return ret;
-}
-
-void EthernetClass::begin(uint8_t *mac, IPAddress ip)
-{
- // Assume the DNS server will be the machine on the same network as the local IP
- // but with last octet being '1'
- IPAddress dns = ip;
- dns[3] = 1;
- begin(mac, ip, dns);
-}
-
-void EthernetClass::begin(uint8_t *mac, IPAddress ip, IPAddress dns)
-{
- // Assume the gateway will be the machine on the same network as the local IP
- // but with last octet being '1'
- IPAddress gateway = ip;
- gateway[3] = 1;
- begin(mac, ip, dns, gateway);
-}
-
-void EthernetClass::begin(uint8_t *mac, IPAddress ip, IPAddress dns, IPAddress gateway)
-{
- IPAddress subnet(255, 255, 255, 0);
- begin(mac, ip, dns, gateway, subnet);
-}
-
-void EthernetClass::begin(uint8_t *mac, IPAddress ip, IPAddress dns, IPAddress gateway, IPAddress subnet)
-{
- if (W5100.init() == 0) return;
- SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
- W5100.setMACAddress(mac);
-#if ARDUINO > 106 || TEENSYDUINO > 121
- W5100.setIPAddress(ip._address.bytes);
- W5100.setGatewayIp(gateway._address.bytes);
- W5100.setSubnetMask(subnet._address.bytes);
-#else
- W5100.setIPAddress(ip._address);
- W5100.setGatewayIp(gateway._address);
- W5100.setSubnetMask(subnet._address);
-#endif
- SPI.endTransaction();
- _dnsServerAddress = dns;
-}
-
-void EthernetClass::init(uint8_t sspin)
-{
- W5100.setSS(sspin);
-}
-
-EthernetLinkStatus EthernetClass::linkStatus()
-{
- switch (W5100.getLinkStatus()) {
- case UNKNOWN: return Unknown;
- case LINK_ON: return LinkON;
- case LINK_OFF: return LinkOFF;
- default: return Unknown;
- }
-}
-
-EthernetHardwareStatus EthernetClass::hardwareStatus()
-{
- switch (W5100.getChip()) {
- case 51: return EthernetW5100;
- case 52: return EthernetW5200;
- case 55: return EthernetW5500;
- default: return EthernetNoHardware;
- }
-}
-
-int EthernetClass::maintain()
-{
- int rc = DHCP_CHECK_NONE;
- if (_dhcp != NULL) {
- // we have a pointer to dhcp, use it
- rc = _dhcp->checkLease();
- switch (rc) {
- case DHCP_CHECK_NONE:
- //nothing done
- break;
- case DHCP_CHECK_RENEW_OK:
- case DHCP_CHECK_REBIND_OK:
- //we might have got a new IP.
- SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
- W5100.setIPAddress(_dhcp->getLocalIp().raw_address());
- W5100.setGatewayIp(_dhcp->getGatewayIp().raw_address());
- W5100.setSubnetMask(_dhcp->getSubnetMask().raw_address());
- SPI.endTransaction();
- _dnsServerAddress = _dhcp->getDnsServerIp();
- break;
- default:
- //this is actually an error, it will retry though
- break;
- }
- }
- return rc;
-}
-
-
-void EthernetClass::MACAddress(uint8_t *mac_address)
-{
- SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
- W5100.getMACAddress(mac_address);
- SPI.endTransaction();
-}
-
-IPAddress EthernetClass::localIP()
-{
- IPAddress ret;
- SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
- W5100.getIPAddress(ret.raw_address());
- SPI.endTransaction();
- return ret;
-}
-
-IPAddress EthernetClass::subnetMask()
-{
- IPAddress ret;
- SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
- W5100.getSubnetMask(ret.raw_address());
- SPI.endTransaction();
- return ret;
-}
-
-IPAddress EthernetClass::gatewayIP()
-{
- IPAddress ret;
- SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
- W5100.getGatewayIp(ret.raw_address());
- SPI.endTransaction();
- return ret;
-}
-
-void EthernetClass::setMACAddress(const uint8_t *mac_address)
-{
- SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
- W5100.setMACAddress(mac_address);
- SPI.endTransaction();
-}
-
-void EthernetClass::setLocalIP(const IPAddress local_ip)
-{
- SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
- IPAddress ip = local_ip;
- W5100.setIPAddress(ip.raw_address());
- SPI.endTransaction();
-}
-
-void EthernetClass::setSubnetMask(const IPAddress subnet)
-{
- SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
- IPAddress ip = subnet;
- W5100.setSubnetMask(ip.raw_address());
- SPI.endTransaction();
-}
-
-void EthernetClass::setGatewayIP(const IPAddress gateway)
-{
- SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
- IPAddress ip = gateway;
- W5100.setGatewayIp(ip.raw_address());
- SPI.endTransaction();
-}
-
-void EthernetClass::setRetransmissionTimeout(uint16_t milliseconds)
-{
- if (milliseconds > 6553) milliseconds = 6553;
- SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
- W5100.setRetransmissionTime(milliseconds * 10);
- SPI.endTransaction();
-}
-
-void EthernetClass::setRetransmissionCount(uint8_t num)
-{
- SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
- W5100.setRetransmissionCount(num);
- SPI.endTransaction();
-}
-
-
-
-
-
-
-
-
-
-
-EthernetClass Ethernet;