Git Product home page Git Product logo

ntpclient's Introduction

Notice

With new improvements in sdk both for esp32 and esp8266, this library has become less usefull. Using internal functions of IDF or NonOS (esp8266) have several advantages and it is mandatory for certain scenarios, like using HTTPS with certificate check.

For that reason this library will be deprecated. I will keep the repository opened for archive reasons, but I will not make any big development on it.

I'll copy the recommended NTP initialisation code for both ESP8266 and ESP32 using Arduino. It is easy and convenient.

Arduino MKR1000 users, if any, can keep using it.


New library announcement

(23/nov/2020) - Due to a current project I needed having NTP synchronization with millisecond accuracy. It is not currently implemented in any NTP client library or internal Espressif SDK. So, I've started a new library that focuses on high accuracy sync. It only supports ESP8266 and ESP32.

You can find it on GitHub repository https://github.com/gmag11/ESPNtpClient

It relies in internal Posix Time implementation so it is integrated on SDK time calculation. This means that it can be used with TLS mechanism to check certificates validity.


NtpClientLib

Introduction

There are some NTP client examples around. You can see some examples, like this.

In a device like ESP8266 or any Internet connected Arduino having NTP synchronization is well convenient. Using that example you can add NTP client to your projects but I was looking for a quicker way to add it, using something like NTPClient class.

So I decided to do my own NTP client library to sync ESP8266 time via WiFi using Arduino IDE. It can also be used on any ethernet or WiFi connected Arduino, although as I do not have any WiFi enabled Arduino code is not tested. Testers are welcome.

This library support both Arduino MKR1000, ESP8266 and ESP32.

Description

This is a NTP library to be able to get time from NTP server with my connected microcontrollers. Support for regular Arduino with ethernet shield, ESP8266, ESP32 and Arduino MKR1000 is available. Please test it and inform via GitHub.

Using the library is fairly easy. A NTP singleton object is created inside library. You may use default values by using NTP.begin() without parameters. After that, synchronization is done regularly without user intervention. Some parameters can be adjusted: server, sync frequency, time offset.

You don't need anything more. Time update is managed inside library so, after NTP.begin() no more calls to library are needed.

Update frequency is higher (every 15 seconds as default) until 1st successful sync is achieved. Since then, your own (or default 1800 seconds) adjusted period applies. There is a way to adjust both short and long sync period if needed.

In current version source code is the same for all platforms. There has been some interface changes during last update. Although I've tried to keep backwards compatibility you may find some discrepancies. Let me know so that I can correct it.

This library includes an uptime log too. It counts number of seconds since sketch is started. It can be checked calling NTP.getUptime() or NTP.getUptimeString() for a human readable string.

Every time that local time is adjusted a ntpEvent is thrown. You can attach a function to it using NTP.onNTPSyncEvent(). Indeed, this event is thrown just before time is sent to [Time] Library. Because of that, you should try not to make time consuming tasks inside event handler. Although it is taken into account inside library, it would add some offset to calculated time. My recommendation is to use a flag and process it inside loop()function.

Called function format must be like void eventHandler(NTPSyncEvent_t event).

ESP8266 example uses a simple function to turn a flag on, so actual event handling code is run inside main loop.

Examples

Please check examples folder into repository source code.

Performance

Don't expect atomic-clock-like precision. This library does not take network delay into account neither uses all NTP mechanisms available to improve accuracy. It is in the range of 1 to 2 seconds. Enough for most projects.

I have the plan to add full network delay compensation. Due to limited Time Library precision of 1 second, it probably will not affect overall accuracy.

Dependencies

This library makes use of Time library. You need to add it to use NTPClientLib

ntpclient's People

Contributors

alaingourves avatar bolukan avatar c0zm0z avatar d-a-v avatar dmaixner avatar gmag11 avatar jeanyvesb9 avatar kugelkopf123 avatar lobradov avatar mcspr avatar tomscircuits avatar toneomgomg avatar xoseperez avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ntpclient's Issues

request->send_P(200, "text/html", Page_Restart) not sending

This is in the demo code a couple of times, but doesn't seem to work.

If I'm not mistaken, it's supposed to send a message, then delay and reload..

my PROGMEM is:
const char Page_Restart[] PROGMEM = R"=====(

Please Wait....Configuring and Restarting.
)=====";

yet I never get a page that once executed. As a matter of fact, seem to be still waiting for a response, then times out..

Can someone confirm these findings? Anyone have a solution?

Latest github version with 1.6.8

/Users/EvAkilli/Documents/Arduino/libraries/NtpClientLib/src/NtpClientLib.h:60:2: error: #error "Incorrect platform. Only ARDUINO and ESP8266 MCUs are valid."
#error "Incorrect platform. Only ARDUINO and ESP8266 MCUs are valid."
^

ESP8266 compile error

here is the message:

.pioenvs/esp07/NtpClientLib_ID727/ESPNTPClient.cpp: In member function 'bool NTPClient::begin(String, int, bool)':

