SlashDevin / NeoGPS

NMEA and ublox GPS parser for Arduino, configurable to use as few as 10 bytes of RAM
GNU General Public License v3.0
707 stars 195 forks source link

Rename DAYS_PER_WEEK constant #115

Open tscofield opened 5 years ago

tscofield commented 5 years ago

The DAYS_PER_WEEK constant name conflicts with a constant in the default Time.h library

cyberman54 commented 5 years ago

Same here, please merge this PR, thanks.

richteel commented 2 years ago

I just ran into this issue as well. Same as Issue 163 in TimeLib. See https://github.com/PaulStoffregen/Time/issues/163.

richteel commented 2 years ago

Will be creating a pull request. tscofield made a similar pull request however I wanted to make it so the same name may be used by both libraries. This only has the disadvantage if the days of the week ever change from 7.

Below is the commit statement from my change.

TimeLib defines DAYS_PER_WEEK as type time_t with a value of 7. TimeLib's time_t is defined as unsigned long with a value of 7. This is compatable with NeoGPS declaration of DAYS_PER_WEEK with type uint8_t if cast to uint8_t. I modified the code to check if DAYS_PER_WEEK is defined and cast DAYS_PER_WEEK as uint8_t when used.

This is an alternate way to resolve the conflict between NeoGPS and TimeLib. User, tscofield, proposed a similar fix by renaming DAYS_PER_WEEK but I believe this may be a slightly better resolution to the issue.

See issues

BTW: I looked into applying a similar fix to TimeLib but the issue only seemed to be resolved when applied to NeoGPS.