/*
 * stm32f10x_rtc_ex.h
 *
 * Copyright (C) 2016 Houtouridis Christos <houtouridis.ch@gmail.com>
 * All Rights Reserved.
 *
 * NOTICE:  All information contained herein is, and remains
 * the property of Houtouridis Christos. The intellectual
 * and technical concepts contained herein are proprietary to
 * Houtouridis Christos and are protected by copyright law.
 * Dissemination of this information or reproduction of this material
 * is strictly forbidden unless prior written permission is obtained
 * from Houtouridis Christos.
 *
 */
#ifndef __stm32f10x_rtc_ex_h__
#define __stm32f10x_rtc_ex_h__

#ifdef __cplusplus
extern "C" {
#endif

#include <stm32f10x.h>
#include <stm32f10x_systick.h>
#include <stm32f10x_rcc.h>
#include <stm32f10x_rtc.h>
#include <stm32f10x_bkp.h>
#include <stm32f10x_pwr.h>


#define RTC_SYS_STARTUP_TIMEOUT      (800000)

/*
 * Hardware specific defines and Macros
 */
#define  RTC_SYS_LSI_CLOCK          (0x9C3F)

FunctionalState RTC_GetStatus (void);
void   RTC_Sys_DeInit (void);
int    RTC_Sys_Init (clock_t xtal);
time_t RTC_Sys_time (time_t *timer);
int    RTC_Sys_settime (const time_t *timer);

#ifdef __cplusplus
}
#endif

#endif /* #ifndef __stm32f10x_rtc_ex_h__ */
