Implements is_above_horizon()

Returns `true` when Sun is above the horizon (using an optional elevation parameter for horizon).
This commit is contained in:
Edward Firmo 2024-11-12 12:01:28 +01:00
parent 58d028ac13
commit 7fe88f9968

View file

@ -59,6 +59,9 @@ class Sun {
void set_latitude(double latitude) { location_.latitude = latitude; } void set_latitude(double latitude) { location_.latitude = latitude; }
void set_longitude(double longitude) { location_.longitude = longitude; } void set_longitude(double longitude) { location_.longitude = longitude; }
// Check if the sun is above the horizon, with a default elevation angle of -0.83333 (standard for sunrise/set).
bool is_above_horizon(double elevation = -0.83333) { return this->elevation() > elevation; }
optional<ESPTime> sunrise(double elevation); optional<ESPTime> sunrise(double elevation);
optional<ESPTime> sunset(double elevation); optional<ESPTime> sunset(double elevation);
optional<ESPTime> sunrise(ESPTime date, double elevation); optional<ESPTime> sunrise(ESPTime date, double elevation);