@@ -55,7 +55,7 @@ namespace shieldhelpers {
5555 }
5656
5757 private sendMessage ( msg : string ) {
58- control . simmessages . send ( "microbit-apps/arcadeshield" , Buffer . fromUTF8 ( msg ) , false )
58+ control . simmessages . send ( "microbit-apps/arcadeshield" , Buffer . fromUTF8 ( msg ) , false )
5959 }
6060
6161 initSim ( ) {
@@ -112,15 +112,15 @@ namespace shieldhelpers {
112112 function getScreenState ( ) {
113113 if ( ! _screenState ) {
114114 _screenState = new ScreenState ( )
115- startSim ( )
115+ startSim ( )
116116 }
117117 }
118118
119119 //% shim=TD_NOOP
120120 function simUpdateScreen ( img : Bitmap ) {
121121 getScreenState ( ) ;
122122 if ( _screenState )
123- _screenState . showImage ( img ) ;
123+ _screenState . showImage ( img ) ;
124124 }
125125
126126 export function updateScreen ( img : Bitmap ) {
@@ -155,23 +155,23 @@ namespace shieldhelpers {
155155 // getters
156156
157157 let __height = 0
158-
158+
159159 //% shim=TD_NOOP
160160 function simDisplayHeight ( ) {
161161 __height = 120
162162 getScreenState ( ) ;
163163 if ( _screenState )
164164 __height = _screenState . displayHeight ( ) ;
165165 }
166-
166+
167167 export function displayHeight ( ) : number {
168168 __height = __screenhelpers . displayHeight ( )
169169 simDisplayHeight ( )
170170 return __height
171171 }
172172
173173 let __width = 0
174-
174+
175175 //% shim=TD_NOOP
176176 function simDisplayWidth ( ) {
177177 __width = 160
@@ -187,7 +187,7 @@ namespace shieldhelpers {
187187 }
188188
189189 let __present = undefined
190-
190+
191191 //% shim=TD_NOOP
192192 function simDisplayPresent ( ) {
193193 __present = undefined
@@ -210,6 +210,11 @@ namespace shieldhelpers {
210210 return __present
211211 }
212212
213+
214+ export function WDSPresent ( ) : boolean {
215+ return true ;
216+ }
217+
213218 function getButton ( id : ArcadeButtonId ) : controller . Button {
214219 switch ( id ) {
215220 case "left" : return controller . left
@@ -226,6 +231,11 @@ namespace shieldhelpers {
226231 function handleShieldMessage ( b : Buffer ) {
227232 const s = b . toString ( )
228233 const msg = < ArcadeShieldMessage > JSON . parse ( s )
234+
235+ // Presume WDS setup (group & handshake) is done
236+ const wds = WDSPresent ( ) // Just returns true
237+
238+
229239 if ( msg ) {
230240 console . log ( msg . type )
231241 getScreenState ( ) ;
@@ -234,22 +244,21 @@ namespace shieldhelpers {
234244 if ( msg . type === "button-down" || msg . type === "button-up" ) {
235245 const button = getButton ( ( < ButtonMessage > msg ) . buttonId )
236246 if ( button ) {
237- if ( msg . type === "button-down" ) {
238- button . raiseButtonDown ( )
239- } else {
240- button . raiseButtonUp ( )
241- }
247+ if ( msg . type === "button-down" )
248+ button . raiseButtonDown ( wds )
249+ else
250+ button . raiseButtonUp ( wds )
242251 }
243252 } else if ( msg . type === "display-on" ) {
244253 getScreenState ( )
245254 _screenState . displayOn = true
246255 basic . pause ( 0 )
247- control . raiseEvent ( ControllerShieldEvent . Present , 0 )
256+ control . raiseEvent ( ControllerShieldEvent . Present , 0 )
248257 } else if ( msg . type === "display-off" ) {
249258 getScreenState ( )
250259 _screenState . displayOn = false
251260 basic . pause ( 0 )
252- control . raiseEvent ( ControllerShieldEvent . Absent , 0 )
261+ control . raiseEvent ( ControllerShieldEvent . Absent , 0 )
253262 }
254263 }
255264 }
@@ -263,4 +272,4 @@ namespace shieldhelpers {
263272 }
264273}
265274
266- shieldhelpers . registerSim ( )
275+ shieldhelpers . registerSim ( )
0 commit comments