/* Adds or substract one hour from the current time.  */
u32 RTC_DayLightSavingConfig(u32 RTC_DayLightSaving, u32 RTC_StoreOperation)
/* Adds or substract one hour from the current time.  */
u32 RTC_DayLightSavingConfig(u32 RTC_DayLightSaving, u32 RTC_StoreOperation)
{
	RTC_TypeDef* RTC = ((RTC_TypeDef *) RTC_BASE);
	u32 CRTmp = RTC->CR;
	u32 status = 0;
	assert_param(IS_RTC_DAYLIGHT_SAVING(RTC_DayLightSaving));
	assert_param(IS_RTC_STORE_OPERATION(RTC_StoreOperation));
	RTC->WPR = 0xCA;
	RTC->WPR = 0x53;
	CRTmp &= (u32)~(RTC_CR_BCK);
	CRTmp |= (u32)(RTC_DayLightSaving | RTC_StoreOperation);
	if (RTC_EnterInitMode()) {
		RTC->CR = CRTmp;
		RTC_ExitInitMode(); 
		if (RTC_WaitForSynchro()) {
			status = 1;
		} else {
			status = 0;
		}
	} else {
		status = 0;
	}
	RTC->WPR = 0xFF;
	return status;
}