diff --git a/.github/makecode/blocks.png b/.github/makecode/blocks.png index 482fb2e..479691c 100644 Binary files a/.github/makecode/blocks.png and b/.github/makecode/blocks.png differ diff --git a/.github/makecode/blocksdiff.png b/.github/makecode/blocksdiff.png new file mode 100644 index 0000000..c1de5c7 Binary files /dev/null and b/.github/makecode/blocksdiff.png differ diff --git a/main.blocks b/main.blocks index 188fb55..dc9f030 100644 --- a/main.blocks +++ b/main.blocks @@ -1 +1 @@ -Denarycolumn4column128column256column1column16column32column64column8columnscolumnValueslistreadyready0FALSESerialPin.P0SerialPin.P16BaudRate.BaudRate9600columns0000000000Denary01Denaryready0TRUETRUEreadyTRUEANDTRUEEQ0DigitalPin.P11TRUEEQ0columns00101TRUEANDTRUEEQ0DigitalPin.P10TRUEEQ0columns0100-1TRUEANDTRUEEQ0DigitalPin.P21TRUEEQ0columns10112TRUEANDTRUEEQ0DigitalPin.P20TRUEEQ0columns1101-2TRUEANDTRUEEQ0DigitalPin.P31TRUEEQ0columns20124TRUEANDTRUEEQ0DigitalPin.P30TRUEEQ0columns2102-4TRUEANDTRUEEQ0DigitalPin.P41TRUEEQ0columns30138TRUEANDTRUEEQ0DigitalPin.P40TRUEEQ0columns3103-8TRUEANDTRUEEQ0DigitalPin.P61TRUEEQ0columns401416TRUEANDTRUEEQ0DigitalPin.P60TRUEEQ0columns4104-16TRUEANDTRUEEQ0DigitalPin.P71TRUEEQ0columns501532TRUEANDTRUEEQ0DigitalPin.P70TRUEEQ0columns5105-32TRUEANDTRUEEQ0DigitalPin.P81TRUEEQ0columns601664TRUEANDTRUEEQ0DigitalPin.P80TRUEEQ0columns6106-64TRUEANDTRUEEQ0DigitalPin.P91TRUEEQ0columns7017128TRUEANDTRUEEQ0DigitalPin.P90TRUEEQ0columns7107-128TRUEANDTRUEEQ0DigitalPin.P101TRUEEQ0columns8018256TRUEANDTRUEEQ0DigitalPin.P100TRUEEQ0columns8108-256updateNumberflagcolumndifferenceDenary0differencecolumns0columnflag1DenaryDisplaynumber/number \ No newline at end of file +DenarycolumnsreadySerialPin.P0SerialPin.P16BaudRate.BaudRate9600columns0000000000Denary01Denaryready0TRUEupdateNumberflagcolumndifferenceDenary0differencecolumns0columnflag1DenaryDisplaynumber/numberTRUEreadyTRUEANDTRUEEQ0DigitalPin.P11TRUEEQ0columns00101TRUEANDTRUEEQ0DigitalPin.P10TRUEEQ0columns0100-1TRUEANDTRUEEQ0DigitalPin.P21TRUEEQ0columns10112TRUEANDTRUEEQ0DigitalPin.P20TRUEEQ0columns1101-2TRUEANDTRUEEQ0DigitalPin.P31TRUEEQ0columns20124TRUEANDTRUEEQ0DigitalPin.P30TRUEEQ0columns2102-4TRUEANDTRUEEQ0DigitalPin.P41TRUEEQ0columns30138TRUEANDTRUEEQ0DigitalPin.P40TRUEEQ0columns3103-8TRUEANDTRUEEQ0DigitalPin.P61TRUEEQ0columns401416TRUEANDTRUEEQ0DigitalPin.P60TRUEEQ0columns4104-16TRUEANDTRUEEQ0DigitalPin.P71TRUEEQ0columns501532TRUEANDTRUEEQ0DigitalPin.P70TRUEEQ0columns5105-32TRUEANDTRUEEQ0DigitalPin.P81TRUEEQ0columns601664TRUEANDTRUEEQ0DigitalPin.P80TRUEEQ0columns6106-64TRUEANDTRUEEQ0DigitalPin.P91TRUEEQ0columns7017128TRUEANDTRUEEQ0DigitalPin.P90TRUEEQ0columns7107-128TRUEANDTRUEEQ0DigitalPin.P101TRUEEQ0columns8018256TRUEANDTRUEEQ0DigitalPin.P100TRUEEQ0columns8108-256 \ No newline at end of file diff --git a/main.py b/main.py index a7c5141..5338fea 100644 --- a/main.py +++ b/main.py @@ -1,91 +1,55 @@ -def changes2(difference: number, flag: number): +def updateNumber(flag: number, column: number, difference: number): global Denary Denary += difference - Display(Denary) -def changes4(difference: number, flag: number): - global Denary - Denary += difference - column4 = flag - Display(Denary) -def changes128(difference: number, flag: number): - global Denary - Denary += difference - column128 = flag + columns[column] = flag Display(Denary) def Display(number: number): serial.write_string("/") serial.write_number(number) -def changes256(difference: number, flag: number): - global Denary - Denary += difference - column256 = flag - Display(Denary) -def changes1(difference: number, flag: number): - global Denary - Denary += difference - column1 = flag - Display(Denary) -def changes16(difference: number, flag: number): - global Denary - Denary += difference - column16 = flag - Display(Denary) -def changes32(difference: number, flag: number): - global Denary - Denary += difference - column32 = flag - Display(Denary) -def changes64(difference: number, flag: number): - global Denary - Denary += difference - column64 = flag - Display(Denary) -def changes8(difference: number, flag: number): - global Denary - Denary += difference - column8 = flag - Display(Denary) Denary = 0 +columns: List[number] = [] serial.redirect(SerialPin.P0, SerialPin.P16, BaudRate.BAUD_RATE9600) columns = [0, 0, 0, 0, 0, 0, 0, 0, 0] Denary = 0 Display(Denary) +ready = True def on_forever(): - if pins.digital_read_pin(DigitalPin.P1) == 1 and columns[0] == 0: - changes1(1, 1) - elif pins.digital_read_pin(DigitalPin.P1) == 0 and columns[0] == 1: - changes1(-1, 0) - elif pins.digital_read_pin(DigitalPin.P2) == 1 and columns[1] == 0: - changes2(2, 1) - elif pins.digital_read_pin(DigitalPin.P2) == 0 and columns[1] == 1: - changes2(-2, 0) - elif pins.digital_read_pin(DigitalPin.P3) == 1 and columns[2] == 0: - changes4(4, 1) - elif pins.digital_read_pin(DigitalPin.P3) == 0 and columns[2] == 1: - changes4(-4, 0) - elif pins.digital_read_pin(DigitalPin.P4) == 1 and columns[3] == 0: - changes8(8, 1) - elif pins.digital_read_pin(DigitalPin.P4) == 0 and columns[3] == 1: - changes8(-8, 0) - elif pins.digital_read_pin(DigitalPin.P6) == 1 and columns[4] == 0: - changes16(16, 1) - elif pins.digital_read_pin(DigitalPin.P6) == 0 and columns[4] == 1: - changes16(-16, 0) - elif pins.digital_read_pin(DigitalPin.P7) == 1 and columns[5] == 0: - changes32(32, 1) - elif pins.digital_read_pin(DigitalPin.P7) == 0 and columns[5] == 1: - changes32(-32, 0) - elif pins.digital_read_pin(DigitalPin.P8) == 1 and columns[6] == 0: - changes64(64, 1) - elif pins.digital_read_pin(DigitalPin.P8) == 0 and columns[6] == 1: - changes64(-64, 0) - elif pins.digital_read_pin(DigitalPin.P9) == 1 and columns[7] == 0: - changes128(128, 1) - elif pins.digital_read_pin(DigitalPin.P9) == 0 and columns[7] == 1: - changes128(-128, 0) - elif pins.digital_read_pin(DigitalPin.P10) == 1 and columns[8] == 0: - changes256(256, 1) - elif pins.digital_read_pin(DigitalPin.P10) == 0 and columns[0] == 1: - changes256(-256, 0) + if ready: + if pins.digital_read_pin(DigitalPin.P1) == 1 and columns[0] == 0: + updateNumber(1, 0, 1) + elif pins.digital_read_pin(DigitalPin.P1) == 0 and columns[0] == 1: + updateNumber(0, 0, -1) + elif pins.digital_read_pin(DigitalPin.P2) == 1 and columns[1] == 0: + updateNumber(1, 1, 2) + elif pins.digital_read_pin(DigitalPin.P2) == 0 and columns[1] == 1: + updateNumber(0, 1, -2) + elif pins.digital_read_pin(DigitalPin.P3) == 1 and columns[2] == 0: + updateNumber(1, 2, 4) + elif pins.digital_read_pin(DigitalPin.P3) == 0 and columns[2] == 1: + updateNumber(0, 2, -4) + elif pins.digital_read_pin(DigitalPin.P4) == 1 and columns[3] == 0: + updateNumber(1, 3, 8) + elif pins.digital_read_pin(DigitalPin.P4) == 0 and columns[3] == 1: + updateNumber(0, 3, -8) + elif pins.digital_read_pin(DigitalPin.P6) == 1 and columns[4] == 0: + updateNumber(1, 4, 16) + elif pins.digital_read_pin(DigitalPin.P6) == 0 and columns[4] == 1: + updateNumber(0, 4, -16) + elif pins.digital_read_pin(DigitalPin.P7) == 1 and columns[5] == 0: + updateNumber(1, 5, 32) + elif pins.digital_read_pin(DigitalPin.P7) == 0 and columns[5] == 1: + updateNumber(0, 5, -32) + elif pins.digital_read_pin(DigitalPin.P8) == 1 and columns[6] == 0: + updateNumber(1, 6, 64) + elif pins.digital_read_pin(DigitalPin.P8) == 0 and columns[6] == 1: + updateNumber(0, 6, -64) + elif pins.digital_read_pin(DigitalPin.P9) == 1 and columns[7] == 0: + updateNumber(1, 7, 128) + elif pins.digital_read_pin(DigitalPin.P9) == 0 and columns[7] == 1: + updateNumber(0, 7, -128) + elif pins.digital_read_pin(DigitalPin.P10) == 1 and columns[8] == 0: + updateNumber(1, 8, 256) + elif pins.digital_read_pin(DigitalPin.P10) == 0 and columns[8] == 1: + updateNumber(0, 8, -256) basic.forever(on_forever) diff --git a/main.ts b/main.ts index f819b30..f6a34fa 100644 --- a/main.ts +++ b/main.ts @@ -1,25 +1,23 @@ -function updateNumber (flag: number, column: number, difference: number) { +function updateNumber(flag: number, column: number, difference: number) { + Denary += difference columns[column] = flag Display(Denary) } -function Display (number: number) { + +function Display(number: number) { serial.writeString("/") serial.writeNumber(number) } + let Denary = 0 -let columns: number[] = [] -let ready = false -serial.redirect( -SerialPin.P0, -SerialPin.P16, -BaudRate.BaudRate9600 -) +let columns : number[] = [] +serial.redirect(SerialPin.P0, SerialPin.P16, BaudRate.BaudRate9600) columns = [0, 0, 0, 0, 0, 0, 0, 0, 0] Denary = 0 Display(Denary) -ready = true -basic.forever(function () { +let ready = true +basic.forever(function on_forever() { if (ready) { if (pins.digitalReadPin(DigitalPin.P1) == 1 && columns[0] == 0) { updateNumber(1, 0, 1) @@ -58,5 +56,7 @@ basic.forever(function () { } else if (pins.digitalReadPin(DigitalPin.P10) == 0 && columns[8] == 1) { updateNumber(0, 8, -256) } + } + }) diff --git a/pxt.json b/pxt.json index 0792477..f3f00b5 100644 --- a/pxt.json +++ b/pxt.json @@ -3,7 +3,6 @@ "description": "", "dependencies": { "core": "*", - "radio": "*", "microphone": "*" }, "files": [ @@ -12,11 +11,9 @@ "README.md", "main.py" ], - "testFiles": [ - "test.ts" - ], + "testFiles": [], "supportedTargets": [ "microbit" ], - "preferredEditor": "blocksprj" + "preferredEditor": "pyprj" }