04-21-2008 07:47 AM
04-23-2008 01:37 AM
04-23-2008 02:07 AM
Thanks a lot for your help Vince,
My only option would have remained to look with the bus analyzer
on the transmitted NI Configurator telegram to see where the problem arisen.
I will now explain in detail this "problem ": when
I sent 40 (year 2040) I saw in debug mode that the value was a huge unsigned
value, but after looking into
the DD "time value" spec I was surprised that this
is allowed to have a sign bit also (probably to be easy to make arithmetic
operations with this data type)
What I got from NI Configurator 3.1.1 I think was a signed
negative value that was the offset from the year 2037 (I am not sure at all
about this now)
How do you suggest I should approach this non-limiting check
of Configurator for the time value range between years 2037 and 2072 ?
I should somehow decide if it's a "malformed"
"time value" value to reject this value when the user is trying to
write to this parameter. The only indication of a non valid date
would be then the presence of the sign bit, in order to
overcome this problem with NI Configurator ?
04-25-2008 03:28 AM
04-25-2008 03:57 AM
"In Configurator, if the year value
is outside the range (1972-2037), the input date values will be cleared to
zeros. The negative value will be ignored instead of being regarded as the
offset. So, the date range between 2038-2072 will not be accepted by Configurator",
Vince Shen
It's nice to hear Vince that this will
be solved in next versions of Configurator, but just to clear out an issue: I
have noticed that the NI Configurator 3.1.1 cleared the value to 0
after entering a value higher than 2037 but what I
actually received on my device (processed by the FF protocol stack) was a
"negative value" (sign bit set) as I've said in my last comment.
Considering than this current issue with NI
Configurator, to be on the safe side I would have to reject this value
based on other considerations. At this moment from what I saw that's being
received for date higher than 2037 I would have to introduce as a limiting
"maximum value" check inside my firmware the date 31.December.2037
(any negative value that will be sent by NI outside the 1972-2037 range will be
seen as a huge future date and will be rejected )