Esempio n. 1
0
void Get_AlarmTimeString(char *TimeString)
{
	char timeBuffer[9];
	volatile uint32 scroll, sec, min, hour;
	sec = 0u;
	min = 0u;
	hour = 0u;
	if(AlarmTime.status == 1)
		{
			RTC_GetAlarmDateAndTime(&AlarmTime);
			TimeStruct.Time = RTC_GetTime();
	
			min = RTC_GetMinutes(AlarmTime.time);
			hour = RTC_GetHours(AlarmTime.time);
	
			if(RTC_GetSecond(AlarmTime.time) < RTC_GetSecond(TimeStruct.Time))
				{		
					if(min)
						{
							min--;
							sec = 59 - (RTC_GetSecond(TimeStruct.Time) - RTC_GetSecond(AlarmTime.time));
						}
					else
						{		
							hour--;
							min = 59;
							sec = 59 - (RTC_GetSecond(TimeStruct.Time) - RTC_GetSecond(AlarmTime.time));			
						}			
				}
			else
				{
					sec = (RTC_GetSecond(AlarmTime.time) - RTC_GetSecond(TimeStruct.Time));
				}
			
			if(min < RTC_GetMinutes(TimeStruct.Time))
				{
					hour--;
					min = 59 - (RTC_GetMinutes(TimeStruct.Time) - min);
				}
			else
				{
					min = min - RTC_GetMinutes(TimeStruct.Time);
				}
				
			hour = hour - RTC_GetHours(TimeStruct.Time);
		}
	
    sprintf(timeBuffer, "%02lu:%02lu:%02lu", hour, min, sec);
	for(scroll = 0; scroll < 9; scroll++)
		{
			TimeString[scroll] = timeBuffer[scroll];
		}
}
Esempio n. 2
0
/*******************************************************************************
* Function name: DisplayPrintfRealTime
********************************************************************************
*
* Summary:
*   print real time from position row = 1, column = 0
*
*******************************************************************************/
void DisplayRealTime(void)
{
    uint32_t time;
    
    time = RTC_GetTime();
    sprintf(buff, "%02lu:%02lu:%02lu      ", RTC_GetHours(time),RTC_GetMinutes(time), RTC_GetSecond(time));
    LCD_Position(1,0);
    LCD_PrintString(buff);
}
Esempio n. 3
0
void Get_RealTimeString(char *TimeString)
{
	char timeBuffer[9];
	uint8 scroll = 0;
	TimeStruct.Time = RTC_GetTime();
    sprintf(timeBuffer, "%02lu:%02lu:%02lu", RTC_GetHours(TimeStruct.Time), RTC_GetMinutes(TimeStruct.Time), RTC_GetSecond(TimeStruct.Time));
	for(scroll = 0; scroll < 9; scroll++)
	{
		TimeString[scroll] = timeBuffer[scroll];
	}
}
Esempio n. 4
0
/*******************************************************************************
* Function Name: WriteSkierResult
********************************************************************************
*
* Summary:
*  Start log system(mount fat)
*
* Parametrs:
*   *data - pointer from result skiers
* Return:
*   resultF - result mount FAT system (from enum FRESULT)
*
*******************************************************************************/
uint32_t WriteSkierResult(skierDB_El *data)
{
    uint8 resultF;
    uint count;
    
    uint32_t nameYear;
    uint32_t nameMonth;
    uint32_t nameDay;
    uint32_t date;
    
    /*get date from RTC*/
    date = RTC_GetDate();
    nameYear = RTC_GetYear(date)-2000;
    nameMonth = RTC_GetMonth(date);
    nameDay = RTC_GetDay(date);
    
    /*Construct name of file in format dd_mm_yyyy*/
    sprintf(nameFile,"%02d_%02d_%d.txt",nameDay,nameMonth,nameYear);
    createFlag = 0;
    resultF = f_open(&fileO, nameFile, FA_WRITE | FA_OPEN_APPEND, &createFlag);
    
    if(resultF == RES_OK)
    {
        /*Construct save data*/
        char start[LEN_DATA];
        char finish[LEN_DATA];
        char result[LEN_DATA];
        char writeData[LEN_DATA_ALL];
        
        RTC_DATE_TIME time;
        
        
        /*read unix time*/
        RTC_UnixToDateTime(&time, data->unixStartSkier, RTC_24_HOURS_FORMAT);
        sprintf(start, "\t\t%02lu:%02lu:%02lu:%03u",RTC_GetHours(time.time),RTC_GetMinutes(time.time),RTC_GetSecond(time.time),data->millsStartSkier);
        RTC_UnixToDateTime(&time, data->unixFinishSkier, RTC_24_HOURS_FORMAT);
        sprintf(finish, "\t\t%02lu:%02lu:%02lu:%03u",RTC_GetHours(time.time),RTC_GetMinutes(time.time),RTC_GetSecond(time.time),data->millsFinishSkier);
        sprintf(result, "\t\t%02lu:%03u",(uint32)data->secondsWay,data->millsWay);
        sprintf(writeData,"\n\r%d%s%s%s\n\r",position, start, finish, result);
              
        if((position == 1) || (createFlag == 1))
        {
            /*write new "cap"*/
            uint32_t tmpTime ;
            
            tmpTime = RTC_GetTime();
            f_printf(&fileO,"\r\nSystem started %02d:%02d:%02d\n\r", RTC_GetHours(tmpTime),RTC_GetMinutes(tmpTime),RTC_GetSecond(tmpTime));
            f_printf(&fileO,"--------------------------------------------------\n\r");
            f_printf(&fileO,"NUM\t\tSTART\t\t\tFINISH\t\t\tRESULT\n\r");
            f_printf(&fileO,"--------------------------------------------------\n\r");
            
        }
        
        /*write data*/
        resultF = f_write(&fileO, writeData, strlen(writeData),&count);
        resultF = f_close(&fileO);
        position++;
    }
    
    return resultF;
}