|
25 | 25 | #include "AdafruitIO.h"
|
26 | 26 |
|
27 | 27 | // all logic in .h to avoid auto compile
|
28 |
| -class AdafruitIO_Ethernet : public AdafruitIO { |
| 28 | +class AdafruitIO_Ethernet : public AdafruitIO |
| 29 | +{ |
29 | 30 |
|
30 |
| - public: |
31 |
| - AdafruitIO_Ethernet(const char *user, const char *key):AdafruitIO(user, key) |
32 |
| - { |
33 |
| - _client = new EthernetClient(); |
34 |
| - _mqtt = new Adafruit_MQTT_Client(_client, _host, _mqtt_port, _username, _key); |
35 |
| - _http = new HttpClient(*_client, _host, _http_port); |
36 |
| - } |
37 |
| - |
38 |
| - aio_status_t networkStatus() |
39 |
| - { |
40 |
| - if(_status == AIO_NET_CONNECTED) |
41 |
| - return _status; |
| 31 | +public: |
| 32 | + AdafruitIO_Ethernet(const char *user, const char *key) : AdafruitIO(user, key) |
| 33 | + { |
| 34 | + _client = new EthernetClient(); |
| 35 | + _mqtt = new Adafruit_MQTT_Client(_client, _host, _mqtt_port, _username, _key); |
| 36 | + _http = new HttpClient(*_client, _host, _http_port); |
| 37 | + } |
42 | 38 |
|
43 |
| - _connect(); |
| 39 | + aio_status_t networkStatus() |
| 40 | + { |
| 41 | + if (_status == AIO_NET_CONNECTED) |
44 | 42 | return _status;
|
45 |
| - } |
46 | 43 |
|
47 |
| - const char* connectionType() |
48 |
| - { |
49 |
| - return "ethernet_wing"; |
50 |
| - } |
| 44 | + _connect(); |
| 45 | + return _status; |
| 46 | + } |
| 47 | + |
| 48 | + const char *connectionType() |
| 49 | + { |
| 50 | + return "ethernet_wing"; |
| 51 | + } |
51 | 52 |
|
52 |
| - protected: |
53 |
| - byte _mac[6] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; |
| 53 | +protected: |
| 54 | + byte _mac[6] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; |
54 | 55 |
|
55 |
| - EthernetClient *_client; |
| 56 | + EthernetClient *_client; |
56 | 57 |
|
57 |
| - void _connect() |
| 58 | + void _connect() |
| 59 | + { |
| 60 | + if (Ethernet.begin(_mac) == 0) |
58 | 61 | {
|
59 |
| - if(Ethernet.begin(_mac) == 0) |
60 |
| - _status = AIO_NET_DISCONNECTED; |
61 |
| - else |
62 |
| - _status = AIO_NET_CONNECTED; |
| 62 | + _status = AIO_NET_DISCONNECTED; |
| 63 | + if (Ethernet.hardwareStatus() == EthernetNoHardware) |
| 64 | + { |
| 65 | + AIO_DEBUG_PRINTLN("Ethernet FeatherWing not found! Please recheck wiring connections."); |
| 66 | + while (true) |
| 67 | + delay(1); // do nothing, no point running without Ethernet hardware |
| 68 | + } |
63 | 69 | }
|
64 |
| - |
| 70 | + else |
| 71 | + { |
| 72 | + _status = AIO_NET_CONNECTED; |
| 73 | + } |
| 74 | + } |
65 | 75 | };
|
66 | 76 |
|
67 | 77 | #endif // ADAFRUITIO_ETHERNET_H
|
0 commit comments