0

I want to parse a large number to sync time on my arduino. For this i send it a string with the current time in Unix time format wich looks somethink like this:

1535441277

For this I just call a php script wich echos the time() function.

But with string.toInt()I'm unable to parse it. I suppose the number is too large for an int or a long. But I can't put it directly into the setEpoch() method from the RTCzero libary because it accepts as input datatype only uint32_t. So how can I parse large numbers on a system where double isn't implemented. And I don't just try to parse the entire HTTP-Response. I iterate thru the response and at the relevant line I write all the chars into a char-Array. I also have removed the \r and \n chars.

2

On 32 bit systems, uint32_t is usually the same as unsigned int and unsigned long. You should be able to parse the number using strtoul(), which is quite standard and returns an unsigned long.

0

Thanks for the quick response. I also found another solution: Before echoing the time remove a large chuck of the time by just removing the current timestamp on the server-side. Later on I add the exact same amount when using the setEpoch() function. I know that's not very elegant but it works for me.

  • How do you share the time base (that large chunk) between the Arduino and the PC? – Dmitry Grigoryev Aug 28 '18 at 8:34
  • @DmitryGrigoryev, subtract epoch time of the first second of this year – Juraj Aug 28 '18 at 8:40
  • So you already have current time set on both Arduino and the PC? – Dmitry Grigoryev Aug 28 '18 at 8:48
  • @DmitryGrigoryev, read the question. he gets the time with HTTP GET request to his service on the server – Juraj Aug 28 '18 at 8:50
  • @Juraj I totally don't see that in the question. – Dmitry Grigoryev Aug 28 '18 at 8:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.