.pioenvs/esp07/NtpClientLib_ID727/ESPNTPClient.cpp:129:53: error: cannot convert 'std::_Bind_helper<false, long int (NTPClient::)(), NTPClient const>::type {aka std::_Bind<std::Mem
fn<long int (NTPClient::*)()>(NTPClient)>}' to 'getExternalTime {aka long int (
)()}' for argument '1' to 'void setSyncProvider(getExternalTime)'
setSyncProvider(std::bind(&NTPClient::getTime,this));
^

Disconnected operation

Hello, I am building a thing that has to be able to work both connected and disconnected. When disconnected it will only update the LCD display, while in connected mode it will also update MQTT.
It must be able to handle disconnections and reconnections without reboot.
Is there a way to use this lib? E.g. At boot is connected and then disconnects but later reconnects or the opposite. Thanks!

How to enable printing debug information to Serial port

First of all, sorry for this stupid question, but I cannot enable printing debug info into Serial port.

I found following code in sources:

#define DBG_PORT Serial
#ifdef DEBUG_NTPCLIENT
#define DEBUGLOG(...) DBG_PORT.printf(__VA_ARGS__)
#else
#define DEBUGLOG(...)
#endif

Then in my sketch I use #define DEBUG_NTPCLIENT 1 but cannot see any debug info in Serial monitor

getDateStr and getTimeStr format customization

Would be great if there is some more convenient way of customizing the string format of the date and the time. I for example remove the seconds from the time and change date separator from / to . by editing the library.

Project has no license

Hi,

