merging microbit changes
This commit is contained in:
		@@ -11,7 +11,7 @@ namespace pxsim.input {
 | 
			
		||||
        if (!pin) return;
 | 
			
		||||
        pin.isTouched();
 | 
			
		||||
        pxtcore.registerWithDal(pin.id, DAL.MICROBIT_BUTTON_EVT_UP, handler);
 | 
			
		||||
     }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    export function pinIsPressed(pinId: number): boolean {
 | 
			
		||||
        let pin = getPin(pinId);
 | 
			
		||||
@@ -73,7 +73,11 @@ namespace pxsim.pins {
 | 
			
		||||
 | 
			
		||||
    export function servoWritePin(pinId: number, value: number) {
 | 
			
		||||
        analogSetPeriod(pinId, 20000);
 | 
			
		||||
        // TODO
 | 
			
		||||
        // TODO: per pin state
 | 
			
		||||
        if (board().microServoState.angle != value) {
 | 
			
		||||
            board().microServoState.angle = value;
 | 
			
		||||
            runtime.queueDisplayUpdate();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    export function servoSetPulse(pinId: number, micros: number) {
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,7 @@ namespace pxsim {
 | 
			
		||||
        brigthness = 255;
 | 
			
		||||
        displayMode = DisplayMode.bw;
 | 
			
		||||
        font: Image = createFont();
 | 
			
		||||
        disabled: boolean;
 | 
			
		||||
 | 
			
		||||
        animationQ: AnimationQueue;
 | 
			
		||||
 | 
			
		||||
@@ -284,4 +285,8 @@ namespace pxsim.led {
 | 
			
		||||
        board().ledMatrixState.image.copyTo(0, 5, img, 0);
 | 
			
		||||
        return img;
 | 
			
		||||
    }
 | 
			
		||||
    export function enable(on: boolean) {
 | 
			
		||||
        board().ledMatrixState.disabled = !on;
 | 
			
		||||
        runtime.queueDisplayUpdate();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -138,21 +138,13 @@ namespace pxsim.radio {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    export function writeValueToSerial(): void {
 | 
			
		||||
        let b = board();
 | 
			
		||||
        let p = b.radioState.bus.datagram.recv();
 | 
			
		||||
        const b = board();
 | 
			
		||||
        writePacketToSerial(b, b.radioState.bus.datagram.recv())
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
        switch(p.payload.type) {
 | 
			
		||||
            case PacketPayloadType.NUMBER:
 | 
			
		||||
                b.writeSerial(`{"t":${p.time},"s":${p.serial},"v":${p.payload.numberData}}`)
 | 
			
		||||
                break;
 | 
			
		||||
            case PacketPayloadType.VALUE:
 | 
			
		||||
                b.writeSerial(`{"t":${p.time},"s":${p.serial},"n":"${p.payload.stringData}","v":${p.payload.numberData}}`)
 | 
			
		||||
                break;
 | 
			
		||||
            case PacketPayloadType.STRING:
 | 
			
		||||
                b.writeSerial(`{"t":${p.time},"s":${p.serial},"n":"${p.payload.stringData}"}`)
 | 
			
		||||
                break;
 | 
			
		||||
            default:
 | 
			
		||||
        }
 | 
			
		||||
    export function writeReceivedPacketToSerial(): void {
 | 
			
		||||
        const b = board();
 | 
			
		||||
        writePacketToSerial(b, b.radioState.bus.datagram.lastReceived);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    export function sendValue(name: string, value: number) {
 | 
			
		||||
@@ -200,4 +192,19 @@ namespace pxsim.radio {
 | 
			
		||||
    export function receivedTime(): number {
 | 
			
		||||
        return board().radioState.bus.datagram.lastReceived.time;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function writePacketToSerial(b: DalBoard, p: PacketBuffer) {
 | 
			
		||||
        switch(p.payload.type) {
 | 
			
		||||
            case PacketPayloadType.NUMBER:
 | 
			
		||||
                b.writeSerial(`{"t":${p.time},"s":${p.serial},"v":${p.payload.numberData}}\r\n`)
 | 
			
		||||
                break;
 | 
			
		||||
            case PacketPayloadType.VALUE:
 | 
			
		||||
                b.writeSerial(`{"t":${p.time},"s":${p.serial},"n":"${p.payload.stringData}","v":${p.payload.numberData}}\r\n`)
 | 
			
		||||
                break;
 | 
			
		||||
            case PacketPayloadType.STRING:
 | 
			
		||||
                b.writeSerial(`{"t":${p.time},"s":${p.serial},"n":"${p.payload.stringData}"}\r\n`)
 | 
			
		||||
                break;
 | 
			
		||||
            default:
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user