[gnoduino: 87/237] Merge branch 'master' into wifly_integration
- From: Lucian Langa <lucilanga src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnoduino: 87/237] Merge branch 'master' into wifly_integration
- Date: Sat, 31 Mar 2012 20:22:08 +0000 (UTC)
commit cda00853763a194c8fb4da03705fb508b487b9fe
Merge: 4c7dfc8 87e0167
Author: amcewen <amcewen bcs org uk>
Date: Sun Aug 28 20:28:53 2011 +0100
Merge branch 'master' into wifly_integration
arduino/boards.txt | 66 ++-
arduino/bootloaders/optiboot/optiboot.c | 2 +-
.../bootloaders/optiboot/optiboot_atmega328.hex | 62 +-
.../bootloaders/optiboot/optiboot_atmega328.lst | 462 ++++++------
arduino/cores/arduino/Arduino.h | 205 ++++++
arduino/cores/arduino/HardwareSerial.cpp | 255 +++++---
arduino/cores/arduino/HardwareSerial.h | 11 +-
arduino/cores/arduino/IPAddress.cpp | 14 +-
arduino/cores/arduino/IPAddress.h | 6 +-
arduino/cores/arduino/Print.cpp | 213 ++++---
arduino/cores/arduino/Print.h | 62 +-
arduino/cores/arduino/Printable.h | 40 ++
arduino/cores/arduino/Stream.cpp | 233 ++++++
arduino/cores/arduino/Stream.h | 58 ++
arduino/cores/arduino/Tone.cpp | 2 +-
arduino/cores/arduino/WConstants.h | 1 -
arduino/cores/arduino/WInterrupts.c | 1 -
arduino/cores/arduino/WProgram.h | 63 --
arduino/cores/arduino/WString.cpp | 736 +++++++++++++-------
arduino/cores/arduino/WString.h | 255 +++++---
arduino/cores/arduino/main.cpp | 3 +-
arduino/cores/arduino/new.cpp | 18 +
arduino/cores/arduino/new.h | 22 +
arduino/cores/arduino/pins_arduino.h | 88 ---
arduino/cores/arduino/wiring.c | 2 +-
arduino/cores/arduino/wiring.h | 135 ----
arduino/cores/arduino/wiring_digital.c | 11 +-
arduino/cores/arduino/wiring_private.h | 2 +-
arduino/variants/eightanaloginputs/pins_arduino.h | 27 +
.../mega/pins_arduino.h} | 294 +++------
arduino/variants/standard/pins_arduino.h | 218 ++++++
31 files changed, 2265 insertions(+), 1302 deletions(-)
---
diff --cc arduino/cores/arduino/IPAddress.cpp
index 408d518,0000000..fe3deb7
mode 100644,000000..100644
--- a/arduino/cores/arduino/IPAddress.cpp
+++ b/arduino/cores/arduino/IPAddress.cpp
@@@ -1,44 -1,0 +1,56 @@@
+
- #include <WProgram.h>
++#include <Arduino.h>
+#include <IPAddress.h>
+
+IPAddress::IPAddress()
+{
+ memset(_address, 0, sizeof(_address));
+}
+
+IPAddress::IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet)
+{
+ _address[0] = first_octet;
+ _address[1] = second_octet;
+ _address[2] = third_octet;
+ _address[3] = fourth_octet;
+}
+
+IPAddress::IPAddress(uint32_t address)
+{
+ memcpy(_address, &address, sizeof(_address));
+}
+
+IPAddress::IPAddress(const uint8_t *address)
+{
+ memcpy(_address, address, sizeof(_address));
+}
+
+IPAddress& IPAddress::operator=(const uint8_t *address)
+{
+ memcpy(_address, address, sizeof(_address));
+ return *this;
+}
+
+IPAddress& IPAddress::operator=(uint32_t address)
+{
+ memcpy(_address, (const uint8_t *)&address, sizeof(_address));
+ return *this;
+}
+
+bool IPAddress::operator==(const uint8_t* addr)
+{
+ return memcmp(addr, _address, sizeof(_address)) == 0;
+}
+
++size_t IPAddress::printTo(Print& p) const
++{
++ size_t n = 0;
++ for (int i =0; i < 3; i++)
++ {
++ n += p.print(_address[i], DEC);
++ n += p.print('.');
++ }
++ n += p.print(_address[3], DEC);
++ return n;
++}
++
diff --cc arduino/cores/arduino/IPAddress.h
index 487e420,0000000..2585aec
mode 100644,000000..100644
--- a/arduino/cores/arduino/IPAddress.h
+++ b/arduino/cores/arduino/IPAddress.h
@@@ -1,72 -1,0 +1,76 @@@
+/*
+ *
+ * MIT License:
+ * Copyright (c) 2011 Adrian McEwen
+ * 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.
+ *
+ * adrianm mcqn com 1/1/2011
+ */
+
+#ifndef IPAddress_h
+#define IPAddress_h
+
++#include <Printable.h>
++
+// A class to make it easier to handle and pass around IP addresses
+
- class IPAddress {
++class IPAddress : public Printable {
+private:
+ uint8_t _address[4]; // IPv4 address
+ // Access the raw byte array containing the address. Because this returns a pointer
+ // to the internal structure rather than a copy of the address this function should only
+ // be used when you know that the usage of the returned uint8_t* will be transient and not
+ // stored.
+ uint8_t* raw_address() { return _address; };
+
+public:
+ // Constructors
+ IPAddress();
+ IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet);
+ IPAddress(uint32_t address);
+ IPAddress(const uint8_t *address);
+
+ // Overloaded cast operator to allow IPAddress objects to be used where a pointer
+ // to a four-byte uint8_t array is expected
+ operator uint32_t() { return *((uint32_t*)_address); };
+ bool operator==(const IPAddress& addr) { return (*((uint32_t*)_address)) == (*((uint32_t*)addr._address)); };
+ bool operator==(const uint8_t* addr);
+
+ // Overloaded index operator to allow getting and setting individual octets of the address
+ uint8_t operator[](int index) const { return _address[index]; };
+ uint8_t& operator[](int index) { return _address[index]; };
+
+ // Overloaded copy operators to allow initialisation of IPAddress objects from other types
+ IPAddress& operator=(const uint8_t *address);
+ IPAddress& operator=(uint32_t address);
+
++ virtual size_t printTo(Print& p) const;
++
+ friend class EthernetClass;
+ friend class UDP;
+ friend class Client;
+ friend class Server;
+ friend class DhcpClass;
+ friend class DNSClient;
+};
+
+const IPAddress INADDR_NONE(0,0,0,0);
+
+
+#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]