Could you please add an explicit software license to the project (at least I can't find any)? Personally I prefer 2 clause BSD, but LGPL is also common in the Arduino world as far as I have seen.

Your project looks really interesting for my use, but as it has no license I cannot use it at this time.

NTPClient blocks for 1.5s every 15s if network connectivity is down/poor

getTimePtr()->getTime() is called every syncInterval which is 15 seconds by default in times of poor connectivity or NTP server down. Unfortunately, getTime() also blocks for NTP_TIMEOUT (1.5 seconds) with each failed attempt. Blocking for that long in an embedded system is usually bad news and is disastrous if called from within an ISR.

GetTime() also feeds the watchdog, but doesn't yield() to give other core OS threads time to run. In other words, NTP Timeouts will be bad news in many systems as currently implemented. There are multiple potential solutions including https://github.com/me-no-dev/ESPAsyncUDP

No Sync at first time

Tried the ESP8266 example but i don't get sync at first time after power on the ESP8266.
I changed the url to "at.pool.ntp.org" for testing but same result.
I only get "-- NTP error :-( ".

image

When the sync is done after customized interval (tried with 60 seconds), time is synced and shown on the serial monitor.

What's wrong?

Bug? Sync does not kick in unless I wait for it

Hello German,

I noticed a strange behavior, that I can reproduce with the code below, typically execute in the setup() method.
Basically, I setup NTP with code inspired by your examples. If I wait for the first sync then it behaves perfectly. If I comment out the while loop, then synch never takes place.
Am I doing something wrong or is it a bug?
Thanks!

// NTP start
NTP.onNTPSyncEvent([](NTPSyncEvent_t error)
{
if (error)
{
Serial.println("NTP sync ERROR");
if (error == noResponse)
syslog.log(LOG_ERR, F("NTP server not reachable"));
else if (error == invalidAddress)
syslog.log(LOG_ERR, F("Invalid NTP server address"));
}
else
{
Serial.println("NTP GOT TIME" + NTP.getTimeDateString(NTP.getLastNTPSync()));
syslog.log(LOG_INFO, "Got NTP time - " + NTP.getTimeDateString(NTP.getLastNTPSync()));
}
});

e1 = WiFi.onStationModeGotIP(onSTAGotIP);
e2 = WiFi.onStationModeDisconnected(onSTADisconnected);

NTP.begin(FPSTR(ntpServerName), 0, false);
NTP.setInterval(5, 600);

// without this delay, sync never kicks in
while (NTP.getLastNTPSync() == 0)
{
//#ifdef DEBUG_LOG
Serial.print(".");
//#endif
delay(500);
NTP.getTimeDateString();
}
Serial.println(NTP.getTimeDateString());

Resets when sync time comes

20:34:51 03/08/2016
20:34:52 03/08/2016
20:34:54 03/08/2016
20:34:54 03/08/2016
Skipped 53. sec
20:39:52 03/08/2016
20:39:53 03/08/2016
20:39:55 03/08/2016
20:39:55 03/08/2016
re skip 54
20:44:52 03/08/2016
20:44:53 03/08/2016
20:44:54 03/08/2016
20:44:56 03/08/2016
skipped 55 sec

when i don't do anything in browser it is not resetting, if i go on admin.html then to another html and other etc... sync time is making trouble
last reset : 20:49:54 03/08/2016
20:49:55 03/08/2016
Fatal exception 0(IllegalInstructionCause):
i hope you can find a solution to that

And i am using https://github.com/me-no-dev/ESPAsyncWebServer which is not accepting delays or yield

onNTPSyncEvent() is called before system time is updated.

As title. when a NTP sync occurs, onNTPSyncEvent() is called before it finishes updating the 'system' time. This can cause extreme confusion to people who expect to be able to use now() and get the updated value within it.

I confirmed this while playing with an RTC, and setting the RTC on NTPsync wasn't working. Then on a whim, I changed the interval to 30 seconds, and lo and behold, on second sync it worked!

Note that I later found you can use getLastNTPSync() inside the event, so you can close & ignore this if you would like, it's just misleading for new users.

Usage without a call in loop() possible?

Hi Germain,

I'm using the version 2.0.5 with an esp8266 board.
When I use exactly the example "NTPClientESP8266", it works fine. But when the ntp relevant calls in loop() are commented out, I only get the following lines in the serial console:
Got IP: 192.168.2.150 Time Sync error: NTP server not reachable
That's is, there's no additional activity or calls.

Loop() reads like this, all other code is exactly as in the example:

`void loop()
{
static int i = 0;
static int last = 0;

if (syncEventTriggered) {
	processSyncEvent(ntpEvent);
	syncEventTriggered = false;

}
delay(0);
}`

My understanding was, that the library performs the necessary calls in the background to update the time or at least get to a status where the time has been successfully retrieved.

Maybe I just misunderstood the usage of the library. Can you please clearify or give me a link to some relevant documentation?

Thanks
Andreas

getTimeDateString() wrong behaviour

getTimeDateString() should print the datetime string even if the time is set but it needs syncronization.
Now it prints "Time not set".

inspecting the code I think it should be simply:
String NTPClient::getTimeDateString() { return getTimeDateString(now()); }

How to Set Timezone which has minutes offset too?

Hello,
I Live in India so it's 5 Hours and 30 Minutes ahead of UTC.
Please Tell me how to add minutes offset in Timezone at begin() ?

I am trying 5 , But yeah it is 30 minutes behind.
ntp server - in.pool.ntp.org

NTP_TIMEOUT 1500 to short

It seems NTP_TIMEOUT is to short (no response from server)
If I use my local NTP server most of the times it works when using a remote NTP server (I tested with 15) the lowest possible value is 2000 ms.

Maybe something to look into if more people have this issue.

Time zone change

Hello,
In my project I use Google Geolocation and Timezone API.
At the beginning I set the NTP library with UTC time zone and no daylight savings.
Once I acquire the timezone via Google I call NTP.setDayLight() and NTP.setTimeZone().
My expectation would be that the time is adjusted accordingly but apparently it is not.
Is it a bug or a misunderstanding on the expected behavior?
thank you again!

Get time kept without syncing with NTP server

There are a bunch of helper methods that return the time/date in a formatted string, however I found only the getTime() method which returns the time in time_t format. However I see that this method synchronizes with the NTP server.
I need such a method, that returns the time in time_t format but it does not synchronizes just returns the time kept (timekeeping since last sync).
It may be the now() method but it is not accessible from outside the class.

Sleepmode

Hi
Thanks for an awesome lib.
Is there any sleep function to set esp8266 in WiFi.forceSleep?

/J

compile error, line 35, results in 'ntpClient' does not name a type

I am not very experienced with debugging, but I have tried to solve this and I can't get it to compile. Please help. Thank you.

Copy of error output:

Arduino: 1.6.8 (Mac OS X), Board: "Generic ESP8266 Module, 80 MHz, 40MHz, QIO, 115200, 1M (128K SPIFFS), ck, Disabled, None"

/Applications/Arduino1.6.8.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware "/Applications/Arduino1.6.8.app/Contents/Java/hardware" -hardware "/Users/kd/Library/Arduino15/packages" -hardware "/Users/kd/Documents/Arduino/hardware" -tools "/Applications/Arduino1.6.8.app/Contents/Java/tools-builder" -tools "/Applications/Arduino1.6.8.app/Contents/Java/hardware/tools/avr" -tools "/Users/kd/Library/Arduino15/packages" -built-in-libraries "/Applications/Arduino1.6.8.app/Contents/Java/libraries" -libraries "/Users/kd/Documents/Arduino/libraries" -fqbn=esp8266:esp8266:generic:CpuFrequency=80,FlashFreq=40,FlashMode=qio,UploadSpeed=115200,FlashSize=1M128,ResetMethod=ck,Debug=Disabled,DebugLevel=None____ -ide-version=10608 -build-path "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp" -warnings=default -prefs=build.warn_data_percentage=75 -verbose "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/arduino_modified_sketch_959197/FSBrowser.ino"
/Applications/Arduino1.6.8.app/Contents/Java/arduino-builder -compile -logger=machine -hardware "/Applications/Arduino1.6.8.app/Contents/Java/hardware" -hardware "/Users/kd/Library/Arduino15/packages" -hardware "/Users/kd/Documents/Arduino/hardware" -tools "/Applications/Arduino1.6.8.app/Contents/Java/tools-builder" -tools "/Applications/Arduino1.6.8.app/Contents/Java/hardware/tools/avr" -tools "/Users/kd/Library/Arduino15/packages" -built-in-libraries "/Applications/Arduino1.6.8.app/Contents/Java/libraries" -libraries "/Users/kd/Documents/Arduino/libraries" -fqbn=esp8266:esp8266:generic:CpuFrequency=80,FlashFreq=40,FlashMode=qio,UploadSpeed=115200,FlashSize=1M128,ResetMethod=ck,Debug=Disabled,DebugLevel=None____ -ide-version=10608 -build-path "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp" -warnings=default -prefs=build.warn_data_percentage=75 -verbose "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/arduino_modified_sketch_959197/FSBrowser.ino"
Build options changed, rebuilding all
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/FSBrowser.ino.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/FSBrowser.ino.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/FSBrowser.ino.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/FSBrowser.ino.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/FSBrowser.ino.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/FSBrowser.ino.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/FSBrowser.ino.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/FSBrowser.ino.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/FSBrowser.ino.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/FSBrowser.ino.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/FSBrowser.ino.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src/WebSockets.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src/WebSocketsClient.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src/WebSocketsServer.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src/libb64/cdecode.c" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/Time" "/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src/libb64/cencode.c" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src/libsha1/libsha1.c" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src/ESP8266WiFi.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src/ESP8266WiFiAP.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src/ESP8266WiFiGeneric.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src/ESP8266WiFiMulti.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src/ESP8266WiFiScan.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src/WiFiClient.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src/WiFiServer.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src/WiFiUdp.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src/Hash.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src/sha1/sha1.c" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker/Ticker.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "/Users/kd/Documents/Arduino/libraries/NtpClient/src/AvrNTPClient.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "/Users/kd/Documents/Arduino/libraries/NtpClient/src/ESPNTPClient.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "/Users/kd/Documents/Arduino/libraries/Time/DateStrings.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "/Users/kd/Documents/Arduino/libraries/Time/Time.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src/Parsing.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS/ESP8266mDNS.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA/ArduinoOTA.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/Config.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/DynamicData.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/FSBrowser.ino.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/FSWebServer.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/Time" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/global.cpp" -o "/dev/null"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/FSBrowser.ino.cpp" -o "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/preproc/ctags_target_for_gcc_minus_e.cpp"
"/Applications/Arduino1.6.8.app/Contents/Java/tools-builder/ctags/5.8-arduino10/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/preproc/ctags_target_for_gcc_minus_e.cpp"
"/Users/kd/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/include" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/tools/sdk/lwip/include" -c -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -ffunction-sections -fdata-sections -DF_CPU=80000000L -DARDUINO=10608 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/cores/esp8266" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/variants/generic" "-I/Users/kd/Documents/Arduino/libraries/NtpClient/src" "-I/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash/src" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker" "-I/Users/kd/Documents/Arduino/libraries/Time" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer/src" "-I/Users/kd/Documents/Arduino/libraries/ArduinoJson" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA" "-I/Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi/src" "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/Config.cpp" -o "/var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/Config.cpp.o"
In file included from /Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src/WebSocketsServer.h:29:0,
from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/global.h:14,
from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/DynamicData.h:7,
from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/Config.cpp:9:
/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src/WebSockets.h:48:0: warning: "NETWORK_ESP8266" redefined [enabled by default]
#define NETWORK_ESP8266 (1)

^
In file included from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/global.h:13:0,
from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/DynamicData.h:7,
from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/Config.cpp:9:
/Users/kd/Documents/Arduino/libraries/NtpClient/src/NtpClientLib.h:64:0: note: this is the location of the previous definition
#define NETWORK_ESP8266 (100) // ESP8266 boards, not for Arduino using AT firmware
^
In file included from /Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src/WebSocketsServer.h:29:0,
from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/global.h:14,
from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/DynamicData.h:7,
from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/Config.cpp:9:
/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src/WebSockets.h:49:0: warning: "NETWORK_W5100" redefined [enabled by default]
#define NETWORK_W5100 (2)

^
In file included from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/global.h:13:0,
from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/DynamicData.h:7,
from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/Config.cpp:9:
/Users/kd/Documents/Arduino/libraries/NtpClient/src/NtpClientLib.h:61:0: note: this is the location of the previous definition
#define NETWORK_W5100 (1) // Arduino Ethernet Shield
^
In file included from /Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src/WebSocketsServer.h:29:0,
from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/global.h:14,
from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/DynamicData.h:7,
from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/Config.cpp:9:
/Users/kd/Documents/Arduino/libraries/arduinoWebSockets/src/WebSockets.h:50:0: warning: "NETWORK_ENC28J60" redefined [enabled by default]
#define NETWORK_ENC28J60 (3)

^
In file included from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/global.h:13:0,
from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/DynamicData.h:7,
from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/Config.cpp:9:
/Users/kd/Documents/Arduino/libraries/NtpClient/src/NtpClientLib.h:62:0: note: this is the location of the previous definition
#define NETWORK_ENC28J60 (2) // Alternate Ethernet Shield
^
In file included from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/DynamicData.h:7:0,
from /var/folders/bn/gp55gcrn3ws9zzc05xl352z80000gn/T/build7d94e2068fa5ff25cb7606f6e377b348.tmp/sketch/Config.cpp:9:
global.h:35: error: 'ntpClient' does not name a type
extern ntpClient* ntp; // NtpClient instance
^
Using library arduinoWebSockets at version 2.0.6 in folder: /Users/kd/Documents/Arduino/libraries/arduinoWebSockets
Using library ESP8266WiFi at version 1.0 in folder: /Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WiFi
Using library Hash at version 1.0 in folder: /Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Hash
Using library Ticker at version 1.0 in folder: /Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/Ticker
Using library NtpClient at version 2.0.5 in folder: /Users/kd/Documents/Arduino/libraries/NtpClient
Using library Time at version 1.5 in folder: /Users/kd/Documents/Arduino/libraries/Time
Using library ESP8266WebServer at version 1.0 in folder: /Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266WebServer
Using library ArduinoJson at version 5.6.6 in folder: /Users/kd/Documents/Arduino/libraries/ArduinoJson
Using library ESP8266mDNS in folder: /Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ESP8266mDNS (legacy)
Using library ArduinoOTA at version 1.0 in folder: /Users/kd/Library/Arduino15/packages/esp8266/hardware/esp8266/2.2.0/libraries/ArduinoOTA
exit status 1
'ntpClient' does not name a type

onNTPSyncEvent not called

hello,
I would have a question: I dont see the onNTPSyncEvent called, unless i call other NTP APIs (e.g. getTimeDateString). Is this the expected behavior?
thanks for your time!

crash on acquire time on async lib

thanks Martin for lib but sometime acquire time from server make my async sketch crash ? have you try use your lib with menodev async lib ?

Separated parts of time and date

Hello @gmag11,
because I need each part of date and time separate, then I modify your source code.
Now I can call each part of time and date individualy with no parsing strings.

I don't understand to all of the code, but it work for me.
Do you mind put this into your library officially?

This code call each part of date and time individualy:

NTP.getMinutes();
NTP.getSeconds();
NTP.getDay();
NTP.getMonth();
NTP.getYear();

I added this lines to the NtpClientLib.h:

String getSeconds(time_t moment);
String getMinutes();
String getMinutes(time_t moment);
String getHours();
String getHours(time_t moment);
String getDay();
String getDay(time_t moment);
String getMonth();
String getMonth(time_t moment);
String getYear();
String getYear(time_t moment);

And this to the AvrNTPClient.cpp and ESPNTPClient.cpp:

	if ((timeStatus() != timeNotSet) || (moment != 0)) {
		return printDigits(second(moment));
	}
	else return F("Seconds not set");
}
String NTPClient::getSeconds() {
	return getSeconds(now());
}

