I did some research. The current Wink PreLoadedDemo and BaseSketch being distributed are these:
Code: Select all
Wink_PreLoadedDemo_Rev01 Version 1.0 12/2015
Wink_BaseSketch_Rev01_03 Version 1.3 01/2016
And compilation of the PreLoadedDemo is clean and warning-free, as are the bulk of the lesson code examples, likely because they are based on the BaseSketch Rev01_02 that you mentioned. While I don't have access to that version, what I can see is that Rev01_03 of the BaseSketch now has code in WinkHardware.h to support the IR features. This is the same base code that is used in the IR lesson code.
So, it's the new IR support code that contains the "extern byte irData" code that causes the compilation warning. The confusion comes from compiling many early lessons and the preloaded demo code with no warnings, then suddenly getting warnings when you start with the BaseSketch.
Since this is the ONLY compilation warning in the new BaseSketch and there are no warnings in any of the other lessons, it is my goal to get code that is warning-free. Why? I'm fully capable of dealing with meaningless warnings, but when I hand this over to kids who are first-time programmers, I don't want them distracted by warnings not of their own making. The IR code is new, hence my desire to improve it and remove warnings.
So far, I'm comfortable adopting the new modification to achieve clean compilation. I'm just trying to figure out still of the change will have some unforseen negative impact for not initializing the array at the start.