pxt-common-packages 9.5.3 → 9.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/built/common-sim.d.ts +5 -0
  2. package/built/common-sim.js +52 -22
  3. package/libs/controller/built/debug/binary.js +39 -39
  4. package/libs/controller---none/built/debug/binary.js +39 -39
  5. package/libs/game/built/debug/binary.js +39 -39
  6. package/libs/game/docs/reference/sprites/sprite/follow.md +66 -0
  7. package/libs/game/docs/reference/sprites/sprite/set-bounce-on-wall.md +2 -2
  8. package/libs/game/docs/reference/sprites/sprite-kind.md +70 -0
  9. package/libs/game/docs/reference/tiles/get-neighboring-location.md +123 -0
  10. package/libs/game/docs/reference/tiles/get-tile-location.md +71 -30
  11. package/libs/game/docs/reference/tiles/get-tiles-by-type.md +66 -32
  12. package/libs/game/docs/reference/tiles/location.md +246 -0
  13. package/libs/game/docs/reference/tiles/place-on-random-tile.md +54 -21
  14. package/libs/game/docs/reference/tiles/place-on-tile.md +88 -0
  15. package/libs/game/docs/reference/tiles/set-current-tilemap.md +90 -0
  16. package/libs/game/docs/reference/tiles/set-tile-at.md +47 -30
  17. package/libs/game/docs/reference/tiles/set-tilemap.md +90 -0
  18. package/libs/game/docs/reference/tiles/set-wall-at.md +67 -68
  19. package/libs/game/docs/reference/tiles/tile-at-location-equals.md +97 -0
  20. package/libs/game/docs/reference/tiles/tile-at-location-is-wall.md +98 -0
  21. package/libs/game/docs/reference/tiles/tilemap.md +145 -0
  22. package/libs/game/sprite.ts +2 -1
  23. package/libs/game/spritekind.ts +1 -0
  24. package/libs/game/tilemap.ts +12 -11
  25. package/libs/matrix-keypad/built/debug/binary.js +8 -8
  26. package/libs/net-game/built/debug/binary.js +39 -39
  27. package/libs/palette/built/debug/binary.js +39 -39
  28. package/libs/radio/_locales/radio-jsdoc-strings.json +2 -0
  29. package/libs/radio/_locales/radio-strings.json +4 -1
  30. package/libs/radio/radio.cpp +56 -3
  31. package/libs/radio/radio.ts +13 -2
  32. package/libs/radio/shims.d.ts +16 -1
  33. package/libs/radio/sim/radio.ts +18 -5
  34. package/libs/radio/sim/state.ts +37 -17
  35. package/libs/radio-broadcast/_locales/radio-broadcast-strings.json +2 -1
  36. package/libs/radio-broadcast/built/debug/binary.js +8 -8
  37. package/libs/radio-broadcast/radio-broadcast.ts +2 -0
  38. package/libs/sprite-scaling/built/debug/binary.js +6782 -6782
  39. package/libs/storyboard/built/debug/binary.js +39 -39
  40. package/package.json +2 -2