String NTPClient::getMinutes(time_t moment) {
	if ((timeStatus() != timeNotSet) || (moment != 0)) {
		return printDigits(minute(moment));
	}
	else return F("Minutes not set");
}
String NTPClient::getMinutes() {
	return getMinutes(now());
}

String NTPClient::getHours(time_t moment) {
	if ((timeStatus() != timeNotSet) || (moment != 0)) {
		return printDigits(hour(moment));
	}
	else return F("Hours not set");
}
String NTPClient::getHours() {
	return getHours(now());
}

String NTPClient::getDay(time_t moment) {
	if ((timeStatus() != timeNotSet) || (moment != 0)) {
		return printDigits(day(moment));
	}
	else return F("Day not set");
}
String NTPClient::getDay() {
	return getDay(now());
}

String NTPClient::getMonth(time_t moment) {
	if ((timeStatus() != timeNotSet) || (moment != 0)) {
		return printDigits(month(moment));
	}
	else return F("Month not set");
}
String NTPClient::getMonth() {
	return getMonth(now());
}

String NTPClient::getYear(time_t moment) {
	if ((timeStatus() != timeNotSet) || (moment != 0)) {
		return printDigits(year(moment));
	}
	else return F("Year not set");
}
String NTPClient::getYear() {
	return getYear(now());
}

