From ebdf2684821283905c3ef5d0359925b33257727e Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Mon, 28 Mar 2016 16:35:51 -0700 Subject: [PATCH] added about --- docs/about.md | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++ docs/device.md | 4 ++-- docs/docs.md | 2 +- kindtheme.json | 19 +++++----------- 4 files changed, 69 insertions(+), 17 deletions(-) create mode 100644 docs/about.md diff --git a/docs/about.md b/docs/about.md new file mode 100644 index 00000000..e131b2ff --- /dev/null +++ b/docs/about.md @@ -0,0 +1,61 @@ +# About + +The [BBC micro:bit](https://www.microbit.co.uk) is a [pocket-size computer](/device) with 25 LEDs, Bluetooth and sensors that can be programmed by anyone. +The BBC micro:bit was made possible by [a number of partners!](https://www.microbit.co.uk/partners) + +The micro:bit provides a 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. + +## Block Editor or JavaScript + +The student can program the BBC micro:bit using a Block Editor or JavaScript. + +```blocks +basic.showString("BBC micro:bit!"); +``` + +## Compile and Flash + +When a user has her code ready, she can connect her BBC micro:bit to a computer via a USB cable, so it appears as a mounted drive. + +Compilation to the ARM thumb machine code happens in the browser. + +The student is prompted to save the ARM binary program to a file, which she then simply drags to the micro:bit mounted drive, +which flashes the micro:bit device with the new program. + +## Simulator: Test Your Code +Before a student compiles her code for the micro:bit, she can run it 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 +input.onButtonPressed(Button.A, () => { + basic.showLeds(` +. . . . . +. # . # . +. . . . . +# . . . # +. # # # .`); +}); +input.onGesture(Gesture.Shake, () => { + basic.showLeds(` +. . . . . +. # . # . +. . . . . +. # # # . +# . . . #`); +}); +``` + +To run a student's project in the web browser, KindScript compiles it into JavaScript, the scripting language built into all web browsers. + +C++ and Touch Develop Libraries +The C++ micro:bit library, created at Lancaster University, 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 Touch Develop micro:bit library mirrors the functions of the C++ library. When a Touch Develop script is compiled to C++, the calls to Touch Develop micro:bit functions are replaced with calls to the corresponding C++ functions. + +Above, see the mapping from the Touch Develop "show number" function to its corresponding the C++ function. + +## C++ Runtime + +The C++ BBC micro:bit library, 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 JavaScript micro:bit library mirrors the functions of the C++ library. +When code is compiled to C++, the calls to JavaScript micro:bit functions are replaced with calls to the corresponding C++ functions. diff --git a/docs/device.md b/docs/device.md index 7f4c1801..fa0ec1e3 100644 --- a/docs/device.md +++ b/docs/device.md @@ -1,6 +1,6 @@ -# Hardware +# Device -All the bits and pieces that make up your micro:bit +All the bits and pieces that make up your BBC micro:bit ![](/static/mb/device-0.png) diff --git a/docs/docs.md b/docs/docs.md index 63ae2cce..52597e2e 100644 --- a/docs/docs.md +++ b/docs/docs.md @@ -3,5 +3,5 @@ Welcome to the documentation. * Browse the [reference](/microbit/reference) -* Learn more abou the [device](/microbit/device) +* Learn more about the [device](/microbit/device) * Get started with [lessons](/microbit/lessons) diff --git a/kindtheme.json b/kindtheme.json index 9d0a61b9..4a89991b 100644 --- a/kindtheme.json +++ b/kindtheme.json @@ -8,19 +8,10 @@ "koduUrl": "https://www.kodugamelab.com/bbc-microbit/", "visualStudioCode": true, "docMenu": [ - { "name": "About Us", "path": "/about" }, - { "name": "Docs", "subitems": [ - { "name": "Basic", "path": "/reference/basic" }, - { "name": "Control", "path": "/reference/control" }, - { "name": "LEDs", "path": "/reference/control" }, - { "name": "Advanced", "subitems": [ - { "name": "Serial", "path": "/reference/serial" }, - { "name": "Debugging", "path": "/reference/debugging" } - ] }, - { "name": "---" }, - { "name": "Blocks", "path": "/reference/blocks" }, - { "name": "JavaScript", "path": "/reference/js" } - ] }, - { "name": "Lessons", "path": "/lessons" } + { "name": "About", "path": "/about" }, + { "name": "Docs", "path": "/docs" }, + { "name": "Lessons", "path": "/lessons" }, + { "name": "Reference", "path": "/reference" }, + { "name": "Device", "path": "/device" } ] }