Saturday, February 27, 2010

WxByte/WxIngest/WxEmwin will not decode - Regional and Language Options

A user was having a difficult time trying to get WxEmwin to decode data.  It had worked, but stopped decoding the EMWIN stream.  The program was reporting 100% bad packets with header errors.

I got the user to run WxEmwin with the LOG option and reviewed the results.  The program was failing to decode the date in the EMWIN packet header.  The date looked ok to me.  I got the user to check their Regional and Language Options and discovered they were set to English(Australia).  The user was in the southern hemisphere.  That setting changes the internal date routines to expect the date in DD/MM/YYYY order.  The EMWIN header is in MM/DD/YYYY order.

I got the user to change their Regional and Language Options to English(United States) and WxEmwin started decoding data.  Previously, it worked for sometime at the beginning of the month, but failed after the 12th day. 

This issue affects all version 3.x releases of Weather Message.   It may also affect the version 2 programs - I did not test them for this problem.

I have made changes for the next release that will address this problem.  I reviewed all of the programs that validate dates.  If they are expecting the date in MM/DD/YYYY order, they will now use the culture settings for the United States to make those validations.

Thanks to Colin for his help in identifying this problem.

No comments: