pxt-common-packages
Version:
Microsoft MakeCode (PXT) common packages
1,775 lines (1,589 loc) • 81.3 kB
JavaScript
// total=81265 new=93.95% cached=0.00% other=6.05%
(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___P106095(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___106323 = (32768);
globals._intervals___106338 = (undefined);
globals._pollEventQueue___106351 = (undefined);
globals.minPriority___106357 = (1);
r0 = pxsim_Array__mk();
s.tmp_0 = r0;
r0 = pxsim_Array__push(s.tmp_0, listeners_inline__P106358);
globals.listeners___106359 = (s.tmp_0);
globals.RUN_KEY___106534 = ("#run");
globals.SCOPE_KEY___106535 = ("#scope");
s.tmp_0 = settings_initScopes__P106547_mk(s);
s.callLocIdx = 22; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
globals.logPriority___106636 = (-1);
r0 = pxsim_pxtcore_mkClassInstance(net_Net__C106646_VT);
s.tmp_0 = r0;
s.tmp_1 = net_Net_constructor__P106651_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = esp32_defaultController__P106686;
s.callLocIdx = 36; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
_main___P106095.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"ninacontroller.ts","functionName":"<main>","argumentNames":[]}
_main___P106095.continuations = [ ]
function _main___P106095_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: _main___P106095, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
} }
function esp32_defaultController__P106686(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___106874 = undefined;
s.busy___106879 = undefined;
s.reset___106884 = undefined;
s.gpio0___106889 = undefined;
s.mosi___106905 = undefined;
s.miso___106910 = undefined;
s.sck___106915 = undefined;
s.spi___106920 = undefined;
r0 = pxsim_numops_toBoolDecr(globals._defaultController___106685);
if (!r0) { step = 1; continue; }
r0 = globals._defaultController___106685;
{ step = 29; continue; }
case 1:
case 2:
r0 = pxsim.pins.pinByCfg(87);
s.cs___106874 = (r0);
r0 = pxsim.pins.pinByCfg(88);
s.busy___106879 = (r0);
r0 = pxsim.pins.pinByCfg(89);
s.reset___106884 = (r0);
r0 = pxsim.pins.pinByCfg(90);
s.gpio0___106889 = (r0);
r0 = pxsim_numops_toBoolDecr(s.cs___106874);
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___106879);
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___106884);
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___106905 = (r0);
r0 = pxsim.pins.pinByCfg(83);
s.miso___106910 = (r0);
r0 = pxsim.pins.pinByCfg(84);
s.sck___106915 = (r0);
r0 = pxsim_numops_toBoolDecr(s.mosi___106905);
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___106910);
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___106915);
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__P106470_mk(s);
s.callLocIdx = 31; s.pc = 30; return s.tmp_6;
case 30:
r0 = s.retval;
s.spi___106920 = (r0);
{ step = 18; continue; }
case 11:
s.tmp_0 = r0 = s.mosi___106905;
r0 = pxsim_numops_toBool(s.tmp_0);
if (r0) { step = 12; continue; }
r0 = s.tmp_0;
{ step = 13; continue; }
case 12:
r0 = s.miso___106910;
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___106915;
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___106905, s.miso___106910, s.sck___106915);
s.spi___106920 = (r0);
{ step = 17; continue; }
case 16:
s.tmp_0 = net_log__P106637_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___106920);
if (!r0) { step = 19; continue; }
r0 = pxsim_pxtcore_mkClassInstance(esp32_NinaController__C106821_VT);
s.tmp_0 = r0;
s.tmp_1 = esp32_NinaController_constructor__P106870_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = s.spi___106920;
s.tmp_1.arg2 = s.cs___106874;
s.tmp_1.arg3 = s.busy___106879;
s.tmp_1.arg4 = s.reset___106884;
s.tmp_1.arg5 = s.gpio0___106889;
s.callLocIdx = 33; s.pc = 32; return s.tmp_1;
case 32:
r0 = s.retval;
globals._defaultController___106685 = (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___106874);
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___106879);
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___106884);
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__P106637_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__P106637_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__P106686.info = {"start":66,"length":2003,"line":2,"column":4,"endLine":49,"endColumn":5,"fileName":"net.ts","functionName":"defaultController","argumentNames":[]}
function esp32_defaultController__P106686_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: esp32_defaultController__P106686, 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___106874: undefined,
busy___106879: undefined,
reset___106884: undefined,
gpio0___106889: undefined,
mosi___106905: undefined,
miso___106910: undefined,
sck___106915: undefined,
spi___106920: undefined,
} }
function esp32_NinaController_constructor__P106870(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__C106821_VT)) failedCast(r0);
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__P106607_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__P106820_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__P106823_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__P106870.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__P106870_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: esp32_NinaController_constructor__P106870, 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__P106823(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__C106821_VT)) failedCast(r0);
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__P106415_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__P106415_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__P106829_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__P106637_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__P106823.info = {"start":3368,"length":574,"line":101,"column":8,"endLine":116,"endColumn":9,"fileName":"ninacontroller.ts","functionName":"reset","argumentNames":["this"]}
function esp32_NinaController_reset__P106823_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: esp32_NinaController_reset__P106823, 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__P106829(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__C106821_VT)) failedCast(r0);
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__P106829.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__P106829_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: esp32_NinaController_spiTransfer__P106829, 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__P106415(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__P106415.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__P106415_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: pause__P106415, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: undefined,
} }
function esp32_buffer1__P106820(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___107071 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
r0 = pxsim.control.createBuffer(1);
s.b___107071 = (r0);
r0 = pxsim.BufferMethods.setByte(s.b___107071, 0, s.arg0);
r0 = s.b___107071;
return leave(s, r0)
default: oops()
} } }
esp32_buffer1__P106820.info = {"start":2344,"length":113,"line":68,"column":4,"endLine":72,"endColumn":5,"fileName":"ninacontroller.ts","functionName":"buffer1","argumentNames":["ch"]}
function esp32_buffer1__P106820_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: esp32_buffer1__P106820, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
b___107071: undefined,
arg0: undefined,
} }
function net_Controller_constructor__P106607(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__C106577_VT)) failedCast(r0);
r0 = (s.arg0).fields["_isConnected"] = (false);
s.tmp_0 = r0 = s.arg0;
s.tmp_2 = control_allocateEventSource__P106324_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__P106607.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__P106607_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: net_Controller_constructor__P106607, 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__P106324(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___106323 + 1);
s.tmp_0 = r0;
globals._evSource___106323 = (r0);
r0 = s.tmp_0;
return leave(s, r0)
default: oops()
} } }
control_allocateEventSource__P106324.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__P106324_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: control_allocateEventSource__P106324, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
} }
function net_log__P106637(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__P106360_mk(s);
s.tmp_0.arg0 = globals.logPriority___106636;
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__P106637.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__P106637_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: net_log__P106637, 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__P106360(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___107100 = undefined;
s.i___107109 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = (s.arg0 < globals.minPriority___106357);
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__P106366_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___107100 = (r0);
if ((s.text___107100) && (s.text___107100).vtable) {
setupResume(s, 7);
pxsim_String__stringConv(s.text___107100);
checkResumeConsumed();
return;
} else { s.retval = (s.text___107100) + ""; }
case 7:
r0 = s.retval;
s.tmp_0 = r0;
r0 = pxsim_String__concat(s.tmp_0, "\n");
s.text___107100 = (r0);
s.i___107109 = (0);
case 3:
s.tmp_1 = r0 = s.i___107109;
r0 = pxsim_Array__length(globals.listeners___106359);
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___106359, s.i___107109);
s.tmp_3.argL = r0;
s.tmp_3.arg0 = s.arg0;
s.tmp_3.arg1 = s.text___107100;
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___107109 + 1);
s.i___107109 = (r0);
{ step = 3; continue; }
case 4:
case 5:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
console_add__P106360.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__P106360_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: console_add__P106360, 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___107100: undefined,
i___107109: undefined,
arg0: undefined,
arg1: undefined,
} }
function listeners_inline__P106358(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__P106358.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__P106358_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: listeners_inline__P106358, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: undefined,
arg1: undefined,
} }
function console_inspect__P106366(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___107148 = undefined;
s.asString___107168 = undefined;
s.keys___107180 = undefined;
s.snipped___107184 = 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___107148 = (s.arg0);
r0 = pxsim_Array__length(s.asArr___107148);
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__P106146_mk(s);
s.tmp_2.arg0 = s.asArr___107148;
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__P106146_mk(s);
s.tmp_8 = helpers_arraySlice__P106160_mk(s);
s.tmp_8.arg0 = s.asArr___107148;
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___107168 = (r0);
r0 = (s.asString___107168 != "[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___107168 != "[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___107168;
{ step = 17; continue; }
case 8:
case 9:
r0 = pxsim_pxtrt.keysOf(s.arg0);
s.keys___107180 = (r0);
r0 = pxsim_Array__length(s.keys___107180);
s.tmp_0 = r0;
r0 = (s.tmp_0 > s.arg1);
s.snipped___107184 = (r0);
r0 = pxsim_numops_toBoolDecr(s.snipped___107184);
if (!r0) { step = 10; continue; }
s.tmp_0 = helpers_arraySlice__P106160_mk(s);
s.tmp_0.arg0 = s.keys___107180;
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___107180 = (r0);
case 10:
case 11:
r0 = pxsim_pxtcore_mkAction(1, console_inspect_inline__P107202);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);
r0 = pxsim_numops_toBoolDecr(s.snipped___107184);
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__P106157_mk(s);
s.tmp_7.arg0 = s.keys___107180;
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__P106366.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__P106366_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: console_inspect__P106366, 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___107148: undefined,
asString___107168: undefined,
keys___107180: undefined,
snipped___107184: undefined,
arg0: undefined,
arg1: undefined,
} }
function console_inspect_inline__P107202(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__P107202.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__P107202_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: console_inspect_inline__P107202, 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__P106157(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___107229 = undefined;
s.i___107232 = 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___107229 = (r0);
s.i___107232 = (0);
case 1:
r0 = (s.i___107232 < s.len___107229);
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___107232);
s.tmp_1.arg1 = r0;
s.tmp_1.arg2 = s.i___107232;
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___107232 + 1);
s.i___107232 = (r0);
{ step = 1; continue; }
case 2:
r0 = s.arg2;
return leave(s, r0)
default: oops()
} } }
helpers_arrayReduce__P106157.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__P106157_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: helpers_arrayReduce__P106157, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
len___107229: undefined,
i___107232: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function helpers_arraySlice__P106160(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___107250 = undefined;
s.len___107252 = undefined;
s.i___107286 = 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___107250 = (r0);
r0 = pxsim_Array__length(s.arg0);
s.len___107252 = (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__P106176_mk(s);
r0 = (s.len___107252 + 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___107252);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 5; continue; }
r0 = s.res___107250;
{ 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___107252);
{ 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___107252 + s.arg2);
s.arg2 = (r0);
case 8:
case 9:
case 10:
r0 = (s.arg2 > s.len___107252);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 11; continue; }
s.arg2 = (s.len___107252);
case 11:
case 12:
s.i___107286 = (s.arg1);
case 13:
r0 = (s.i___107286 < s.arg2);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 14; continue; }
s.tmp_1 = r0 = s.res___107250;
r0 = pxsim_Array__getAt(s.arg0, s.i___107286);
s.tmp_2 = r0;
r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);
r0 = (s.i___107286 + 1);
s.i___107286 = (r0);
{ step = 13; continue; }
case 14:
r0 = s.res___107250;
case 15:
return leave(s, r0)
default: oops()
} } }
helpers_arraySlice__P106160.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__P106160_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: helpers_arraySlice__P106160, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
res___107250: undefined,
len___107252: undefined,
i___107286: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function Math_max__P106176(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__P106176.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__P106176_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: Math_max__P106176, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: undefined,
arg1: undefined,
} }
function helpers_arrayJoin__P106146(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___107319 = undefined;
s.len___107320 = undefined;
s.i___107323 = 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___107319 = (r0);
r0 = pxsim_Array__length(s.arg0);
s.len___107320 = (r0);
s.i___107323 = (0);
case 5:
r0 = (s.i___107323 < s.len___107320);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 14; continue; }
r0 = (s.i___107323 > 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___107319) && (s.r___107319).vtable) {
setupResume(s, 15);
pxsim_String__stringConv(s.r___107319);
checkResumeConsumed();
return;
} else { s.retval = (s.r___107319) + ""; }
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___107319 = (r0);
case 8:
case 9:
r0 = pxsim_Array__getAt(s.arg0, s.i___107323);
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___107323);
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___107323);
case 13:
// jmp value (already in r0)
s.tmp_4 = r0;
if ((s.r___107319) && (s.r___107319).vtable) {
setupResume(s, 17);
pxsim_String__stringConv(s.r___107319);
checkResumeConsumed();
return;
} else { s.retval = (s.r___107319) + ""; }
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___107319 = (r0);
r0 = (s.i___107323 + 1);
s.i___107323 = (r0);
{ step = 5; continue; }
case 14:
r0 = s.r___107319;
return leave(s, r0)
default: oops()
} } }
helpers_arrayJoin__P106146.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__P106146_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: helpers_arrayJoin__P106146, 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___107319: undefined,
len___107320: undefined,
i___107323: undefined,
arg0: undefined,
arg1: undefined,
} }
function pins_spi__P106470(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___107363 = undefined;
s.miso___107368 = undefined;
s.sck___107373 = undefined;
r0 = pxsim_numops_toBoolDecr(globals._spi___106469);
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___107363 = (r0);
r0 = pxsim.pins.pinByCfg(18);
s.miso___107368 = (r0);
r0 = pxsim.pins.pinByCfg(23);
s.sck___107373 = (r0);
r0 = pxsim.pins.createSPI(s.mosi___107363, s.miso___107368, s.sck___107373);
globals._spi___106469 = (r0);
case 1:
case 2:
r0 = globals._spi___106469;
return leave(s, r0)
default: oops()
} } }
pins_spi__P106470.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__P106470_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: pins_spi__P106470, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
mosi___107363: undefined,
miso___107368: undefined,
sck___107373: undefined,
} }
function net_Net_constructor__P106651(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__C106646_VT)) failedCast(r0);
r0 = (s.arg0).fields["factory"] = (s.arg1);
globals.net_Net_instance___106652 = (s.arg0);
r0 = (s.arg0).fields["_controller"] = (undefined);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
net_Net_constructor__P106651.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__P106651_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: net_Net_constructor__P106651, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: undefined,
arg1: undefined,
} }
function settings_initScopes__P106547(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___107392 = undefined;
s.tmp_1 = settings_runNumber__P106545_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___107392 = (r0);
s.tmp_0 = settings_writeNumber__P106553_mk(s);
s.tmp_0.arg0 = globals.RUN_KEY___106534;
s.tmp_0.arg1 = s.rn___107392;
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 = pxsim_pxtcore.seedAddRandom(s.rn___107392);
s.tmp_0 = settings_setScope__P106546_mk(s);
r0 = pxsim_pxtcore.programName();