constructor()

in sim/dalboard.ts [116:187]


        constructor() {
            super()

            PinName.initPins()

            this._neopixelState = {};
            this.bus.setNotify(DAL.DEVICE_ID_NOTIFY, DAL.DEVICE_ID_NOTIFY_ONE);

            // IDs do matter!
            this.buttonState = new CommonButtonState([
                new CommonButton(45), // A
                new CommonButton(23), // B
            ]);
            //this.builtinParts["lightbulb"] = this.lightBulbState = new LightBulbState();
            this.builtinParts["accelerometer"] = this.accelState = new AccelState();
            this.builtinParts["switch"] = this.slideSwitchState = new SlideSwitchState();
            this.builtinParts["audio"] = this.audioState = new AudioState();
            this.builtinParts["lightsensor"] = this.lightSensorState = new AnalogSensorState(DAL.DEVICE_ID_LIGHT_SENSOR, 0, 255);
            this.builtinParts["thermometer"] = this.thermometerState = new AnalogSensorState(DAL.DEVICE_ID_THERMOMETER, -5, 50);
            this.builtinParts["screen"] = this.screenState = new ScreenState(paletteSrc, 128, 64);

            this.builtinParts["accelerometer"] = this.accelerometerState = new AccelerometerState(runtime);
            this.builtinParts["edgeconnector"] = this.edgeConnectorState = new EdgeConnectorState({
                pins: [
                    /* GHI changed
                        pxsim.PinName.SERVO_1,
                        pxsim.PinName.SERVO_2,
                        pxsim.PinName.SCL,
                        pxsim.PinName.SDA,
                        pxsim.PinName.RX,
                        pxsim.PinName.TX,
                        pxsim.PinName.AN,
                        pxsim.PinName.RST,
                        pxsim.PinName.CS,
                        pxsim.PinName.PWM,
                        pxsim.PinName.INT,                    
                    */
                    pxsim.PinName.P0,
                    pxsim.PinName.P1,
                    pxsim.PinName.P2,
                    pxsim.PinName.P3,
                    pxsim.PinName.P4,
                    pxsim.PinName.P5,
                    pxsim.PinName.P6,
                    pxsim.PinName.P7,
                    pxsim.PinName.P8,
                    pxsim.PinName.P9,
                    pxsim.PinName.P10,
                    pxsim.PinName.P11,
                    pxsim.PinName.P12,
                    pxsim.PinName.P13,
                    pxsim.PinName.P14,
                    pxsim.PinName.P15,
                    pxsim.PinName.P16,
                    pxsim.PinName.SCL,
                    pxsim.PinName.SDA,

                ]
            });
            this.builtinParts["microservo"] = this.edgeConnectorState;
            this.builtinVisuals["microservo"] = () => new visuals.MicroServoView();
            this.builtinPartVisuals["microservo"] = (xy: visuals.Coord) => visuals.mkMicroServoPart(xy);
            this.builtinParts["led"] = this.ledState = new LedState(runtime);

            this.matrixLedState = new Array(25)

            for (let i = 0; i < 25; i++) {
				this.matrixLedState[i] = new LedState(runtime);
            }

            this.builtinParts["matrixLedState"] = this.matrixLedState;
        }