#ifndef RTC_USER_H_INCLUDED
#define RTC_USER_H_INCLUDED

/* ------------ Standard  Include Files --------------- */
#include <stdint.h>
/* ------------ Special   Include Files --------------- */
#include "tm_stm32f4_rtc.h"
/* ------------ Projekt   Include Files --------------- */
/* ------------ Typen Deklarationen-------------------- */
// Globaler Struct für Sonnenaufgang/Untergangszeiten
typedef struct
{
    uint8_t SAG_Std,        // Sonnenaufgang h
            SAG_Min,        // Sonnenaufgang min
            SUG_Std,        // Sonnenuntergang h
            SUG_Min;        // Sonnenuntergang min

    float   f_SAG,          // Sonnenaufgang float Wert zB 7,32 Uhr
            f_SUG,
            f_Tagdauer;
} sonnenstand_t;

/* ------------ Defintionen --------------------------- */
// Geo Koordinaten des Standortes
#define O_LAENGE    9.12
#define N_BREITE    51.998

/* ------------ Public Variablen ---------------------- */
extern sonnenstand_t SonnenZeiten;

/* ------------ Public Funktionen Prototypen ---------- */
void ConvertFloatToZeit(double zeitw, uint8_t *std, uint8_t *min, uint8_t *sek);
double ConvertZeitToFloat(uint8_t std, uint8_t min, uint8_t sek);
uint32_t IsSommerzeit(TM_RTC_Time_t*);
uint16_t CalcDayOfYear(TM_RTC_Time_t*);
uint8_t CalcSonnenAufgang(TM_RTC_Time_t*,sonnenstand_t*);
uint8_t IsSunDown(TM_RTC_Time_t const*);

#endif




