Seconds since January 1st 1970


#1

I can’t make sense of this 32 bit value. I’ve set my modem date/time using +CCLK and read the timestamp (seconds since jan 1st 1970, ignoring fractions). I get 981968114, but Unix time (same thing?) is 1328036190. Not even close. Where am I going wrong ?


#2

Hi,

Can you paste part of your code , showing how you are trying to achieve
the time difference.


#3

Hiya,

Just checked the time on a freshly flashed FXT009. The results are:

2012/02/02;11:22:58:387;004;26;1;Time: 2000-01-01 18:23:18 ... Sec: (946750998)/(946750998)

and the code to generate this is:

adl_rtcTime_t now;
	adl_rtcTimeStamp_t nowTs;
	s32 ret;
	ascii msg[256];

	ret = adl_rtcGetTime( &now );
	ret = adl_rtcConvertTime( &now, &nowTs, ADL_RTC_CONVERT_TO_TIMESTAMP );

	wm_sprintf(msg, "Time: %04u-%02u-%02u %02u:%02u:%02u ... Sec: (%u)/(%d)",
				now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second,
				nowTs.TimeStamp, nowTs.TimeStamp
			);
	TRACE (( 1, msg ));

If I set the time to 2012-02-02 12:00:00 using +CCLK and reboot the modem using at+cfun=1, I then get:

2012/02/02;11:28:10:426;001;ADL;1;Time: 2012-02-02 12:00:08 ... Sec: (1328184008)/(1328184008)

Note that the AT commands guide for +CCLK indicates that the RTC will default to the last set value if there is no backup power source for the RTC… Also, it’s my experience that doing a firmware upgrade will also reset the RTC to epoch (1/1/2000).

Maybe the battery in your module has gone flat and the time is being reset across power cycles?

Try my code above and see how you get on.

ciao, Dave


#4

Thanks I’ll try that on an Xtend. I had been setting the time but hadn’t appreciated that a reset was necessary. I d been using a Q2686 development board for my tests, which doesn’t have a battery at all.


#5

Hi Johnny,

Oops. A reset is NOT necessary - it was only my way of showing that the time stayed up across a reset. Sorry for the confusion.

Ahhh - there’s the problem. The RTC will stay up as long as there’s power on the Q2686 dev board - across resets as well. Take the power off and the RTC will reset to Epoch.

I haven’t got my Q2868 dev board handy, and can’t remember if there is a jumper to provide external RTC power or not. There is a reasonable section in one of the Q2686 technical specs on how to set up the RTC external power supply.

ciao, Dave


#6

Just to finish this story - I subsequently discovered that I had mis-understood the date format. I was setting the clock using CCLK, and at a glance it looked right, but it turned out that I had day/month/year fields mixed up. And I was doing this work at a time and date when this mistake wasn’t immediately obvious. Apologies if I’ve wasted anyones time.