#include "mbed.h"
#include "time_helper.h"

void GetTime(tm & out_sTM)
{
    time_t nTime = time(0);
    tm * pTM = ::localtime(&nTime);
    ::memcpy(&out_sTM,pTM,sizeof(out_sTM));
}

void SetTime
(
    uint8_t     in_nHour,
    uint8_t     in_nMin,
    uint8_t     in_nDay,
    uint8_t     in_nMonth,
    uint16_t    in_nYear
)
{
    tm sCurrentTime = { 0 };
    sCurrentTime.tm_year = in_nYear - 1900;
    sCurrentTime.tm_mon = in_nMonth - 1;
    sCurrentTime.tm_mday = in_nDay;
    
    sCurrentTime.tm_hour = in_nHour;
    sCurrentTime.tm_min = in_nMin;
    
    time_t nCurrentTime = mktime(&sCurrentTime);
    set_time(nCurrentTime);    
}
