2016-04-07 13:34:52 -07:00
# micro:bit target for PXT
2016-03-10 14:21:48 -08:00
2017-10-15 22:15:43 -07:00
This target allows you to program a [BBC micro:bit ](https://microbit.org/ ) using
2016-05-26 21:38:11 -07:00
PXT ([Microsoft Programming Experience Toolkit ](https://github.com/Microsoft/pxt )).
2016-03-10 14:21:48 -08:00
2017-10-15 22:15:43 -07:00
* [Try it live ](https://makecode.microbit.org )
2016-05-10 21:43:12 -07:00
2016-04-07 13:33:55 -07:00
[![Build Status ](https://travis-ci.org/Microsoft/pxt-microbit.svg?branch=master )](https://travis-ci.org/Microsoft/pxt-microbit)
2016-03-10 21:11:16 -08:00
2016-12-06 21:51:51 -08:00
## Issue tracking
2018-02-15 18:33:35 +01:00
Please add an issue if you discover an (unreported) bug.
2016-12-06 21:51:51 -08:00
2016-05-19 10:34:24 -07:00
## Local server
2017-10-15 22:15:43 -07:00
The local server lets you to run the editor and serve the documentation from your own computer.
2016-07-27 13:15:30 -07:00
2018-02-28 00:02:58 +00:00
### Setup
This section explains how to setup your development environment for pxt-microbit, whether that be to run a copy locally or to make source changes.
Note that pxt-microbit can not be run without its main depandancy, [pxt ](https://github.com/Microsoft/pxt ). Below explains how to setup both.
2016-03-10 14:26:59 -08:00
2017-10-15 22:15:43 -07:00
The following commands perform a one-time setup after synching the repo on your machine.
2018-02-28 00:02:58 +00:00
* Note for any editing of the .cpp files, Yotta must be installed. Do do so, follow the instructions on [their site ](http://docs.yottabuild.org/ ).
* Install node.js 8.9.4 or higher.
* Install requirements for [pxt ](https://github.com/Microsoft/pxt ). Note the v0 branch must be used for pxt-microbit (add ``sudo` ` for Mac/Linux shells).
2016-05-18 09:18:14 -07:00
```
2018-02-28 00:02:58 +00:00
npm install -g jake
npm install -g typings
2016-05-18 09:18:14 -07:00
```
2018-02-23 17:20:31 -08:00
2018-02-28 00:02:58 +00:00
* [Clone the pxt repository ](https://help.github.com/articles/cloning-a-repository/ ) and set it to the v0 branch.
2016-05-26 21:38:11 -07:00
```
2018-02-28 00:02:58 +00:00
git clone https://github.com/microsoft/pxt
cd pxt
git checkout v0
2016-05-26 21:38:11 -07:00
```
2018-02-28 00:02:58 +00:00
* Install the pxt dependencies.
2016-05-19 10:34:24 -07:00
```
2018-02-28 00:02:58 +00:00
npm install
typings install
jake
cd ../
2016-05-19 10:34:24 -07:00
```
2016-05-18 09:18:14 -07:00
2018-02-28 00:02:58 +00:00
* [Clone this repo ](https://help.github.com/articles/cloning-a-repository/ ) to your computer.
2018-02-23 17:20:31 -08:00
```
2018-02-28 00:02:58 +00:00
git clone https://github.com/microsoft/pxt-microbit
cd pxt-microbit
2018-02-23 17:20:31 -08:00
```
2018-02-28 00:02:58 +00:00
* install the PXT command line (add ``sudo` ` for Mac/Linux shells).
2018-02-23 17:20:31 -08:00
```
2018-02-28 00:02:58 +00:00
npm install -g pxt
2018-02-23 17:20:31 -08:00
```
2018-02-28 00:02:58 +00:00
* install the dependencies
2018-02-23 17:20:31 -08:00
```
npm install
2018-02-28 00:02:58 +00:00
2018-02-23 17:20:31 -08:00
```
2018-02-28 00:02:58 +00:00
* Link pxt-microbit back to base pxt repo.
2018-02-23 17:20:31 -08:00
```
2018-02-28 00:02:58 +00:00
npm link ../pxt
2018-02-23 17:20:31 -08:00
```
2018-02-28 00:02:58 +00:00
Note the above command assumes the folder structure of
2018-02-23 17:20:31 -08:00
```
2018-02-28 00:02:58 +00:00
makecode
|
-----------------
| |
pxt pxt-microbit
```
### Running
Run this command from inside pxt-microbit to open a local web server (add ``sudo` ` for Mac/Linux shells)
```
pxt serve --cloud
2018-02-23 17:20:31 -08:00
```
2018-02-28 00:02:58 +00:00
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.
2016-07-28 11:47:45 +01:00
2018-02-28 00:02:58 +00:00
If you need modify the `.cpp` files (and have installed yotta), enable yotta compilation by removing the ```--cloud` `` flag (add ``sudo` ` for Mac/Linux shells):
2018-02-23 17:20:31 -08:00
```
pxt serve
```
2018-02-28 00:02:58 +00:00
### Updates
To update your PXT version and make sure you're running the latest tools, run (add ``sudo` ` for Mac/Linux shells):
2018-02-23 17:20:31 -08:00
```
2018-02-28 00:02:58 +00:00
pxt update
2018-02-23 17:20:31 -08:00
```
2016-07-28 11:47:45 +01:00
2018-02-28 00:02:58 +00:00
More instructions are at https://github.com/Microsoft/pxt#running -a-target-from-localhost
2017-07-18 11:05:28 -07:00
## Repos
2017-10-15 22:15:43 -07:00
The pxt-microbit target depends on several other repos. The main ones are:
2017-07-18 11:05:28 -07:00
- https://github.com/Microsoft/pxt, the PXT framework
- https://github.com/lancaster-university/microbit, basic wrapper around the DAL
- https://github.com/lancaster-university/microbit-dal
2018-02-23 19:52:11 -08:00
## History
2017-08-02 11:24:33 -07:00
2018-02-23 19:52:11 -08:00
See the [MakeCode blog ](https://makecode.com/blog ).
2017-07-18 11:05:28 -07:00
2016-06-21 13:17:42 -07:00
## Code of Conduct
This project has adopted the [Microsoft Open Source Code of Conduct ](https://opensource.microsoft.com/codeofconduct/ ). For more information see the [Code of Conduct FAQ ](https://opensource.microsoft.com/codeofconduct/faq/ ) or contact [opencode@microsoft.com ](mailto:opencode@microsoft.com ) with any additional questions or comments.