Add comments
This commit is contained in:
parent
2b90157efe
commit
5e961c5d0c
|
@ -57,7 +57,7 @@ void Network::getTime(char *timeStr)
|
|||
//Get seconds since 1.1.1970.
|
||||
time_t nowSecs = time(nullptr);
|
||||
|
||||
// Used to store time
|
||||
//Struct used to store time
|
||||
struct tm timeinfo;
|
||||
gmtime_r(&nowSecs, &timeinfo);
|
||||
|
||||
|
@ -75,42 +75,45 @@ void Network::getTime(char *timeStr)
|
|||
timeStr[1] = hr % 10 + '0';
|
||||
}
|
||||
|
||||
//Helper function to convert float to char*
|
||||
void formatTemp(char *str, float temp)
|
||||
{
|
||||
//Built in function for float to char* conversion
|
||||
dtostrf(temp, 2, 0, str);
|
||||
}
|
||||
|
||||
//Helper function to convert float to char*
|
||||
void formatWind(char *str, float wind)
|
||||
{
|
||||
//Built in function for float to char* conversion
|
||||
dtostrf(wind, 2, 0, str);
|
||||
}
|
||||
|
||||
//Function that connects to API and gets the weather data
|
||||
void Network::getData(char *city, char *temp1, char *temp2, char *temp3, char *temp4, char *currentTemp, char *currentWind, char *currentTime, char *currentWeather, char *currentWeatherAbbr)
|
||||
{
|
||||
//Return if wifi isn't connected
|
||||
if (WiFi.status() != WL_CONNECTED)
|
||||
return;
|
||||
|
||||
// Wake up if sleeping and save inital state
|
||||
//Wake up WiFi if sleeping and save inital state
|
||||
bool sleep = WiFi.getSleep();
|
||||
WiFi.setSleep(false);
|
||||
|
||||
// Http object used to make get request
|
||||
//HTTP object used to make get request
|
||||
HTTPClient http;
|
||||
|
||||
http.getStream().setNoDelay(true);
|
||||
http.getStream().setTimeout(1);
|
||||
|
||||
// Add woeid to api call
|
||||
//Add woeid to api call. woeid is API specific variable name used to set location
|
||||
char url[256];
|
||||
sprintf(url, "https://www.metaweather.com/api/location/%d/", location);
|
||||
|
||||
//Initiate http
|
||||
http.begin(url);
|
||||
|
||||
// Actually do request
|
||||
//Actually make HTTPS GET request
|
||||
int httpCode = http.GET();
|
||||
if (httpCode == 200)
|
||||
{
|
||||
|
@ -154,6 +157,7 @@ void Network::getData(char *city, char *temp1, char *temp2, char *temp3, char *t
|
|||
WiFi.setSleep(sleep);
|
||||
}
|
||||
|
||||
//Used to set correct time received from NTP server
|
||||
void Network::setTime()
|
||||
{
|
||||
//Used for setting correct time
|
||||
|
@ -180,6 +184,7 @@ void Network::setTime()
|
|||
Serial.print(asctime(&timeinfo));
|
||||
}
|
||||
|
||||
//From epoch received from NTP server, get day of the week
|
||||
void Network::getDays(char *day, char *day1, char *day2, char *day3)
|
||||
{
|
||||
// Seconds since 1.1.1970.
|
||||
|
@ -199,31 +204,32 @@ void Network::getDays(char *day, char *day1, char *day2, char *day3)
|
|||
strncpy(day3, weekDays[(dayWeek + 3) % 7], 3);
|
||||
}
|
||||
|
||||
//Make API query to receive city woeid - city identification specific to API
|
||||
void Network::findCity(char *city)
|
||||
{
|
||||
// If not connected to wifi, return
|
||||
//If not connected to WiFi, return
|
||||
if (WiFi.status() != WL_CONNECTED)
|
||||
return;
|
||||
|
||||
// Wake wifi module and save initial state
|
||||
//Wake WiFi module and save initial state
|
||||
bool sleep = WiFi.getSleep();
|
||||
WiFi.setSleep(false);
|
||||
|
||||
// Http object
|
||||
//HTTP object
|
||||
HTTPClient http;
|
||||
|
||||
http.getStream().setNoDelay(true);
|
||||
http.getStream().setTimeout(1);
|
||||
|
||||
// Add query param to url
|
||||
//Add query parameter to URL
|
||||
char url[256];
|
||||
strcpy(url, "https://www.metaweather.com/api/location/search/?query=");
|
||||
strcat(url, city);
|
||||
|
||||
// Initiate http
|
||||
//Initiate HTTP
|
||||
http.begin(url);
|
||||
|
||||
// Do get request
|
||||
//Make GET HTTP request
|
||||
int httpCode = http.GET();
|
||||
if (httpCode == 200) // 200: http success
|
||||
{
|
||||
|
@ -234,7 +240,7 @@ void Network::findCity(char *city)
|
|||
//Try to parse JSON object
|
||||
DeserializationError error = deserializeJson(doc, http.getStream());
|
||||
|
||||
// Print error to Serial monitor if one exsists
|
||||
//Print error to Serial monitor if one exists
|
||||
if (error)
|
||||
{
|
||||
Serial.print(F("deserializeJson() failed: "));
|
||||
|
@ -242,14 +248,14 @@ void Network::findCity(char *city)
|
|||
}
|
||||
else
|
||||
{
|
||||
// Empty list means no matches
|
||||
//Empty list means no matches for the city
|
||||
if (doc.size() == 0)
|
||||
{
|
||||
Serial.println(F("City not found"));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Woeid id used for fetching data later on
|
||||
//woeid id used for fetching data later on
|
||||
location = doc[0]["woeid"].as<int>();
|
||||
|
||||
Serial.println(F("Found city, woied:"));
|
||||
|
|
Loading…
Reference in New Issue