pxt-common-packages
Version:
Microsoft MakeCode (PXT) common packages
1,752 lines (1,587 loc) • 81.4 kB
JavaScript
// total=81381 new=93.96% cached=0.00% other=6.04%
(function (ectx) {
'use strict';
const runtime = ectx.runtime;
const oops = ectx.oops;
const doNothing = ectx.doNothing;
const pxsim = ectx.pxsim;
const globals = ectx.globals;
const maybeYield = ectx.maybeYield;
const setupDebugger = ectx.setupDebugger;
const isBreakFrame = ectx.isBreakFrame;
const breakpoint = ectx.breakpoint;
const trace = ectx.trace;
const checkStack = ectx.checkStack;
const leave = ectx.leave;
const checkResumeConsumed = ectx.checkResumeConsumed;
const setupResume = ectx.setupResume;
const setupLambda = ectx.setupLambda;
const checkSubtype = ectx.checkSubtype;
const failedCast = ectx.failedCast;
const buildResume = ectx.buildResume;
const mkVTable = ectx.mkVTable;
const bind = ectx.bind;
const leaveAccessor = ectx.leaveAccessor;
const __this = runtime;
const pxtrt = pxsim.pxtrt;
let yieldSteps = 1;
ectx.setupYield(function() { yieldSteps = 100; })
pxsim.setTitle("esp32");
pxsim.setConfigData({}, {});
pxtrt.mapKeyNames = [
"",
"_busy",
"_controller",
"_cs",
"_gpio0",
"_isConnected",
"_locked",
"_reset",
"_socknum_ll",
"_spi",
"eventID",
"factory",
"lastScanResults",
"onConnectSSIDFailed",
"reconnectRunning",
"reset",
"spiTransfer",
"wasConnected"
];
__this.setupPerfCounters([]);
const pxsim_Array__getAt = pxsim.Array_.getAt;
const pxsim_Array__length = pxsim.Array_.length;
const pxsim_Array__mk = pxsim.Array_.mk;
const pxsim_Array__push = pxsim.Array_.push;
const pxsim_Boolean__bang = pxsim.Boolean_.bang;
const pxsim_String__concat = pxsim.String_.concat;
const pxsim_String__stringConv = pxsim.String_.stringConv;
const pxsim_numops_toBool = pxsim.numops.toBool;
const pxsim_numops_toBoolDecr = pxsim.numops.toBoolDecr;
const pxsim_pxtcore_mkAction = pxsim.pxtcore.mkAction;
const pxsim_pxtcore_mkClassInstance = pxsim.pxtcore.mkClassInstance;
const pxsim_pxtrt_ldlocRef = pxsim.pxtrt.ldlocRef;
const pxsim_pxtrt_mapGetByString = pxsim.pxtrt.mapGetByString;
const pxsim_pxtrt_stclo = pxsim.pxtrt.stclo;
const pxsim_pxtrt_stlocRef = pxsim.pxtrt.stlocRef;
const pxsim_Boolean_ = pxsim.Boolean_;
const pxsim_pxtcore = pxsim.pxtcore;
const pxsim_String_ = pxsim.String_;
const pxsim_ImageMethods = pxsim.ImageMethods;
const pxsim_Array_ = pxsim.Array_;
const pxsim_pxtrt = pxsim.pxtrt;
const pxsim_numops = pxsim.numops;
function _main___P108084(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
globals._evSource___108313 = (32768);
globals._intervals___108328 = (undefined);
globals._pollEventQueue___108341 = (undefined);
globals.minPriority___108347 = (1);
r0 = pxsim_Array__mk();
s.tmp_0 = r0;
r0 = pxsim_Array__push(s.tmp_0, listeners_inline__P108348);
globals.listeners___108349 = (s.tmp_0);
globals.RUN_KEY___108518 = ("#run");
globals.SCOPE_KEY___108519 = ("#scope");
s.tmp_0 = settings_initScopes__P108531_mk(s);
s.callLocIdx = 22; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
globals.logPriority___108623 = (-1);
r0 = pxsim_pxtcore_mkClassInstance(net_Net__C108633_VT);
s.tmp_0 = r0;
s.tmp_1 = net_Net_constructor__P108638_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = esp32_defaultController__P108673;
s.callLocIdx = 36; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
_main___P108084.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"ninacontroller.ts","functionName":"<main>","argumentNames":[]}
_main___P108084.continuations = [ ]
function _main___P108084_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: _main___P108084, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
} }
function esp32_defaultController__P108673(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
s.cs___108861 = undefined;
s.busy___108866 = undefined;
s.reset___108871 = undefined;
s.gpio0___108876 = undefined;
s.mosi___108892 = undefined;
s.miso___108897 = undefined;
s.sck___108902 = undefined;
s.spi___108907 = undefined;
r0 = pxsim_numops_toBoolDecr(globals._defaultController___108672);
if (!r0) { step = 1; continue; }
r0 = globals._defaultController___108672;
{ step = 29; continue; }
case 1:
case 2:
r0 = pxsim.pins.pinByCfg(87);
s.cs___108861 = (r0);
r0 = pxsim.pins.pinByCfg(88);
s.busy___108866 = (r0);
r0 = pxsim.pins.pinByCfg(89);
s.reset___108871 = (r0);
r0 = pxsim.pins.pinByCfg(90);
s.gpio0___108876 = (r0);
r0 = pxsim_numops_toBoolDecr(s.cs___108861);
s.tmp_3 = r0;
r0 = pxsim_Boolean__bang(s.tmp_3);
s.tmp_2 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_2);
s.tmp_1 = r0;
r0 = pxsim_Boolean__bang(s.tmp_1);
s.tmp_0 = r0;
r0 = pxsim_numops_toBool(s.tmp_0);
if (r0) { step = 3; continue; }
r0 = s.tmp_0;
{ step = 4; continue; }
case 3:
r0 = pxsim_numops_toBoolDecr(s.busy___108866);
s.tmp_6 = r0;
r0 = pxsim_Boolean__bang(s.tmp_6);
s.tmp_5 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_5);
s.tmp_4 = r0;
r0 = pxsim_Boolean__bang(s.tmp_4);
case 4:
// jmp value (already in r0)
s.tmp_7 = r0;
r0 = pxsim_numops_toBool(s.tmp_7);
if (r0) { step = 5; continue; }
r0 = s.tmp_7;
{ step = 6; continue; }
case 5:
r0 = pxsim_numops_toBoolDecr(s.reset___108871);
s.tmp_10 = r0;
r0 = pxsim_Boolean__bang(s.tmp_10);
s.tmp_9 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_9);
s.tmp_8 = r0;
r0 = pxsim_Boolean__bang(s.tmp_8);
case 6:
// jmp value (already in r0)
s.tmp_11 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_11);
if (!r0) { step = 21; continue; }
r0 = pxsim.pins.pinByCfg(82);
s.mosi___108892 = (r0);
r0 = pxsim.pins.pinByCfg(83);
s.miso___108897 = (r0);
r0 = pxsim.pins.pinByCfg(84);
s.sck___108902 = (r0);
r0 = pxsim_numops_toBoolDecr(s.mosi___108892);
s.tmp_1 = r0;
r0 = pxsim_Boolean__bang(s.tmp_1);
s.tmp_0 = r0;
r0 = pxsim_numops_toBool(s.tmp_0);
if (r0) { step = 7; continue; }
r0 = s.tmp_0;
{ step = 8; continue; }
case 7:
r0 = pxsim_numops_toBoolDecr(s.miso___108897);
s.tmp_2 = r0;
r0 = pxsim_Boolean__bang(s.tmp_2);
case 8:
// jmp value (already in r0)
s.tmp_3 = r0;
r0 = pxsim_numops_toBool(s.tmp_3);
if (r0) { step = 9; continue; }
r0 = s.tmp_3;
{ step = 10; continue; }
case 9:
r0 = pxsim_numops_toBoolDecr(s.sck___108902);
s.tmp_4 = r0;
r0 = pxsim_Boolean__bang(s.tmp_4);
case 10:
// jmp value (already in r0)
s.tmp_5 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_5);
if (!r0) { step = 11; continue; }
s.tmp_6 = pins_spi__P108460_mk(s);
s.callLocIdx = 31; s.pc = 30; return s.tmp_6;
case 30:
r0 = s.retval;
s.spi___108907 = (r0);
{ step = 18; continue; }
case 11:
s.tmp_0 = r0 = s.mosi___108892;
r0 = pxsim_numops_toBool(s.tmp_0);
if (r0) { step = 12; continue; }
r0 = s.tmp_0;
{ step = 13; continue; }
case 12:
r0 = s.miso___108897;
case 13:
// jmp value (already in r0)
s.tmp_1 = r0;
r0 = pxsim_numops_toBool(s.tmp_1);
if (r0) { step = 14; continue; }
r0 = s.tmp_1;
{ step = 15; continue; }
case 14:
r0 = s.sck___108902;
case 15:
// jmp value (already in r0)
s.tmp_2 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_2);
if (!r0) { step = 16; continue; }
r0 = pxsim.pins.createSPI(s.mosi___108892, s.miso___108897, s.sck___108902);
s.spi___108907 = (r0);
{ step = 17; continue; }
case 16:
s.tmp_0 = net_log__P108624_mk(s);
s.tmp_0.arg0 = "esp32 spi configuration error";
s.callLocIdx = 32; s.pc = 31; return s.tmp_0;
case 31:
r0 = s.retval;
r0 = pxsim_pxtrt.panic(90);
case 17:
case 18:
r0 = pxsim_numops_toBoolDecr(s.spi___108907);
if (!r0) { step = 19; continue; }
r0 = pxsim_pxtcore_mkClassInstance(esp32_NinaController__C108808_VT);
s.tmp_0 = r0;
s.tmp_1 = esp32_NinaController_constructor__P108857_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = s.spi___108907;
s.tmp_1.arg2 = s.cs___108861;
s.tmp_1.arg3 = s.busy___108866;
s.tmp_1.arg4 = s.reset___108871;
s.tmp_1.arg5 = s.gpio0___108876;
s.callLocIdx = 33; s.pc = 32; return s.tmp_1;
case 32:
r0 = s.retval;
globals._defaultController___108672 = (s.tmp_0);
r0 = s.tmp_0;
{ step = 29; continue; }
case 19:
case 20:
{ step = 28; continue; }
case 21:
r0 = pxsim_numops_toBoolDecr(s.cs___108861);
s.tmp_3 = r0;
r0 = pxsim_Boolean__bang(s.tmp_3);
s.tmp_2 = r0;
r0 = pxsim_numops_toBool(s.tmp_2);
if (r0) { step = 22; continue; }
r0 = s.tmp_2;
{ step = 23; continue; }
case 22:
r0 = pxsim_numops_toBoolDecr(s.busy___108866);
s.tmp_4 = r0;
r0 = pxsim_Boolean__bang(s.tmp_4);
case 23:
// jmp value (already in r0)
s.tmp_5 = r0;
r0 = pxsim_numops_toBool(s.tmp_5);
if (r0) { step = 24; continue; }
r0 = s.tmp_5;
{ step = 25; continue; }
case 24:
r0 = pxsim_numops_toBoolDecr(s.reset___108871);
s.tmp_6 = r0;
r0 = pxsim_Boolean__bang(s.tmp_6);
case 25:
// jmp value (already in r0)
s.tmp_7 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_7);
if (!r0) { step = 26; continue; }
r0 = undefined;
{ step = 29; continue; }
{ step = 27; continue; }
case 26:
s.tmp_8 = net_log__P108624_mk(s);
s.tmp_8.arg0 = "esp32 partially configured";
s.callLocIdx = 34; s.pc = 33; return s.tmp_8;
case 33:
r0 = s.retval;
r0 = pxsim_pxtrt.panic(90);
case 27:
case 28:
s.tmp_0 = net_log__P108624_mk(s);
s.tmp_0.arg0 = "esp32 configuration error";
s.callLocIdx = 35; s.pc = 34; return s.tmp_0;
case 34:
r0 = s.retval;
r0 = pxsim_pxtrt.panic(90);
r0 = undefined;
case 29:
return leave(s, r0)
default: oops()
} } }
esp32_defaultController__P108673.info = {"start":66,"length":2003,"line":2,"column":4,"endLine":49,"endColumn":5,"fileName":"net.ts","functionName":"defaultController","argumentNames":[]}
function esp32_defaultController__P108673_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: esp32_defaultController__P108673, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
tmp_3: undefined,
tmp_4: undefined,
tmp_5: undefined,
tmp_6: undefined,
tmp_7: undefined,
tmp_8: undefined,
tmp_9: undefined,
tmp_10: undefined,
tmp_11: undefined,
cs___108861: undefined,
busy___108866: undefined,
reset___108871: undefined,
gpio0___108876: undefined,
mosi___108892: undefined,
miso___108897: undefined,
sck___108902: undefined,
spi___108907: undefined,
} }
function esp32_NinaController_constructor__P108857(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.arg2 = (s.lambdaArgs[2]);
s.arg3 = (s.lambdaArgs[3]);
s.arg4 = (s.lambdaArgs[4]);
s.arg5 = (s.lambdaArgs[5]);
s.lambdaArgs = null;
}
r0 = s.arg0;
if (!checkSubtype(r0, esp32_NinaController__C108808_VT)) failedCast(r0, esp32_NinaController__C108808_VT);
r0 = (s.arg0).fields["_spi"] = (s.arg1);
r0 = (s.arg0).fields["_cs"] = (s.arg2);
r0 = (s.arg0).fields["_busy"] = (s.arg3);
r0 = (s.arg0).fields["_reset"] = (s.arg4);
r0 = (s.arg0).fields["_gpio0"] = (s.arg5);
r0 = (s.arg0).fields["_isConnected"] = (false);
s.tmp_0 = net_Controller_constructor__P108594_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 37; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = s.arg0.fields["_busy"];
s.tmp_0 = r0;
r0 = pxsim.DigitalInOutPinMethods.setPull(s.tmp_0, 0);
r0 = s.arg0.fields["_busy"];
s.tmp_0 = r0;
r0 = pxsim.DigitalInOutPinMethods.digitalRead(s.tmp_0);
r0 = pxsim_Array__mk();
s.tmp_0 = r0;
s.tmp_2 = esp32_buffer1__P108807_mk(s);
s.tmp_2.arg0 = 0;
s.callLocIdx = 38; s.pc = 2; return s.tmp_2;
case 2:
r0 = s.retval;
s.tmp_1 = r0;
r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);
r0 = (s.arg0).fields["_socknum_ll"] = (s.tmp_0);
r0 = s.arg0.fields["_spi"];
s.tmp_0 = r0;
r0 = pxsim.SPIMethods.setFrequency(s.tmp_0, 8000000);
s.tmp_0 = esp32_NinaController_reset__P108810_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 39; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
r0 = (s.arg0).fields["_locked"] = (false);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
esp32_NinaController_constructor__P108857.info = {"start":2637,"length":644,"line":80,"column":8,"endLine":96,"endColumn":9,"fileName":"ninacontroller.ts","functionName":"inline","argumentNames":["this","_spi","_cs","_busy","_reset","_gpio0"]}
function esp32_NinaController_constructor__P108857_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: esp32_NinaController_constructor__P108857, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
arg3: undefined,
arg4: undefined,
arg5: undefined,
} }
function esp32_NinaController_reset__P108810(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
r0 = s.arg0;
if (!checkSubtype(r0, esp32_NinaController__C108808_VT)) failedCast(r0, esp32_NinaController__C108808_VT);
r0 = s.arg0.fields["_gpio0"];
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 1; continue; }
r0 = s.arg0.fields["_gpio0"];
s.tmp_1 = r0;
r0 = pxsim.DigitalInOutPinMethods.digitalWrite(s.tmp_1, true);
case 1:
case 2:
r0 = s.arg0.fields["_cs"];
s.tmp_0 = r0;
r0 = pxsim.DigitalInOutPinMethods.digitalWrite(s.tmp_0, true);
r0 = s.arg0.fields["_reset"];
s.tmp_0 = r0;
r0 = pxsim.DigitalInOutPinMethods.digitalWrite(s.tmp_0, false);
s.tmp_0 = pause__P108405_mk(s);
s.tmp_0.arg0 = 10;
s.callLocIdx = 40; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
r0 = s.arg0.fields["_reset"];
s.tmp_0 = r0;
r0 = pxsim.DigitalInOutPinMethods.digitalWrite(s.tmp_0, true);
s.tmp_0 = pause__P108405_mk(s);
s.tmp_0.arg0 = 750;
s.callLocIdx = 41; s.pc = 6; return s.tmp_0;
case 6:
r0 = s.retval;
r0 = s.arg0.fields["_gpio0"];
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 3; continue; }
r0 = s.arg0.fields["_gpio0"];
s.tmp_1 = r0;
r0 = pxsim.DigitalInOutPinMethods.digitalRead(s.tmp_1);
case 3:
case 4:
s.tmp_0 = esp32_NinaController_spiTransfer__P108816_mk(s);
s.tmp_0.arg0 = s.arg0;
r0 = pxsim.control.createBuffer(1);
s.tmp_0.arg1 = r0;
s.tmp_0.arg2 = null;
s.callLocIdx = 42; s.pc = 7; return s.tmp_0;
case 7:
r0 = s.retval;
s.tmp_0 = net_log__P108624_mk(s);
s.tmp_0.arg0 = "reseted esp32";
s.callLocIdx = 43; s.pc = 8; return s.tmp_0;
case 8:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
esp32_NinaController_reset__P108810.info = {"start":3368,"length":574,"line":101,"column":8,"endLine":116,"endColumn":9,"fileName":"ninacontroller.ts","functionName":"reset","argumentNames":["this"]}
function esp32_NinaController_reset__P108810_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: esp32_NinaController_reset__P108810, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
arg0: undefined,
} }
function esp32_NinaController_spiTransfer__P108816(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.arg2 = (s.lambdaArgs[2]);
s.lambdaArgs = null;
}
r0 = s.arg0;
if (!checkSubtype(r0, esp32_NinaController__C108808_VT)) failedCast(r0, esp32_NinaController__C108808_VT);
r0 = pxsim_numops_toBoolDecr(s.arg1);
s.tmp_1 = r0;
r0 = pxsim_Boolean__bang(s.tmp_1);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 1; continue; }
r0 = pxsim.BufferMethods.length(s.arg2);
s.tmp_2 = r0;
r0 = pxsim.control.createBuffer(s.tmp_2);
s.arg1 = (r0);
case 1:
case 2:
r0 = pxsim_numops_toBoolDecr(s.arg2);
s.tmp_1 = r0;
r0 = pxsim_Boolean__bang(s.tmp_1);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 3; continue; }
r0 = pxsim.BufferMethods.length(s.arg1);
s.tmp_2 = r0;
r0 = pxsim.control.createBuffer(s.tmp_2);
s.arg2 = (r0);
case 3:
case 4:
r0 = s.arg0.fields["_spi"];
s.tmp_0 = r0;
r0 = pxsim.SPIMethods.transfer(s.tmp_0, s.arg1, s.arg2);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
esp32_NinaController_spiTransfer__P108816.info = {"start":6899,"length":211,"line":207,"column":8,"endLine":211,"endColumn":9,"fileName":"ninacontroller.ts","functionName":"spiTransfer","argumentNames":["this","tx","rx"]}
function esp32_NinaController_spiTransfer__P108816_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: esp32_NinaController_spiTransfer__P108816, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function pause__P108405(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
setupResume(s, 1);
pxsim.loops.pause(s.arg0);
checkResumeConsumed();
return;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
pause__P108405.info = {"start":246,"length":57,"line":7,"column":0,"endLine":9,"endColumn":1,"fileName":"pxt_modules/base/pause.ts","functionName":"pause","argumentNames":["ms"]}
function pause__P108405_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: pause__P108405, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: undefined,
} }
function esp32_buffer1__P108807(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
s.b___109058 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
r0 = pxsim.control.createBuffer(1);
s.b___109058 = (r0);
r0 = pxsim.BufferMethods.setByte(s.b___109058, 0, s.arg0);
r0 = s.b___109058;
return leave(s, r0)
default: oops()
} } }
esp32_buffer1__P108807.info = {"start":2344,"length":113,"line":68,"column":4,"endLine":72,"endColumn":5,"fileName":"ninacontroller.ts","functionName":"buffer1","argumentNames":["ch"]}
function esp32_buffer1__P108807_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: esp32_buffer1__P108807, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
b___109058: undefined,
arg0: undefined,
} }
function net_Controller_constructor__P108594(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
r0 = s.arg0;
if (!checkSubtype(r0, net_Controller__C108564_VT)) failedCast(r0, net_Controller__C108564_VT);
r0 = (s.arg0).fields["_isConnected"] = (false);
s.tmp_0 = r0 = s.arg0;
s.tmp_2 = control_allocateEventSource__P108314_mk(s);
s.callLocIdx = 29; s.pc = 1; return s.tmp_2;
case 1:
r0 = s.retval;
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["eventID"] = (s.tmp_1);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
net_Controller_constructor__P108594.info = {"start":415,"length":82,"line":17,"column":8,"endLine":19,"endColumn":9,"fileName":"pxt_modules/net/controller.ts","functionName":"inline","argumentNames":["this"]}
function net_Controller_constructor__P108594_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: net_Controller_constructor__P108594, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
arg0: undefined,
} }
function control_allocateEventSource__P108314(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
r0 = (globals._evSource___108313 + 1);
s.tmp_0 = r0;
globals._evSource___108313 = (r0);
r0 = s.tmp_0;
return leave(s, r0)
default: oops()
} } }
control_allocateEventSource__P108314.info = {"start":2528,"length":72,"line":85,"column":4,"endLine":87,"endColumn":5,"fileName":"pxt_modules/base/control.ts","functionName":"allocateEventSource","argumentNames":[]}
function control_allocateEventSource__P108314_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: control_allocateEventSource__P108314, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
} }
function net_log__P108624(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
s.tmp_0 = console_add__P108350_mk(s);
s.tmp_0.arg0 = globals.logPriority___108623;
if ((s.arg0) && (s.arg0).vtable) {
setupResume(s, 2);
pxsim_String__stringConv(s.arg0);
checkResumeConsumed();
return;
} else { s.retval = (s.arg0) + ""; }
case 2:
r0 = s.retval;
s.tmp_1 = r0;
r0 = pxsim_String__concat("net:", s.tmp_1);
s.tmp_0.arg1 = r0;
s.callLocIdx = 30; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
net_log__P108624.info = {"start":238,"length":88,"line":11,"column":4,"endLine":13,"endColumn":5,"fileName":"pxt_modules/net/net.ts","functionName":"log","argumentNames":["msg"]}
function net_log__P108624_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: net_log__P108624, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
arg0: undefined,
} }
function console_add__P108350(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
s.text___109087 = undefined;
s.i___109096 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = (s.arg0 < globals.minPriority___108347);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 1; continue; }
{ step = 5; continue; }
case 1:
case 2:
s.tmp_1 = console_inspect__P108356_mk(s);
s.tmp_1.arg0 = s.arg1;
s.tmp_1.arg1 = 20;
s.callLocIdx = 9; s.pc = 6; return s.tmp_1;
case 6:
r0 = s.retval;
s.text___109087 = (r0);
if ((s.text___109087) && (s.text___109087).vtable) {
setupResume(s, 7);
pxsim_String__stringConv(s.text___109087);
checkResumeConsumed();
return;
} else { s.retval = (s.text___109087) + ""; }
case 7:
r0 = s.retval;
s.tmp_0 = r0;
r0 = pxsim_String__concat(s.tmp_0, "\n");
s.text___109087 = (r0);
s.i___109096 = (0);
case 3:
s.tmp_1 = r0 = s.i___109096;
r0 = pxsim_Array__length(globals.listeners___108349);
s.tmp_2 = r0;
r0 = (s.tmp_1 < s.tmp_2);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 4; continue; }
s.tmp_3 = lambda_3_mk(s);
r0 = pxsim_Array__getAt(globals.listeners___108349, s.i___109096);
s.tmp_3.argL = r0;
s.tmp_3.arg0 = s.arg0;
s.tmp_3.arg1 = s.text___109087;
setupLambda(s.tmp_3, s.tmp_3.argL);
s.callLocIdx = 10; s.pc = 8; return s.tmp_3;
case 8:
r0 = s.retval;
r0 = (s.i___109096 + 1);
s.i___109096 = (r0);
{ step = 3; continue; }
case 4:
case 5:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
console_add__P108350.info = {"start":632,"length":317,"line":28,"column":4,"endLine":36,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"add","argumentNames":["priority","message"]}
function console_add__P108350_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: console_add__P108350, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
tmp_3: undefined,
text___109087: undefined,
i___109096: undefined,
arg0: undefined,
arg1: undefined,
} }
function listeners_inline__P108348(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = pxsim.control.__log(s.arg0, s.arg1);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
listeners_inline__P108348.info = {"start":534,"length":85,"line":25,"column":8,"endLine":25,"endColumn":93,"fileName":"pxt_modules/base/console.ts","functionName":"inline","argumentNames":["priority","text"]}
function listeners_inline__P108348_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: listeners_inline__P108348, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: undefined,
arg1: undefined,
} }
function console_inspect__P108356(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
s.asArr___109135 = undefined;
s.asString___109155 = undefined;
s.keys___109167 = undefined;
s.snipped___109171 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = pxsim_pxtcore.typeOf(s.arg0);
s.tmp_1 = r0;
r0 = (s.tmp_1 == "string");
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 1; continue; }
r0 = s.arg0;
{ step = 17; continue; }
{ step = 16; continue; }
case 1:
r0 = pxsim_pxtcore.typeOf(s.arg0);
s.tmp_3 = r0;
r0 = (s.tmp_3 == "number");
s.tmp_2 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_2);
if (!r0) { step = 2; continue; }
r0 = pxsim_String_.mkEmpty();
s.tmp_4 = r0;
if ((s.arg0) && (s.arg0).vtable) {
setupResume(s, 18);
pxsim_String__stringConv(s.arg0);
checkResumeConsumed();
return;
} else { s.retval = (s.arg0) + ""; }
case 18:
r0 = s.retval;
s.tmp_5 = r0;
r0 = pxsim_String__concat(s.tmp_4, s.tmp_5);
{ step = 17; continue; }
{ step = 15; continue; }
case 2:
r0 = pxsim_Array_.isArray(s.arg0);
s.tmp_6 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_6);
if (!r0) { step = 5; continue; }
s.asArr___109135 = (s.arg0);
r0 = pxsim_Array__length(s.asArr___109135);
s.tmp_1 = r0;
r0 = (s.tmp_1 <= s.arg1);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 3; continue; }
s.tmp_2 = helpers_arrayJoin__P108135_mk(s);
s.tmp_2.arg0 = s.asArr___109135;
s.tmp_2.arg1 = ",";
s.callLocIdx = 11; s.pc = 19; return s.tmp_2;
case 19:
r0 = s.retval;
{ step = 17; continue; }
{ step = 4; continue; }
case 3:
r0 = pxsim_String_.mkEmpty();
s.tmp_4 = r0;
s.tmp_7 = helpers_arrayJoin__P108135_mk(s);
s.tmp_8 = helpers_arraySlice__P108149_mk(s);
s.tmp_8.arg0 = s.asArr___109135;
s.tmp_8.arg1 = 0;
s.tmp_8.arg2 = s.arg1;
s.callLocIdx = 12; s.pc = 21; return s.tmp_8;
case 21:
r0 = s.retval;
s.tmp_7.arg0 = r0;
s.tmp_7.arg1 = ",";
s.callLocIdx = 13; s.pc = 20; return s.tmp_7;
case 20:
r0 = s.retval;
s.tmp_6 = r0;
if ((s.tmp_6) && (s.tmp_6).vtable) {
setupResume(s, 22);
pxsim_String__stringConv(s.tmp_6);
checkResumeConsumed();
return;
} else { s.retval = (s.tmp_6) + ""; }
case 22:
r0 = s.retval;
s.tmp_5 = r0;
r0 = pxsim_String__concat(s.tmp_4, s.tmp_5);
s.tmp_3 = r0;
r0 = pxsim_String__concat(s.tmp_3, "...");
{ step = 17; continue; }
case 4:
{ step = 14; continue; }
case 5:
if ((s.arg0) && (s.arg0).vtable) {
setupResume(s, 23);
pxsim_String__stringConv(s.arg0);
checkResumeConsumed();
return;
} else { s.retval = (s.arg0) + ""; }
case 23:
r0 = s.retval;
s.tmp_9 = r0;
r0 = pxsim_String_.mkEmpty();
s.tmp_10 = r0;
r0 = pxsim_String__concat(s.tmp_9, s.tmp_10);
s.asString___109155 = (r0);
r0 = (s.asString___109155 != "[object Object]");
s.tmp_0 = r0;
r0 = pxsim_numops_toBool(s.tmp_0);
if (r0) { step = 6; continue; }
r0 = s.tmp_0;
{ step = 7; continue; }
case 6:
r0 = (s.asString___109155 != "[Object]");
case 7:
// jmp value (already in r0)
s.tmp_1 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_1);
if (!r0) { step = 8; continue; }
r0 = s.asString___109155;
{ step = 17; continue; }
case 8:
case 9:
r0 = pxsim_pxtrt.keysOf(s.arg0);
s.keys___109167 = (r0);
r0 = pxsim_Array__length(s.keys___109167);
s.tmp_0 = r0;
r0 = (s.tmp_0 > s.arg1);
s.snipped___109171 = (r0);
r0 = pxsim_numops_toBoolDecr(s.snipped___109171);
if (!r0) { step = 10; continue; }
s.tmp_0 = helpers_arraySlice__P108149_mk(s);
s.tmp_0.arg0 = s.keys___109167;
s.tmp_0.arg1 = 0;
s.tmp_0.arg2 = s.arg1;
s.callLocIdx = 14; s.pc = 24; return s.tmp_0;
case 24:
r0 = s.retval;
s.keys___109167 = (r0);
case 10:
case 11:
r0 = pxsim_pxtcore_mkAction(1, console_inspect_inline__P109189);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);
r0 = pxsim_numops_toBoolDecr(s.snipped___109171);
if (!r0) { step = 12; continue; }
r0 = "\n ...";
{ step = 13; continue; }
case 12:
r0 = pxsim_String_.mkEmpty();
case 13:
// jmp value (already in r0)
s.tmp_1 = r0;
s.tmp_7 = helpers_arrayReduce__P108146_mk(s);
s.tmp_7.arg0 = s.keys___109167;
s.tmp_7.arg1 = s.tmp_0;
r0 = pxsim_String_.mkEmpty();
s.tmp_7.arg2 = r0;
s.callLocIdx = 15; s.pc = 25; return s.tmp_7;
case 25:
r0 = s.retval;
s.tmp_6 = r0;
if ((s.tmp_6) && (s.tmp_6).vtable) {
setupResume(s, 26);
pxsim_String__stringConv(s.tmp_6);
checkResumeConsumed();
return;
} else { s.retval = (s.tmp_6) + ""; }
case 26:
r0 = s.retval;
s.tmp_5 = r0;
if ((s.tmp_1) && (s.tmp_1).vtable) {
setupResume(s, 27);
pxsim_String__stringConv(s.tmp_1);
checkResumeConsumed();
return;
} else { s.retval = (s.tmp_1) + ""; }
case 27:
r0 = s.retval;
s.tmp_8 = r0;
r0 = pxsim_String__concat(s.tmp_5, s.tmp_8);
s.tmp_4 = r0;
if ((s.tmp_4) && (s.tmp_4).vtable) {
setupResume(s, 28);
pxsim_String__stringConv(s.tmp_4);
checkResumeConsumed();
return;
} else { s.retval = (s.tmp_4) + ""; }
case 28:
r0 = s.retval;
s.tmp_3 = r0;
r0 = pxsim_String__concat("{", s.tmp_3);
s.tmp_2 = r0;
r0 = pxsim_String__concat(s.tmp_2, "\n}");
{ step = 17; continue; }
case 14:
case 15:
case 16:
r0 = undefined;
case 17:
return leave(s, r0)
default: oops()
} } }
console_inspect__P108356.info = {"start":2271,"length":1190,"line":81,"column":4,"endLine":114,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"inspect","argumentNames":["obj","maxElements"]}
function console_inspect__P108356_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: console_inspect__P108356, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
tmp_3: undefined,
tmp_4: undefined,
tmp_5: undefined,
tmp_6: undefined,
tmp_7: undefined,
tmp_8: undefined,
tmp_9: undefined,
tmp_10: undefined,
asArr___109135: undefined,
asString___109155: undefined,
keys___109167: undefined,
snipped___109171: undefined,
arg0: undefined,
arg1: undefined,
} }
function console_inspect_inline__P109189(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
if ((s.arg0) && (s.arg0).vtable) {
setupResume(s, 1);
pxsim_String__stringConv(s.arg0);
checkResumeConsumed();
return;
} else { s.retval = (s.arg0) + ""; }
case 1:
r0 = s.retval;
s.tmp_0 = r0;
if ((s.arg1) && (s.arg1).vtable) {
setupResume(s, 2);
pxsim_String__stringConv(s.arg1);
checkResumeConsumed();
return;
} else { s.retval = (s.arg1) + ""; }
case 2:
r0 = s.retval;
s.tmp_5 = r0;
r0 = pxsim_String__concat("\n ", s.tmp_5);
s.tmp_4 = r0;
r0 = pxsim_String__concat(s.tmp_4, ": ");
s.tmp_3 = r0;
r0 = pxsim_pxtrt.mapGetGeneric(s.caps[0], s.arg1);
s.tmp_7 = r0;
if ((s.tmp_7) && (s.tmp_7).vtable) {
setupResume(s, 3);
pxsim_String__stringConv(s.tmp_7);
checkResumeConsumed();
return;
} else { s.retval = (s.tmp_7) + ""; }
case 3:
r0 = s.retval;
s.tmp_6 = r0;
r0 = pxsim_String__concat(s.tmp_3, s.tmp_6);
s.tmp_2 = r0;
if ((s.tmp_2) && (s.tmp_2).vtable) {
setupResume(s, 4);
pxsim_String__stringConv(s.tmp_2);
checkResumeConsumed();
return;
} else { s.retval = (s.tmp_2) + ""; }
case 4:
r0 = s.retval;
s.tmp_1 = r0;
r0 = pxsim_String__concat(s.tmp_0, s.tmp_1);
return leave(s, r0)
default: oops()
} } }
console_inspect_inline__P109189.info = {"start":3293,"length":61,"line":108,"column":20,"endLine":108,"endColumn":81,"fileName":"pxt_modules/base/console.ts","functionName":"inline","argumentNames":["prev","currKey"]}
function console_inspect_inline__P109189_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: console_inspect_inline__P109189, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
tmp_3: undefined,
tmp_4: undefined,
tmp_5: undefined,
tmp_6: undefined,
tmp_7: undefined,
arg0: undefined,
arg1: undefined,
} }
function helpers_arrayReduce__P108146(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
s.len___109216 = undefined;
s.i___109219 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.arg2 = (s.lambdaArgs[2]);
s.lambdaArgs = null;
}
r0 = pxsim_Array__length(s.arg0);
s.len___109216 = (r0);
s.i___109219 = (0);
case 1:
r0 = (s.i___109219 < s.len___109216);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 2; continue; }
s.tmp_1 = lambda_4_mk(s);
s.tmp_1.argL = s.arg1;
s.tmp_1.arg0 = s.arg2;
r0 = pxsim_Array__getAt(s.arg0, s.i___109219);
s.tmp_1.arg1 = r0;
s.tmp_1.arg2 = s.i___109219;
setupLambda(s.tmp_1, s.tmp_1.argL);
s.callLocIdx = 0; s.pc = 3; return s.tmp_1;
case 3:
r0 = s.retval;
s.arg2 = (r0);
r0 = (s.i___109219 + 1);
s.i___109219 = (r0);
{ step = 1; continue; }
case 2:
r0 = s.arg2;
return leave(s, r0)
default: oops()
} } }
helpers_arrayReduce__P108146.info = {"start":8316,"length":317,"line":280,"column":4,"endLine":286,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayReduce","argumentNames":["arr","callbackfn","initialValue"]}
function helpers_arrayReduce__P108146_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: helpers_arrayReduce__P108146, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
len___109216: undefined,
i___109219: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function helpers_arraySlice__P108149(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
s.res___109237 = undefined;
s.len___109239 = undefined;
s.i___109273 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.arg2 = (s.lambdaArgs[2]);
s.lambdaArgs = null;
}
r0 = pxsim_Array__mk();
s.res___109237 = (r0);
r0 = pxsim_Array__length(s.arg0);
s.len___109239 = (r0);
r0 = (s.arg1 === undefined);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 1; continue; }
s.arg1 = (0);
{ step = 4; continue; }
case 1:
r0 = (s.arg1 < 0);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 2; continue; }
s.tmp_1 = Math_max__P108165_mk(s);
r0 = (s.len___109239 + s.arg1);
s.tmp_1.arg0 = r0;
s.tmp_1.arg1 = 0;
s.callLocIdx = 1; s.pc = 16; return s.tmp_1;
case 16:
r0 = s.retval;
s.arg1 = (r0);
case 2:
case 3:
case 4:
r0 = (s.arg1 > s.len___109239);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 5; continue; }
r0 = s.res___109237;
{ step = 15; continue; }
case 5:
case 6:
r0 = (s.arg2 === undefined);
s.tmp_1 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_1);
if (!r0) { step = 7; continue; }
s.arg2 = (s.len___109239);
{ step = 10; continue; }
case 7:
r0 = (s.arg2 < 0);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 8; continue; }
r0 = (s.len___109239 + s.arg2);
s.arg2 = (r0);
case 8:
case 9:
case 10:
r0 = (s.arg2 > s.len___109239);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 11; continue; }
s.arg2 = (s.len___109239);
case 11:
case 12:
s.i___109273 = (s.arg1);
case 13:
r0 = (s.i___109273 < s.arg2);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 14; continue; }
s.tmp_1 = r0 = s.res___109237;
r0 = pxsim_Array__getAt(s.arg0, s.i___109273);
s.tmp_2 = r0;
r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);
r0 = (s.i___109273 + 1);
s.i___109273 = (r0);
{ step = 13; continue; }
case 14:
r0 = s.res___109237;
case 15:
return leave(s, r0)
default: oops()
} } }
helpers_arraySlice__P108149.info = {"start":9027,"length":690,"line":303,"column":4,"endLine":328,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arraySlice","argumentNames":["arr","start","end"]}
function helpers_arraySlice__P108149_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: helpers_arraySlice__P108149, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
res___109237: undefined,
len___109239: undefined,
i___109273: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function Math_max__P108165(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = (s.arg0 >= s.arg1);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 1; continue; }
r0 = s.arg0;
{ step = 3; continue; }
case 1:
case 2:
r0 = s.arg1;
case 3:
return leave(s, r0)
default: oops()
} } }
Math_max__P108165.info = {"start":16614,"length":105,"line":558,"column":4,"endLine":561,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"max","argumentNames":["a","b"]}
function Math_max__P108165_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: Math_max__P108165, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: undefined,
arg1: undefined,
} }
function helpers_arrayJoin__P108135(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
s.r___109306 = undefined;
s.len___109307 = undefined;
s.i___109310 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = (s.arg1 === undefined);
s.tmp_0 = r0;
r0 = pxsim_numops_toBool(s.tmp_0);
if (!r0) { step = 1; continue; }
r0 = s.tmp_0;
{ step = 2; continue; }
case 1:
r0 = (s.arg1 === null);
case 2:
// jmp value (already in r0)
s.tmp_1 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_1);
if (!r0) { step = 3; continue; }
s.arg1 = (",");
case 3:
case 4:
r0 = pxsim_String_.mkEmpty();
s.r___109306 = (r0);
r0 = pxsim_Array__length(s.arg0);
s.len___109307 = (r0);
s.i___109310 = (0);
case 5:
r0 = (s.i___109310 < s.len___109307);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 14; continue; }
r0 = (s.i___109310 > 0);
s.tmp_1 = r0;
r0 = pxsim_numops_toBool(s.tmp_1);
if (r0) { step = 6; continue; }
r0 = s.tmp_1;
{ step = 7; continue; }
case 6:
r0 = s.arg1;
case 7:
// jmp value (already in r0)
s.tmp_2 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_2);
if (!r0) { step = 8; continue; }
if ((s.r___109306) && (s.r___109306).vtable) {
setupResume(s, 15);
pxsim_String__stringConv(s.r___109306);
checkResumeConsumed();
return;
} else { s.retval = (s.r___109306) + ""; }
case 15:
r0 = s.retval;
s.tmp_3 = r0;
if ((s.arg1) && (s.arg1).vtable) {
setupResume(s, 16);
pxsim_String__stringConv(s.arg1);
checkResumeConsumed();
return;
} else { s.retval = (s.arg1) + ""; }
case 16:
r0 = s.retval;
s.tmp_4 = r0;
r0 = pxsim_String__concat(s.tmp_3, s.tmp_4);
s.r___109306 = (r0);
case 8:
case 9:
r0 = pxsim_Array__getAt(s.arg0, s.i___109310);
s.tmp_1 = r0;
r0 = (s.tmp_1 === undefined);
s.tmp_0 = r0;
r0 = pxsim_numops_toBool(s.tmp_0);
if (!r0) { step = 10; continue; }
r0 = s.tmp_0;
{ step = 11; continue; }
case 10:
r0 = pxsim_Array__getAt(s.arg0, s.i___109310);
s.tmp_2 = r0;
r0 = (s.tmp_2 === null);
case 11:
// jmp value (already in r0)
s.tmp_3 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_3);
if (!r0) { step = 12; continue; }
r0 = pxsim_String_.mkEmpty();
{ step = 13; continue; }
case 12:
r0 = pxsim_Array__getAt(s.arg0, s.i___109310);
case 13:
// jmp value (already in r0)
s.tmp_4 = r0;
if ((s.r___109306) && (s.r___109306).vtable) {
setupResume(s, 17);
pxsim_String__stringConv(s.r___109306);
checkResumeConsumed();
return;
} else { s.retval = (s.r___109306) + ""; }
case 17:
r0 = s.retval;
s.tmp_5 = r0;
if ((s.tmp_4) && (s.tmp_4).vtable) {
setupResume(s, 18);
pxsim_String__stringConv(s.tmp_4);
checkResumeConsumed();
return;
} else { s.retval = (s.tmp_4) + ""; }
case 18:
r0 = s.retval;
s.tmp_6 = r0;
r0 = pxsim_String__concat(s.tmp_5, s.tmp_6);
s.r___109306 = (r0);
r0 = (s.i___109310 + 1);
s.i___109310 = (r0);
{ step = 5; continue; }
case 14:
r0 = s.r___109306;
return leave(s, r0)
default: oops()
} } }
helpers_arrayJoin__P108135.info = {"start":4133,"length":432,"line":157,"column":4,"endLine":170,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayJoin","argumentNames":["arr","sep"]}
function helpers_arrayJoin__P108135_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: helpers_arrayJoin__P108135, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
tmp_3: undefined,
tmp_4: undefined,
tmp_5: undefined,
tmp_6: undefined,
r___109306: undefined,
len___109307: undefined,
i___109310: undefined,
arg0: undefined,
arg1: undefined,
} }
function pins_spi__P108460(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
s.mosi___109350 = undefined;
s.miso___109355 = undefined;
s.sck___109360 = undefined;
r0 = pxsim_numops_toBoolDecr(globals._spi___108459);
s.tmp_1 = r0;
r0 = pxsim_Boolean__bang(s.tmp_1);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 1; continue; }
r0 = pxsim.pins.pinByCfg(19);
s.mosi___109350 = (r0);
r0 = pxsim.pins.pinByCfg(18);
s.miso___109355 = (r0);
r0 = pxsim.pins.pinByCfg(23);
s.sck___109360 = (r0);
r0 = pxsim.pins.createSPI(s.mosi___109350, s.miso___109355, s.sck___109360);
globals._spi___108459 = (r0);
case 1:
case 2:
r0 = globals._spi___108459;
return leave(s, r0)
default: oops()
} } }
pins_spi__P108460.info = {"start":98,"length":305,"line":7,"column":4,"endLine":15,"endColumn":5,"fileName":"pxt_modules/core/spi.ts","functionName":"spi","argumentNames":[]}
function pins_spi__P108460_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: pins_spi__P108460, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
mosi___109350: undefined,
miso___109355: undefined,
sck___109360: undefined,
} }
function net_Net_constructor__P108638(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = s.arg0;
if (!checkSubtype(r0, net_Net__C108633_VT)) failedCast(r0, net_Net__C108633_VT);
r0 = (s.arg0).fields["factory"] = (s.arg1);
globals.net_Net_instance___108639 = (s.arg0);
r0 = (s.arg0).fields["_controller"] = (undefined);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
net_Net_constructor__P108638.info = {"start":2962,"length":162,"line":94,"column":8,"endLine":97,"endColumn":9,"fileName":"pxt_modules/net/net.ts","functionName":"inline","argumentNames":["this","factory"]}
function net_Net_constructor__P108638_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: net_Net_constructor__P108638, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: undefined,
arg1: undefined,
} }
function settings_initScopes__P108531(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
s.rn___109379 = undefined;
s.tmp_1 = settings_runNumber__P108529_mk(s);
s.callLocIdx = 19; s.pc = 1; return s.tmp_1;
case 1:
r0 = s.retval;
s.tmp_0 = r0;
r0 = (s.tmp_0 + 1);
s.rn___109379 = (r0);
s.tmp_0 = settings_writeNumber__P108537_mk(s);
s.tmp_0.arg0 = globals.RUN_KEY___108518;
s.tmp_0.arg1 = s.rn___109379;
s.callLocIdx = 20; s.pc = 2; return s.tmp_0;
case 2:
r0 = s.retval;
r0 = pxsim.control.deviceSerialNumber();
s.tmp_1 = r0;
r0 = (s.tmp_1 & 2147483647);
s.tmp_0 = r0;
r0 = pxsim_pxtcore.seedAddRandom(s.tmp_0);
r0 = p