pxt-common-packages
Version:
Microsoft MakeCode (PXT) common packages
1,771 lines (1,586 loc) • 81.5 kB
JavaScript
// total=81416 new=93.97% cached=0.00% other=6.03%
(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___P108326(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___108555 = (32768);
globals._intervals___108570 = (undefined);
globals._pollEventQueue___108583 = (undefined);
globals.minPriority___108589 = (1);
r0 = pxsim_Array__mk();
s.tmp_0 = r0;
r0 = pxsim_Array__push(s.tmp_0, listeners_inline__P108590);
globals.listeners___108591 = (s.tmp_0);
globals.RUN_KEY___108766 = ("#run");
globals.SCOPE_KEY___108767 = ("#scope");
s.tmp_0 = settings_initScopes__P108779_mk(s);
s.callLocIdx = 22; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
globals.logPriority___108871 = (-1);
r0 = pxsim_pxtcore_mkClassInstance(net_Net__C108881_VT);
s.tmp_0 = r0;
s.tmp_1 = net_Net_constructor__P108886_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = esp32_defaultController__P108921;
s.callLocIdx = 36; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
_main___P108326.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"ninacontroller.ts","functionName":"<main>","argumentNames":[]}
_main___P108326.continuations = [ ]
function _main___P108326_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: _main___P108326, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
} }
function esp32_defaultController__P108921(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___109109 = undefined;
s.busy___109114 = undefined;
s.reset___109119 = undefined;
s.gpio0___109124 = undefined;
s.mosi___109140 = undefined;
s.miso___109145 = undefined;
s.sck___109150 = undefined;
s.spi___109155 = undefined;
r0 = pxsim_numops_toBoolDecr(globals._defaultController___108920);
if (!r0) { step = 1; continue; }
r0 = globals._defaultController___108920;
{ step = 29; continue; }
case 1:
case 2:
r0 = pxsim.pins.pinByCfg(87);
s.cs___109109 = (r0);
r0 = pxsim.pins.pinByCfg(88);
s.busy___109114 = (r0);
r0 = pxsim.pins.pinByCfg(89);
s.reset___109119 = (r0);
r0 = pxsim.pins.pinByCfg(90);
s.gpio0___109124 = (r0);
r0 = pxsim_numops_toBoolDecr(s.cs___109109);
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___109114);
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___109119);
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___109140 = (r0);
r0 = pxsim.pins.pinByCfg(83);
s.miso___109145 = (r0);
r0 = pxsim.pins.pinByCfg(84);
s.sck___109150 = (r0);
r0 = pxsim_numops_toBoolDecr(s.mosi___109140);
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___109145);
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___109150);
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__P108702_mk(s);
s.callLocIdx = 31; s.pc = 30; return s.tmp_6;
case 30:
r0 = s.retval;
s.spi___109155 = (r0);
{ step = 18; continue; }
case 11:
s.tmp_0 = r0 = s.mosi___109140;
r0 = pxsim_numops_toBool(s.tmp_0);
if (r0) { step = 12; continue; }
r0 = s.tmp_0;
{ step = 13; continue; }
case 12:
r0 = s.miso___109145;
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___109150;
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___109140, s.miso___109145, s.sck___109150);
s.spi___109155 = (r0);
{ step = 17; continue; }
case 16:
s.tmp_0 = net_log__P108872_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___109155);
if (!r0) { step = 19; continue; }
r0 = pxsim_pxtcore_mkClassInstance(esp32_NinaController__C109056_VT);
s.tmp_0 = r0;
s.tmp_1 = esp32_NinaController_constructor__P109105_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = s.spi___109155;
s.tmp_1.arg2 = s.cs___109109;
s.tmp_1.arg3 = s.busy___109114;
s.tmp_1.arg4 = s.reset___109119;
s.tmp_1.arg5 = s.gpio0___109124;
s.callLocIdx = 33; s.pc = 32; return s.tmp_1;
case 32:
r0 = s.retval;
globals._defaultController___108920 = (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___109109);
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___109114);
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___109119);
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__P108872_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__P108872_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__P108921.info = {"start":66,"length":2003,"line":2,"column":4,"endLine":49,"endColumn":5,"fileName":"net.ts","functionName":"defaultController","argumentNames":[]}
function esp32_defaultController__P108921_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: esp32_defaultController__P108921, 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___109109: undefined,
busy___109114: undefined,
reset___109119: undefined,
gpio0___109124: undefined,
mosi___109140: undefined,
miso___109145: undefined,
sck___109150: undefined,
spi___109155: undefined,
} }
function esp32_NinaController_constructor__P109105(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__C109056_VT)) failedCast(r0, esp32_NinaController__C109056_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__P108842_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__P109055_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__P109058_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__P109105.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__P109105_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: esp32_NinaController_constructor__P109105, 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__P109058(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__C109056_VT)) failedCast(r0, esp32_NinaController__C109056_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__P108647_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__P108647_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__P109064_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__P108872_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__P109058.info = {"start":3368,"length":574,"line":101,"column":8,"endLine":116,"endColumn":9,"fileName":"ninacontroller.ts","functionName":"reset","argumentNames":["this"]}
function esp32_NinaController_reset__P109058_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: esp32_NinaController_reset__P109058, 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__P109064(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__C109056_VT)) failedCast(r0, esp32_NinaController__C109056_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__P109064.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__P109064_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: esp32_NinaController_spiTransfer__P109064, 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__P108647(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__P108647.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__P108647_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: pause__P108647, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: undefined,
} }
function esp32_buffer1__P109055(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___109306 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
r0 = pxsim.control.createBuffer(1);
s.b___109306 = (r0);
r0 = pxsim.BufferMethods.setByte(s.b___109306, 0, s.arg0);
r0 = s.b___109306;
return leave(s, r0)
default: oops()
} } }
esp32_buffer1__P109055.info = {"start":2344,"length":113,"line":68,"column":4,"endLine":72,"endColumn":5,"fileName":"ninacontroller.ts","functionName":"buffer1","argumentNames":["ch"]}
function esp32_buffer1__P109055_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: esp32_buffer1__P109055, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
b___109306: undefined,
arg0: undefined,
} }
function net_Controller_constructor__P108842(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__C108812_VT)) failedCast(r0, net_Controller__C108812_VT);
r0 = (s.arg0).fields["_isConnected"] = (false);
s.tmp_0 = r0 = s.arg0;
s.tmp_2 = control_allocateEventSource__P108556_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__P108842.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__P108842_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: net_Controller_constructor__P108842, 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__P108556(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___108555 + 1);
s.tmp_0 = r0;
globals._evSource___108555 = (r0);
r0 = s.tmp_0;
return leave(s, r0)
default: oops()
} } }
control_allocateEventSource__P108556.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__P108556_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: control_allocateEventSource__P108556, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
} }
function net_log__P108872(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__P108592_mk(s);
s.tmp_0.arg0 = globals.logPriority___108871;
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__P108872.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__P108872_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: net_log__P108872, 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__P108592(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___109335 = undefined;
s.i___109344 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = (s.arg0 < globals.minPriority___108589);
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__P108598_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___109335 = (r0);
if ((s.text___109335) && (s.text___109335).vtable) {
setupResume(s, 7);
pxsim_String__stringConv(s.text___109335);
checkResumeConsumed();
return;
} else { s.retval = (s.text___109335) + ""; }
case 7:
r0 = s.retval;
s.tmp_0 = r0;
r0 = pxsim_String__concat(s.tmp_0, "\n");
s.text___109335 = (r0);
s.i___109344 = (0);
case 3:
s.tmp_1 = r0 = s.i___109344;
r0 = pxsim_Array__length(globals.listeners___108591);
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___108591, s.i___109344);
s.tmp_3.argL = r0;
s.tmp_3.arg0 = s.arg0;
s.tmp_3.arg1 = s.text___109335;
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___109344 + 1);
s.i___109344 = (r0);
{ step = 3; continue; }
case 4:
case 5:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
console_add__P108592.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__P108592_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: console_add__P108592, 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___109335: undefined,
i___109344: undefined,
arg0: undefined,
arg1: undefined,
} }
function listeners_inline__P108590(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__P108590.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__P108590_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: listeners_inline__P108590, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: undefined,
arg1: undefined,
} }
function console_inspect__P108598(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___109383 = undefined;
s.asString___109403 = undefined;
s.keys___109415 = undefined;
s.snipped___109419 = 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___109383 = (s.arg0);
r0 = pxsim_Array__length(s.asArr___109383);
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__P108377_mk(s);
s.tmp_2.arg0 = s.asArr___109383;
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__P108377_mk(s);
s.tmp_8 = helpers_arraySlice__P108391_mk(s);
s.tmp_8.arg0 = s.asArr___109383;
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___109403 = (r0);
r0 = (s.asString___109403 != "[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___109403 != "[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___109403;
{ step = 17; continue; }
case 8:
case 9:
r0 = pxsim_pxtrt.keysOf(s.arg0);
s.keys___109415 = (r0);
r0 = pxsim_Array__length(s.keys___109415);
s.tmp_0 = r0;
r0 = (s.tmp_0 > s.arg1);
s.snipped___109419 = (r0);
r0 = pxsim_numops_toBoolDecr(s.snipped___109419);
if (!r0) { step = 10; continue; }
s.tmp_0 = helpers_arraySlice__P108391_mk(s);
s.tmp_0.arg0 = s.keys___109415;
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___109415 = (r0);
case 10:
case 11:
r0 = pxsim_pxtcore_mkAction(1, console_inspect_inline__P109437);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);
r0 = pxsim_numops_toBoolDecr(s.snipped___109419);
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__P108388_mk(s);
s.tmp_7.arg0 = s.keys___109415;
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__P108598.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__P108598_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: console_inspect__P108598, 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___109383: undefined,
asString___109403: undefined,
keys___109415: undefined,
snipped___109419: undefined,
arg0: undefined,
arg1: undefined,
} }
function console_inspect_inline__P109437(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__P109437.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__P109437_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: console_inspect_inline__P109437, 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__P108388(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___109464 = undefined;
s.i___109467 = 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___109464 = (r0);
s.i___109467 = (0);
case 1:
r0 = (s.i___109467 < s.len___109464);
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___109467);
s.tmp_1.arg1 = r0;
s.tmp_1.arg2 = s.i___109467;
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___109467 + 1);
s.i___109467 = (r0);
{ step = 1; continue; }
case 2:
r0 = s.arg2;
return leave(s, r0)
default: oops()
} } }
helpers_arrayReduce__P108388.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__P108388_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: helpers_arrayReduce__P108388, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
len___109464: undefined,
i___109467: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function helpers_arraySlice__P108391(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___109485 = undefined;
s.len___109487 = undefined;
s.i___109521 = 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___109485 = (r0);
r0 = pxsim_Array__length(s.arg0);
s.len___109487 = (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__P108407_mk(s);
r0 = (s.len___109487 + 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___109487);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 5; continue; }
r0 = s.res___109485;
{ 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___109487);
{ 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___109487 + s.arg2);
s.arg2 = (r0);
case 8:
case 9:
case 10:
r0 = (s.arg2 > s.len___109487);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 11; continue; }
s.arg2 = (s.len___109487);
case 11:
case 12:
s.i___109521 = (s.arg1);
case 13:
r0 = (s.i___109521 < s.arg2);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 14; continue; }
s.tmp_1 = r0 = s.res___109485;
r0 = pxsim_Array__getAt(s.arg0, s.i___109521);
s.tmp_2 = r0;
r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);
r0 = (s.i___109521 + 1);
s.i___109521 = (r0);
{ step = 13; continue; }
case 14:
r0 = s.res___109485;
case 15:
return leave(s, r0)
default: oops()
} } }
helpers_arraySlice__P108391.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__P108391_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: helpers_arraySlice__P108391, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
res___109485: undefined,
len___109487: undefined,
i___109521: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function Math_max__P108407(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__P108407.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__P108407_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: Math_max__P108407, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: undefined,
arg1: undefined,
} }
function helpers_arrayJoin__P108377(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___109554 = undefined;
s.len___109555 = undefined;
s.i___109558 = 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___109554 = (r0);
r0 = pxsim_Array__length(s.arg0);
s.len___109555 = (r0);
s.i___109558 = (0);
case 5:
r0 = (s.i___109558 < s.len___109555);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 14; continue; }
r0 = (s.i___109558 > 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___109554) && (s.r___109554).vtable) {
setupResume(s, 15);
pxsim_String__stringConv(s.r___109554);
checkResumeConsumed();
return;
} else { s.retval = (s.r___109554) + ""; }
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___109554 = (r0);
case 8:
case 9:
r0 = pxsim_Array__getAt(s.arg0, s.i___109558);
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___109558);
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___109558);
case 13:
// jmp value (already in r0)
s.tmp_4 = r0;
if ((s.r___109554) && (s.r___109554).vtable) {
setupResume(s, 17);
pxsim_String__stringConv(s.r___109554);
checkResumeConsumed();
return;
} else { s.retval = (s.r___109554) + ""; }
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___109554 = (r0);
r0 = (s.i___109558 + 1);
s.i___109558 = (r0);
{ step = 5; continue; }
case 14:
r0 = s.r___109554;
return leave(s, r0)
default: oops()
} } }
helpers_arrayJoin__P108377.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__P108377_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: helpers_arrayJoin__P108377, 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___109554: undefined,
len___109555: undefined,
i___109558: undefined,
arg0: undefined,
arg1: undefined,
} }
function pins_spi__P108702(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___109598 = undefined;
s.miso___109603 = undefined;
s.sck___109608 = undefined;
r0 = pxsim_numops_toBoolDecr(globals._spi___108701);
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___109598 = (r0);
r0 = pxsim.pins.pinByCfg(18);
s.miso___109603 = (r0);
r0 = pxsim.pins.pinByCfg(23);
s.sck___109608 = (r0);
r0 = pxsim.pins.createSPI(s.mosi___109598, s.miso___109603, s.sck___109608);
globals._spi___108701 = (r0);
case 1:
case 2:
r0 = globals._spi___108701;
return leave(s, r0)
default: oops()
} } }
pins_spi__P108702.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__P108702_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: pins_spi__P108702, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
mosi___109598: undefined,
miso___109603: undefined,
sck___109608: undefined,
} }
function net_Net_constructor__P108886(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__C108881_VT)) failedCast(r0, net_Net__C108881_VT);
r0 = (s.arg0).fields["factory"] = (s.arg1);
globals.net_Net_instance___108887 = (s.arg0);
r0 = (s.arg0).fields["_controller"] = (undefined);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
net_Net_constructor__P108886.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__P108886_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: net_Net_constructor__P108886, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: undefined,
arg1: undefined,
} }
function settings_initScopes__P108779(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___109627 = undefined;
s.tmp_1 = settings_runNumber__P108777_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___109627 = (r0);
s.tmp_0 = settings_writeNumber__P108785_mk(s);
s.tmp_0.arg0 = globals.RUN_KEY___108766;
s.tmp_0.arg1 = s.rn___109627;
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(