* 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".
* initial notes
* updated code samples
* splitting the page and preparing layout
* missing gamepad api
* added basic guitar activty md files
added initial draft of guitar lesson - in progress
* word smithing and adding detail for concepts listed
* word smithing and adding detail for concepts listed
* typo in file name
* missing macro
* replaced guitar.png with image from Julia Carlson
* adding a few pictures
* adding cards macros
* few tweaks
* image for accellerometer lesson xyz axis
* fixed the numbering buttons page
-fixed the numbering to restart for each section and asdded spaces after so they don't wrap
* adding a few video links
* pin-press - added circuit info
* more vids
* fixing latest commit
* edits to light sensor and pin-press
* updated descriptions, linking lesson
* pin-press and display-buttons updates
-added dode samples to pin press
* updated making video
* light-sensor updated numbering
* Clean up
Clean up of headings to template style, other fixes
* putting display in template
use h2 with "Step 1:" and image before text
* removed numbered lists for display & light
these topics are code complete
* more consistent formating
Acceleromenter, buttons, light sensosr
* Acceleration Lesson, added art
Lesson steps for Acceleration, art for degree F to C for Map anology+clean up of light sensor topic
* Pin Press code complete
some other basic fomats and edits
* Removed dashes in lesson names
renamed and fixed references to files with "-" in names
* rest of fles w/ dash in name changes
* fixed links to guitar activities
* updated acceleraomter section
* transparency 4 art, image text
added transarency and renamed art, added descriptive text for video and still images
* renamed art
* fixing the merge
* fixing hint
* moved step 2 outside ~hint block
* fixing snippets
* remove guitar from project list
* Duration/Materials consistent format
moved out of ~avatar block
I’m continuing to use the same menu bar image, as usually these are black and white on OS X, compared to coloured images being common on the Windows task bar.
A small section of this file is still required to build and run the app (it contains metadata that declares that AppDelegate.m is the main implementation, for example).
* Source for OS X uploader
* Readme for OS X uploader
* Export image
* .gitignore for Xcode project
* Remove redundant data
* Update readme instructions
* List formatting
* Remove personal copyright notice added by Xcode
* Added release build and updated readme
* point to doc cdn
* Documentation page for unsupported browsers
* Update unsupported documentation with mac info
* Blur irrelevant information in version screenshots
* Rename to Peli's suggested path
* Browser recommendation for each platform
* Images of micro:bit attached t ostuff
* Cropped and enhanced USB images
* Define paths for USB images
* Added new matching criteria for images
* Help URL
* Add paths for all images
* Cropped images so they look better on dialog
* Add link to uploader
* working on new part definitions
* draft of new part definitions
* updates comments
* starting new allocator
* starting from the old allocator
* alloc internals renaming
* alloc minor renaming
* alloc internal renaming
* progress on new parts definition
* progress on new part defs allocator
* refactors BBLoc; progress on new allocator
* more progress on new allocator
* finishing new allocator
* deleting old allocator
* moves new allocator and part definitions
* porting to new part definitions
* refactors instructions for new definitions
* debugging new allocator
* fixes ground and power wire colros
* fixing new part definition bugs
* fixes wire end offsets; fixes NeoPixel placement
* fixes colorGroup issue
* fixes led matrix wiring
* naming tweaks
* fixes instructions regressions
* typo
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
* install the PXT command line (add ``sudo`` for Mac/Linux shells).
```
@ -32,14 +32,15 @@ npm install
### Running
Run this command to open a local web server (add ``sudo`` for Mac/Linux shells)
Run this command to open a local web server (add ``sudo`` for Mac/Linux shells).
```
pxt serve
```
If the local server opens in the wrong browser, make sure to copy the URL containing the local token.
Otherwise, the editor will not be able to load the projects.
If you need modify the `.cpp` files, turn on yotta compilation with the ``-yt`` flag (add ``sudo`` for Mac/Linux shells):
If you need modify the `.cpp` files, turn on yotta compilation with the ``-yt`` flag (add ``sudo`` for Mac/Linux shells). On Windows, you must be running
from the ``Run Yotta`` command prompt.
```
pxt serve -yt
```
@ -53,16 +54,6 @@ pxt update
More instructions at https://github.com/Microsoft/pxt#running-a-target-from-localhost
## Universal Windows App
The Windows 10 app is a [Universal Windows Hosted Web App](https://microsoftedge.github.io/WebAppsDocs/en-US/win10/CreateHWA.htm)
that wraps ``codethemicrobit.com`` and provides additional features.
### Building
* Install Visual Studio 2015 Update 2 or higher. Make sure the Windows 10 templates are installed.
* open the ``win10/app.sln`` solution and launch the ``codethemicrobit`` project.
## Testing
The build automatically runs the following:
@ -71,7 +62,6 @@ The build automatically runs the following:
* `pxt run` in `libs/lang-test*` - this will run the test in command line runner;
there is a number of asserts in both of these
* `pxt testdir` in `tests` - this makes sure all the files compile and generates .hex files
* run the TD->TS converter on a number of test scripts from `microbit.co.uk` and make sure the results compile
[selfshowNotification:@"micro:bit upload failed"withDescription:[NSStringstringWithFormat:@"Couldn't transfer %@ to %@",file.lastPathComponent,microbit]];
<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">
### @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.
### @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.
## Hardware: The Device
Learn about the [hardware components](/device) of the micro:bit to make the most of it!
## Programming: Blocks or JavaScript
You can program the micro:bit using [Blocks](/blocks) or [JavaScript](/javascript), via the [micro:bit APIs](/reference):
```blocks
input.onButtonPressed(Button.A, () => {
basic.showString("Hi!");
})
```
## Compile and Flash: Your Program!
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.
## 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,
@ -65,6 +77,15 @@ as well as a set of helper functions (such as displaying a number/image/string o
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.
## Open Source
## [Command Line Tools](/cli)
Looking to use pxt.microbit.org 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!
The large holes at the bottom of the board are designed to attach alligator/crocodile clips.
Register an event that will execute whenever the user attaches one side of the crocodile clip to the `GND` pin, then connects and disconnects the unattached side of the crocodile clip to pin `0`, `1`, or `2`.
The large holes at the bottom of the board are designed to attach alligator/crocodile clips
to create electrical circuit with other components.
### Example: on pin pressed with random numbers
# ~hint
This example displays a random number every time the crocodile clip holds `GND` then connects and disconnects the `P0` pin. Each time the crocodile clip is firmly connected and disconnected from pin `P0`, the micro:bit will return a random Number between 0 and the parameter limit
**No crocodile clips!?!?!** Use wires or Aluminium foil! [Read more...](/device/foil-circuits)
# ~
## Connecting Crocodile Clips
The hole for ``P0`` and ``GND`` allow to grab the board on the side which makes for a great grip.
Pass one jaw in the hole and grab the side of the board with the other jaw.

For the center holes, ``P1`` and ``P2``, you can also grab the bottom of the board but they are a bit harder to grip.
You can also grip the board between the jaws. In which case, you will want to make sure to avoid overlapping the jaws
with the other pins as it will create short-circuit in the board.

Adding a little tape helps keeping the crocodile clips in place.

## Example: on pin pressed with random numbers
This example displays a random number every time the crocodile clip holds `GND` then connects and disconnects the `P0` pin.
Each time the crocodile clip is firmly connected and disconnected from pin `P0`, the micro:bit will return a random Number between 0 and the parameter limit.
Your micro:bit may encounter a situation that prevents it from running your code. When this happens, a frowny face will appear on your micro:bit screen (see picture) followed by an error number.
Below is a list of error numbers and what they mean:
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.