Skip to content

Compinnation error when used ezTime instead of TimeLib #10

@jgrulich

Description

@jgrulich

Hi, I need to use ezTime lib instead of TimeLib. I modified the sunMoon.h header:
`#ifndef _SUN_MOON_H
#define _SUN_MOON_H

#include <ezTime.h>
#include <math.h>

class sunMoon {
`
and supposed that it will work. But I got some strange compilation error which seems not to be related to this change, but somehow is:

In file included from D:\arduino\projects\libraries\ezTime\src/ezTime.h:41:0,
from D:\arduino\projects\libraries\sunMoon-master\src\sunMoon.h:4,
from D:\arduino\projects\libraries\sunMoon-master\src\sunMoon.cpp:1:

C:\Users\Dell\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4/tools/sdk/libc/xtensa-lx106-elf/include/sys/types.h:122:18: error: conflicting declaration 'typedef long int time_t'

typedef TIME_T time_t;
^

In file included from D:\arduino\projects\libraries\sunMoon-master\src\sunMoon.h:4:0,
from D:\arduino\projects\libraries\sunMoon-master\src\sunMoon.cpp:1:

D:\arduino\projects\libraries\ezTime\src/ezTime.h:36:24: error: 'time_t' has a previous declaration as 'typedef long unsigned int time_t'

typedef unsigned long time_t;
^

It has something to do with the time_t declaration, but I don't do anything with it.

The full test code is here:

`#include <Arduino.h>
//#include <TimeLib.h>
#include <ezTime.h>
#include <sunMoon.h>

#define OUR_latitude 49.4
#define OUR_longtitude 18.2
#define OUR_timezone 120 // localtime with UTC difference in minutes

sunMoon sm;

void printDate(time_t date) {
char buff[20];
sprintf(buff, "%2d-%02d-%4d %02d:%02d:%02d", day(date), month(date), year(date), hour(date), minute(date), second(date));
Serial.print(buff);
}

void setup() {

tmElements_t tm; // specific time

tm.Second = 0;
tm.Minute = 0;
tm.Hour = 12;
tm.Day = 26;
tm.Month = 4;
tm.Year = 2021 - 1970;
time_t s_date = makeTime(tm);

Serial.begin(115200);
Serial.println();
sm.init(OUR_timezone, OUR_latitude, OUR_longtitude);

uint32_t jDay = sm.julianDay(s_date); // Optional call
byte mDay = sm.moonDay(s_date);
time_t sRise = sm.sunRise(s_date);
time_t sSet = sm.sunSet(s_date);
Serial.print("Today is "); Serial.print(jDay); Serial.println(" Julian day");
Serial.print("Moon age is "); Serial.print(mDay); Serial.println("day(s)");
Serial.print("Today sunrise and sunset: ");
printDate(sRise); Serial.print("; ");
printDate(sSet); Serial.println("");

}

void loop() {
// put your main code here, to run repeatedly:

}
`

Please be so kind and help me to find the root cause.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions