Merge branch 'ide-1.5.x-warnings' of github.com:matthijskooijman/Arduino into ide-1.5.x
This commit is contained in:
commit
945cf41bc3
|
@ -21,6 +21,7 @@
|
||||||
#define Arduino_h
|
#define Arduino_h
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <stdbool.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
|
@ -43,9 +44,6 @@ void yield(void);
|
||||||
#define OUTPUT 0x1
|
#define OUTPUT 0x1
|
||||||
#define INPUT_PULLUP 0x2
|
#define INPUT_PULLUP 0x2
|
||||||
|
|
||||||
#define true 0x1
|
|
||||||
#define false 0x0
|
|
||||||
|
|
||||||
#define PI 3.1415926535897932384626433832795
|
#define PI 3.1415926535897932384626433832795
|
||||||
#define HALF_PI 1.5707963267948966192313216916398
|
#define HALF_PI 1.5707963267948966192313216916398
|
||||||
#define TWO_PI 6.283185307179586476925286766559
|
#define TWO_PI 6.283185307179586476925286766559
|
||||||
|
|
|
@ -22,42 +22,42 @@
|
||||||
|
|
||||||
IPAddress::IPAddress()
|
IPAddress::IPAddress()
|
||||||
{
|
{
|
||||||
memset(_address, 0, sizeof(_address));
|
_address.dword = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
IPAddress::IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet)
|
IPAddress::IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet)
|
||||||
{
|
{
|
||||||
_address[0] = first_octet;
|
_address.bytes[0] = first_octet;
|
||||||
_address[1] = second_octet;
|
_address.bytes[1] = second_octet;
|
||||||
_address[2] = third_octet;
|
_address.bytes[2] = third_octet;
|
||||||
_address[3] = fourth_octet;
|
_address.bytes[3] = fourth_octet;
|
||||||
}
|
}
|
||||||
|
|
||||||
IPAddress::IPAddress(uint32_t address)
|
IPAddress::IPAddress(uint32_t address)
|
||||||
{
|
{
|
||||||
memcpy(_address, &address, sizeof(_address));
|
_address.dword = address;
|
||||||
}
|
}
|
||||||
|
|
||||||
IPAddress::IPAddress(const uint8_t *address)
|
IPAddress::IPAddress(const uint8_t *address)
|
||||||
{
|
{
|
||||||
memcpy(_address, address, sizeof(_address));
|
memcpy(_address.bytes, address, sizeof(_address.bytes));
|
||||||
}
|
}
|
||||||
|
|
||||||
IPAddress& IPAddress::operator=(const uint8_t *address)
|
IPAddress& IPAddress::operator=(const uint8_t *address)
|
||||||
{
|
{
|
||||||
memcpy(_address, address, sizeof(_address));
|
memcpy(_address.bytes, address, sizeof(_address.bytes));
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
IPAddress& IPAddress::operator=(uint32_t address)
|
IPAddress& IPAddress::operator=(uint32_t address)
|
||||||
{
|
{
|
||||||
memcpy(_address, (const uint8_t *)&address, sizeof(_address));
|
_address.dword = address;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IPAddress::operator==(const uint8_t* addr) const
|
bool IPAddress::operator==(const uint8_t* addr) const
|
||||||
{
|
{
|
||||||
return memcmp(addr, _address, sizeof(_address)) == 0;
|
return memcmp(addr, _address.bytes, sizeof(_address.bytes)) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t IPAddress::printTo(Print& p) const
|
size_t IPAddress::printTo(Print& p) const
|
||||||
|
@ -65,10 +65,10 @@ size_t IPAddress::printTo(Print& p) const
|
||||||
size_t n = 0;
|
size_t n = 0;
|
||||||
for (int i =0; i < 3; i++)
|
for (int i =0; i < 3; i++)
|
||||||
{
|
{
|
||||||
n += p.print(_address[i], DEC);
|
n += p.print(_address.bytes[i], DEC);
|
||||||
n += p.print('.');
|
n += p.print('.');
|
||||||
}
|
}
|
||||||
n += p.print(_address[3], DEC);
|
n += p.print(_address.bytes[3], DEC);
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,12 +27,16 @@
|
||||||
|
|
||||||
class IPAddress : public Printable {
|
class IPAddress : public Printable {
|
||||||
private:
|
private:
|
||||||
uint8_t _address[4]; // IPv4 address
|
union {
|
||||||
|
uint8_t bytes[4]; // IPv4 address
|
||||||
|
uint32_t dword;
|
||||||
|
} _address;
|
||||||
|
|
||||||
// Access the raw byte array containing the address. Because this returns a pointer
|
// 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
|
// 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
|
// be used when you know that the usage of the returned uint8_t* will be transient and not
|
||||||
// stored.
|
// stored.
|
||||||
uint8_t* raw_address() { return _address; };
|
uint8_t* raw_address() { return _address.bytes; };
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructors
|
// Constructors
|
||||||
|
@ -43,13 +47,13 @@ public:
|
||||||
|
|
||||||
// Overloaded cast operator to allow IPAddress objects to be used where a pointer
|
// Overloaded cast operator to allow IPAddress objects to be used where a pointer
|
||||||
// to a four-byte uint8_t array is expected
|
// to a four-byte uint8_t array is expected
|
||||||
operator uint32_t() const { return *((uint32_t*)_address); };
|
operator uint32_t() const { return _address.dword; };
|
||||||
bool operator==(const IPAddress& addr) const { return (*((uint32_t*)_address)) == (*((uint32_t*)addr._address)); };
|
bool operator==(const IPAddress& addr) const { return _address.dword == addr._address.dword; };
|
||||||
bool operator==(const uint8_t* addr) const;
|
bool operator==(const uint8_t* addr) const;
|
||||||
|
|
||||||
// Overloaded index operator to allow getting and setting individual octets of the address
|
// 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) const { return _address.bytes[index]; };
|
||||||
uint8_t& operator[](int index) { return _address[index]; };
|
uint8_t& operator[](int index) { return _address.bytes[index]; };
|
||||||
|
|
||||||
// Overloaded copy operators to allow initialisation of IPAddress objects from other types
|
// Overloaded copy operators to allow initialisation of IPAddress objects from other types
|
||||||
IPAddress& operator=(const uint8_t *address);
|
IPAddress& operator=(const uint8_t *address);
|
||||||
|
|
|
@ -176,7 +176,7 @@ float Stream::parseFloat(char skipChar){
|
||||||
boolean isNegative = false;
|
boolean isNegative = false;
|
||||||
boolean isFraction = false;
|
boolean isFraction = false;
|
||||||
long value = 0;
|
long value = 0;
|
||||||
char c;
|
int c;
|
||||||
float fraction = 1.0;
|
float fraction = 1.0;
|
||||||
|
|
||||||
c = peekNextDigit();
|
c = peekNextDigit();
|
||||||
|
|
Loading…
Reference in New Issue