@@ -87,13 +87,14 @@ namespace pxsim {
87
87
  datagram: RadioDatagram;
88
88
  groupId: number;
89
89
  band: number;
90
+ enable: boolean;
90
91
 
91
92
  constructor(private readonly runtime: Runtime, private readonly board: BaseBoard, dal: RadioDAL) {
92
93
  this.datagram = new RadioDatagram(runtime, dal);
93
94
  this.power = 6; // default value
94
95
  this.groupId = 0;
95
96
  this.band = 7; // https://github.com/lancaster-university/microbit-dal/blob/master/inc/core/MicroBitConfig.h#L320
96
-
97
+ this.enable = true;
97
98
  this.board.addMessageListener(this.handleMessage.bind(this))
98
99
  }
99
100
 
@@ -105,12 +106,16 @@ namespace pxsim {
105
106
  }
106
107
 
107
108
  public setGroup(id: number) {
108
- this.groupId = id & 0xff; // byte only
109
+ if (this.enable) {
110
+ this.groupId = id & 0xff; // byte only
111
+ }
109
112
  }
110
113
 
111
114
  setTransmitPower(power: number) {
112
- power = power | 0;
113
- this.power = Math.max(0, Math.min(7, power));
115
+ if (this.enable) {
116
+ power = power | 0;
117
+ this.power = Math.max(0, Math.min(7, power));
118
+ }
114
119
  }
115
120
 
116
121
  setTransmitSerialNumber(sn: boolean) {
@@ -118,25 +123,40 @@ namespace pxsim {
118
123
  }
119
124
 
120
125
  setFrequencyBand(band: number) {
121
- band = band | 0;
122
- if (band < 0 || band > 83) return;
123
- this.band = band;
126
+ if (this.enable) {
127
+ band = band | 0;
128
+ if (band < 0 || band > 83) return;
129
+ this.band = band;
130
+ }
131
+ }
132
+
133
+ off() {
134
+ this.enable = false;
124
135
  }
125
136
 
137
+ on() {
138
+ this.enable = true;
139
+ }
140
+
126
141
  raiseEvent(id: number, eventid: number) {
127
- Runtime.postMessage(<SimulatorEventBusMessage>{
128
- type: "eventbus",
129
- broadcast: true,
130
- id,
131
- eventid,
132
- power: this.power,
133
- group: this.groupId
134
- })
142
+ if (this.enable) {
143
+ Runtime.postMessage(<SimulatorEventBusMessage>{
144
+ type: "eventbus",
145
+ broadcast: true,
146
+ id,
147
+ eventid,
148
+ power: this.power,
149
+ group: this.groupId
150
+ })
151
+ }
135
152
  }
136
153
 
137
154
  receivePacket(packet: SimulatorRadioPacketMessage) {
138
- if (this.groupId == packet.payload.groupId)
139
- this.datagram.queue(packet)
155
+ if (this.enable) {
156
+ if (this.groupId == packet.payload.groupId) {
157
+ this.datagram.queue(packet)
158
+ }
159
+ }
140
160
  }
141
161
  }
142
162
  }
@@ -2,5 +2,6 @@
2
2
  "radio.onReceivedMessage|block": "on radio $msg received",
3
3
  "radio.sendMessage|block": "radio send $msg",
4
4
  "radio|block": "radio",
5
- "{id:category}Radio": "Radio"
5
+ "{id:category}Radio": "Radio",
6
+ "{id:group}Broadcast": "Broadcast"
6
7
  }
@@ -56,7 +56,7 @@ const pxsim_pxtrt = pxsim.pxtrt;
56
56
  const pxsim_numops = pxsim.numops;
57
57
 
58
58
 
59
- function _main___P186883(s) {
59
+ function _main___P186885(s) {
60
60
  let r0 = s.r0, step = s.pc;
61
61
  s.pc = -1;
62
62
 
@@ -66,19 +66,19 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re
66
66
  switch (step) {
67
67
  case 0:
68
68
 
69
- globals._intervals___187126 = (undefined);
70
- globals._pollEventQueue___187139 = (undefined);
69
+ globals._intervals___187128 = (undefined);
70
+ globals._pollEventQueue___187141 = (undefined);
71
71
  r0 = undefined;
72
72
  return leave(s, r0)
73
73
  default: oops()
74
74
  } } }
75
- _main___P186883.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"radio-broadcast.ts","functionName":"<main>","argumentNames":[]}
76
- _main___P186883.continuations = [ ]
75
+ _main___P186885.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"radio-broadcast.ts","functionName":"<main>","argumentNames":[]}
76
+ _main___P186885.continuations = [ ]
77
77
 
78
- function _main___P186883_mk(s) {
78
+ function _main___P186885_mk(s) {
79
79
  checkStack(s.depth);
80
80
  return {
81
- parent: s, fn: _main___P186883, depth: s.depth + 1,
81
+ parent: s, fn: _main___P186885, depth: s.depth + 1,
82
82
  pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
83
83
  } }
84
84
 
@@ -88,5 +88,5 @@ function _main___P186883_mk(s) {
88
88
 
89
89
  const breakpoints = setupDebugger(1, [])
90
90
 
91
- return _main___P186883
91
+ return _main___P186885
92
92
  })
@@ -21,6 +21,7 @@ namespace radio {
21
21
  //% weight=200
22
22
  //% blockGap=8
23
23
  //% help=radio/send-message
24
+ //% group="Broadcast"
24
25
  export function sendMessage(msg: number): void {
25
26
  // 0 is MICROBIT_EVT_ANY, shifting by 1
26
27
  radio.raiseEvent(BROADCAST_GENERAL_ID, msg + 1);
@@ -35,6 +36,7 @@ namespace radio {
35
36
  //% msg.shadow=radioMessageCode draggableParameters
36
37
  //% weight=199
37
38
  //% help=radio/on-received-message
39
+ //% group="Broadcast"
38
40
  export function onReceivedMessage(msg: number, handler: () => void) {
39
41
  control.onEvent(BROADCAST_GENERAL_ID, msg + 1, handler);
40
42
  }