* Fix Black and White Typo (#2138)
* Fixed typo: Back->Black
* Added Upgrade Rules to fix spelling
* Removed extra isEmpty
* Added previous BackAndWhite to allow for compilation of old scripts
* always shake when button is pressed (#2161)
* add PLENbit (#2140)
* Bumping pxt-core to 5.15.5
* 1.4.15
* stop background before foreground (#2174)
* Bumping pxt-core to 5.15.6
* 1.4.16
* Bumping pxt-core to 5.15.7
* 1.4.17
* Bumping pxt-core to 5.15.8
* 1.4.18
* add backgrounds for use with .dmg (#2200)
* add normal size and 2x size backgrounds for dmg
* update arrow color to dark gray
* Bumping pxt-core to 5.15.9
* 1.4.19
* Adding v1-ref.json pointing to 1.2.13
* Bumping microbit to 2.0.0
* 2.0.1
* Pointing beta-ref to v2
* Bumping pxt-core to 5.15.10
* 2.0.2
* this repo is empty (#2201)
* Update radio event parm usage descriptions (#2165)
* add browser db prefix for v2 (#2208)
* 2.0.3
* Releasing 2.0.3 to live (#2209)
* dynamically sniff offline app version (#2059)
* Revert "dynamically sniff offline app version (#2059)" (#2211)
This reverts commit b480b34f7e.
* Updating electron to 2.0.3 (#2210)
* Updating offline reference to 2.0.3 (#2212)
* Bumping version to 2.1.0
* 2.1.1
* Spelling (#2214)
* Update write-received-packet-to-serial.md (#2217)
A support ticket pointed out issues that they'd encountered when trying to follow this document:
- `sendValue` only supports an 8 character string. This is documented in the `sendValue` docs but a longer string had been used here
- Only `radio.onReceivedNumber` is used so the sample output is not consistent with the users experience. I've changed it so that all packets are handled
* Use gcPreAllocateBlock() to fix#2177, #2215 (#2216)
* Use gcPreAllocateBlock() to fix#2177, #2215
* bump pcp 6.9.4
* 2.1.2
* Correct dice example (#2262)
Changed random(6) to random(5) so the number reflect real dice.
* add 4tronix minibit (#2249)
* Update targetconfig.json (#2258)
remove mock-iot-extension as it is just an experimental development by The Foundation
* Update calibrate-compass.md (#2265)
Based on user feedback in Slack https://microbit-community.slack.com/archives/C1ZMKRFHD/p1563274019078400?thread_ts=1563268925.077500&cid=C1ZMKRFHD
* add wukong (#2239)
* Decrease size of GC heap to allow more DAL allocs (#2246)
* 2.1.3
* add Kitronik view text (#2125)
* Release 2.0.6 to live (#2308)
* Update nexus:bit entry (#2315)
* update nexus:bit entry
* update nexus:bit entry
* Logic Lab mini-course (#2307)
* Logic Lab mini-course
* example syntax
* Updating Readme with branch information.
* bump pxt for ios <=9 fix (#2311)
* Update pxt/common-packages and fix build (#2323)
* fix build off of pxt/ and pxt-common-packages master
* check in generated files
* add-pxt-bmp280 (#2325)
* Bumping pxt-core to 5.19.8 & common-packages to 6.14.9
* 2.1.4
* Error codes page update (#2327)
* Start adding new codes
* few tiny edits
* Add more errors and rearrange
* Update docs/device/error-codes.md
Co-Authored-By: Michał Moskal <michal@moskal.me>
* juggle category
* set error range in hint
Co-Authored-By: Michał Moskal <michal@moskal.me>
* Update docs/device/error-codes.md
Co-Authored-By: Mark <mark@microbit.org>
* fix build (#2360)
* fix broken build
* just try the more 'official' fix if possible
* back to the way that actually works..
* bump pxt to include accessibility changes (#2404)
* 2.1.5
* make hc mode sim color have higher contrast (#2409)
* Show project settings (#2401)
* markdown link fix (#2400)
* add HTS221 (#2384)
* Editor controllers fixes (#2412)
* updated strings
* bump pxt
* anotehr attempt
* 2.1.6
* turn on samples when reading accelerometer (#2413)
* 2.1.7
* hide pin p19/p20 (#2268)
* Fix remove life animation causing microbit stuck (#2314)
On the real microbit board, if the program execute other game blocks while
the remove life animation is playing, it would cause strange behavior or
even make the game stuck.
* Port of Programmable Logic lesson for Logic Lab course (#2359)
* port of programmable logic lesson
* trigger rebuild
* express as logical equation in snippet
* go logical for snippet inputs
* emit enum as bitmask (#2414)
* 2.1.8
* add alt attributes to download screens (#2415)
* add alt attributes to download screens, fixesmicrosoft/pxt-microbit#2291
* better descriptions
* fixing links in translate page
* Modify the LED coordinates to be between 0 and 4. (#2416)
Without this change, there is a 11/36 chance no LED lights as [`Math.random(a,b)`](https://docs.python.org/2/library/random.html#random.uniform) (thus the `pick random` block) chooses a number in the (inclusive, closed) interval `[a, b]`.
* Set LED plot row/column ranges for 'Reaction Time' (#2420)
* add LIS2MDL (#2385)
* add LIS2DW12 (#2386)
* add LPS22 (#2387)
* add LSM6DSO (#2388)
* add gator environment (#2326)
* add STTS751 (#2389)
* add inventura extension (#2421)
* add new sparkfun extensions (#2238)
* add new sparkfun extensions
* remove gator environment pending fixes
* add dfplayer mini extension (#2417)
* Update 'servo calibrator' link (#2424)
* I2C Addressing Note (#2428)
* I2C on-board sensor address note
* note for 7bit to 8bit shift
* Add nested summaries for newer courses (#2425)
* bump pxt (#2432)
* bump pxt
* bump
* bump
* fix version
* 2.1.9
* bump package.json (#2433)
* 2.1.10
* bump pxt (#2434)
* 2.1.11
* bump for diff3 (#2435)
* enable experiment
* bump pxt
* 2.1.12
* Add the Stu Lowe coding cards (#2438)
* Add the Stu Lowe coding cards
* Move 'Coding Cards' below 'Hardware'
* Add isDeleted (#2445)
* add xinabox OD01 and breakout display section (#2397)
* add xinabox OD01 and breakout display section
* Update targetconfig.json
* Update extensions.md
* Link to power supply limitations (#2443)
Fixes: #2442
* Pxt v5.23.17 (#2446)
* bump pxt
* regen docs
* fix version syntax
* restore extension
* removed dup
* 2.1.13
* add-sw01 (#2393)
* Locking old issues
* add Keyestudio robot car (#2452)
* Allow globals in reclaimed bluetooth memory (#2455)
* isTouchingEdge() should not return true for deleted sprite (#2449)
* add query variant to hide toolbar (#2458)
* Adding link to stable refs (#2460)
* Update extensions.md (#2456)
Move the :VIEW Text32 from other to Display now there is a display sections
* 2.1.14
* fixing radio stack (#2461)
* fixing radio stack
* updated shims
* 2.1.15
* Stable points to latest 2.0.9 (#2469)
* Releasing 2.0.9 to live (#2470)
* Fixing signal strength (#2474)
* Pointing to 2.0.10
* Releasing 2.0.10 (#2476)
With radio strength signal fix for hot or cold
* Removing old bitbot as we have a new bitbot package (#2479)
* updated pxt (#2465)
* updated pxt
* bump pxt
* updated react
* updated ptx
* Remove empty variable element from XML
* Bump pxt-core to 5.25.15
* bump pxt
* Bump pxt to 5.25.17
* Add precision to music slider
* 2.1.16
* add drive:bit (#2484)
* micro:bit RSSI fix (#2480)
* read rssi from packet
* updated shims
* fix build
* fix help
* move deprecated function to ts
* some formatting
* restore rssi block
* restory notations
* actually copy bytes
* removing logging code
* simpler wake up code
* comment
* fix build
* bump pxt
* go back to safety
* bump microbit
* restor package.json
* revert jquery v
* use macro
* check length
* bump pxt (#2490)
* 2.1.17
* Use default resize function for microbit gesture dropdown (#2491)
* Name Badge project page (#2477)
* Name Bagde project page
* gotta please the summary check
* link typo, ugh
* Revert "Name Badge project page (#2477)"
This reverts commit 2e2860632b.
* add freenove starter kit (#2493)
* radio.setFrequencyBand support (#2495)
* setfrequencyband support
* revert line change
* add bounds check
* Name Badge project page (#2496)
* Name Bagde project page
* gotta please the summary check
* link typo, ugh
* get rid of the pptx
* Simplify the Fahrenheit from Celsius computation. (#2497)
As the micro:bit introduces floating point arithmetic for both the existing `f = 18 * c / 10 + 32` computation and the new `f = 1.8 * c + 32` computation, there isn't any benefit for the former.
* Enable Polish localization (#2499)
* bump package
* 2.1.18
* shrink maintenance gif
* 2.1.19
* Rotary phone dial (#2502)
* some write up
* adding images
* text
* more text
* adding vids
* adding escape room
* remove newer lesson
* remove .mp4
* Card page edits
* adding image
* adding to toys
* rotary edits
* fix typo
* bump pxt 5.28.7 (#2503)
* bump pxt
* bump to pxt 5.28.8
* 2.1.20
* bump pxt 5.28.9 (#2504)
* 2.1.21
* bump pxt 5.28.10
* 2.1.22
* bump pxt 5.28.11
* 2.1.23
* bump pxt 5.28.12
* 2.1.24
* Update README.md
* robot unicorn (#2512)
* robot unicorn
* Edits to the unicorn
* fix missing radio and boardname
* bump pxt 5.28.18 (#2517)
* bump pxt 5.28.18
* updated summary
* 2.1.25
* bump pxt 5.28.21
* 2.1.26
* bump to pxt5.28.23
* 2.1.27
* Add redirect to pins info to serial heading (#2520)
* Add redirect to pins info to serial heading
* adding links
* vump to pxt 5.28.24
* 2.1.28
* bump to pxt 5.28.26
* 2.1.29
* add build instructions
* updated build notes
* bump pxt 5.28.27
* 2.1.30
* missing svg
* remove crowdin project to disable upload from master branch
* reeanble crowdin, no upload
* 2.1.31
* bump pxt common to 6.16.25
* missing radio package
* Fix GC heap reclamation (#2528)
* bump to pxt 5.28.31
* bump pxt 5.28.32
* 2.1.32
* 2.1.33
* fix typo
* pxt-microbit-next? (#2543)
Since the repo https://github.com/microsoft/pxt-microbit-next doesn't exist, I am assuming that the word `next` is not meant to be here.
* Extensions: Add Inksmith Climate Action Kit (#2535)
* Fixes for typos found in Crowdin - 11252019 (#2538)
* Extension: add Kitronik Halo HD (#2541)
* Extension: Add EBOTICS MIBO (#2542)
* add Bright Wearables Brightboard (#2537)
* Docs: Change default value in Javascript. (#2540)
* Change default value in Javascript.
Per @microbit-mark 's suggestion, add an example of how to change the default interval value by switching to Javascript.
* edits to new example
* bump pxt 5.30.6
* 2.1.34
* update git and vscode settings
* revert changes to 2.1.28
* package-lock
* v2.1.34
* Change Hero Image
* add RVR (#2516)
* Extension: add minicruise (#2545)
* Fix minutes display for 'Digital Watch' project (#2547)
* Fix minutes display for 'Digital Watch' project
* minutes less than 10
* bump pxt
* 2.1.35
* updated pxt
* 2.1.36
* package lock
* Tutorial Typo Fix
* bumppxt
* 2.1.37
* update error guide link (#2554)
* adding radio firefly (#2549)
* Update 'Metal Detector' example (#2559)
* bump pxt
* 2.1.38
* typoFix
* Update Pins
* Add C7, C8 and C9 Serial Pins
* Add C7, C8 and C9 Serial Pins
* Pins update
* Add maqueen (#2560)
* Extensions: Add DFRobot Maqueen
* fix
* revert pin C7, C8 and C9
* add extension doc file
* revert pxt bump
* Docs: Extensions remove headliner
* Remove outdated #ifdef (#2564)
* Extensions: add servobit (#2557)
Co-authored-by: Abhijith Chatra <abchatra@microsoft.com>
* bump to pxt 5.31.8, common 6.18.2
* 2.1.39
* enable github editor experiment (#2568)
* Fix missing sim function
* bump to pxt 5.31.10
* 2.1.40
* Modify snippets/examples relying of fp div (#2571)
* Extensions: add DFRobot natural science board (#2574)
* Extensions: add Kitronik clip dtector (#2576)
Co-authored-by: Abhijith Chatra <abchatra@microsoft.com>
Co-authored-by: Chase Mortensen <C_Mortensen@live.com>
Co-authored-by: Joey Wunderlich <jwunderl@users.noreply.github.com>
Co-authored-by: Mark <mark@microbit.org>
Co-authored-by: Abhijith Chatra <abchatra@microsoft.com>
Co-authored-by: Peli de Halleux <pelikhan@users.noreply.github.com>
Co-authored-by: shakao <34112083+shakao@users.noreply.github.com>
Co-authored-by: Galen Nickel <v-gani@microsoft.com>
Co-authored-by: Danny Yates <danny@codeaholics.org>
Co-authored-by: Sam Kent <32453267+microbit-sam@users.noreply.github.com>
Co-authored-by: Michał Moskal <michal@moskal.me>
Co-authored-by: Daryl Zuniga <Daryl.Zuniga@gmail.com>
Co-authored-by: Eric Kimsey <ekimsey@users.noreply.github.com>
Co-authored-by: Richard Knoll <riknoll@users.noreply.github.com>
Co-authored-by: Peter Brodersen <peter@ter.dk>
Co-authored-by: Leo <leo881003@gmail.com>
Co-authored-by: Asher Kach <asher.kach@gmail.com>
Co-authored-by: Franklin Tse <FranklinWhale@users.noreply.github.com>
Co-authored-by: Neal McBurnett <nealmcb@gmail.com>
Co-authored-by: Kitronik Ltd <design@kitronik.co.uk>
Co-authored-by: Helen Leigh <48659173+helenleigh@users.noreply.github.com>
Co-authored-by: Gerard Braad <me@gbraad.nl>
Co-authored-by: Nicole Parrot <cleoqc1124@gmail.com>
* add windows and mac icons for offline app (#2141)
* Don't overwrite electron deploy (#2142)
* remove baud rate as it is not support on HW (#2124)
* add blocks for serial set tx/rx buffer size (#2144)
* support flag argument (#2126)
* support flag argument
* enable drop semantics
* add reentrant
* updated shims
* Bumping pxt-core to 5.15.3
* 1.4.13
* Bumping pxt-core to 5.15.4
* 1.4.14
* bump setgroup on top of radio (#2157)
* bump setgroup on top of radio
* move group up
* Update name-tag.md (#2156)
* add API to disable serial padding. (#2145)
* add API to desiable serial padding.
* renamed api
* Set serial help paths for blocks (#2159)
* Shrink the link in firmware version hint (#2163)
* Shrink the link in firmware version hint
* fix a translation quibble
* Fix Black and White Typo (#2138)
* Fixed typo: Back->Black
* Added Upgrade Rules to fix spelling
* Removed extra isEmpty
* Added previous BackAndWhite to allow for compilation of old scripts
* always shake when button is pressed (#2161)
* add PLENbit (#2140)
* Bumping pxt-core to 5.15.5
* 1.4.15
* stop background before foreground (#2174)
* Bumping pxt-core to 5.15.6
* 1.4.16
* Bumping pxt-core to 5.15.7
* 1.4.17
* Bumping pxt-core to 5.15.8
* 1.4.18
* add backgrounds for use with .dmg (#2200)
* add normal size and 2x size backgrounds for dmg
* update arrow color to dark gray
* Bumping pxt-core to 5.15.9
* 1.4.19
* Adding v1-ref.json pointing to 1.2.13
* Bumping microbit to 2.0.0
* 2.0.1
* Pointing beta-ref to v2
* Bumping pxt-core to 5.15.10
* 2.0.2
* this repo is empty (#2201)
* Update radio event parm usage descriptions (#2165)
* add browser db prefix for v2 (#2208)
* 2.0.3
* Releasing 2.0.3 to live (#2209)
* dynamically sniff offline app version (#2059)
* Revert "dynamically sniff offline app version (#2059)" (#2211)
This reverts commit b480b34f7e.
* Updating electron to 2.0.3 (#2210)
* Updating offline reference to 2.0.3 (#2212)
* Bumping version to 2.1.0
* 2.1.1
* Spelling (#2214)
* Update write-received-packet-to-serial.md (#2217)
A support ticket pointed out issues that they'd encountered when trying to follow this document:
- `sendValue` only supports an 8 character string. This is documented in the `sendValue` docs but a longer string had been used here
- Only `radio.onReceivedNumber` is used so the sample output is not consistent with the users experience. I've changed it so that all packets are handled
* Use gcPreAllocateBlock() to fix#2177, #2215 (#2216)
* Use gcPreAllocateBlock() to fix#2177, #2215
* bump pcp 6.9.4
* 2.1.2
* Correct dice example (#2262)
Changed random(6) to random(5) so the number reflect real dice.
* add 4tronix minibit (#2249)
* Update targetconfig.json (#2258)
remove mock-iot-extension as it is just an experimental development by The Foundation
* Update calibrate-compass.md (#2265)
Based on user feedback in Slack https://microbit-community.slack.com/archives/C1ZMKRFHD/p1563274019078400?thread_ts=1563268925.077500&cid=C1ZMKRFHD
* add wukong (#2239)
* Decrease size of GC heap to allow more DAL allocs (#2246)
* 2.1.3
* add Kitronik view text (#2125)
* Release 2.0.6 to live (#2308)
* Update nexus:bit entry (#2315)
* update nexus:bit entry
* update nexus:bit entry
* Logic Lab mini-course (#2307)
* Logic Lab mini-course
* example syntax
* Updating Readme with branch information.
* bump pxt for ios <=9 fix (#2311)
* Update pxt/common-packages and fix build (#2323)
* fix build off of pxt/ and pxt-common-packages master
* check in generated files
* add-pxt-bmp280 (#2325)
* Bumping pxt-core to 5.19.8 & common-packages to 6.14.9
* 2.1.4
* Error codes page update (#2327)
* Start adding new codes
* few tiny edits
* Add more errors and rearrange
* Update docs/device/error-codes.md
Co-Authored-By: Michał Moskal <michal@moskal.me>
* juggle category
* set error range in hint
Co-Authored-By: Michał Moskal <michal@moskal.me>
* Update docs/device/error-codes.md
Co-Authored-By: Mark <mark@microbit.org>
* fix build (#2360)
* fix broken build
* just try the more 'official' fix if possible
* back to the way that actually works..
* bump pxt to include accessibility changes (#2404)
* 2.1.5
* make hc mode sim color have higher contrast (#2409)
* Show project settings (#2401)
* markdown link fix (#2400)
* add HTS221 (#2384)
* Editor controllers fixes (#2412)
* updated strings
* bump pxt
* anotehr attempt
* 2.1.6
* turn on samples when reading accelerometer (#2413)
* 2.1.7
* hide pin p19/p20 (#2268)
* Fix remove life animation causing microbit stuck (#2314)
On the real microbit board, if the program execute other game blocks while
the remove life animation is playing, it would cause strange behavior or
even make the game stuck.
* Port of Programmable Logic lesson for Logic Lab course (#2359)
* port of programmable logic lesson
* trigger rebuild
* express as logical equation in snippet
* go logical for snippet inputs
* emit enum as bitmask (#2414)
* 2.1.8
* add alt attributes to download screens (#2415)
* add alt attributes to download screens, fixesmicrosoft/pxt-microbit#2291
* better descriptions
* fixing links in translate page
* Modify the LED coordinates to be between 0 and 4. (#2416)
Without this change, there is a 11/36 chance no LED lights as [`Math.random(a,b)`](https://docs.python.org/2/library/random.html#random.uniform) (thus the `pick random` block) chooses a number in the (inclusive, closed) interval `[a, b]`.
* Set LED plot row/column ranges for 'Reaction Time' (#2420)
* add LIS2MDL (#2385)
* add LIS2DW12 (#2386)
* add LPS22 (#2387)
* add LSM6DSO (#2388)
* add gator environment (#2326)
* add STTS751 (#2389)
* add inventura extension (#2421)
* add new sparkfun extensions (#2238)
* add new sparkfun extensions
* remove gator environment pending fixes
* add dfplayer mini extension (#2417)
* Update 'servo calibrator' link (#2424)
* I2C Addressing Note (#2428)
* I2C on-board sensor address note
* note for 7bit to 8bit shift
* Add nested summaries for newer courses (#2425)
* bump pxt (#2432)
* bump pxt
* bump
* bump
* fix version
* 2.1.9
* bump package.json (#2433)
* 2.1.10
* bump pxt (#2434)
* 2.1.11
* bump for diff3 (#2435)
* enable experiment
* bump pxt
* 2.1.12
* Add the Stu Lowe coding cards (#2438)
* Add the Stu Lowe coding cards
* Move 'Coding Cards' below 'Hardware'
* Add isDeleted (#2445)
* add xinabox OD01 and breakout display section (#2397)
* add xinabox OD01 and breakout display section
* Update targetconfig.json
* Update extensions.md
* Link to power supply limitations (#2443)
Fixes: #2442
* Pxt v5.23.17 (#2446)
* bump pxt
* regen docs
* fix version syntax
* restore extension
* removed dup
* 2.1.13
* add-sw01 (#2393)
* Locking old issues
* add Keyestudio robot car (#2452)
* Allow globals in reclaimed bluetooth memory (#2455)
* isTouchingEdge() should not return true for deleted sprite (#2449)
* add query variant to hide toolbar (#2458)
* Adding link to stable refs (#2460)
* Update extensions.md (#2456)
Move the :VIEW Text32 from other to Display now there is a display sections
* 2.1.14
* fixing radio stack (#2461)
* fixing radio stack
* updated shims
* 2.1.15
* Stable points to latest 2.0.9 (#2469)
* Releasing 2.0.9 to live (#2470)
* Fixing signal strength (#2474)
* Pointing to 2.0.10
* Releasing 2.0.10 (#2476)
With radio strength signal fix for hot or cold
* Removing old bitbot as we have a new bitbot package (#2479)
* updated pxt (#2465)
* updated pxt
* bump pxt
* updated react
* updated ptx
* Remove empty variable element from XML
* Bump pxt-core to 5.25.15
* bump pxt
* Bump pxt to 5.25.17
* Add precision to music slider
* 2.1.16
* add drive:bit (#2484)
* micro:bit RSSI fix (#2480)
* read rssi from packet
* updated shims
* fix build
* fix help
* move deprecated function to ts
* some formatting
* restore rssi block
* restory notations
* actually copy bytes
* removing logging code
* simpler wake up code
* comment
* fix build
* bump pxt
* go back to safety
* bump microbit
* restor package.json
* revert jquery v
* use macro
* check length
* bump pxt (#2490)
* 2.1.17
* Use default resize function for microbit gesture dropdown (#2491)
* Name Badge project page (#2477)
* Name Bagde project page
* gotta please the summary check
* link typo, ugh
* Revert "Name Badge project page (#2477)"
This reverts commit 2e2860632b.
* add freenove starter kit (#2493)
* radio.setFrequencyBand support (#2495)
* setfrequencyband support
* revert line change
* add bounds check
* Name Badge project page (#2496)
* Name Bagde project page
* gotta please the summary check
* link typo, ugh
* get rid of the pptx
* Simplify the Fahrenheit from Celsius computation. (#2497)
As the micro:bit introduces floating point arithmetic for both the existing `f = 18 * c / 10 + 32` computation and the new `f = 1.8 * c + 32` computation, there isn't any benefit for the former.
* Enable Polish localization (#2499)
* bump package
* 2.1.18
* shrink maintenance gif
* 2.1.19
* Rotary phone dial (#2502)
* some write up
* adding images
* text
* more text
* adding vids
* adding escape room
* remove newer lesson
* remove .mp4
* Card page edits
* adding image
* adding to toys
* rotary edits
* fix typo
* bump pxt 5.28.7 (#2503)
* bump pxt
* bump to pxt 5.28.8
* 2.1.20
* bump pxt 5.28.9 (#2504)
* 2.1.21
* bump pxt 5.28.10
* 2.1.22
* bump pxt 5.28.11
* 2.1.23
* bump pxt 5.28.12
* 2.1.24
* Update README.md
* robot unicorn (#2512)
* robot unicorn
* Edits to the unicorn
* fix missing radio and boardname
* bump pxt 5.28.18 (#2517)
* bump pxt 5.28.18
* updated summary
* 2.1.25
* bump pxt 5.28.21
* 2.1.26
* bump to pxt5.28.23
* 2.1.27
* Add redirect to pins info to serial heading (#2520)
* Add redirect to pins info to serial heading
* adding links
* vump to pxt 5.28.24
* 2.1.28
* bump to pxt 5.28.26
* 2.1.29
* add build instructions
* updated build notes
* bump pxt 5.28.27
* 2.1.30
* missing svg
* remove crowdin project to disable upload from master branch
* reeanble crowdin, no upload
* 2.1.31
* bump pxt common to 6.16.25
* missing radio package
* Fix GC heap reclamation (#2528)
* bump to pxt 5.28.31
* bump pxt 5.28.32
* 2.1.32
* 2.1.33
* fix typo
* pxt-microbit-next? (#2543)
Since the repo https://github.com/microsoft/pxt-microbit-next doesn't exist, I am assuming that the word `next` is not meant to be here.
* Extensions: Add Inksmith Climate Action Kit (#2535)
* Fixes for typos found in Crowdin - 11252019 (#2538)
* Extension: add Kitronik Halo HD (#2541)
* Extension: Add EBOTICS MIBO (#2542)
* add Bright Wearables Brightboard (#2537)
* Docs: Change default value in Javascript. (#2540)
* Change default value in Javascript.
Per @microbit-mark 's suggestion, add an example of how to change the default interval value by switching to Javascript.
* edits to new example
* bump pxt 5.30.6
* 2.1.34
* update git and vscode settings
* revert changes to 2.1.28
* package-lock
* v2.1.34
* Change Hero Image
* add RVR (#2516)
* Extension: add minicruise (#2545)
* Fix minutes display for 'Digital Watch' project (#2547)
* Fix minutes display for 'Digital Watch' project
* minutes less than 10
* bump pxt
* 2.1.35
* updated pxt
* 2.1.36
* package lock
* Tutorial Typo Fix
* bumppxt
* 2.1.37
* update error guide link (#2554)
* adding radio firefly (#2549)
* Update 'Metal Detector' example (#2559)
* bump pxt
* 2.1.38
* typoFix
* Update Pins
* Add C7, C8 and C9 Serial Pins
* Add C7, C8 and C9 Serial Pins
* Pins update
* Add maqueen (#2560)
* Extensions: Add DFRobot Maqueen
* fix
* revert pin C7, C8 and C9
* add extension doc file
* revert pxt bump
* Docs: Extensions remove headliner
* Remove outdated #ifdef (#2564)
* Extensions: add servobit (#2557)
Co-authored-by: Abhijith Chatra <abchatra@microsoft.com>
* bump to pxt 5.31.8, common 6.18.2
* 2.1.39
Co-authored-by: Joey Wunderlich <jwunderl@users.noreply.github.com>
Co-authored-by: Richard Knoll <riknoll@users.noreply.github.com>
Co-authored-by: Peli de Halleux <pelikhan@users.noreply.github.com>
Co-authored-by: Abhijith Chatra <abchatra@microsoft.com>
Co-authored-by: kimprice <kimberlymprice@ufl.edu>
Co-authored-by: Galen Nickel <v-gani@microsoft.com>
Co-authored-by: Chase Mortensen <C_Mortensen@live.com>
Co-authored-by: Mark <mark@microbit.org>
Co-authored-by: shakao <34112083+shakao@users.noreply.github.com>
Co-authored-by: Danny Yates <danny@codeaholics.org>
Co-authored-by: Sam Kent <32453267+microbit-sam@users.noreply.github.com>
Co-authored-by: Michał Moskal <michal@moskal.me>
Co-authored-by: Daryl Zuniga <Daryl.Zuniga@gmail.com>
Co-authored-by: Eric Kimsey <ekimsey@users.noreply.github.com>
Co-authored-by: Peter Brodersen <peter@ter.dk>
Co-authored-by: Leo <leo881003@gmail.com>
Co-authored-by: Asher Kach <asher.kach@gmail.com>
Co-authored-by: Franklin Tse <FranklinWhale@users.noreply.github.com>
Co-authored-by: Neal McBurnett <nealmcb@gmail.com>
Co-authored-by: Kitronik Ltd <design@kitronik.co.uk>
Co-authored-by: Helen Leigh <48659173+helenleigh@users.noreply.github.com>
Co-authored-by: Gerard Braad <me@gbraad.nl>
Co-authored-by: Nicole Parrot <cleoqc1124@gmail.com>
* add Keigan Motor extennsion (#2067)
* add Keigan Motor extennsion
* missing coma
* Update radio event parm usage descriptions (#2075)
* Bumping pxt to 5.14.3 and common-packages to 5.14.3
* 1.4.11
* Revert "Update radio event parm usage descriptions (#2075)" (#2077)
This reverts commit 7950f1b4d7.
* Fix Turtle Spiral example decompilation (#2094)
* use local variables for indices
* s/an/the/
* bump to core 5.15.1 (#2121)
* 1.4.12
* refresh shims (#2134)
* import extension files (#2127)
* import extension files
* updated shims
* Fix some titles, sigs in ref docs (#2128)
* Fix some title and sigs in ref docs
* better buffer source
* Sets JustWorks to the actual config values (#2137)
* add windows and mac icons for offline app (#2141)
* Don't overwrite electron deploy (#2142)
* remove baud rate as it is not support on HW (#2124)
* add blocks for serial set tx/rx buffer size (#2144)
* support flag argument (#2126)
* support flag argument
* enable drop semantics
* add reentrant
* updated shims
* Bumping pxt-core to 5.15.3
* 1.4.13
* Bumping pxt-core to 5.15.4
* 1.4.14
* bump setgroup on top of radio (#2157)
* bump setgroup on top of radio
* move group up
* Update name-tag.md (#2156)
* add API to disable serial padding. (#2145)
* add API to desiable serial padding.
* renamed api
* Set serial help paths for blocks (#2159)
* Shrink the link in firmware version hint (#2163)
* Shrink the link in firmware version hint
* fix a translation quibble
* Fix Black and White Typo (#2138)
* Fixed typo: Back->Black
* Added Upgrade Rules to fix spelling
* Removed extra isEmpty
* Added previous BackAndWhite to allow for compilation of old scripts
* always shake when button is pressed (#2161)
* add PLENbit (#2140)
* Bumping pxt-core to 5.15.5
* 1.4.15
* stop background before foreground (#2174)
* Bumping pxt-core to 5.15.6
* 1.4.16
* Bumping pxt-core to 5.15.7
* 1.4.17
* Bumping pxt-core to 5.15.8
* 1.4.18
* add backgrounds for use with .dmg (#2200)
* add normal size and 2x size backgrounds for dmg
* update arrow color to dark gray
* Bumping pxt-core to 5.15.9
* 1.4.19
* Adding v1-ref.json pointing to 1.2.13
* Bumping microbit to 2.0.0
* 2.0.1
* Pointing beta-ref to v2
* Bumping pxt-core to 5.15.10
* 2.0.2
* this repo is empty (#2201)
* Update radio event parm usage descriptions (#2165)
* add browser db prefix for v2 (#2208)
* 2.0.3
* Releasing 2.0.3 to live (#2209)
* dynamically sniff offline app version (#2059)
* Revert "dynamically sniff offline app version (#2059)" (#2211)
This reverts commit b480b34f7e.
* Updating electron to 2.0.3 (#2210)
* Updating offline reference to 2.0.3 (#2212)
* Bumping version to 2.1.0
* 2.1.1
* Spelling (#2214)
* Update write-received-packet-to-serial.md (#2217)
A support ticket pointed out issues that they'd encountered when trying to follow this document:
- `sendValue` only supports an 8 character string. This is documented in the `sendValue` docs but a longer string had been used here
- Only `radio.onReceivedNumber` is used so the sample output is not consistent with the users experience. I've changed it so that all packets are handled
* Use gcPreAllocateBlock() to fix#2177, #2215 (#2216)
* Use gcPreAllocateBlock() to fix#2177, #2215
* bump pcp 6.9.4
* 2.1.2
* Correct dice example (#2262)
Changed random(6) to random(5) so the number reflect real dice.
* add 4tronix minibit (#2249)
* Update targetconfig.json (#2258)
remove mock-iot-extension as it is just an experimental development by The Foundation
* Update calibrate-compass.md (#2265)
Based on user feedback in Slack https://microbit-community.slack.com/archives/C1ZMKRFHD/p1563274019078400?thread_ts=1563268925.077500&cid=C1ZMKRFHD
* add wukong (#2239)
* Decrease size of GC heap to allow more DAL allocs (#2246)
* 2.1.3
* add Kitronik view text (#2125)
* Release 2.0.6 to live (#2308)
* Update nexus:bit entry (#2315)
* update nexus:bit entry
* update nexus:bit entry
* Logic Lab mini-course (#2307)
* Logic Lab mini-course
* example syntax
* Updating Readme with branch information.
* bump pxt for ios <=9 fix (#2311)
* Update pxt/common-packages and fix build (#2323)
* fix build off of pxt/ and pxt-common-packages master
* check in generated files
* add-pxt-bmp280 (#2325)
* Bumping pxt-core to 5.19.8 & common-packages to 6.14.9
* 2.1.4
* Error codes page update (#2327)
* Start adding new codes
* few tiny edits
* Add more errors and rearrange
* Update docs/device/error-codes.md
Co-Authored-By: Michał Moskal <michal@moskal.me>
* juggle category
* set error range in hint
Co-Authored-By: Michał Moskal <michal@moskal.me>
* Update docs/device/error-codes.md
Co-Authored-By: Mark <mark@microbit.org>
* fix build (#2360)
* fix broken build
* just try the more 'official' fix if possible
* back to the way that actually works..
* bump pxt to include accessibility changes (#2404)
* 2.1.5
* make hc mode sim color have higher contrast (#2409)
* Show project settings (#2401)
* markdown link fix (#2400)
* add HTS221 (#2384)
* Editor controllers fixes (#2412)
* updated strings
* bump pxt
* anotehr attempt
* 2.1.6
* turn on samples when reading accelerometer (#2413)
* 2.1.7
* hide pin p19/p20 (#2268)
* Fix remove life animation causing microbit stuck (#2314)
On the real microbit board, if the program execute other game blocks while
the remove life animation is playing, it would cause strange behavior or
even make the game stuck.
* Port of Programmable Logic lesson for Logic Lab course (#2359)
* port of programmable logic lesson
* trigger rebuild
* express as logical equation in snippet
* go logical for snippet inputs
* emit enum as bitmask (#2414)
* 2.1.8
* add alt attributes to download screens (#2415)
* add alt attributes to download screens, fixesmicrosoft/pxt-microbit#2291
* better descriptions
* fixing links in translate page
* Modify the LED coordinates to be between 0 and 4. (#2416)
Without this change, there is a 11/36 chance no LED lights as [`Math.random(a,b)`](https://docs.python.org/2/library/random.html#random.uniform) (thus the `pick random` block) chooses a number in the (inclusive, closed) interval `[a, b]`.
* Set LED plot row/column ranges for 'Reaction Time' (#2420)
* add LIS2MDL (#2385)
* add LIS2DW12 (#2386)
* add LPS22 (#2387)
* add LSM6DSO (#2388)
* add gator environment (#2326)
* add STTS751 (#2389)
* add inventura extension (#2421)
* add new sparkfun extensions (#2238)
* add new sparkfun extensions
* remove gator environment pending fixes
* add dfplayer mini extension (#2417)
* Update 'servo calibrator' link (#2424)
* I2C Addressing Note (#2428)
* I2C on-board sensor address note
* note for 7bit to 8bit shift
* Add nested summaries for newer courses (#2425)
* bump pxt (#2432)
* bump pxt
* bump
* bump
* fix version
* 2.1.9
* bump package.json (#2433)
* 2.1.10
* bump pxt (#2434)
* 2.1.11
* bump for diff3 (#2435)
* enable experiment
* bump pxt
* 2.1.12
* Add the Stu Lowe coding cards (#2438)
* Add the Stu Lowe coding cards
* Move 'Coding Cards' below 'Hardware'
* Add isDeleted (#2445)
* add xinabox OD01 and breakout display section (#2397)
* add xinabox OD01 and breakout display section
* Update targetconfig.json
* Update extensions.md
* Link to power supply limitations (#2443)
Fixes: #2442
* Pxt v5.23.17 (#2446)
* bump pxt
* regen docs
* fix version syntax
* restore extension
* removed dup
* 2.1.13
* add-sw01 (#2393)
* Locking old issues
* add Keyestudio robot car (#2452)
* Allow globals in reclaimed bluetooth memory (#2455)
* isTouchingEdge() should not return true for deleted sprite (#2449)
* add query variant to hide toolbar (#2458)
* Adding link to stable refs (#2460)
* Update extensions.md (#2456)
Move the :VIEW Text32 from other to Display now there is a display sections
* 2.1.14
* fixing radio stack (#2461)
* fixing radio stack
* updated shims
* 2.1.15
* Stable points to latest 2.0.9 (#2469)
* Releasing 2.0.9 to live (#2470)
* Fixing signal strength (#2474)
* Pointing to 2.0.10
* Releasing 2.0.10 (#2476)
With radio strength signal fix for hot or cold
* Removing old bitbot as we have a new bitbot package (#2479)
* updated pxt (#2465)
* updated pxt
* bump pxt
* updated react
* updated ptx
* Remove empty variable element from XML
* Bump pxt-core to 5.25.15
* bump pxt
* Bump pxt to 5.25.17
* Add precision to music slider
* 2.1.16
* add drive:bit (#2484)
* micro:bit RSSI fix (#2480)
* read rssi from packet
* updated shims
* fix build
* fix help
* move deprecated function to ts
* some formatting
* restore rssi block
* restory notations
* actually copy bytes
* removing logging code
* simpler wake up code
* comment
* fix build
* bump pxt
* go back to safety
* bump microbit
* restor package.json
* revert jquery v
* use macro
* check length
* bump pxt (#2490)
* 2.1.17
* Use default resize function for microbit gesture dropdown (#2491)
* Name Badge project page (#2477)
* Name Bagde project page
* gotta please the summary check
* link typo, ugh
* Revert "Name Badge project page (#2477)"
This reverts commit 2e2860632b.
* add freenove starter kit (#2493)
* radio.setFrequencyBand support (#2495)
* setfrequencyband support
* revert line change
* add bounds check
* Name Badge project page (#2496)
* Name Bagde project page
* gotta please the summary check
* link typo, ugh
* get rid of the pptx
* Simplify the Fahrenheit from Celsius computation. (#2497)
As the micro:bit introduces floating point arithmetic for both the existing `f = 18 * c / 10 + 32` computation and the new `f = 1.8 * c + 32` computation, there isn't any benefit for the former.
* Enable Polish localization (#2499)
* bump package
* 2.1.18
* shrink maintenance gif
* 2.1.19
* Rotary phone dial (#2502)
* some write up
* adding images
* text
* more text
* adding vids
* adding escape room
* remove newer lesson
* remove .mp4
* Card page edits
* adding image
* adding to toys
* rotary edits
* fix typo
* bump pxt 5.28.7 (#2503)
* bump pxt
* bump to pxt 5.28.8
* 2.1.20
* bump pxt 5.28.9 (#2504)
* 2.1.21
* bump pxt 5.28.10
* 2.1.22
* bump pxt 5.28.11
* 2.1.23
* bump pxt 5.28.12
* 2.1.24
* Update README.md
* robot unicorn (#2512)
* robot unicorn
* Edits to the unicorn
* fix missing radio and boardname
* bump pxt 5.28.18 (#2517)
* bump pxt 5.28.18
* updated summary
* 2.1.25
* bump pxt 5.28.21
* 2.1.26
* bump to pxt5.28.23
* 2.1.27
* Add redirect to pins info to serial heading (#2520)
* Add redirect to pins info to serial heading
* adding links
* vump to pxt 5.28.24
* 2.1.28
* bump to pxt 5.28.26
* 2.1.29
* add build instructions
* updated build notes
* bump pxt 5.28.27
* 2.1.30
* missing svg
* remove crowdin project to disable upload from master branch
* reeanble crowdin, no upload
* 2.1.31
* bump pxt common to 6.16.25
* missing radio package
* Fix GC heap reclamation (#2528)
* bump to pxt 5.28.31
* bump pxt 5.28.32
* 2.1.32
* 2.1.33
* fix typo
* pxt-microbit-next? (#2543)
Since the repo https://github.com/microsoft/pxt-microbit-next doesn't exist, I am assuming that the word `next` is not meant to be here.
* Extensions: Add Inksmith Climate Action Kit (#2535)
* Fixes for typos found in Crowdin - 11252019 (#2538)
* Extension: add Kitronik Halo HD (#2541)
* Extension: Add EBOTICS MIBO (#2542)
* add Bright Wearables Brightboard (#2537)
* Docs: Change default value in Javascript. (#2540)
* Change default value in Javascript.
Per @microbit-mark 's suggestion, add an example of how to change the default interval value by switching to Javascript.
* edits to new example
* bump pxt 5.30.6
* 2.1.34
* update git and vscode settings
* revert changes to 2.1.28
* package-lock
* v2.1.34
* Change Hero Image
* add RVR (#2516)
* Extension: add minicruise (#2545)
* Fix minutes display for 'Digital Watch' project (#2547)
* Fix minutes display for 'Digital Watch' project
* minutes less than 10
* bump pxt
* 2.1.35
* updated pxt
* 2.1.36
* package lock
* Tutorial Typo Fix
* staging Servo library support
* bumppxt
* 2.1.37
* update error guide link (#2554)
* adding radio firefly (#2549)
* Update 'Metal Detector' example (#2559)
* bump pxt
* 2.1.38
* typoFix
* package lock
* hexcache is no longer generated at repo root, so remove it from package.json
* Modified templates to depend on local packages
* Adding bluetooth template for offline HEX cache
* Fix wrong package name in dependencies of bluetooth template
* Change package versions to * in templates
* Adding radio API for receiving a packet
* More new radio API changes
* renaming some properties
* Redoing radio packet parsing and updating new callback api
* aligning uart apis with serial
* reorganizing serial/bluetooth blocks
* Autoupdate configuration for UART. (#279)
* Autoupdate configuration for UART.
* removing serial autoupdates.
* Fix i18n not working after 277d5a7
The translation strings file in "core" package should have file names
"core-strings.json" or "core-jsdoc-strings.json".
* Enable ja translation
Rename "core-strings.json" to "core-jsdoc-strings.json".
Add new "core-strings.json" as a copy of the template.
Add two lines for the files in "pxt.json".
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
Add screenshots to help explain your problem. You can copy paste the screenshot in the github report. The .gif screen recording is very useful as well.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Smartphone (please complete the following information):**
PXT accepts bug fix pull requests. For a bug fix PR to be accepted, it must first have a tracking issue that has been marked approved. Your PR should link to the bug you are fixing. If you've submitted a PR for a bug, please post a comment in the bug to avoid duplication of effort.
PXT also accepts new feature pull requests. For a feature-level PR to be accepted, it first needs to have design discussion. Design discussion can take one of two forms a) a feature request in the issue tracker that has been marked as approved or b) the PR must be accompanied by a full design spec and this spec is later approved in the open design discussion. Features are evaluated against their complexity, impact on other features, roadmap alignment, and maintainability.
These two blogs posts on contributing code to open source projects are a good reference: [Open Source Contribution Etiquette](http://tirania.org/blog/archive/2010/Dec-31.html) by Miguel de Icaza and [Don't "Push" Your Pull Requests](https://www.igvita.com/2011/12/19/dont-push-your-pull-requests/) by Ilya Grigorik.
## Security
If you believe you have found a security issue in PXT, please share it with us privately following the guidance at the Microsoft [Security TechCenter](https://technet.microsoft.com/en-us/security/ff852094). Reporting it via this channel helps minimize risk to projects built with PXT.
## Legal
You will need to complete a Contributor License Agreement (CLA) before your pull request can be accepted. This agreement testifies that you are granting us permission to use the source code you are submitting, and that this work is being submitted under appropriate license that we can use it.
You can complete the CLA by going through the steps at https://cla.microsoft.com. Once we have received the signed CLA, we'll review the request. You will only need to do this once.
## Housekeeping
Your pull request should:
* Include a description of what your change intends to do
* Be a child commit of a reasonably recent commit in the master branch
<uap:VisualElements DisplayName="code the micro:bit" Description="A code editor for the BBC micro:bit with Blocks or Javascript." BackgroundColor="white" Square150x150Logo="images\Square150x150Logo.png" Square44x44Logo="images\Square44x44Logo.png">
<uap:DefaultTile Wide310x150Logo="images\Wide310x150Logo.png" ShortName="code the micro:bit">
<metaproperty="og:description"content="Microsoft MakeCode is a free, open-source Block and JavaScript learn-to-code editor that promotes a more inclusive approach to computing education."/>
<metaname="twitter:description"content="Microsoft MakeCode is a free, open-source Block and JavaScript learn-to-code editor that promotes a more inclusive approach to computing education.">
### @description A Blocks / Javascript code editor for the micro:bit, a pocket-size computer with 5x5 display, sensors and Bluetooth.
The [BBC micro:bit](https://www.microbit.co.uk) is a [pocket-size computer](/device) with a 5x5 display of 25 LEDs, Bluetooth and sensors that can be programmed by anyone.
The BBC micro:bit was made possible by many [partners](https://www.microbit.co.uk/partners).
The micro:bit provides an easy and fun introduction to programming and making – switch on, program it to do something fun – wear it, customize it.
Just like Arduino, the micro:bit can be connected to and interact with sensors, displays, and other devices.
* [Read the docs](/docs)
## [Hardware: The Device](/device)
The BBC micro:bit is packaged with sensors, radio and other goodies. Learn about the [hardware components](/device) of the micro:bit to make the most of it!
## Programming: [Blocks](/blocks) or [JavaScript](/javascript)
You can program the micro:bit using [Blocks](/blocks) or [JavaScript](/javascript) in your web browser via the [micro:bit APIs](/reference):
```block
input.onButtonPressed(Button.A, () => {
basic.showString("Hi!");
})
```
```typescript
input.onButtonPressed(Button.A,()=>{
basic.showString("Hi!");
})
```
The editor work in [most modern browsers](/browsers), work [offline](/offline) once loaded and do not require any installation.
## [Compile and Flash: Your Program!](/device/usb)
When you have your code ready, you connect your micro:bit to a computer via a USB cable, so it appears as a mounted drive (named MICROBIT).
Compilation to ARM thumb machine code from [Blocks](/blocks) or [JavaScript](/javascript) happens in the browser. You save the ARM binary
program to a file, which you then copy to the micro:bit drive, which flashes the micro:bit device with the new program.
## Simulator: Test Your Code
You can run your code using the micro:bit simulator, all within the confines of a web browser.
The simulator has support for the LED screen, buttons, as well as compass, accelerometer, and digital I/O pins.
```sim
basic.forever(() => {
basic.showString("Hi!");
})
input.onButtonPressed(Button.A, () => {
led.stopAnimation();
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .`);
});
input.onButtonPressed(Button.B, () => {
led.stopAnimation();
basic.showLeds(`
. # . # .
# . # . #
# . . . #
. # . # .
. . # . .`);
});
```
## C++ Runtime
The [C++ micro:bit runtime](http://lancaster-university.github.io/microbit-docs/), created at [Lancaster University](http://www.lancaster.ac.uk/), provides access to the hardware functions of the micro:bit,
as well as a set of helper functions (such as displaying a number/image/string on the LED screen).
The [micro:bit library](/reference) mirrors the functions of the C++ library.
When code is compiled to ARM machine code, the calls to JavaScript micro:bit functions are replaced with calls to the corresponding C++ functions.
## [Command Line Tools](/cli)
Looking to use codethemicrobit.com in your favorite editor? Install the [command line tools](/cli) and get rolling!
## [Packages](/packages)
Create, edit and distribute your own blocks and JavaScript using [packages](/packages). Packages are hosted on GitHub and may be written
using C++, JavaScript and/or ARM thumb.
## [Open Source](/open-source)
The code for the micro:bit is [open source](/open-source) on GitHub. Contributors are welcome!
A Boolean has one of two possible values: `true`; `false`. Boolean (logical) operators (*and*, *or*, *not*) take Boolean inputs and yields a Boolean value. Comparison operators on other types ([numbers](/reference/types/number), [strings](/reference/types/string) yields a Boolean value.
The following blocks represent the true and false Boolean values, which can be plugged in anywhere a Boolean value is expected:
```blocks
true;
false;
```
The next three blocks represent the three Boolean (logic) operators:
```blocks
true && false;
true || false;
!true;
```
The next six blocks represent comparison operators that yield a Boolean value. Most comparisons you will do involve [numbers](/reference/types/number):
```blocks
42 == 0;
42 != 0;
42 < 0;
42 > 0;
42 <= 0;
42 >= 0;
```
Boolean values and operators are often used with an [if](/blocks/logic/if) or [while](/blocks/loops/while) statement to determine which code will execute next. For example:
### Functions that return a Boolean
Some functions return a Boolean value, which you can store in a Boolean variable. For example, the following code gets the on/off state of `point (1, 2)` and stores this in the Boolean variable named `on`. Then the code clears the screen if `on` is `true`:
### Boolean operators
Boolean operators take Boolean inputs and evaluate to a Boolean output:
### Conjunction: `A and B`
`A and B` evaluates to `true` if-and-only-if both A and B are true:
```blocks
false && false == false;
false && true == false;
true && false == false;
true && true == true;
```
### Disjunction: `A or B`
`A or B` evaluates to `true` if-and-only-if either A is true or B is true:
```blocks
false || false == false;
false || true == true;
true || false == true;
true || true == true;
```
### Negation: `not A`
`not A` evaluates to the opposite (negation) of A:
```blocks
!false == true;
!true == false;
```
### Example
This example turns on LED `3 , 3`, if LEDs `1 , 1` and `2 , 2` are both on:
```blocks
if (led.point(1,1) && led.point(2,2)) {
led.plot(3,3)
}
```
### Comparisons of numbers and strings
When you compare two Numbers, you get a Boolean value, such as the comparison `x < 5` in the code below:
```blocks
let x = Math.random(5)
if(x < 5) {
basic.showString("low");
} else {
basic.showString("high");
}
```
See the documentation on [Numbers](/reference/types/number) for more information on comparing two Numbers. You can also [compare strings](/reference/types/string-functions) using the `equals` function.
Repeat code while a [Boolean](/blocks/logic/boolean) `condition` is true.
```blocks
while(true) {
}
```
The while loop has a *condition* that evaluates to a [Boolean](/blocks/logic/boolean) value. After the `do` keyword, add the code that you want to run while the `condition` is `true`. The while loop concludes with `end while`.
The condition is tested before any code runs. Which means that if the condition is false, the code inside the loop doesn't execute.
### Example: diagonal line
The following example uses a while loop to make a diagonal line on the LED screen (points `0, 0`, `1, 1`, `2, 2`, `3, 3`, `4, 4`).
Use the assignment operator to set the value of a [variable](/blocks/variables/var). Change the value of a variable from 0 to 1 using the change item block. Like this:
```blocks
let x = 0
x += 1
```
### Example
Use the assignment operator to set the value of a [variable](/blocks/variables/var). Change the value of a variable from 0 to 1 using the change item block. Then display the new value of the variable on the LED screen. Like this:
```blocks
let x = 0;
x += 1;
basic.showNumber(x);
```
### Notes
* You can use the assignment operator with variables of each of the supported [types](/reference/types).
A variable is a place where you can store and retrieve data. Variables have a name, a [type](/reference/types), and value:
* *name* is how you'll refer to the variable
* *type* refers to the kind of data a variable can store
* *value* refers to what's stored in the variable
### Var statement
Use the Block Editor variable statement to create a variable
and the [assignment operator](/blocks/variables/assign)
to store something in the variable.
For example, this code stores the number `2` in the `x` variable:
```blocks
let x = 2;
```
Here's how to define a variable in the Block Editor:
1. Click `variables`.
2. Change the default variable name if you like.
3. Drag a block type on the right-side of the [assignment operator](/blocks/variables/assign) and click the down arrow to change the variable name.
A variable is created for the number returned by the [brightness](/reference/led/brightness) function.
```blocks
let b = led.brightness();
```
### Using variables
Once you've defined a variable, just use the variable's name whenever you need what's stored in the variable. For example, the following code shows the value stored in `counter` on the LED screen:
```blocks
let counter = 1;
basic.showNumber(counter);
```
To change the contents of a variable use the assignment operator. The following code sets `counter` to 1 and then increments `counter` by 10:
```blocks
let counter = 1;
counter = counter + 10;
basic.showNumber(counter);
```
### Why use variables?
If you want to remember and modify data, you'll need a variable.
A counter is a great example:
```blocks
let counter = 0;
input.onButtonPressed(Button.A, () => {
counter = counter + 1;
basic.showNumber(counter);
});
```
### Local variables
Local variables exist only within the function or block of code where they're defined. For example:
```blocks
// x does NOT exist here.
if (led.brightness() > 128) {
// x exists here
let x = 0;
}
```
#### Notes
* You can use the default variable names if you'd like, however, it's best to use descriptive variable names. To change a variable name in the editor, select the down arrow next to the variable and then click "new variable".
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.