Changed datetime add minutes to allow adding or subtracting minutes. Corrected it to not zero the seconds upon conversion.
This commit is contained in:
@@ -116,7 +116,7 @@ extern "C" {
|
|||||||
/* utility add function */
|
/* utility add function */
|
||||||
void datetime_add_minutes(
|
void datetime_add_minutes(
|
||||||
BACNET_DATE_TIME * bdatetime,
|
BACNET_DATE_TIME * bdatetime,
|
||||||
uint32_t minutes);
|
int32_t minutes);
|
||||||
|
|
||||||
/* date and time wildcards */
|
/* date and time wildcards */
|
||||||
bool datetime_wildcard(
|
bool datetime_wildcard(
|
||||||
|
|||||||
@@ -349,13 +349,18 @@ static void seconds_since_midnight_into_hms(
|
|||||||
*pSeconds = (uint8_t) seconds;
|
*pSeconds = (uint8_t) seconds;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Utility to add or subtract minutes to a BACnet DateTime structure
|
||||||
|
*
|
||||||
|
* @param bdatetime [in] the starting date and time
|
||||||
|
* @param minutes [in] number of minutes to add or subtract from the time
|
||||||
|
*/
|
||||||
void datetime_add_minutes(
|
void datetime_add_minutes(
|
||||||
BACNET_DATE_TIME * bdatetime,
|
BACNET_DATE_TIME * bdatetime,
|
||||||
uint32_t minutes)
|
int32_t minutes)
|
||||||
{
|
{
|
||||||
uint32_t bdatetime_minutes = 0;
|
uint32_t bdatetime_minutes = 0;
|
||||||
uint32_t bdatetime_days = 0;
|
uint32_t bdatetime_days = 0;
|
||||||
uint32_t days = 0;
|
int32_t days = 0;
|
||||||
|
|
||||||
/* convert bdatetime to seconds and days */
|
/* convert bdatetime to seconds and days */
|
||||||
bdatetime_minutes =
|
bdatetime_minutes =
|
||||||
@@ -375,7 +380,7 @@ void datetime_add_minutes(
|
|||||||
|
|
||||||
/* convert bdatetime from seconds and days */
|
/* convert bdatetime from seconds and days */
|
||||||
seconds_since_midnight_into_hms(bdatetime_minutes * 60,
|
seconds_since_midnight_into_hms(bdatetime_minutes * 60,
|
||||||
&bdatetime->time.hour, &bdatetime->time.min, &bdatetime->time.sec);
|
&bdatetime->time.hour, &bdatetime->time.min, NULL);
|
||||||
days_since_epoch_into_ymd(bdatetime_days, &bdatetime->date.year,
|
days_since_epoch_into_ymd(bdatetime_days, &bdatetime->date.year,
|
||||||
&bdatetime->date.month, &bdatetime->date.day);
|
&bdatetime->date.month, &bdatetime->date.day);
|
||||||
bdatetime->date.wday =
|
bdatetime->date.wday =
|
||||||
|
|||||||
Reference in New Issue
Block a user