pxt-common-packages 9.3.8 → 9.3.12

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 (41) hide show
  1. package/built/common-sim.d.ts +2 -0
  2. package/built/common-sim.js +36 -0
  3. package/libs/azureiot/azureiot.ts +4 -4
  4. package/libs/azureiot/built/debug/binary.js +461 -461
  5. package/libs/color/built/debug/binary.js +8 -8
  6. package/libs/color-sensor/built/debug/binary.js +8 -8
  7. package/libs/controller/built/debug/binary.js +6551 -6551
  8. package/libs/controller---none/built/debug/binary.js +6531 -6531
  9. package/libs/core---esp32/pxt.h +2 -0
  10. package/libs/core---esp32/usb.cpp +43 -18
  11. package/libs/core---esp32/worker.cpp +8 -0
  12. package/libs/core---vm/vm.cpp +75 -2
  13. package/libs/datalogger/built/debug/binary.js +63 -63
  14. package/libs/edge-connector/built/debug/binary.js +8 -8
  15. package/libs/esp32/built/debug/binary.js +462 -462
  16. package/libs/game/built/debug/binary.js +6470 -6470
  17. package/libs/lcd/built/debug/binary.js +8 -8
  18. package/libs/light-spectrum-sensor/built/debug/binary.js +8 -8
  19. package/libs/lora/built/debug/binary.js +8 -8
  20. package/libs/matrix-keypad/built/debug/binary.js +8 -8
  21. package/libs/mqtt/built/debug/binary.js +176 -176
  22. package/libs/mqtt/mqtt.ts +10 -4
  23. package/libs/net/built/debug/binary.js +176 -176
  24. package/libs/net-game/built/debug/binary.js +8049 -8049
  25. package/libs/palette/built/debug/binary.js +6469 -6469
  26. package/libs/pixel/built/debug/binary.js +8 -8
  27. package/libs/power/built/debug/binary.js +8 -8
  28. package/libs/proximity/built/debug/binary.js +8 -8
  29. package/libs/radio/built/debug/binary.js +8 -8
  30. package/libs/radio-broadcast/built/debug/binary.js +8 -8
  31. package/libs/rotary-encoder/built/debug/binary.js +8 -8
  32. package/libs/screen/_locales/screen-jsdoc-strings.json +1 -0
  33. package/libs/screen/built/debug/binary.js +50 -50
  34. package/libs/screen/image.cpp +43 -0
  35. package/libs/screen/image.ts +26 -0
  36. package/libs/screen/sim/image.ts +40 -0
  37. package/libs/servo/built/debug/binary.js +8 -8
  38. package/libs/storyboard/built/debug/binary.js +6469 -6469
  39. package/libs/wifi---esp32/controller.ts +2 -3
  40. package/libs/wifi---esp32/socket.cpp +4 -2
  41. package/package.json +1 -1
package/libs/mqtt/mqtt.ts CHANGED
@@ -344,6 +344,8 @@ namespace mqtt {
344
344
  private piId: number;
345
345
 
346
346
  private buf: Buffer;
347
+ // we re-send subscriptions on re-connect
348
+ private subs: Buffer[] = [];
347
349
 
348
350
  public status = Status.Disconnected
349
351
 
@@ -465,8 +467,7 @@ namespace mqtt {
465
467
  if (cnt++ < 100 && this.status == Status.Sending)
466
468
  pause(20)
467
469
  else {
468
- throw "drop pkt"
469
- //this.log("drop pkt")
470
+ this.log("drop pkt")
470
471
  return false
471
472
  }
472
473
  }
@@ -485,7 +486,7 @@ namespace mqtt {
485
486
  if (this.startPublish(topic, buf ? buf.length : 0, qos, retained)) {
486
487
  if (buf)
487
488
  this.send(buf);
488
- this.doneSending()
489
+ this.finishPublish()
489
490
  }
490
491
  }
491
492
 
@@ -502,11 +503,14 @@ namespace mqtt {
502
503
 
503
504
  public finishPublish() {
504
505
  this.doneSending()
506
+ this.emit("published")
505
507
  }
506
508
 
507
509
  private subscribeCore(topic: string, handler: (msg: IMessage) => void, qos: number = Constants.DefaultQos): MQTTHandler {
508
510
  this.log(`subscribe: ${topic}`)
509
- this.send1(Protocol.createSubscribe(topic, qos));
511
+ const sub = Protocol.createSubscribe(topic, qos)
512
+ this.subs.push(sub)
513
+ this.send1(sub);
510
514
  if (handler) {
511
515
  if (topic[topic.length - 1] == "#")
512
516
  topic = topic.slice(0, topic.length - 1)
@@ -589,6 +593,8 @@ namespace mqtt {
589
593
  this.emit('connected');
590
594
  this.status = Status.Connected;
591
595
  this.piId = setInterval(() => this.ping(), Constants.PingInterval * 1000);
596
+ for (const sub of this.subs)
597
+ this.send1(sub);
592
598
  } else {
593
599
  const connectionError: string = Client.describe(returnCode);
594
600
  this.log('MQTT connection error: ' + connectionError);