Nonround time zones

There is an issue with that as setTimeZone accepts only int value. There is a time zones on the planet which non-round i.e +3:30, +5:45 etc.

Question: ESP32 support?

Hello German, I was wondering whether you are considering an ESP32 port of the library.
My project has grown too large for the ESP8266 and i am considering switching boards... but a few libs dont compile / have hardware dependencies...
Would you consider it a difficult thing? please let me know.
Again, thank you for your time.

does not work with newest arduino software

I updated today with the arduino boards manager and afterwards time sync didn't work anymore.

it works with "Arduino AVR Boards by Arduino version 1.6.15" and "esp866 by ESP8266 Community version 2.3.0" and does not work with 1.6.20 and 2.4.0, respectively.

I'm using

#include<ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <TimeLib.h>
#include <NtpClientLib.h>
#include "FS.h"

on an ESP-8266 12E board

Timezone and daylight impact on now()

Hi,

After trying your lib (which is great btw), I realized that adding a timezone and the daylight mode have an impact on the time returned by now().

now() value should be in UTC (as a timestamp is always in UTC); only the value in string should be impacted by the daylight and the timezone.

Support for ESP32

I have not dug too deep, but the code seel to explicility expect a ESP8266 or arduino AVR
is there aplan for a ESP32 compatable version,

