Murata RF modules are designed to simplify wireless development and certification by minimizing the amount of RF expertise you need to wirelessly enable a wide range of applications.
Type/IPAddress.cpp@9:0ce800923eda, 2016-03-16 (annotated)
- Committer:
- yangcq88517
- Date:
- Wed Mar 16 15:04:46 2016 +0000
- Revision:
- 9:0ce800923eda
- Parent:
- 1:fd19bd683e90
bug fix
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yangcq88517 | 0:8e83b9448758 | 1 | #include "IPAddress.h" |
yangcq88517 | 0:8e83b9448758 | 2 | |
yangcq88517 | 0:8e83b9448758 | 3 | using namespace SmartLabMuRata; |
yangcq88517 | 9:0ce800923eda | 4 | IPAddress::IPAddress() |
yangcq88517 | 9:0ce800923eda | 5 | {} |
yangcq88517 | 0:8e83b9448758 | 6 | |
yangcq88517 | 9:0ce800923eda | 7 | IPAddress::IPAddress(const char * ipString) |
yangcq88517 | 0:8e83b9448758 | 8 | { |
yangcq88517 | 9:0ce800923eda | 9 | if (ipString == NULL) |
yangcq88517 | 9:0ce800923eda | 10 | return; |
yangcq88517 | 9:0ce800923eda | 11 | |
yangcq88517 | 9:0ce800923eda | 12 | int size = strlen(ipString) + 1; |
yangcq88517 | 9:0ce800923eda | 13 | char temp[size]; |
yangcq88517 | 9:0ce800923eda | 14 | |
yangcq88517 | 9:0ce800923eda | 15 | memcpy(temp, ipString, size); |
yangcq88517 | 9:0ce800923eda | 16 | |
yangcq88517 | 0:8e83b9448758 | 17 | int i = 0; |
yangcq88517 | 9:0ce800923eda | 18 | char * pch = strtok (temp, "."); |
yangcq88517 | 9:0ce800923eda | 19 | while (pch != NULL) { |
yangcq88517 | 9:0ce800923eda | 20 | address[i++] = atoi(pch); |
yangcq88517 | 9:0ce800923eda | 21 | pch = strtok (NULL, "."); |
yangcq88517 | 9:0ce800923eda | 22 | |
yangcq88517 | 9:0ce800923eda | 23 | if (i >= 4) |
yangcq88517 | 9:0ce800923eda | 24 | break; |
yangcq88517 | 0:8e83b9448758 | 25 | } |
yangcq88517 | 0:8e83b9448758 | 26 | } |
yangcq88517 | 0:8e83b9448758 | 27 | |
yangcq88517 | 0:8e83b9448758 | 28 | void IPAddress::SetValue(const char * data, int offset) |
yangcq88517 | 0:8e83b9448758 | 29 | { |
yangcq88517 | 0:8e83b9448758 | 30 | memcpy(address, data + offset, 4); |
yangcq88517 | 0:8e83b9448758 | 31 | } |
yangcq88517 | 0:8e83b9448758 | 32 | |
yangcq88517 | 0:8e83b9448758 | 33 | const char * IPAddress::GetValue() |
yangcq88517 | 0:8e83b9448758 | 34 | { |
yangcq88517 | 0:8e83b9448758 | 35 | return address; |
yangcq88517 | 0:8e83b9448758 | 36 | } |
yangcq88517 | 0:8e83b9448758 | 37 | int IPAddress::GetValueLength() |
yangcq88517 | 0:8e83b9448758 | 38 | { |
yangcq88517 | 0:8e83b9448758 | 39 | return 4; |
yangcq88517 | 0:8e83b9448758 | 40 | } |
yangcq88517 | 0:8e83b9448758 | 41 | |
yangcq88517 | 9:0ce800923eda | 42 | const char * IPAddress::ToString() |
yangcq88517 | 0:8e83b9448758 | 43 | { |
yangcq88517 | 9:0ce800923eda | 44 | sprintf (ip, "%d.%d.%d.%d", address[0], address[1], address[2], address[3]); |
yangcq88517 | 9:0ce800923eda | 45 | return ip; |
yangcq88517 | 0:8e83b9448758 | 46 | } |