From 400b9269eec18ad0dbb8614d99e684a9e8e13750 Mon Sep 17 00:00:00 2001 From: Michal Moskal Date: Fri, 1 Apr 2016 15:44:04 -0700 Subject: [PATCH] Use the new enums --- sim/enums.ts | 99 ----------------------------------------- sim/libmbit.ts | 26 ++++------- sim/simsvg.ts | 12 ++--- sim/state.ts | 117 ++++++++++++++++++++++++------------------------- 4 files changed, 70 insertions(+), 184 deletions(-) delete mode 100644 sim/enums.ts diff --git a/sim/enums.ts b/sim/enums.ts deleted file mode 100644 index e4a98a63..00000000 --- a/sim/enums.ts +++ /dev/null @@ -1,99 +0,0 @@ -namespace ks.rt.micro_bit { - export interface Enums { - MES_ALERT_EVT_ALARM1: number; - MES_ALERT_EVT_ALARM2: number; - MES_ALERT_EVT_ALARM3: number; - MES_ALERT_EVT_ALARM4: number; - MES_ALERT_EVT_ALARM5: number; - MES_ALERT_EVT_ALARM6: number; - MES_ALERT_EVT_DISPLAY_TOAST: number; - MES_ALERT_EVT_FIND_MY_PHONE: number; - MES_ALERT_EVT_PLAY_RINGTONE: number; - MES_ALERT_EVT_PLAY_SOUND: number; - MES_ALERT_EVT_VIBRATE: number; - MES_CAMERA_EVT_LAUNCH_PHOTO_MODE: number; - MES_CAMERA_EVT_LAUNCH_VIDEO_MODE: number; - MES_CAMERA_EVT_START_VIDEO_CAPTURE: number; - MES_CAMERA_EVT_STOP_PHOTO_MODE: number; - MES_CAMERA_EVT_STOP_VIDEO_CAPTURE: number; - MES_CAMERA_EVT_STOP_VIDEO_MODE: number; - MES_CAMERA_EVT_TAKE_PHOTO: number; - MES_CAMERA_EVT_TOGGLE_FRONT_REAR: number; - MES_DEVICE_DISPLAY_OFF: number; - MES_DEVICE_DISPLAY_ON: number; - MES_DEVICE_GESTURE_DEVICE_SHAKEN: number; - MES_DEVICE_INCOMING_CALL: number; - MES_DEVICE_INCOMING_MESSAGE: number; - MES_DEVICE_ORIENTATION_LANDSCAPE: number; - MES_DEVICE_ORIENTATION_PORTRAIT: number; - MES_DPAD_BUTTON_1_DOWN: number; - MES_DPAD_BUTTON_1_UP: number; - MES_DPAD_BUTTON_2_DOWN: number; - MES_DPAD_BUTTON_2_UP: number; - MES_DPAD_BUTTON_3_DOWN: number; - MES_DPAD_BUTTON_3_UP: number; - MES_DPAD_BUTTON_4_DOWN: number; - MES_DPAD_BUTTON_4_UP: number; - MES_DPAD_BUTTON_A_DOWN: number; - MES_DPAD_BUTTON_A_UP: number; - MES_DPAD_BUTTON_B_DOWN: number; - MES_DPAD_BUTTON_B_UP: number; - MES_DPAD_BUTTON_C_DOWN: number; - MES_DPAD_BUTTON_C_UP: number; - MES_DPAD_BUTTON_D_DOWN: number; - MES_DPAD_BUTTON_D_UP: number; - MES_REMOTE_CONTROL_EVT_FORWARD: number; - MES_REMOTE_CONTROL_EVT_NEXTTRACK: number; - MES_REMOTE_CONTROL_EVT_PAUSE: number; - MES_REMOTE_CONTROL_EVT_PLAY: number; - MES_REMOTE_CONTROL_EVT_PREVTRACK: number; - MES_REMOTE_CONTROL_EVT_REWIND: number; - MES_REMOTE_CONTROL_EVT_STOP: number; - MES_REMOTE_CONTROL_EVT_VOLUMEDOWN: number; - MES_REMOTE_CONTROL_EVT_VOLUMEUP: number; - MICROBIT_ID_BUTTON_A: number; - MICROBIT_ID_BUTTON_B: number; - MICROBIT_ID_BUTTON_AB: number; - MICROBIT_BUTTON_EVT_CLICK: number; - MICROBIT_ID_IO_P0: number; - MICROBIT_ID_IO_P1: number; - MICROBIT_ID_IO_P2: number; - MICROBIT_ID_IO_P3: number; - MICROBIT_ID_IO_P4: number; - MICROBIT_ID_IO_P5: number; - MICROBIT_ID_IO_P6: number; - MICROBIT_ID_IO_P7: number; - MICROBIT_ID_IO_P8: number; - MICROBIT_ID_IO_P9: number; - MICROBIT_ID_IO_P10: number; - MICROBIT_ID_IO_P11: number; - MICROBIT_ID_IO_P12: number; - MICROBIT_ID_IO_P13: number; - MICROBIT_ID_IO_P14: number; - MICROBIT_ID_IO_P15: number; - MICROBIT_ID_IO_P16: number; - MICROBIT_ID_IO_P19: number; - MICROBIT_ID_IO_P20: number; - MES_BROADCAST_GENERAL_ID: number; - MICROBIT_ID_RADIO: number; - MICROBIT_RADIO_EVT_DATAGRAM: number; - MICROBIT_ID_GESTURE: number; - MICROBIT_ACCELEROMETER_REST_TOLERANCE: number; - MICROBIT_ACCELEROMETER_TILT_TOLERANCE: number; - MICROBIT_ACCELEROMETER_FREEFALL_TOLERANCE: number; - MICROBIT_ACCELEROMETER_SHAKE_TOLERANCE: number; - MICROBIT_ACCELEROMETER_3G_TOLERANCE: number; - MICROBIT_ACCELEROMETER_6G_TOLERANCE: number; - MICROBIT_ACCELEROMETER_8G_TOLERANCE: number; - MICROBIT_ACCELEROMETER_GESTURE_DAMPING: number; - MICROBIT_ACCELEROMETER_SHAKE_DAMPING: number; - MICROBIT_ACCELEROMETER_REST_THRESHOLD: number; - MICROBIT_ACCELEROMETER_FREEFALL_THRESHOLD: number; - MICROBIT_ACCELEROMETER_3G_THRESHOLD: number; - MICROBIT_ACCELEROMETER_6G_THRESHOLD: number; - MICROBIT_ACCELEROMETER_8G_THRESHOLD: number; - MICROBIT_ACCELEROMETER_SHAKE_COUNT_THRESHOLD: number; - MICROBIT_ACCELEROMETER_EVT_DATA_UPDATE: number; - MICROBIT_ID_ACCELEROMETER: number; - } -} \ No newline at end of file diff --git a/sim/libmbit.ts b/sim/libmbit.ts index ab2cb9b5..17554538 100644 --- a/sim/libmbit.ts +++ b/sim/libmbit.ts @@ -1,5 +1,6 @@ /// /// +/// namespace ks.rt.micro_bit { export function initCurrentRuntime() { @@ -13,10 +14,6 @@ namespace ks.rt.micro_bit { return runtime.board as Board } - export function enums() { - return runtime.enums as any as Enums - } - export interface AnimationOptions { interval: number; // false means last frame @@ -137,30 +134,27 @@ namespace ks.rt.micro_bit { /* input */ export function onButtonPressed(button: number, handler: RefAction): void { - let ens = enums(); let b = board(); - if (button == ens.MICROBIT_ID_BUTTON_AB && !board().usesButtonAB) { + if (button == DAL.MICROBIT_ID_BUTTON_AB && !board().usesButtonAB) { b.usesButtonAB = true; runtime.queueDisplayUpdate(); } - b.bus.listen(button, ens.MICROBIT_BUTTON_EVT_CLICK, handler); + b.bus.listen(button, DAL.MICROBIT_BUTTON_EVT_CLICK, handler); } export function isButtonPressed(button: number): boolean { - let ens = enums(); let b = board(); - if (button == ens.MICROBIT_ID_BUTTON_AB && !board().usesButtonAB) { + if (button == DAL.MICROBIT_ID_BUTTON_AB && !board().usesButtonAB) { b.usesButtonAB = true; runtime.queueDisplayUpdate(); } let bts = b.buttons; - if (button == ens.MICROBIT_ID_BUTTON_A) return bts[0].pressed; - if (button == ens.MICROBIT_ID_BUTTON_B) return bts[1].pressed; + if (button == DAL.MICROBIT_ID_BUTTON_A) return bts[0].pressed; + if (button == DAL.MICROBIT_ID_BUTTON_B) return bts[1].pressed; return bts[2].pressed || (bts[0].pressed && bts[1].pressed); } export function onGesture(gesture: number, handler: RefAction) { - let ens = enums(); let b = board(); b.accelerometer.activate(); @@ -168,7 +162,7 @@ namespace ks.rt.micro_bit { b.useShake = true; runtime.queueDisplayUpdate(); } - b.bus.listen(ens.MICROBIT_ID_GESTURE, gesture, handler); + b.bus.listen(DAL.MICROBIT_ID_GESTURE, gesture, handler); } export function onPinPressed(pin: Pin, handler: RefAction) { @@ -382,8 +376,7 @@ namespace ks.rt.micro_bit { } export function onBroadcastMessageReceived(msg: number, handler: RefAction): void { - let ens = enums() - board().bus.listen(ens.MES_BROADCAST_GENERAL_ID, msg, handler); + board().bus.listen(DAL.MES_BROADCAST_GENERAL_ID, msg, handler); } export function setGroup(id: number): void { @@ -411,8 +404,7 @@ namespace ks.rt.micro_bit { } export function onDatagramReceived(handler: RefAction): void { - let ens = enums(); - board().bus.listen(ens.MICROBIT_ID_RADIO, ens.MICROBIT_RADIO_EVT_DATAGRAM, handler); + board().bus.listen(DAL.MICROBIT_ID_RADIO, DAL.MICROBIT_RADIO_EVT_DATAGRAM, handler); } } diff --git a/sim/simsvg.ts b/sim/simsvg.ts index 03314b88..220136a0 100644 --- a/sim/simsvg.ts +++ b/sim/simsvg.ts @@ -261,8 +261,7 @@ namespace ks.rt.micro_bit { this.shakeButton.addEventListener("mouseup", ev => { let state = this.board; Svg.fill(this.shakeButton, this.props.theme.virtualButtonUp); - let ens = enums(); - this.board.bus.queue(ens.MICROBIT_ID_GESTURE, 11); // GESTURE_SHAKE + this.board.bus.queue(DAL.MICROBIT_ID_GESTURE, 11); // GESTURE_SHAKE }) this.shakeText = Svg.child(this.g, "text", {x:400, y:110, class:'sim-text'}) as SVGTextElement; this.shakeText.textContent = "SHAKE" @@ -784,8 +783,7 @@ svg.sim.grayscale { let state = this.board; state.pins[index].touched = false; this.updatePin(state.pins[index], index); - let ens = enums(); - this.board.bus.queue(state.pins[index].id, ens.MICROBIT_BUTTON_EVT_CLICK); + this.board.bus.queue(state.pins[index].id, DAL.MICROBIT_BUTTON_EVT_CLICK); }) }) this.buttonsOuter.slice(0,2).forEach((btn, index) => { @@ -804,8 +802,7 @@ svg.sim.grayscale { state.buttons[index].pressed = false; Svg.fill(this.buttons[index], this.props.theme.buttonUp); - let ens = enums(); - this.board.bus.queue(state.buttons[index].id, ens.MICROBIT_BUTTON_EVT_CLICK); + this.board.bus.queue(state.buttons[index].id, DAL.MICROBIT_BUTTON_EVT_CLICK); }) }) this.buttonsOuter[2].addEventListener("mousedown", ev => { @@ -835,8 +832,7 @@ svg.sim.grayscale { Svg.fill(this.buttons[1], this.props.theme.buttonUp); Svg.fill(this.buttons[2], this.props.theme.virtualButtonUp); - let ens = enums(); - this.board.bus.queue(state.buttons[2].id, ens.MICROBIT_BUTTON_EVT_CLICK); + this.board.bus.queue(state.buttons[2].id, DAL.MICROBIT_BUTTON_EVT_CLICK); }) } } diff --git a/sim/state.ts b/sim/state.ts index 0ca1aef6..fc877c4c 100644 --- a/sim/state.ts +++ b/sim/state.ts @@ -73,8 +73,7 @@ namespace ks.rt.micro_bit { queue(packet: PacketBuffer) { if (this.datagram.length < 5) { this.datagram.push(packet); - let ens = enums(); - (runtime.board).bus.queue(ens.MICROBIT_ID_RADIO, ens.MICROBIT_RADIO_EVT_DATAGRAM); + (runtime.board).bus.queue(DAL.MICROBIT_ID_RADIO, DAL.MICROBIT_RADIO_EVT_DATAGRAM); } } @@ -114,10 +113,9 @@ namespace ks.rt.micro_bit { } broadcast(msg: number) { - let ens = enums(); Runtime.postMessage({ type: 'eventbus', - id: ens.MES_BROADCAST_GENERAL_ID, + id: DAL.MES_BROADCAST_GENERAL_ID, eventid: msg, power: this.power, group: this.groupId @@ -197,21 +195,21 @@ namespace ks.rt.micro_bit { private currentGesture: BasicGesture = BasicGesture.GESTURE_NONE; // the instantaneous, unfiltered gesture detected. private sample: AccelerometerSample = { x: 0, y: 0, z: -1023 } private shake: ShakeHistory = { x: false, y: false, z: false, count: 0, shaken: 0, timer: 0 }; // State information needed to detect shake events. - private pitch:number; - private roll:number; + private pitch: number; + private roll: number; private id: number; public isActive = false; public sampleRange = 2; constructor(public runtime: Runtime) { - this.id = (runtime.enums).MICROBIT_ID_ACCELEROMETER; + this.id = DAL.MICROBIT_ID_ACCELEROMETER; } - - public setSampleRange(range : number) { + + public setSampleRange(range: number) { this.activate(); this.sampleRange = Math.max(1, Math.min(8, range)); } - + public activate() { if (!this.isActive) { this.isActive = true; @@ -223,7 +221,7 @@ namespace ks.rt.micro_bit { * Reads the acceleration data from the accelerometer, and stores it in our buffer. * This is called by the tick() member function, if the interrupt is set! */ - public update(x : number, y : number, z : number) { + public update(x: number, y: number, z: number) { // read MSB values... this.sample.x = Math.floor(x); this.sample.y = Math.floor(y); @@ -233,7 +231,7 @@ namespace ks.rt.micro_bit { this.updateGesture(); // Indicate that a new sample is available - board().bus.queue(this.id, enums().MICROBIT_ACCELEROMETER_EVT_DATA_UPDATE) + board().bus.queue(this.id, DAL.MICROBIT_ACCELEROMETER_EVT_DATA_UPDATE) } public instantaneousAccelerationSquared() { @@ -248,7 +246,6 @@ namespace ks.rt.micro_bit { * @return A best guess of the current posture of the device, based on instantaneous data. */ private instantaneousPosture(): BasicGesture { - let ens = enums() let force = this.instantaneousAccelerationSquared(); let shakeDetected = false; @@ -258,25 +255,25 @@ namespace ks.rt.micro_bit { // // If we see enough zero crossings in succession (MICROBIT_ACCELEROMETER_SHAKE_COUNT_THRESHOLD), then we decide that the device // has been shaken. - if ((this.getX() < -ens.MICROBIT_ACCELEROMETER_SHAKE_TOLERANCE && this.shake.x) || (this.getX() > ens.MICROBIT_ACCELEROMETER_SHAKE_TOLERANCE && !this.shake.x)) { + if ((this.getX() < -DAL.MICROBIT_ACCELEROMETER_SHAKE_TOLERANCE && this.shake.x) || (this.getX() > DAL.MICROBIT_ACCELEROMETER_SHAKE_TOLERANCE && !this.shake.x)) { shakeDetected = true; this.shake.x = !this.shake.x; } - if ((this.getY() < -ens.MICROBIT_ACCELEROMETER_SHAKE_TOLERANCE && this.shake.y) || (this.getY() > ens.MICROBIT_ACCELEROMETER_SHAKE_TOLERANCE && !this.shake.y)) { + if ((this.getY() < -DAL.MICROBIT_ACCELEROMETER_SHAKE_TOLERANCE && this.shake.y) || (this.getY() > DAL.MICROBIT_ACCELEROMETER_SHAKE_TOLERANCE && !this.shake.y)) { shakeDetected = true; this.shake.y = !this.shake.y; } - if ((this.getZ() < -ens.MICROBIT_ACCELEROMETER_SHAKE_TOLERANCE && this.shake.z) || (this.getZ() > ens.MICROBIT_ACCELEROMETER_SHAKE_TOLERANCE && !this.shake.z)) { + if ((this.getZ() < -DAL.MICROBIT_ACCELEROMETER_SHAKE_TOLERANCE && this.shake.z) || (this.getZ() > DAL.MICROBIT_ACCELEROMETER_SHAKE_TOLERANCE && !this.shake.z)) { shakeDetected = true; this.shake.z = !this.shake.z; } - if (shakeDetected && this.shake.count < ens.MICROBIT_ACCELEROMETER_SHAKE_COUNT_THRESHOLD && ++this.shake.count == ens.MICROBIT_ACCELEROMETER_SHAKE_COUNT_THRESHOLD) + if (shakeDetected && this.shake.count < DAL.MICROBIT_ACCELEROMETER_SHAKE_COUNT_THRESHOLD && ++this.shake.count == DAL.MICROBIT_ACCELEROMETER_SHAKE_COUNT_THRESHOLD) this.shake.shaken = 1; - if (++this.shake.timer >= ens.MICROBIT_ACCELEROMETER_SHAKE_DAMPING) { + if (++this.shake.timer >= DAL.MICROBIT_ACCELEROMETER_SHAKE_DAMPING) { this.shake.timer = 0; if (this.shake.count > 0) { if (--this.shake.count == 0) @@ -287,48 +284,49 @@ namespace ks.rt.micro_bit { if (this.shake.shaken) return BasicGesture.GESTURE_SHAKE; - if (force < ens.MICROBIT_ACCELEROMETER_FREEFALL_THRESHOLD) + let sq = (n: number) => n * n + + if (force < sq(DAL.MICROBIT_ACCELEROMETER_FREEFALL_TOLERANCE)) return BasicGesture.GESTURE_FREEFALL; - if (force > ens.MICROBIT_ACCELEROMETER_3G_THRESHOLD) + if (force > sq(DAL.MICROBIT_ACCELEROMETER_3G_TOLERANCE)) return BasicGesture.GESTURE_3G; - if (force > ens.MICROBIT_ACCELEROMETER_6G_THRESHOLD) + if (force > sq(DAL.MICROBIT_ACCELEROMETER_6G_TOLERANCE)) return BasicGesture.GESTURE_6G; - if (force > ens.MICROBIT_ACCELEROMETER_8G_THRESHOLD) + if (force > sq(DAL.MICROBIT_ACCELEROMETER_8G_TOLERANCE)) return BasicGesture.GESTURE_8G; // Determine our posture. - if (this.getX() < (-1000 + ens.MICROBIT_ACCELEROMETER_TILT_TOLERANCE)) + if (this.getX() < (-1000 + DAL.MICROBIT_ACCELEROMETER_TILT_TOLERANCE)) return BasicGesture.GESTURE_LEFT; - if (this.getX() > (1000 - ens.MICROBIT_ACCELEROMETER_TILT_TOLERANCE)) + if (this.getX() > (1000 - DAL.MICROBIT_ACCELEROMETER_TILT_TOLERANCE)) return BasicGesture.GESTURE_RIGHT; - if (this.getY() < (-1000 + ens.MICROBIT_ACCELEROMETER_TILT_TOLERANCE)) + if (this.getY() < (-1000 + DAL.MICROBIT_ACCELEROMETER_TILT_TOLERANCE)) return BasicGesture.GESTURE_DOWN; - if (this.getY() > (1000 - ens.MICROBIT_ACCELEROMETER_TILT_TOLERANCE)) + if (this.getY() > (1000 - DAL.MICROBIT_ACCELEROMETER_TILT_TOLERANCE)) return BasicGesture.GESTURE_UP; - if (this.getZ() < (-1000 + ens.MICROBIT_ACCELEROMETER_TILT_TOLERANCE)) + if (this.getZ() < (-1000 + DAL.MICROBIT_ACCELEROMETER_TILT_TOLERANCE)) return BasicGesture.GESTURE_FACE_UP; - if (this.getZ() > (1000 - ens.MICROBIT_ACCELEROMETER_TILT_TOLERANCE)) + if (this.getZ() > (1000 - DAL.MICROBIT_ACCELEROMETER_TILT_TOLERANCE)) return BasicGesture.GESTURE_FACE_DOWN; return BasicGesture.GESTURE_NONE; } updateGesture() { - let ens = enums() // Determine what it looks like we're doing based on the latest sample... let g = this.instantaneousPosture(); // Perform some low pass filtering to reduce jitter from any detected effects if (g == this.currentGesture) { - if (this.sigma < ens.MICROBIT_ACCELEROMETER_GESTURE_DAMPING) + if (this.sigma < DAL.MICROBIT_ACCELEROMETER_GESTURE_DAMPING) this.sigma++; } else { @@ -337,9 +335,9 @@ namespace ks.rt.micro_bit { } // If we've reached threshold, update our record and raise the relevant event... - if (this.currentGesture != this.lastGesture && this.sigma >= ens.MICROBIT_ACCELEROMETER_GESTURE_DAMPING) { + if (this.currentGesture != this.lastGesture && this.sigma >= DAL.MICROBIT_ACCELEROMETER_GESTURE_DAMPING) { this.lastGesture = this.currentGesture; - board().bus.queue(ens.MICROBIT_ID_GESTURE, this.lastGesture); + board().bus.queue(DAL.MICROBIT_ID_GESTURE, this.lastGesture); } } @@ -354,7 +352,7 @@ namespace ks.rt.micro_bit { * uBit.accelerometer.getX(RAW); * @endcode */ - public getX(system : MicroBitCoordinateSystem = MicroBitCoordinateSystem.SIMPLE_CARTESIAN): number { + public getX(system: MicroBitCoordinateSystem = MicroBitCoordinateSystem.SIMPLE_CARTESIAN): number { this.activate(); switch (system) { case MicroBitCoordinateSystem.SIMPLE_CARTESIAN: @@ -379,7 +377,7 @@ namespace ks.rt.micro_bit { * uBit.accelerometer.getY(RAW); * @endcode */ - public getY(system : MicroBitCoordinateSystem = MicroBitCoordinateSystem.SIMPLE_CARTESIAN): number { + public getY(system: MicroBitCoordinateSystem = MicroBitCoordinateSystem.SIMPLE_CARTESIAN): number { this.activate(); switch (system) { case MicroBitCoordinateSystem.SIMPLE_CARTESIAN: @@ -404,7 +402,7 @@ namespace ks.rt.micro_bit { * uBit.accelerometer.getZ(RAW); * @endcode */ - public getZ(system : MicroBitCoordinateSystem = MicroBitCoordinateSystem.SIMPLE_CARTESIAN): number { + public getZ(system: MicroBitCoordinateSystem = MicroBitCoordinateSystem.SIMPLE_CARTESIAN): number { this.activate(); switch (system) { case MicroBitCoordinateSystem.NORTH_EAST_DOWN: @@ -430,7 +428,7 @@ namespace ks.rt.micro_bit { return Math.floor((360 * this.getPitchRadians()) / (2 * Math.PI)); } - getPitchRadians() : number { + getPitchRadians(): number { this.recalculatePitchRoll(); return this.pitch; } @@ -510,7 +508,7 @@ namespace ks.rt.micro_bit { serialIn: string[] = []; // sensors - accelerometer : Accelerometer; + accelerometer: Accelerometer; // gestures useShake = false; @@ -533,34 +531,33 @@ namespace ks.rt.micro_bit { this.bus = new EventBus(runtime); this.radio = new RadioBus(runtime); this.accelerometer = new Accelerometer(runtime); - let ens = enums(); this.buttons = [ - new Button(ens.MICROBIT_ID_BUTTON_A), - new Button(ens.MICROBIT_ID_BUTTON_B), - new Button(ens.MICROBIT_ID_BUTTON_AB) + new Button(DAL.MICROBIT_ID_BUTTON_A), + new Button(DAL.MICROBIT_ID_BUTTON_B), + new Button(DAL.MICROBIT_ID_BUTTON_AB) ]; this.pins = [ - new Pin(ens.MICROBIT_ID_IO_P0), - new Pin(ens.MICROBIT_ID_IO_P1), - new Pin(ens.MICROBIT_ID_IO_P2), - new Pin(ens.MICROBIT_ID_IO_P3), - new Pin(ens.MICROBIT_ID_IO_P4), - new Pin(ens.MICROBIT_ID_IO_P5), - new Pin(ens.MICROBIT_ID_IO_P6), - new Pin(ens.MICROBIT_ID_IO_P7), - new Pin(ens.MICROBIT_ID_IO_P8), - new Pin(ens.MICROBIT_ID_IO_P9), - new Pin(ens.MICROBIT_ID_IO_P10), - new Pin(ens.MICROBIT_ID_IO_P11), - new Pin(ens.MICROBIT_ID_IO_P12), - new Pin(ens.MICROBIT_ID_IO_P13), - new Pin(ens.MICROBIT_ID_IO_P14), - new Pin(ens.MICROBIT_ID_IO_P15), - new Pin(ens.MICROBIT_ID_IO_P16), + new Pin(DAL.MICROBIT_ID_IO_P0), + new Pin(DAL.MICROBIT_ID_IO_P1), + new Pin(DAL.MICROBIT_ID_IO_P2), + new Pin(DAL.MICROBIT_ID_IO_P3), + new Pin(DAL.MICROBIT_ID_IO_P4), + new Pin(DAL.MICROBIT_ID_IO_P5), + new Pin(DAL.MICROBIT_ID_IO_P6), + new Pin(DAL.MICROBIT_ID_IO_P7), + new Pin(DAL.MICROBIT_ID_IO_P8), + new Pin(DAL.MICROBIT_ID_IO_P9), + new Pin(DAL.MICROBIT_ID_IO_P10), + new Pin(DAL.MICROBIT_ID_IO_P11), + new Pin(DAL.MICROBIT_ID_IO_P12), + new Pin(DAL.MICROBIT_ID_IO_P13), + new Pin(DAL.MICROBIT_ID_IO_P14), + new Pin(DAL.MICROBIT_ID_IO_P15), + new Pin(DAL.MICROBIT_ID_IO_P16), null, null, - new Pin(ens.MICROBIT_ID_IO_P19), - new Pin(ens.MICROBIT_ID_IO_P20) + new Pin(DAL.MICROBIT_ID_IO_P19), + new Pin(DAL.MICROBIT_ID_IO_P20) ]; }