I am currently looking at which depencises for FSBrowserNG required tweaks for ESP32

return epoch

Hi,

Great library, thanks for your great work.

The library is missing a simple epoch time to use for my IoT updates.
i've added this function to your library, not sure if it needs improvement to handle trouble with NTP servers.

time_t NTPClient::getDateEpoch()
{
return now();
}

If you find it reasonable could you add this or other function you find appropriate to get epoch time?

Thanks.

For esp8266 this library simply overhead. It doesn't do anything usefull

This library actualy doesn't make any ntp communications, and simply call espressif SDK with huge overhead. For example function sntp_get_current_timestamp(); just simple return constant inside SDK, that was goted by SDK after some commucations with NTP servers(look at src https://github.com/esp8266/Arduino/blob/master/tools/sdk/lwip/src/core/sntp.c#L622). So if you periodicaly will call sntp_get_current_timestamp inside loop it will be the same what do this lib

Cannot find "NTPClientLib.h" due to capitalization error

On capitalization-sensitive filesystems (as in, linux), the lib won't compile, since the cpp files try to: #include "NTPClientLib.h", while the file is named NtpClientLib.h
Can be fixed using the correct capitalization: #include "NtpClientLib.h"

Thx for the good library!

Wrong time after updating to 2.5.0

Hello, after updating NTPClient from 2.0.5 to 2.5.0, i'm getting wrong time - it appears the NTP.begin() runs the NTP sync twice, with wrong result.

Code:
setup()
{
NTP.begin("ntp.nic.cz", 1, true);
}

Debug output with -DDEBUG_NTPCLIENT:

NTP server set to ntp.nic.cz
NTP time zone set to: 1
--Set daylight saving ON
Starting UDP
-- Receive NTP Response
Winter Time
Sync frequency set low
Successful NTP sync at 17:51:30 18/01/2018Short sync interval set to 15
Long sync interval set to 1800
Time sync started
Starting UDP
-- Receive NTP Response
Winter Time
Sync frequency set low
Successful NTP sync at 07:28:16 07/02/2036

compile error?

If I try to compile the example as listed on the readme page I get the following compile error?

Arduino: 1.6.5 (Windows 8.1), Board:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, Serial, 115200, 4M (3M SPIFFS)"

Build-opties gewijzigd, alles wordt opnieuw gebuild

In file included from C:\Users\Richard\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\2.0.0/tools/sdk/include/os_type.h:10:0,
from C:\Users\Richard\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\2.0.0/tools/sdk/include/user_interface.h:9,
from C:\Users\Richard\Documents\Arduino\libraries\NtpClient-master\src\NtpClientLib.h:45,
from C:\Users\Richard\Documents\Arduino\libraries\NtpClient-master\src\AvrNTPClient.cpp:35:
C:\Users\Richard\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\2.0.0/tools/sdk/include/ets_sys.h:148:20: error: 'size_t' was not declared in this scope
void pvPortMalloc(size_t xWantedSize) attribute((malloc, alloc_size(1)));
^
C:\Users\Richard\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\2.0.0/tools/sdk/include/ets_sys.h:148:77: warning: attributes after parenthesized initializer ignored [-Wattributes]
void *pvPortMalloc(size_t xWantedSize) attribute((malloc, alloc_size(1)));
^
C:\Users\Richard\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\2.0.0/tools/sdk/include/ets_sys.h:149:32: error: 'size_t' has not been declared
void *pvPortRealloc(void
ptr, size_t xWantedSize) attribute((alloc_size(2)));
^
C:\Users\Richard\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\2.0.0/tools/sdk/include/ets_sys.h:151:19: error: 'size_t' was not declared in this scope
void *vPortMalloc(size_t xWantedSize) attribute((malloc, alloc_size(1)));
^
C:\Users\Richard\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\2.0.0/tools/sdk/include/ets_sys.h:151:76: warning: attributes after parenthesized initializer ignored [-Wattributes]
void *vPortMalloc(size_t xWantedSize) attribute((malloc, alloc_size(1)));
^
C:\Users\Richard\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\2.0.0/tools/sdk/include/ets_sys.h:153:47: error: 'size_t' has not been declared
void *ets_memcpy(void *dest, const void *src, size_t n);
^
C:\Users\Richard\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\2.0.0/tools/sdk/include/ets_sys.h:154:34: error: 'size_t' has not been declared
void *ets_memset(void *s, int c, size_t n);
^
C:\Users\Richard\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\2.0.0/tools/sdk/include/ets_sys.h:163:48: error: 'size_t' has not been declared
char *ets_strncpy(char *dest, const char *src, size_t n);
^
C:\Users\Richard\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\2.0.0/tools/sdk/include/ets_sys.h:166:28: error: 'size_t' has not been declared
int os_snprintf(char *str, size_t size, const char *format, ...) attribute ((format (printf, 3, 4)));
^
C:\Users\Richard\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\2.0.0/tools/sdk/include/ets_sys.h:175:29: error: 'size_t' has not been declared
int ets_vsnprintf(char * s, size_t n, const char * format, va_list arg) attribute ((format (printf, 3, 0)));
^
Multiple libraries were found for "TimeLib.h"
Used: C:\Users\Richard\Documents\Arduino\libraries\Time-master
Not used: C:\Users\Richard\Documents\Arduino\libraries\Time

