BAW019 Posted January 22, 2009 Report Posted January 22, 2009 Hi Peter, sorry to bother you with this but I've run out of ideas! I'm trying to write a Weather 'radar' by interrogating my private FSX database for all weather stations within a certain distance of the plane. I take the list and whizz through a loop asking the NWI for weather for each of the ICAOs. (To be be on the safe side I've put a 10ms delay between setting the ICAO/Signature and reading the weather data). Occasionally this works but for the most part the reads return weather for the previous sucessfull ICAO. In my last test if only returned 4 weather areas from 87 ICAO codes. The list of ICAOs has been compiled from a list of airports that are also Weather Stations so I guess they should have METAR to return. I guess my question is whether you or anyone else has stress tested the NWI before and whether they got the results they were expecting? Perhaps I'm the first to interrogate it en masse in this way and some features are bubbling up, I don't know but I'm pretty sure I'm following the 'How To...' guide in the NWI readme and I can't see why it would fail so randomly. Any help, suggestions or pointers would be gratefully received, from you or anyone else out there! Many thanks Ian ps Am enclosing source code and sample logs but am not expecting you to debug my rather messy code. Just there in case any VB programmers can spot something I've done wrong. Start: Attempt = Attempt + 1 ' Clear the read area mReadWx.Command = 0 mReadWx.Flags = 0 mReadWx.ICAO.Byte1 = 0 mReadWx.ICAO.Byte2 = 0 mReadWx.ICAO.Byte3 = 0 mReadWx.ICAO.Byte4 = 0 mReadWx.Dynamics = 0 mReadWx.Spare = 0 mReadWx.Latitude = 0 mReadWx.Longitude = 0 mReadWx.Elevation = 0 mReadWx.TimeStamp = 0 mReadWx.PressureUDT.Pressure = 0 mReadWx.PressureUDT.Drift = 0 mReadWx.VisUDT.LowerAlt = 0 mReadWx.VisUDT.Range = 0 mReadWx.VisUDT.Spare = 0 mReadWx.VisUDT.UpperAlt = 0 mReadWx.NumTemps = 0 For i = 1 To 24 mReadWx.TempUDT(i).Alt = 0 mReadWx.TempUDT(i).Day = 0 mReadWx.TempUDT(i).DayNightVar = 0 mReadWx.TempUDT(i).DewPoint = 0 Next i mReadWx.NuMWinds = 0 For i = 1 To 24 mReadWx.WindUDT(i).UpperAlt = 0 mReadWx.WindUDT(i).Speed = 0 mReadWx.WindUDT(i).Gust = 0 mReadWx.WindUDT(i).Direction = 0 mReadWx.WindUDT(i).Turbulence = 0 mReadWx.WindUDT(i).Shear = 0 mReadWx.WindUDT(i).Variance = 0 mReadWx.WindUDT(i).SpeedFract = 0 mReadWx.WindUDT(i).Spare = 0 Next i mReadWx.NumClouds = 0 For i = 1 To 24 mReadWx.CloudUDT(i).UpperAlt = 0 mReadWx.CloudUDT(i).LowerAlt = 0 mReadWx.CloudUDT(i).Deviation = 0 mReadWx.CloudUDT(i).Coverage = 0 mReadWx.CloudUDT(i).Type = 0 mReadWx.CloudUDT(i).Turbulence = 0 mReadWx.CloudUDT(i).Icing = 0 mReadWx.CloudUDT(i).PrecipBase = 0 mReadWx.CloudUDT(i).PrecipType = 0 mReadWx.CloudUDT(i).PrecipRate = 0 mReadWx.CloudUDT(i).TopShape = 0 mReadWx.CloudUDT(i).Spare = 0 Next i If Attempt > 10 Then Print #mFilenum, "Gave up after 10 attempts for " & pICAO Exit Sub End If ' Initialise the key areas Randomize Timer ICAO.Byte1 = Asc(Mid$(UCase$(pICAO), 1, 1)) ICAO.Byte2 = Asc(Mid$(UCase$(pICAO), 2, 1)) ICAO.Byte3 = Asc(Mid$(UCase$(pICAO), 3, 1)) ICAO.Byte4 = Asc(Mid$(UCase$(pICAO), 4, 1)) mWxSig = Rnd * 9999 GotIt = False Const cWxGet = &HCC00& Do While Not GotIt ' Write these ares to FSUIPC which triggers the request for data If FSUIPC_Write(cWxGet + 8, 4, VarPtr(ICAO), pdRC) = False Then Exit Sub If FSUIPC_Write(cWxGet + 4, 4, VarPtr(mWxSig), pdRC) = False Then Exit Sub If FSUIPC_Process(pdRC) = False Then Exit Sub End If ' Give FSUIPC a chance to get the data Sleep 10 ' Read the data back into our data structure FSUIPC_Read cWxGet, Len(mReadWx), VarPtr(mReadWx), pdRC If FSUIPC_Process(pdRC) = False Then Exit Sub End If ' The the signature matches, if so exit the loop If mReadWx.lSignature = mWxSig Then GotIt = True End If Loop t = Chr$(mReadWx.ICAO.Byte1) & Chr$(mReadWx.ICAO.Byte2) & Chr$(mReadWx.ICAO.Byte3) & Chr$(mReadWx.ICAO.Byte4) If t <> pICAO Then Print #mFilenum, "OOPS! Req=" & pICAO & vbTab & "Recd=" & t & vbTab & "will try again..." GoTo Start End If Aircraft Long=-2.81434060912943 Aircraft Lat =51.3600026776778 List of local weather stations ============================== EGBB -1.748028 52.45385 EGBE -1.479722 52.36972 EGBJ -2.167108 51.89411 EGCC -2.27495 53.35374 EGDC -4.150339 51.08717 EGDG -4.995408 50.44056 EGDL -1.993428 51.50515 EGDM -1.747414 51.15219 EGDN -1.75425 51.24718 EGDR -5.255711 50.08609 EGDX -3.43313 51.40563 EGDY -2.638819 51.00936 EGFF -3.343333 51.39667 EGFH -4.067778 51.60528 EGGD -2.719089 51.38267 EGGP -2.847404 53.33418 EGGW -0.3683335 51.87472 EGHD -4.105834 50.42278 EGHE -6.291667 49.91333 EGHH -1.8425 50.78 EGHI -1.356126 50.95057 EGJA -2.217425 49.70638 EGJB -2.601944 49.435 EGJJ -2.195508 49.20795 EGKA -0.2972223 50.83556 EGKB 0.03249983 51.33083 EGKK -0.1902777 51.14806 EGLC 0.05527767 51.50528 EGLF -0.7763892 51.27583 EGLL -0.4613887 51.4775 EGMC 0.6955553 51.57139 EGMD 0.9391665 50.95611 EGMH 1.346111 51.34222 EGNH -3.028561 53.77156 EGNJ -0.3508333 53.57444 EGNM -1.660556 53.86583 EGNO -2.883061 53.7451 EGNR -2.977778 53.17805 EGNX -1.328056 52.83111 EGOD -4.1235 52.81167 EGOS -2.668042 52.79817 EGOV -4.535339 53.2481 EGSC 0.1749998 52.205 EGSH 1.282778 52.67583 EGSS 0.235 51.885 EGSY -1.388486 53.39426 EGTC -0.6166667 52.07222 EGTE -3.413889 50.73444 EGTG -2.590833 51.51944 EGTH -0.2529488 51.76555 EGTI -0.4161975 51.69187 EGUB -1.095834 51.61639 EGUL 0.5610002 52.40933 EGUN 0.4863887 52.36195 EGUW 0.9562638 52.12729 EGUY -0.1078333 52.35717 EGVA -1.790028 51.68217 EGVN -1.583617 51.74997 EGVO -0.942825 51.23414 EGVP -1.567556 51.14281 EGWC -2.3055 52.64 EGWU -0.4182307 51.553 EGXC -0.166014 53.09301 EGXG -1.1955 53.83434 EGXH 0.7729388 52.34261 EGXJ -0.6488335 52.73567 EGXN -0.9895 52.9665 EGXP -0.5508332 53.3075 EGXT -0.4764528 52.61256 EGXW -0.5238108 53.16617 EGYC 1.3579 52.75484 EGYD -0.4833055 53.03035 EGYE -0.561625 52.96223 EGYM 0.5506915 52.64835 EIDW -6.27 53.42139 EIME -6.451333 53.30167 LFOE 1.22 49.02861 LFOH 0.0880555 49.53389 LFOP 1.183889 49.39083 LFOS 0.6558332 49.83528 LFRC -1.475278 49.65083 LFRG 0.16 49.36333 LFRK -0.4494792 49.17229 LFRO -3.474445 48.755 Results of Interrogation ======================== OOPS! Req=EGBB Recd=EGGD will try again... OOPS! Req=EGBB Recd=EGGD will try again... OOPS! Req=EGBB Recd=EGGD will try again... OOPS! Req=EGBB Recd=EGGD will try again... OOPS! Req=EGBB Recd=EGGD will try again... OOPS! Req=EGBB Recd=EGGD will try again... OOPS! Req=EGBB Recd=EGGD will try again... OOPS! Req=EGBB Recd=EGGD will try again... OOPS! Req=EGBB Recd=EGGD will try again... Req=EGBB Recd=EGBB OOPS! Req=EGBE Recd=EGBB will try again... OOPS! Req=EGBE Recd=EGBB will try again... OOPS! Req=EGBE Recd=EGBB will try again... OOPS! Req=EGBE Recd=EGBB will try again... OOPS! Req=EGBE Recd=EGBB will try again... OOPS! Req=EGBE Recd=EGBB will try again... OOPS! Req=EGBE Recd=EGBB will try again... OOPS! Req=EGBE Recd=EGBB will try again... OOPS! Req=EGBE Recd=EGBB will try again... OOPS! Req=EGBE Recd=EGBB will try again... Gave up after 10 attempts for EGBE OOPS! Req=EGBJ Recd=EGBB will try again... OOPS! Req=EGBJ Recd=EGBB will try again... OOPS! Req=EGBJ Recd=EGBB will try again... OOPS! Req=EGBJ Recd=EGBB will try again... OOPS! Req=EGBJ Recd=EGBB will try again... OOPS! Req=EGBJ Recd=EGBB will try again... OOPS! Req=EGBJ Recd=EGBB will try again... OOPS! Req=EGBJ Recd=EGBB will try again... OOPS! Req=EGBJ Recd=EGBB will try again... OOPS! Req=EGBJ Recd=EGBB will try again... Gave up after 10 attempts for EGBJ OOPS! Req=EGCC Recd=EGBB will try again... OOPS! Req=EGCC Recd=EGBB will try again... OOPS! Req=EGCC Recd=EGBB will try again... OOPS! Req=EGCC Recd=EGBB will try again... OOPS! Req=EGCC Recd=EGBB will try again... OOPS! Req=EGCC Recd=EGBB will try again... OOPS! Req=EGCC Recd=EGBB will try again... OOPS! Req=EGCC Recd=EGBB will try again... OOPS! Req=EGCC Recd=EGBB will try again... OOPS! Req=EGCC Recd=EGBB will try again... Gave up after 10 attempts for EGCC OOPS! Req=EGDC Recd=EGBB will try again... OOPS! Req=EGDC Recd=EGBB will try again... OOPS! Req=EGDC Recd=EGBB will try again... OOPS! Req=EGDC Recd=EGBB will try again... OOPS! Req=EGDC Recd=EGBB will try again... OOPS! Req=EGDC Recd=EGBB will try again... OOPS! Req=EGDC Recd=EGBB will try again... OOPS! Req=EGDC Recd=EGBB will try again... OOPS! Req=EGDC Recd=EGBB will try again... OOPS! Req=EGDC Recd=EGBB will try again... Gave up after 10 attempts for EGDC OOPS! Req=EGDG Recd=EGDC will try again... OOPS! Req=EGDG Recd=EGDC will try again... OOPS! Req=EGDG Recd=EGDC will try again... OOPS! Req=EGDG Recd=EGDC will try again... OOPS! Req=EGDG Recd=EGDC will try again... OOPS! Req=EGDG Recd=EGDC will try again... OOPS! Req=EGDG Recd=EGDC will try again... OOPS! Req=EGDG Recd=EGDC will try again... OOPS! Req=EGDG Recd=EGDC will try again... OOPS! Req=EGDG Recd=EGDC will try again... Gave up after 10 attempts for EGDG OOPS! Req=EGDL Recd=EGDC will try again... OOPS! Req=EGDL Recd=EGDC will try again... OOPS! Req=EGDL Recd=EGDC will try again... OOPS! Req=EGDL Recd=EGDC will try again... OOPS! Req=EGDL Recd=EGDC will try again... OOPS! Req=EGDL Recd=EGDC will try again... OOPS! Req=EGDL Recd=EGDC will try again... OOPS! Req=EGDL Recd=EGDC will try again... OOPS! Req=EGDL Recd=EGDC will try again... Req=EGDL Recd=EGDL OOPS! Req=EGDM Recd=EGDL will try again... OOPS! Req=EGDM Recd=EGDL will try again... OOPS! Req=EGDM Recd=EGDL will try again... OOPS! Req=EGDM Recd=EGDL will try again... OOPS! Req=EGDM Recd=EGDL will try again... OOPS! Req=EGDM Recd=EGDL will try again... OOPS! Req=EGDM Recd=EGDL will try again... OOPS! Req=EGDM Recd=EGDL will try again... OOPS! Req=EGDM Recd=EGDL will try again... OOPS! Req=EGDM Recd=EGDL will try again... Gave up after 10 attempts for EGDM OOPS! Req=EGDN Recd=EGDL will try again... OOPS! Req=EGDN Recd=EGDL will try again... OOPS! Req=EGDN Recd=EGDL will try again... OOPS! Req=EGDN Recd=EGDL will try again... OOPS! Req=EGDN Recd=EGDL will try again... OOPS! Req=EGDN Recd=EGDL will try again... OOPS! Req=EGDN Recd=EGDL will try again... OOPS! Req=EGDN Recd=EGDL will try again... OOPS! Req=EGDN Recd=EGDL will try again... OOPS! Req=EGDN Recd=EGDL will try again... Gave up after 10 attempts for EGDN OOPS! Req=EGDR Recd=EGDL will try again... OOPS! Req=EGDR Recd=EGDL will try again... OOPS! Req=EGDR Recd=EGDL will try again... OOPS! Req=EGDR Recd=EGDL will try again... OOPS! Req=EGDR Recd=EGDL will try again... OOPS! Req=EGDR Recd=EGDN will try again... OOPS! Req=EGDR Recd=EGDN will try again... OOPS! Req=EGDR Recd=EGDN will try again... OOPS! Req=EGDR Recd=EGDN will try again... OOPS! Req=EGDR Recd=EGDN will try again... Gave up after 10 attempts for EGDR OOPS! Req=EGDX Recd=EGDN will try again... OOPS! Req=EGDX Recd=EGDN will try again... OOPS! Req=EGDX Recd=EGDN will try again... OOPS! Req=EGDX Recd=EGDN will try again... OOPS! Req=EGDX Recd=EGDN will try again... OOPS! Req=EGDX Recd=EGDN will try again... OOPS! Req=EGDX Recd=EGDN will try again... OOPS! Req=EGDX Recd=EGDN will try again... OOPS! Req=EGDX Recd=EGDN will try again... OOPS! Req=EGDX Recd=EGDN will try again... Gave up after 10 attempts for EGDX OOPS! Req=EGDY Recd=EGDN will try again... OOPS! Req=EGDY Recd=EGDN will try again... OOPS! Req=EGDY Recd=EGDN will try again... OOPS! Req=EGDY Recd=EGDN will try again... OOPS! Req=EGDY Recd=EGDN will try again... OOPS! Req=EGDY Recd=EGDN will try again... OOPS! Req=EGDY Recd=EGDN will try again... OOPS! Req=EGDY Recd=EGDN will try again... OOPS! Req=EGDY Recd=EGDN will try again... OOPS! Req=EGDY Recd=EGDN will try again... Gave up after 10 attempts for EGDY OOPS! Req=EGFF Recd=EGDN will try again... OOPS! Req=EGFF Recd=EGDN will try again... OOPS! Req=EGFF Recd=EGDN will try again... OOPS! Req=EGFF Recd=EGDN will try again... OOPS! Req=EGFF Recd=EGDN will try again... OOPS! Req=EGFF Recd=EGDN will try again... OOPS! Req=EGFF Recd=EGDN will try again... Req=EGFF Recd=EGFF OOPS! Req=EGFH Recd=EGFF will try again... OOPS! Req=EGFH Recd=EGFF will try again... OOPS! Req=EGFH Recd=EGFF will try again... OOPS! Req=EGFH Recd=EGFF will try again... OOPS! Req=EGFH Recd=EGFF will try again... OOPS! Req=EGFH Recd=EGFF will try again... OOPS! Req=EGFH Recd=EGFF will try again... OOPS! Req=EGFH Recd=EGFF will try again... Req=EGFH Recd=EGFH OOPS! Req=EGGD Recd=EGFH will try again... OOPS! Req=EGGD Recd=EGFH will try again... OOPS! Req=EGGD Recd=EGFH will try again... OOPS! Req=EGGD Recd=EGFH will try again... OOPS! Req=EGGD Recd=EGFH will try again... OOPS! Req=EGGD Recd=EGFH will try again... OOPS! Req=EGGD Recd=EGFH will try again... OOPS! Req=EGGD Recd=EGFH will try again... OOPS! Req=EGGD Recd=EGFH will try again... OOPS! Req=EGGD Recd=EGFH will try again... Gave up after 10 attempts for EGGD OOPS! Req=EGGP Recd=EGFH will try again... OOPS! Req=EGGP Recd=EGFH will try again... OOPS! Req=EGGP Recd=EGFH will try again... OOPS! Req=EGGP Recd=EGFH will try again... OOPS! Req=EGGP Recd=EGFH will try again... OOPS! Req=EGGP Recd=EGFH will try again... OOPS! Req=EGGP Recd=EGFH will try again... OOPS! Req=EGGP Recd=EGFH will try again... OOPS! Req=EGGP Recd=EGFH will try again... OOPS! Req=EGGP Recd=EGFH will try again... Gave up after 10 attempts for EGGP OOPS! Req=EGGW Recd=EGFH will try again... OOPS! Req=EGGW Recd=EGFH will try again... OOPS! Req=EGGW Recd=EGFH will try again... OOPS! Req=EGGW Recd=EGFH will try again... OOPS! Req=EGGW Recd=EGFH will try again... OOPS! Req=EGGW Recd=EGFH will try again... OOPS! Req=EGGW Recd=EGFH will try again... OOPS! Req=EGGW Recd=EGFH will try again... OOPS! Req=EGGW Recd=EGFH will try again... OOPS! Req=EGGW Recd=EGFH will try again... Gave up after 10 attempts for EGGW OOPS! Req=EGHD Recd=EGFH will try again... OOPS! Req=EGHD Recd=EGFH will try again... OOPS! Req=EGHD Recd=EGFH will try again... OOPS! Req=EGHD Recd=EGFH will try again... OOPS! Req=EGHD Recd=EGGW will try again... OOPS! Req=EGHD Recd=EGGW will try again... OOPS! Req=EGHD Recd=EGGW will try again... OOPS! Req=EGHD Recd=EGGW will try again... OOPS! Req=EGHD Recd=EGGW will try again... OOPS! Req=EGHD Recd=EGGW will try again... Gave up after 10 attempts for EGHD OOPS! Req=EGHE Recd=EGGW will try again... OOPS! Req=EGHE Recd=EGGW will try again... OOPS! Req=EGHE Recd=EGGW will try again... OOPS! Req=EGHE Recd=EGGW will try again... OOPS! Req=EGHE Recd=EGGW will try again... OOPS! Req=EGHE Recd=EGGW will try again... OOPS! Req=EGHE Recd=EGGW will try again... OOPS! Req=EGHE Recd=EGGW will try again... OOPS! Req=EGHE Recd=EGGW will try again... OOPS! Req=EGHE Recd=EGGW will try again... Gave up after 10 attempts for EGHE OOPS! Req=EGHH Recd=EGGW will try again... OOPS! Req=EGHH Recd=EGGW will try again... OOPS! Req=EGHH Recd=EGGW will try again... OOPS! Req=EGHH Recd=EGGW will try again... OOPS! Req=EGHH Recd=EGGW will try again... OOPS! Req=EGHH Recd=EGGW will try again... OOPS! Req=EGHH Recd=EGGW will try again... OOPS! Req=EGHH Recd=EGGW will try again... OOPS! Req=EGHH Recd=EGGW will try again... OOPS! Req=EGHH Recd=EGGW will try again... Gave up after 10 attempts for EGHH OOPS! Req=EGHI Recd=EGGW will try again... OOPS! Req=EGHI Recd=EGGW will try again... OOPS! Req=EGHI Recd=EGGW will try again... OOPS! Req=EGHI Recd=EGGW will try again... OOPS! Req=EGHI Recd=EGGW will try again... OOPS! Req=EGHI Recd=EGGW will try again... OOPS! Req=EGHI Recd=EGGW will try again... OOPS! Req=EGHI Recd=EGGW will try again... OOPS! Req=EGHI Recd=EGGW will try again... OOPS! Req=EGHI Recd=EGGW will try again... Gave up after 10 attempts for EGHI OOPS! Req=EGJA Recd=EGGW will try again... OOPS! Req=EGJA Recd=EGGW will try again... OOPS! Req=EGJA Recd=EGGW will try again... OOPS! Req=EGJA Recd=EGGW will try again... OOPS! Req=EGJA Recd=EGGW will try again... OOPS! Req=EGJA Recd=EGGW will try again... OOPS! Req=EGJA Recd=EGGW will try again... OOPS! Req=EGJA Recd=EGGW will try again... OOPS! Req=EGJA Recd=EGGW will try again... OOPS! Req=EGJA Recd=EGGW will try again... Gave up after 10 attempts for EGJA OOPS! Req=EGJB Recd=EGGW will try again... OOPS! Req=EGJB Recd=EGGW will try again... OOPS! Req=EGJB Recd=EGGW will try again... OOPS! Req=EGJB Recd=EGGW will try again... OOPS! Req=EGJB Recd=EGGW will try again... OOPS! Req=EGJB Recd=EGGW will try again... OOPS! Req=EGJB Recd=EGGW will try again... OOPS! Req=EGJB Recd=EGGW will try again... OOPS! Req=EGJB Recd=EGGW will try again... OOPS! Req=EGJB Recd=EGGW will try again... Gave up after 10 attempts for EGJB OOPS! Req=EGJJ Recd=EGGW will try again... OOPS! Req=EGJJ Recd=EGGW will try again... OOPS! Req=EGJJ Recd=EGGW will try again... OOPS! Req=EGJJ Recd=EGGW will try again... OOPS! Req=EGJJ Recd=EGGW will try again... OOPS! Req=EGJJ Recd=EGGW will try again... OOPS! Req=EGJJ Recd=EGGW will try again... OOPS! Req=EGJJ Recd=EGGW will try again... OOPS! Req=EGJJ Recd=EGGW will try again... OOPS! Req=EGJJ Recd=EGGW will try again... Gave up after 10 attempts for EGJJ OOPS! Req=EGKA Recd=EGGW will try again... OOPS! Req=EGKA Recd=EGGW will try again... OOPS! Req=EGKA Recd=EGGW will try again... OOPS! Req=EGKA Recd=EGGW will try again... OOPS! Req=EGKA Recd=EGGW will try again... OOPS! Req=EGKA Recd=EGGW will try again... OOPS! Req=EGKA Recd=EGGW will try again... OOPS! Req=EGKA Recd=EGGW will try again... OOPS! Req=EGKA Recd=EGGW will try again... OOPS! Req=EGKA Recd=EGGW will try again... Gave up after 10 attempts for EGKA OOPS! Req=EGKB Recd=EGGW will try again... OOPS! Req=EGKB Recd=EGGW will try again... OOPS! Req=EGKB Recd=EGGW will try again... OOPS! Req=EGKB Recd=EGGW will try again... OOPS! Req=EGKB Recd=EGGW will try again... OOPS! Req=EGKB Recd=EGGW will try again... OOPS! Req=EGKB Recd=EGGW will try again... OOPS! Req=EGKB Recd=EGGW will try again... OOPS! Req=EGKB Recd=EGGW will try again... OOPS! Req=EGKB Recd=EGGW will try again... Gave up after 10 attempts for EGKB OOPS! Req=EGKK Recd=EGGW will try again... OOPS! Req=EGKK Recd=EGGW will try again... OOPS! Req=EGKK Recd=EGGW will try again... OOPS! Req=EGKK Recd=EGGW will try again... OOPS! Req=EGKK Recd=EGGW will try again... OOPS! Req=EGKK Recd=EGGW will try again... OOPS! Req=EGKK Recd=EGGW will try again... OOPS! Req=EGKK Recd=EGGW will try again... OOPS! Req=EGKK Recd=EGGW will try again... OOPS! Req=EGKK Recd=EGGW will try again... Gave up after 10 attempts for EGKK OOPS! Req=EGLC Recd=EGGW will try again... OOPS! Req=EGLC Recd=EGGW will try again... OOPS! Req=EGLC Recd=EGGW will try again... OOPS! Req=EGLC Recd=EGGW will try again... OOPS! Req=EGLC Recd=EGGW will try again... OOPS! Req=EGLC Recd=EGGW will try again... OOPS! Req=EGLC Recd=EGGW will try again... OOPS! Req=EGLC Recd=EGGW will try again... OOPS! Req=EGLC Recd=EGGW will try again... OOPS! Req=EGLC Recd=EGGW will try again... Gave up after 10 attempts for EGLC OOPS! Req=EGLF Recd=EGGW will try again... OOPS! Req=EGLF Recd=EGGW will try again... OOPS! Req=EGLF Recd=EGGW will try again... OOPS! Req=EGLF Recd=EGGW will try again... OOPS! Req=EGLF Recd=EGGW will try again... OOPS! Req=EGLF Recd=EGGW will try again... OOPS! Req=EGLF Recd=EGGW will try again... OOPS! Req=EGLF Recd=EGGW will try again... OOPS! Req=EGLF Recd=EGGW will try again... OOPS! Req=EGLF Recd=EGGW will try again... Gave up after 10 attempts for EGLF OOPS! Req=EGLL Recd=EGGW will try again... OOPS! Req=EGLL Recd=EGGW will try again... OOPS! Req=EGLL Recd=EGGW will try again... OOPS! Req=EGLL Recd=EGGW will try again... OOPS! Req=EGLL Recd=EGGW will try again... OOPS! Req=EGLL Recd=EGGW will try again... OOPS! Req=EGLL Recd=EGGW will try again... OOPS! Req=EGLL Recd=EGGW will try again... OOPS! Req=EGLL Recd=EGGW will try again... OOPS! Req=EGLL Recd=EGGW will try again... Gave up after 10 attempts for EGLL OOPS! Req=EGMC Recd=EGGW will try again... OOPS! Req=EGMC Recd=EGGW will try again... OOPS! Req=EGMC Recd=EGGW will try again... OOPS! Req=EGMC Recd=EGGW will try again... OOPS! Req=EGMC Recd=EGGW will try again... OOPS! Req=EGMC Recd=EGGW will try again... OOPS! Req=EGMC Recd=EGGW will try again... OOPS! Req=EGMC Recd=EGGW will try again... OOPS! Req=EGMC Recd=EGGW will try again... OOPS! Req=EGMC Recd=EGGW will try again... Gave up after 10 attempts for EGMC OOPS! Req=EGMD Recd=EGGW will try again... OOPS! Req=EGMD Recd=EGGW will try again... OOPS! Req=EGMD Recd=EGGW will try again... OOPS! Req=EGMD Recd=EGGW will try again... OOPS! Req=EGMD Recd=EGGW will try again... OOPS! Req=EGMD Recd=EGGW will try again... OOPS! Req=EGMD Recd=EGGW will try again... OOPS! Req=EGMD Recd=EGGW will try again... OOPS! Req=EGMD Recd=EGGW will try again... OOPS! Req=EGMD Recd=EGGW will try again... Gave up after 10 attempts for EGMD OOPS! Req=EGMH Recd=EGGW will try again... OOPS! Req=EGMH Recd=EGGW will try again... OOPS! Req=EGMH Recd=EGGW will try again... OOPS! Req=EGMH Recd=EGGW will try again... OOPS! Req=EGMH Recd=EGGW will try again... OOPS! Req=EGMH Recd=EGGW will try again... OOPS! Req=EGMH Recd=EGGW will try again... OOPS! Req=EGMH Recd=EGGW will try again... OOPS! Req=EGMH Recd=EGGW will try again... OOPS! Req=EGMH Recd=EGGW will try again... Gave up after 10 attempts for EGMH OOPS! Req=EGNH Recd=EGGW will try again... OOPS! Req=EGNH Recd=EGGW will try again... OOPS! Req=EGNH Recd=EGGW will try again... OOPS! Req=EGNH Recd=EGGW will try again... OOPS! Req=EGNH Recd=EGGW will try again... OOPS! Req=EGNH Recd=EGGW will try again... OOPS! Req=EGNH Recd=EGGW will try again... OOPS! Req=EGNH Recd=EGGW will try again... OOPS! Req=EGNH Recd=EGGW will try again... OOPS! Req=EGNH Recd=EGGW will try again... Gave up after 10 attempts for EGNH OOPS! Req=EGNJ Recd=EGGW will try again... OOPS! Req=EGNJ Recd=EGGW will try again... OOPS! Req=EGNJ Recd=EGGW will try again... OOPS! Req=EGNJ Recd=EGGW will try again... OOPS! Req=EGNJ Recd=EGGW will try again... OOPS! Req=EGNJ Recd=EGGW will try again... OOPS! Req=EGNJ Recd=EGGW will try again... OOPS! Req=EGNJ Recd=EGGW will try again... OOPS! Req=EGNJ Recd=EGGW will try again... OOPS! Req=EGNJ Recd=EGGW will try again... Gave up after 10 attempts for EGNJ OOPS! Req=EGNM Recd=EGGW will try again... OOPS! Req=EGNM Recd=EGGW will try again... OOPS! Req=EGNM Recd=EGGW will try again... OOPS! Req=EGNM Recd=EGGW will try again... OOPS! Req=EGNM Recd=EGGW will try again... OOPS! Req=EGNM Recd=EGGW will try again... OOPS! Req=EGNM Recd=EGGW will try again... OOPS! Req=EGNM Recd=EGGW will try again... OOPS! Req=EGNM Recd=EGGW will try again... OOPS! Req=EGNM Recd=EGGW will try again... Gave up after 10 attempts for EGNM OOPS! Req=EGNO Recd=EGGW will try again... OOPS! Req=EGNO Recd=EGGW will try again... OOPS! Req=EGNO Recd=EGGW will try again... OOPS! Req=EGNO Recd=EGGW will try again... OOPS! Req=EGNO Recd=EGGW will try again... OOPS! Req=EGNO Recd=EGGW will try again... OOPS! Req=EGNO Recd=EGGW will try again... OOPS! Req=EGNO Recd=EGGW will try again... OOPS! Req=EGNO Recd=EGGW will try again... OOPS! Req=EGNO Recd=EGGW will try again... Gave up after 10 attempts for EGNO OOPS! Req=EGNR Recd=EGGW will try again... OOPS! Req=EGNR Recd=EGGW will try again... OOPS! Req=EGNR Recd=EGGW will try again... OOPS! Req=EGNR Recd=EGGW will try again... OOPS! Req=EGNR Recd=EGGW will try again... OOPS! Req=EGNR Recd=EGGW will try again... OOPS! Req=EGNR Recd=EGGW will try again... OOPS! Req=EGNR Recd=EGGW will try again... OOPS! Req=EGNR Recd=EGGW will try again... OOPS! Req=EGNR Recd=EGGW will try again... Gave up after 10 attempts for EGNR OOPS! Req=EGNX Recd=EGGW will try again... OOPS! Req=EGNX Recd=EGGW will try again... OOPS! Req=EGNX Recd=EGGW will try again... OOPS! Req=EGNX Recd=EGGW will try again... OOPS! Req=EGNX Recd=EGGW will try again... OOPS! Req=EGNX Recd=EGGW will try again... OOPS! Req=EGNX Recd=EGGW will try again... OOPS! Req=EGNX Recd=EGGW will try again... OOPS! Req=EGNX Recd=EGGW will try again... OOPS! Req=EGNX Recd=EGGW will try again... Gave up after 10 attempts for EGNX OOPS! Req=EGOD Recd=EGGW will try again... OOPS! Req=EGOD Recd=EGGW will try again... OOPS! Req=EGOD Recd=EGGW will try again... OOPS! Req=EGOD Recd=EGGW will try again... OOPS! Req=EGOD Recd=EGGW will try again... OOPS! Req=EGOD Recd=EGGW will try again... OOPS! Req=EGOD Recd=EGGW will try again... OOPS! Req=EGOD Recd=EGGW will try again... OOPS! Req=EGOD Recd=EGGW will try again... OOPS! Req=EGOD Recd=EGGW will try again... Gave up after 10 attempts for EGOD OOPS! Req=EGOS Recd=EGGW will try again... OOPS! Req=EGOS Recd=EGGW will try again... OOPS! Req=EGOS Recd=EGGW will try again... OOPS! Req=EGOS Recd=EGGW will try again... OOPS! Req=EGOS Recd=EGGW will try again... OOPS! Req=EGOS Recd=EGGW will try again... OOPS! Req=EGOS Recd=EGGW will try again... OOPS! Req=EGOS Recd=EGGW will try again... OOPS! Req=EGOS Recd=EGGW will try again... OOPS! Req=EGOS Recd=EGGW will try again... Gave up after 10 attempts for EGOS OOPS! Req=EGOV Recd=EGGW will try again... OOPS! Req=EGOV Recd=EGGW will try again... OOPS! Req=EGOV Recd=EGGW will try again... OOPS! Req=EGOV Recd=EGGW will try again... OOPS! Req=EGOV Recd=EGGW will try again... OOPS! Req=EGOV Recd=EGGW will try again... OOPS! Req=EGOV Recd=EGGW will try again... OOPS! Req=EGOV Recd=EGGW will try again... OOPS! Req=EGOV Recd=EGGW will try again... OOPS! Req=EGOV Recd=EGGW will try again... Gave up after 10 attempts for EGOV OOPS! Req=EGSC Recd=EGGW will try again... OOPS! Req=EGSC Recd=EGGW will try again... OOPS! Req=EGSC Recd=EGGW will try again... OOPS! Req=EGSC Recd=EGGW will try again... OOPS! Req=EGSC Recd=EGGW will try again... OOPS! Req=EGSC Recd=EGGW will try again... OOPS! Req=EGSC Recd=EGGW will try again... OOPS! Req=EGSC Recd=EGGW will try again... OOPS! Req=EGSC Recd=EGGW will try again... OOPS! Req=EGSC Recd=EGGW will try again... Gave up after 10 attempts for EGSC OOPS! Req=EGSH Recd=EGGW will try again... OOPS! Req=EGSH Recd=EGGW will try again... OOPS! Req=EGSH Recd=EGGW will try again... OOPS! Req=EGSH Recd=EGGW will try again... OOPS! Req=EGSH Recd=EGGW will try again... OOPS! Req=EGSH Recd=EGGW will try again... OOPS! Req=EGSH Recd=EGGW will try again... OOPS! Req=EGSH Recd=EGGW will try again... OOPS! Req=EGSH Recd=EGGW will try again... OOPS! Req=EGSH Recd=EGGW will try again... Gave up after 10 attempts for EGSH OOPS! Req=EGSS Recd=EGGW will try again... OOPS! Req=EGSS Recd=EGGW will try again... OOPS! Req=EGSS Recd=EGGW will try again... OOPS! Req=EGSS Recd=EGGW will try again... OOPS! Req=EGSS Recd=EGGW will try again... OOPS! Req=EGSS Recd=EGGW will try again... OOPS! Req=EGSS Recd=EGGW will try again... OOPS! Req=EGSS Recd=EGGW will try again... OOPS! Req=EGSS Recd=EGGW will try again... OOPS! Req=EGSS Recd=EGGW will try again... Gave up after 10 attempts for EGSS OOPS! Req=EGSY Recd=EGGW will try again... OOPS! Req=EGSY Recd=EGGW will try again... OOPS! Req=EGSY Recd=EGGW will try again... OOPS! Req=EGSY Recd=EGGW will try again... OOPS! Req=EGSY Recd=EGGW will try again... OOPS! Req=EGSY Recd=EGGW will try again... OOPS! Req=EGSY Recd=EGGW will try again... OOPS! Req=EGSY Recd=EGGW will try again... OOPS! Req=EGSY Recd=EGGW will try again... OOPS! Req=EGSY Recd=EGGW will try again... Gave up after 10 attempts for EGSY OOPS! Req=EGTC Recd=EGGW will try again... OOPS! Req=EGTC Recd=EGGW will try again... OOPS! Req=EGTC Recd=EGGW will try again... OOPS! Req=EGTC Recd=EGGW will try again... OOPS! Req=EGTC Recd=EGGW will try again... OOPS! Req=EGTC Recd=EGGW will try again... OOPS! Req=EGTC Recd=EGGW will try again... OOPS! Req=EGTC Recd=EGGW will try again... OOPS! Req=EGTC Recd=EGGW will try again... OOPS! Req=EGTC Recd=EGGW will try again... Gave up after 10 attempts for EGTC OOPS! Req=EGTE Recd=EGGW will try again... OOPS! Req=EGTE Recd=EGGW will try again... OOPS! Req=EGTE Recd=EGGW will try again... OOPS! Req=EGTE Recd=EGGW will try again... OOPS! Req=EGTE Recd=EGGW will try again... OOPS! Req=EGTE Recd=EGGW will try again... OOPS! Req=EGTE Recd=EGGW will try again... OOPS! Req=EGTE Recd=EGGW will try again... OOPS! Req=EGTE Recd=EGGW will try again... OOPS! Req=EGTE Recd=EGGW will try again... Gave up after 10 attempts for EGTE OOPS! Req=EGTG Recd=EGGW will try again... OOPS! Req=EGTG Recd=EGGW will try again... OOPS! Req=EGTG Recd=EGGW will try again... OOPS! Req=EGTG Recd=EGGW will try again... OOPS! Req=EGTG Recd=EGGW will try again... OOPS! Req=EGTG Recd=EGGW will try again... OOPS! Req=EGTG Recd=EGGW will try again... OOPS! Req=EGTG Recd=EGGW will try again... OOPS! Req=EGTG Recd=EGGW will try again... OOPS! Req=EGTG Recd=EGGW will try again... Gave up after 10 attempts for EGTG OOPS! Req=EGTH Recd=EGGW will try again... OOPS! Req=EGTH Recd=EGGW will try again... OOPS! Req=EGTH Recd=EGGW will try again... OOPS! Req=EGTH Recd=EGGW will try again... OOPS! Req=EGTH Recd=EGGW will try again... OOPS! Req=EGTH Recd=EGGW will try again... OOPS! Req=EGTH Recd=EGGW will try again... OOPS! Req=EGTH Recd=EGGW will try again... OOPS! Req=EGTH Recd=EGGW will try again... OOPS! Req=EGTH Recd=EGGW will try again... Gave up after 10 attempts for EGTH OOPS! Req=EGTI Recd=EGGW will try again... OOPS! Req=EGTI Recd=EGGW will try again... OOPS! Req=EGTI Recd=EGGW will try again... OOPS! Req=EGTI Recd=EGGW will try again... OOPS! Req=EGTI Recd=EGGW will try again... OOPS! Req=EGTI Recd=EGGW will try again... OOPS! Req=EGTI Recd=EGGW will try again... OOPS! Req=EGTI Recd=EGGW will try again... OOPS! Req=EGTI Recd=EGGW will try again... OOPS! Req=EGTI Recd=EGGW will try again... Gave up after 10 attempts for EGTI OOPS! Req=EGUB Recd=EGGW will try again... OOPS! Req=EGUB Recd=EGGW will try again... OOPS! Req=EGUB Recd=EGGW will try again... OOPS! Req=EGUB Recd=EGGW will try again... OOPS! Req=EGUB Recd=EGGW will try again... OOPS! Req=EGUB Recd=EGGW will try again... OOPS! Req=EGUB Recd=EGGW will try again... OOPS! Req=EGUB Recd=EGGW will try again... OOPS! Req=EGUB Recd=EGGW will try again... OOPS! Req=EGUB Recd=EGGW will try again... Gave up after 10 attempts for EGUB OOPS! Req=EGUL Recd=EGGW will try again... OOPS! Req=EGUL Recd=EGGW will try again... OOPS! Req=EGUL Recd=EGGW will try again... OOPS! Req=EGUL Recd=EGGW will try again... OOPS! Req=EGUL Recd=EGGW will try again... OOPS! Req=EGUL Recd=EGGW will try again... OOPS! Req=EGUL Recd=EGGW will try again... OOPS! Req=EGUL Recd=EGGW will try again... OOPS! Req=EGUL Recd=EGGW will try again... OOPS! Req=EGUL Recd=EGGW will try again... Gave up after 10 attempts for EGUL OOPS! Req=EGUN Recd=EGGW will try again... OOPS! Req=EGUN Recd=EGGW will try again... OOPS! Req=EGUN Recd=EGGW will try again... OOPS! Req=EGUN Recd=EGGW will try again... OOPS! Req=EGUN Recd=EGGW will try again... OOPS! Req=EGUN Recd=EGGW will try again... OOPS! Req=EGUN Recd=EGGW will try again... OOPS! Req=EGUN Recd=EGGW will try again... OOPS! Req=EGUN Recd=EGGW will try again... OOPS! Req=EGUN Recd=EGGW will try again... Gave up after 10 attempts for EGUN OOPS! Req=EGUW Recd=EGGW will try again... OOPS! Req=EGUW Recd=EGGW will try again... OOPS! Req=EGUW Recd=EGGW will try again... OOPS! Req=EGUW Recd=EGGW will try again... OOPS! Req=EGUW Recd=EGGW will try again... OOPS! Req=EGUW Recd=EGGW will try again... OOPS! Req=EGUW Recd=EGGW will try again... OOPS! Req=EGUW Recd=EGGW will try again... OOPS! Req=EGUW Recd=EGGW will try again... OOPS! Req=EGUW Recd=EGGW will try again... Gave up after 10 attempts for EGUW OOPS! Req=EGUY Recd=EGGW will try again... OOPS! Req=EGUY Recd=EGGW will try again... OOPS! Req=EGUY Recd=EGGW will try again... OOPS! Req=EGUY Recd=EGGW will try again... OOPS! Req=EGUY Recd=EGGW will try again... OOPS! Req=EGUY Recd=EGGW will try again... OOPS! Req=EGUY Recd=EGGW will try again... OOPS! Req=EGUY Recd=EGGW will try again... OOPS! Req=EGUY Recd=EGGW will try again... OOPS! Req=EGUY Recd=EGGW will try again... Gave up after 10 attempts for EGUY OOPS! Req=EGVA Recd=EGGW will try again... OOPS! Req=EGVA Recd=EGGW will try again... OOPS! Req=EGVA Recd=EGGW will try again... OOPS! Req=EGVA Recd=EGGW will try again... OOPS! Req=EGVA Recd=EGGW will try again... OOPS! Req=EGVA Recd=EGGW will try again... OOPS! Req=EGVA Recd=EGGW will try again... OOPS! Req=EGVA Recd=EGGW will try again... OOPS! Req=EGVA Recd=EGGW will try again... OOPS! Req=EGVA Recd=EGGW will try again... Gave up after 10 attempts for EGVA OOPS! Req=EGVN Recd=EGGW will try again... OOPS! Req=EGVN Recd=EGGW will try again... OOPS! Req=EGVN Recd=EGGW will try again... OOPS! Req=EGVN Recd=EGGW will try again... OOPS! Req=EGVN Recd=EGGW will try again... OOPS! Req=EGVN Recd=EGGW will try again... OOPS! Req=EGVN Recd=EGGW will try again... OOPS! Req=EGVN Recd=EGGW will try again... OOPS! Req=EGVN Recd=EGGW will try again... OOPS! Req=EGVN Recd=EGGW will try again... Gave up after 10 attempts for EGVN OOPS! Req=EGVO Recd=EGGW will try again... OOPS! Req=EGVO Recd=EGGW will try again... OOPS! Req=EGVO Recd=EGGW will try again... OOPS! Req=EGVO Recd=EGGW will try again... OOPS! Req=EGVO Recd=EGGW will try again... OOPS! Req=EGVO Recd=EGGW will try again... OOPS! Req=EGVO Recd=EGGW will try again... OOPS! Req=EGVO Recd=EGGW will try again... OOPS! Req=EGVO Recd=EGGW will try again... OOPS! Req=EGVO Recd=EGGW will try again... Gave up after 10 attempts for EGVO OOPS! Req=EGVP Recd=EGGW will try again... OOPS! Req=EGVP Recd=EGGW will try again... OOPS! Req=EGVP Recd=EGGW will try again... OOPS! Req=EGVP Recd=EGGW will try again... OOPS! Req=EGVP Recd=EGGW will try again... OOPS! Req=EGVP Recd=EGGW will try again... OOPS! Req=EGVP Recd=EGGW will try again... OOPS! Req=EGVP Recd=EGGW will try again... OOPS! Req=EGVP Recd=EGGW will try again... OOPS! Req=EGVP Recd=EGGW will try again... Gave up after 10 attempts for EGVP OOPS! Req=EGWC Recd=EGGW will try again... OOPS! Req=EGWC Recd=EGGW will try again... OOPS! Req=EGWC Recd=EGGW will try again... OOPS! Req=EGWC Recd=EGGW will try again... OOPS! Req=EGWC Recd=EGGW will try again... OOPS! Req=EGWC Recd=EGGW will try again... OOPS! Req=EGWC Recd=EGGW will try again... OOPS! Req=EGWC Recd=EGGW will try again... OOPS! Req=EGWC Recd=EGGW will try again... OOPS! Req=EGWC Recd=EGGW will try again... Gave up after 10 attempts for EGWC OOPS! Req=EGWU Recd=EGGW will try again... OOPS! Req=EGWU Recd=EGGW will try again... OOPS! Req=EGWU Recd=EGGW will try again... OOPS! Req=EGWU Recd=EGGW will try again... OOPS! Req=EGWU Recd=EGGW will try again... OOPS! Req=EGWU Recd=EGGW will try again... OOPS! Req=EGWU Recd=EGGW will try again... OOPS! Req=EGWU Recd=EGGW will try again... OOPS! Req=EGWU Recd=EGGW will try again... OOPS! Req=EGWU Recd=EGGW will try again... Gave up after 10 attempts for EGWU OOPS! Req=EGXC Recd=EGGW will try again... OOPS! Req=EGXC Recd=EGGW will try again... OOPS! Req=EGXC Recd=EGGW will try again... OOPS! Req=EGXC Recd=EGGW will try again... OOPS! Req=EGXC Recd=EGGW will try again... OOPS! Req=EGXC Recd=EGGW will try again... OOPS! Req=EGXC Recd=EGGW will try again... OOPS! Req=EGXC Recd=EGGW will try again... OOPS! Req=EGXC Recd=EGGW will try again... OOPS! Req=EGXC Recd=EGGW will try again... Gave up after 10 attempts for EGXC OOPS! Req=EGXG Recd=EGGW will try again... OOPS! Req=EGXG Recd=EGGW will try again... OOPS! Req=EGXG Recd=EGGW will try again... OOPS! Req=EGXG Recd=EGGW will try again... OOPS! Req=EGXG Recd=EGGW will try again... OOPS! Req=EGXG Recd=EGGW will try again... OOPS! Req=EGXG Recd=EGGW will try again... OOPS! Req=EGXG Recd=EGGW will try again... OOPS! Req=EGXG Recd=EGGW will try again... OOPS! Req=EGXG Recd=EGGW will try again... Gave up after 10 attempts for EGXG OOPS! Req=EGXH Recd=EGGW will try again... OOPS! Req=EGXH Recd=EGGW will try again... OOPS! Req=EGXH Recd=EGGW will try again... OOPS! Req=EGXH Recd=EGGW will try again... OOPS! Req=EGXH Recd=EGGW will try again... OOPS! Req=EGXH Recd=EGGW will try again... OOPS! Req=EGXH Recd=EGGW will try again... OOPS! Req=EGXH Recd=EGGW will try again... OOPS! Req=EGXH Recd=EGGW will try again... OOPS! Req=EGXH Recd=EGGW will try again... Gave up after 10 attempts for EGXH OOPS! Req=EGXJ Recd=EGGW will try again... OOPS! Req=EGXJ Recd=EGGW will try again... OOPS! Req=EGXJ Recd=EGGW will try again... OOPS! Req=EGXJ Recd=EGGW will try again... OOPS! Req=EGXJ Recd=EGGW will try again... OOPS! Req=EGXJ Recd=EGGW will try again... OOPS! Req=EGXJ Recd=EGGW will try again... OOPS! Req=EGXJ Recd=EGGW will try again... OOPS! Req=EGXJ Recd=EGGW will try again... OOPS! Req=EGXJ Recd=EGGW will try again... Gave up after 10 attempts for EGXJ OOPS! Req=EGXN Recd=EGGW will try again... OOPS! Req=EGXN Recd=EGGW will try again... OOPS! Req=EGXN Recd=EGGW will try again... OOPS! Req=EGXN Recd=EGGW will try again... OOPS! Req=EGXN Recd=EGGW will try again... OOPS! Req=EGXN Recd=EGGW will try again... OOPS! Req=EGXN Recd=EGGW will try again... OOPS! Req=EGXN Recd=EGGW will try again... OOPS! Req=EGXN Recd=EGGW will try again... OOPS! Req=EGXN Recd=EGGW will try again... Gave up after 10 attempts for EGXN OOPS! Req=EGXP Recd=EGGW will try again... OOPS! Req=EGXP Recd=EGGW will try again... OOPS! Req=EGXP Recd=EGGW will try again... OOPS! Req=EGXP Recd=EGGW will try again... OOPS! Req=EGXP Recd=EGGW will try again... OOPS! Req=EGXP Recd=EGGW will try again... OOPS! Req=EGXP Recd=EGGW will try again... OOPS! Req=EGXP Recd=EGGW will try again... OOPS! Req=EGXP Recd=EGGW will try again... OOPS! Req=EGXP Recd=EGGW will try again... Gave up after 10 attempts for EGXP OOPS! Req=EGXT Recd=EGGW will try again... OOPS! Req=EGXT Recd=EGGW will try again... OOPS! Req=EGXT Recd=EGGW will try again... OOPS! Req=EGXT Recd=EGGW will try again... OOPS! Req=EGXT Recd=EGGW will try again... OOPS! Req=EGXT Recd=EGGW will try again... OOPS! Req=EGXT Recd=EGGW will try again... OOPS! Req=EGXT Recd=EGGW will try again... OOPS! Req=EGXT Recd=EGGW will try again... OOPS! Req=EGXT Recd=EGGW will try again... Gave up after 10 attempts for EGXT OOPS! Req=EGXW Recd=EGGW will try again... OOPS! Req=EGXW Recd=EGGW will try again... OOPS! Req=EGXW Recd=EGGW will try again... OOPS! Req=EGXW Recd=EGGW will try again... OOPS! Req=EGXW Recd=EGGW will try again... OOPS! Req=EGXW Recd=EGGW will try again... OOPS! Req=EGXW Recd=EGGW will try again... OOPS! Req=EGXW Recd=EGGW will try again... OOPS! Req=EGXW Recd=EGGW will try again... OOPS! Req=EGXW Recd=EGGW will try again... Gave up after 10 attempts for EGXW OOPS! Req=EGYC Recd=EGGW will try again... OOPS! Req=EGYC Recd=EGGW will try again... OOPS! Req=EGYC Recd=EGGW will try again... OOPS! Req=EGYC Recd=EGGW will try again... OOPS! Req=EGYC Recd=EGGW will try again... OOPS! Req=EGYC Recd=EGGW will try again... OOPS! Req=EGYC Recd=EGGW will try again... OOPS! Req=EGYC Recd=EGGW will try again... OOPS! Req=EGYC Recd=EGGW will try again... OOPS! Req=EGYC Recd=EGGW will try again... Gave up after 10 attempts for EGYC OOPS! Req=EGYD Recd=EGGW will try again... OOPS! Req=EGYD Recd=EGGW will try again... OOPS! Req=EGYD Recd=EGGW will try again... OOPS! Req=EGYD Recd=EGGW will try again... OOPS! Req=EGYD Recd=EGGW will try again... OOPS! Req=EGYD Recd=EGGW will try again... OOPS! Req=EGYD Recd=EGGW will try again... OOPS! Req=EGYD Recd=EGGW will try again... OOPS! Req=EGYD Recd=EGGW will try again... OOPS! Req=EGYD Recd=EGGW will try again... Gave up after 10 attempts for EGYD OOPS! Req=EGYE Recd=EGGW will try again... OOPS! Req=EGYE Recd=EGGW will try again... OOPS! Req=EGYE Recd=EGGW will try again... OOPS! Req=EGYE Recd=EGGW will try again... OOPS! Req=EGYE Recd=EGGW will try again... OOPS! Req=EGYE Recd=EGGW will try again... OOPS! Req=EGYE Recd=EGGW will try again... OOPS! Req=EGYE Recd=EGGW will try again... OOPS! Req=EGYE Recd=EGGW will try again... OOPS! Req=EGYE Recd=EGGW will try again... Gave up after 10 attempts for EGYE OOPS! Req=EGYM Recd=EGGW will try again... OOPS! Req=EGYM Recd=EGGW will try again... OOPS! Req=EGYM Recd=EGGW will try again... OOPS! Req=EGYM Recd=EGGW will try again... OOPS! Req=EGYM Recd=EGGW will try again... OOPS! Req=EGYM Recd=EGGW will try again... OOPS! Req=EGYM Recd=EGGW will try again... OOPS! Req=EGYM Recd=EGGW will try again... OOPS! Req=EGYM Recd=EGGW will try again... OOPS! Req=EGYM Recd=EGGW will try again... Gave up after 10 attempts for EGYM OOPS! Req=EIDW Recd=EGGW will try again... OOPS! Req=EIDW Recd=EGGW will try again... OOPS! Req=EIDW Recd=EGGW will try again... OOPS! Req=EIDW Recd=EGGW will try again... OOPS! Req=EIDW Recd=EGGW will try again... OOPS! Req=EIDW Recd=EGGW will try again... OOPS! Req=EIDW Recd=EGGW will try again... OOPS! Req=EIDW Recd=EGGW will try again... OOPS! Req=EIDW Recd=EGGW will try again... OOPS! Req=EIDW Recd=EGGW will try again... Gave up after 10 attempts for EIDW OOPS! Req=EIME Recd=EGGW will try again... OOPS! Req=EIME Recd=EGGW will try again... OOPS! Req=EIME Recd=EGGW will try again... OOPS! Req=EIME Recd=EGGW will try again... OOPS! Req=EIME Recd=EGGW will try again... OOPS! Req=EIME Recd=EGGW will try again... OOPS! Req=EIME Recd=EGGW will try again... OOPS! Req=EIME Recd=EGGW will try again... OOPS! Req=EIME Recd=EGGW will try again... OOPS! Req=EIME Recd=EGGW will try again... Gave up after 10 attempts for EIME OOPS! Req=LFOE Recd=EGGW will try again... OOPS! Req=LFOE Recd=EGGW will try again... OOPS! Req=LFOE Recd=EGGW will try again... OOPS! Req=LFOE Recd=EGGW will try again... OOPS! Req=LFOE Recd=EGGW will try again... OOPS! Req=LFOE Recd=EGGW will try again... OOPS! Req=LFOE Recd=EGGW will try again... OOPS! Req=LFOE Recd=EGGW will try again... OOPS! Req=LFOE Recd=EGGW will try again... OOPS! Req=LFOE Recd=EGGW will try again... Gave up after 10 attempts for LFOE OOPS! Req=LFOH Recd=EGGW will try again... OOPS! Req=LFOH Recd=EGGW will try again... OOPS! Req=LFOH Recd=EGGW will try again... OOPS! Req=LFOH Recd=EGGW will try again... OOPS! Req=LFOH Recd=EGGW will try again... OOPS! Req=LFOH Recd=EGGW will try again... OOPS! Req=LFOH Recd=EGGW will try again... OOPS! Req=LFOH Recd=EGGW will try again... OOPS! Req=LFOH Recd=EGGW will try again... OOPS! Req=LFOH Recd=EGGW will try again... Gave up after 10 attempts for LFOH OOPS! Req=LFOP Recd=EGGW will try again... OOPS! Req=LFOP Recd=EGGW will try again... OOPS! Req=LFOP Recd=EGGW will try again... OOPS! Req=LFOP Recd=EGGW will try again... OOPS! Req=LFOP Recd=EGGW will try again... OOPS! Req=LFOP Recd=EGGW will try again... OOPS! Req=LFOP Recd=EGGW will try again... OOPS! Req=LFOP Recd=EGGW will try again... OOPS! Req=LFOP Recd=EGGW will try again... OOPS! Req=LFOP Recd=EGGW will try again... Gave up after 10 attempts for LFOP OOPS! Req=LFOS Recd=EGGW will try again... OOPS! Req=LFOS Recd=EGGW will try again... OOPS! Req=LFOS Recd=EGGW will try again... OOPS! Req=LFOS Recd=EGGW will try again... OOPS! Req=LFOS Recd=EGGW will try again... OOPS! Req=LFOS Recd=EGGW will try again... OOPS! Req=LFOS Recd=EGGW will try again... OOPS! Req=LFOS Recd=EGGW will try again... OOPS! Req=LFOS Recd=EGGW will try again... OOPS! Req=LFOS Recd=EGGW will try again... Gave up after 10 attempts for LFOS OOPS! Req=LFRC Recd=EGGW will try again... OOPS! Req=LFRC Recd=EGGW will try again... OOPS! Req=LFRC Recd=EGGW will try again... OOPS! Req=LFRC Recd=EGGW will try again... OOPS! Req=LFRC Recd=EGGW will try again... OOPS! Req=LFRC Recd=EGGW will try again... OOPS! Req=LFRC Recd=EGGW will try again... OOPS! Req=LFRC Recd=EGGW will try again... OOPS! Req=LFRC Recd=EGGW will try again... OOPS! Req=LFRC Recd=EGGW will try again... Gave up after 10 attempts for LFRC OOPS! Req=LFRG Recd=EGGW will try again... OOPS! Req=LFRG Recd=EGGW will try again... OOPS! Req=LFRG Recd=EGGW will try again... OOPS! Req=LFRG Recd=EGGW will try again... OOPS! Req=LFRG Recd=EGGW will try again... OOPS! Req=LFRG Recd=EGGW will try again... OOPS! Req=LFRG Recd=EGGW will try again... OOPS! Req=LFRG Recd=EGGW will try again... OOPS! Req=LFRG Recd=EGGW will try again... OOPS! Req=LFRG Recd=EGGW will try again... Gave up after 10 attempts for LFRG OOPS! Req=LFRK Recd=EGGW will try again... OOPS! Req=LFRK Recd=EGGW will try again... OOPS! Req=LFRK Recd=EGGW will try again... OOPS! Req=LFRK Recd=EGGW will try again... OOPS! Req=LFRK Recd=EGGW will try again... OOPS! Req=LFRK Recd=EGGW will try again... OOPS! Req=LFRK Recd=EGGW will try again... OOPS! Req=LFRK Recd=EGGW will try again... OOPS! Req=LFRK Recd=EGGW will try again... OOPS! Req=LFRK Recd=EGGW will try again... Gave up after 10 attempts for LFRK OOPS! Req=LFRO Recd=EGGW will try again... OOPS! Req=LFRO Recd=EGGW will try again... OOPS! Req=LFRO Recd=EGGW will try again... OOPS! Req=LFRO Recd=EGGW will try again... OOPS! Req=LFRO Recd=EGGW will try again... OOPS! Req=LFRO Recd=EGGW will try again... OOPS! Req=LFRO Recd=EGGW will try again... OOPS! Req=LFRO Recd=EGGW will try again... OOPS! Req=LFRO Recd=EGGW will try again... OOPS! Req=LFRO Recd=EGGW will try again... Gave up after 10 attempts for LFRO
Pete Dowson Posted January 22, 2009 Report Posted January 22, 2009 I take the list and whizz through a loop asking the NWI for weather for each of the ICAOs. (To be be on the safe side I've put a 10ms delay between setting the ICAO/Signature and reading the weather data).Occasionally this works but for the most part the reads return weather for the previous sucessfull ICAO. In my last test if only returned 4 weather areas from 87 ICAO codes. It certainly sounds like you have something wrong there.I guess my question is whether you or anyone else has stress tested the NWI before and whether they got the results they were expecting? Perhaps I'm the first to interrogate it en masse in this way No, not at all. There have been several weather radars based on the interface. It have been around for quite a few years. I myself use SA-WXR in my cockpit for weather radar on my Project Magenta ND, and the same author sells a gauge using it. I can't see why it would fail so randomly. Maybe you have the handshaking wrong? Have you bothered t use the FSUIPC logging facilities, specifically provided to help you resolve this sort of thing? ps Am enclosing source code and sample logs but am not expecting you to debug my rather messy code. Just there in case any VB programmers can spot something I've done wrong. Not FSUIPC logs though. don't you like using FSUIPC facilities to help? I don't understand. I would have thought that would be your first port of call. Regards Pete
Pete Dowson Posted January 22, 2009 Report Posted January 22, 2009 Any help, suggestions or pointers would be gratefully received, from you or anyone else out there! I've had just a brief glance at the code. I'm no VB programmer, but it looks to me as if you are using a different signature each time. Why? To FSUIPC this makes you look like a different program, and it will lock you out for the timeout (14 secs) on the previous request. The TXT file about the NWI does explain this -- you should use your own unique signature to prevent others messing you up, but the SAME ONE for each request, or Zero if you don't care about others getting their weather (as for instance my own WeatherSet using zero). You are also apparently checking the signature as your "handshake". Is that right? Why? Where do you get that from? As is clearly documented, the handshake back to you is a change of timestamp. You watch for that then check that the ICAO is the one you wanted. If not, it failed. Please do read what is written in more detail. I can answer questions if you like. It would certainly be a lot easier than posting code to be looked at. And please do use the FSUIPC logging, which would show all this stuff in no time. Pete
BAW019 Posted January 22, 2009 Author Report Posted January 22, 2009 Excellent thanks Peter, lots of stuff to go on there!!! Must admit the FSUIPC logging thing simply hadn't occurred to me and I'd misunderstood the whole Signature business taking it as a call identifier not a programm identifier, my mistake. Anyway, thanks again, will check it out again tomorrow evening, Best as always, Ian
BAW019 Posted January 24, 2009 Author Report Posted January 24, 2009 Pete, this is driving me nuts. I've gone back to basics and set up a simple test: I have an 8 byte linkage area that I populate with the ICAO + signature. I open FSInterrogate and set the auto-refresh running and - just to be on the safe side - wait for the 8 bytes at CC04 to go to nulls then I fire off my write process to set CC04 to the signature and CC08 to the ICAO. But however many times I try this the signature is set but the ICAO either remains at nulls or is set to another weather station. I've tried with 0 as the signature - same thing. I've tried and array of four bytes in my ICAO udt and I've tried "string * 4" as the data type. No luck. I simply don't seem to be able to convince FSUIPC to accept my ICAO. Do you have any working source I can look at, mine clearly doesn't do the job??? Private Type T_Wx_Key lSignature As Long ICAO(1 To 4) As Byte End Type Dim mWxKey As T_Wx_Key Const cWxGet = &HCC00& mWxKey.ICAO(1) = Asc(Mid$(pICAO, 1, 1)) mWxKey.ICAO(2) = Asc(Mid$(pICAO, 2, 1)) mWxKey.ICAO(3) = Asc(Mid$(pICAO, 3, 1)) mWxKey.ICAO(4) = Asc(Mid$(pICAO, 4, 1)) mWxKey.lSignature = mApplicationKey If FSUIPC_Write(cWxGet + 4, 8, VarPtr(mWxKey), pdRC) = False Then mLog.WriteLog "Failed to write key for " & pICAO & "/" & mApplicationKey Exit Sub End If If FSUIPC_Process(pdRC) = False Then mLog.WriteLog "Process call failed for key write for " & pICAO & "/" & mApplicationKey Exit Sub End If I'd appreciate anything you can suggest but don't expect you to debug my code. I'm pulling my hair out, and at my age that's just plain wasteful. The following log is from FSUIPC during one pass of this simple test (probably goes without saying I'm using real weather). I've had to chop out lots of Read info because of forum size restriction but the interesting bits (to me at least) are still there. ********* FSUIPC4, Version 4.333 by Pete Dowson ********* User Name="Ian Niblo" User Addr="my.shopping@blueyonder.co.uk" FSUIPC4 Key is provided WideFS7 Key is provided [Continuation log requested by user] Running inside FSX (SimConnect Acc/SP2 Oct07) Module base=61000000 Wind smoothing fix is fully installed 24311094 System time = 16:39:49, FSX time = 19:12:51 (18:12Z) 24311094 LogOptions changed, now 00000000 0000000F ' ' ' 24315656 WRITEex CC04, 8 bytes: D6 20 04 00 45 47 4C 4C . ..EGLL 24315688 READ0 3364, 1 bytes: 00 . 24315688 READ0 3365, 1 bytes: 00 . 24315688 READ0 0264, 2 bytes: 00 00 .. ' ' ' .. 24315766 Weather Read request (At Station) to area 3: ICAO="EGLL", Req=0 ' ' ' 24316125 Weather Read request (Nr Station) to area 5: Lat=51.48, Lon=-0.49, Alt=0.0, Req=1 ' ' ' ' 24318297 Weather Read request (At Aircrft) to area 4: Lat=51.48, Lon=-0.49, Alt=28.3, Req=2 24318297 Weather Received (type 4 request, Interpolated): "????&A0 131812Z 35900KT&D984NG 4828&B0&D2599 8CB049&CB003FNDR000N 14/04 Q1013 " 24318297 WX Received in 0 mSecs, WX request type 4, Lat=51.4775, Lon=-0.4881, Alt=28.3m ' ' ' ' 24319453 WX Error: timed out, WX request type 3, ICAO=EGLL Ian
Pete Dowson Posted January 24, 2009 Report Posted January 24, 2009 But however many times I try this the signature is set but the ICAO either remains at nulls or is set to another weather station. I'd need to see the logging. Set IPC read and write logging and also Weather logging. Do one test which doesn't work, and show me, or send me (petedowson@btconnect.com) the ZIPPED log. Do you have any working source I can look at, mine clearly doesn't do the job??? First, with the logging enabled, try reading a specific ICAO of your choice using WeatherSet2. That uses the NWI. (WeatherSet, the original, uses the older AWI). The following log is from FSUIPC during one pass of this simple test (probably goes without saying I'm using real weather). I've had to chop out lots of Read info because of forum size restriction but the interesting bits (to me at least) are still there. Sorry, before I look at anything at all, please update your FSUIPC to a supported version. 4.40 is the minimum I will deal with -- that's been available since the middle of November 2008. However, just a quickie: your read request for EGLL seems to have been recognised. but fails to get any response from SimConnect: 24315766 Weather Read request (At Station) to area 3: ICAO="EGLL", Req=0 24319453 WX Error: timed out, WX request type 3, ICAO=EGLL Not seen one of those errors for a long time -- FSX Simconnect since SP2/Acceleration has been pretty responsive. Pete
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now