Fout bij compileren.

WiFi.onEvent is deprecated

First, thanks for the wonderful library! In the ESP8266 example, the follow part is using the WiFi.onEvent handler.

WiFi.onEvent([](WiFiEvent_t e) {
   Serial.printf("Event wifi -----> %d\n", e);
});

This handler has been deprecated (See ESP8266WiFiGeneric.h line 54).

Cheers! Sacha

wrong architecture and subfolder for examples

please change:
library.properties->architectures=ESP8266 to architectures=esp8266

WARNING: library NtpClient claims to run on [ESP8266] architecture(s) and may be incompatible with your current board which runs on [esp8266] architecture(s).




and move examples folder from src subdir to top of repository

Compilation error for ESP8266

I can't compile NTPClientESP8266 example (Arduino 1.6.11 with latest esp8266 core from github :

C:\PROGRAMY\arduino_projekty\libraries\NtpClient\src\ESPNTPClient.cpp: In member function 'bool NTPClient::begin(String, int, bool)':

C:\PROGRAMY\arduino_projekty\libraries\NtpClient\src\ESPNTPClient.cpp:129:53: error: cannot convert 'std::_Bind_helper<false, long int (NTPClient::*)(), NTPClient* const>::type {aka std::_Bind<std::_Mem_fn<long int (NTPClient::*)()>(NTPClient*)>}' to 'getExternalTime {aka long int (*)()}' for argument '1' to 'void setSyncProvider(getExternalTime)'

  setSyncProvider(std::bind(&NTPClient::getTime,this));

                                                     ^

exit status 1
Błąd kompilacji dla płytki WeMos D1 R2 & mini.

but earlier versions, before 17 aug (maybe before "Migrate ESP version to std::function()") works for me OK

Support for Fractional Time Zones?

I'm trying to use this library with ESP8266 but facing a hard time synchronizing to fractional time zones. For example, the following are some of the places which uses fractional time zones

Adelaide, South Australia, Australia GMT +9:30 hours
Kabul, Afghanistan GMT +4:30 hours
Rangoon, Myanmar GMT +6:30 hours
Kathmandu, Nepal GMT +5:45 hours
New Delhi, India GMT +5:30 hours
St. John's, Newfoundland, Canada GMT -3:30 hours
Tehran, Iran GMT +3:30 hours

I tried playing with changing the value 1 in the code below to a fractional value (Ex. 5.5), but to no luck. Am I doing something wrong or unexpected?

NTP.begin("pool.ntp.org", 1, true);
  NTP.setInterval(30, 3600);

Also what does "True" and 30, 3600 in the above code achieve?

Please feel free to point me to the documentation if these queries has been answered previously.

setInterval (int shortInterval, int longInterval) not respected

The newest version seems to have an issue in not honouring the intervals defined with setInterval (int shortInterval, int longInterval).
Specifically, in case the first synchronisation fails (e.g. server not reachable) one would expect the lib to retry after a shortInterval, but in fact it waits the full longInterval.
Any chances you could have a look? thanks

How to wait until sync is complete?

Hello,

First of all, thanks for the great library.
But I need some help.

I want when I call getTime the time is accurate from the first time. and not somewhere 1/1/1970.
Is there a way to force and wait for sync?

0 00:00:25 01/01/1970
1 00:00:26 01/01/1970
2 00:00:27 01/01/1970
Got IP: 192.168.1.2
Time Sync error: NTP server not reachable
3 00:00:00 01/01/1970
4 00:00:01 01/01/1970
5 00:00:02 01/01/1970
6 00:00:03 01/01/1970
7 00:00:04 01/01/1970

This piece is crap

8 19:04:30 29/05/2017

This should be already in the first call.

Got NTP time: 19:04:30 29/05/2017
9 19:04:31 29/05/2017

I also want to get rid of the syncEvent in the main loop.

Kind regards

daylight savings time not accounted for in getTimeZone()

Hi,

Not sure what the desired behavior would be, but the daylight saving time (DST) is not accounted for when you do getTimeZone(). That needs extra logic on the user side to account for DST if that option is enabled. Not sure which is more correct to provide though ;)

Cheers

Trigger time synchroniation manually

Hey,

I'm working on sketch, where I use ModemSleep. I just wake up the ESP irregularly to send new data to a server, if a value of a sensor changed, so there are now certain intervals.

As mentioned in the title, is there a (recommended) way to manually trigger a time synchronisation?

Network delay is not taken into account

Network latency is not taken into account yet. In order to improve time accuracy it is needed to estimate time that passes since NTP response packet is sent from server until it arrives.

compilation error

i tried to compile the code NTPClientESP8266 on Arduino IDE 1.8.3
i get the following error

`NTPClientESP8266:51: error: variable or field 'onSTAGotIP' declared void

void onSTAGotIP(WiFiEventStationModeGotIP ipInfo) {

             ^

NTPClientESP8266:51: error: 'WiFiEventStationModeGotIP' was not declared in this scope

NTPClientESP8266:59: error: variable or field 'onSTADisconnected' declared void

void onSTADisconnected(WiFiEventStationModeDisconnected event_info) {

                    ^

NTPClientESP8266:59: error: 'WiFiEventStationModeDisconnected' was not declared in this scope

NTPClientESP8266:51: error: variable or field 'onSTAGotIP' declared void

void onSTAGotIP(WiFiEventStationModeGotIP ipInfo) {

             ^

NTPClientESP8266:51: error: 'WiFiEventStationModeGotIP' was not declared in this scope

NTPClientESP8266:59: error: variable or field 'onSTADisconnected' declared void

void onSTADisconnected(WiFiEventStationModeDisconnected event_info) {

                    ^

NTPClientESP8266:59: error: 'WiFiEventStationModeDisconnected' was not declared in this scope

C:\Users\AIY5KOR\Documents\Arduino\libraries\NtpClient-master\examples\NTPClientESP8266\NTPClientESP8266.ino: In function 'void setup()':

NTPClientESP8266:85: error: 'WiFiEventHandler' does not name a type

static WiFiEventHandler e1, e2;

     ^

NTPClientESP8266:105: error: 'e1' was not declared in this scope

e1 = WiFi.onStationModeGotIP(onSTAGotIP);// As soon WiFi is connected, start NTP Client

^

NTPClientESP8266:105: error: 'class ESP8266WiFiClass' has no member named 'onStationModeGotIP'

e1 = WiFi.onStationModeGotIP(onSTAGotIP);// As soon WiFi is connected, start NTP Client

        ^

NTPClientESP8266:105: error: 'onSTAGotIP' was not declared in this scope

e1 = WiFi.onStationModeGotIP(onSTAGotIP);// As soon WiFi is connected, start NTP Client

                           ^

NTPClientESP8266:106: error: 'e2' was not declared in this scope

e2 = WiFi.onStationModeDisconnected(onSTADisconnected);

^

NTPClientESP8266:106: error: 'class ESP8266WiFiClass' has no member named 'onStationModeDisconnected'

e2 = WiFi.onStationModeDisconnected(onSTADisconnected);

        ^

NTPClientESP8266:106: error: 'onSTADisconnected' was not declared in this scope

e2 = WiFi.onStationModeDisconnected(onSTADisconnected);

                                  ^

exit status 1
variable or field 'onSTAGotIP' declared void

`

mem leak(s)

In file ESPNTPClient.cpp, method NTPClient::setNtpServerName(...)

char * buffer = (char *)malloc((ntpServerName.length()+1) * sizeof(char));

A buffer gets malloc'd every time ::setNtpServerName() gets called, which gets called from ::begin(). There is no corresponding free() call to this malloc, and I doubt that the SDK internals do mem management for this buffer. Of course, I could be wrong, I haven't actually tested whether calling begin() again and again reduces mem.

If this is in fact a mem leak, I suspect that a fix would be to call sntp_getservername(idx), check for the returned ptr != nullptr. If so, free it, then proceed as now with setting it again.
If that doesn't work, then a local array of size 3 would be needed to store the malloc'd pointers, and manage them before calling sntp_setservername().

Additionally, there is no check if the returned ptr from malloc is nullptr (malloc failed).

Finally, if the idx arg passed to the method is outside the range 0-2, the malloc is done, but the pointer is never assigned to anything due to the if statement, so the mem leaks when the method returns.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.