2016-04-07 13:34:52 -07:00
# micro:bit target for PXT
2016-03-10 14:21:48 -08:00
2018-08-31 04:39:43 +08:00
[![Build Status ](https://travis-ci.org/Microsoft/pxt-microbit.svg?branch=v1 )](https://travis-ci.org/Microsoft/pxt-microbit)
2016-03-10 14:21:48 -08:00
2018-08-31 04:39:43 +08:00
*This README is for pxt-microbit v1.x, which is [currently in beta ](https://makecode.com/blog/microbit/v1-beta ).*
2016-05-10 21:43:12 -07:00
2018-08-31 04:39:43 +08:00
pxt-microbit is a [Microsoft Programming Experience Toolkit (PXT) ](https://github.com/Microsoft/pxt ) target that allows you to program a [BBC micro:bit ](https://microbit.org/ ). pxt-microbit v1.x requires pxt v3.x, which is currently in the [master branch of pxt ](https://github.com/Microsoft/pxt/tree/master ).
* [Try it live ](https://makecode.microbit.org/beta )
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-08-31 04:39:43 +08:00
### Setup
2016-03-10 14:26:59 -08:00
2018-08-31 04:39:43 +08:00
1. Install [Node.js ](https://nodejs.org/ ) 8.9.4 or higher.
2. Install [Yotta ](http://docs.yottabuild.org/ ) if you are going to edit any `.cpp` files.
3. Clone the pxt repository.
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
2016-05-26 21:38:11 -07:00
```
2018-08-31 04:39:43 +08:00
4. Install the dependencies of pxt and build it
2016-05-19 10:34:24 -07:00
```
2018-02-28 00:02:58 +00:00
npm install
2018-08-31 04:39:43 +08:00
npm run build
cd ..
2016-05-19 10:34:24 -07:00
```
2018-10-05 11:09:08 -07:00
5. Clone the pxt-common-packages repository
```
git clone https://github.com/microsoft/pxt-common-packages
cd pxt-common-packages
npm install
cd ..
```
6. Clone the `v1` branch of this repository.
2018-02-23 17:20:31 -08:00
```
2018-08-31 04:39:43 +08:00
git clone https://github.com/microsoft/pxt-microbit --branch v1
2018-02-28 00:02:58 +00:00
cd pxt-microbit
2018-02-23 17:20:31 -08:00
```
2018-10-05 11:09:08 -07:00
7. 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-10-05 11:09:08 -07:00
8. Install the pxt-microbit dependencies.
2018-02-23 17:20:31 -08:00
```
npm install
```
2018-08-31 04:39:43 +08:00
8. Link pxt-microbit back to base pxt repo (add `sudo` for Mac/Linux shells).
2018-02-23 17:20:31 -08:00
```
2018-02-28 00:02:58 +00:00
npm link ../pxt
2018-10-05 11:09:08 -07:00
npm link ../pxt-common-packages
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
|
2018-10-05 11:09:08 -07:00
----------------------------------
| | |
pxt pxt-common-packages pxt-microbit
2018-02-28 00:02:58 +00:00
```
### Running
2018-08-31 04:39:43 +08:00
Run this command from inside pxt-microbit to open a local web server
2018-02-28 00:02:58 +00:00
```
2018-08-31 04:39:43 +08:00
pxt serve
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-08-31 04:39:43 +08:00
If you need to modify the `.cpp` files (and have installed yotta), enable yotta compilation using the `--localbuild` flag:
2018-02-23 17:20:31 -08:00
```
2018-08-31 04:39:43 +08:00
pxt serve --localbuild
2018-02-23 17:20:31 -08:00
```
2018-02-28 00:02:58 +00:00
### Updates
2018-10-05 11:09:08 -07:00
Make sure to pull changes from all repos regularly. More instructions are at https://github.com/Microsoft/pxt#running -a-target-from-localhost
2018-02-28 00:02:58 +00:00
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
2018-10-05 11:09:08 -07:00
- https://github.com/Microsoft/pxt-commmon-packages, common APIs accross various MakeCode editors
2017-07-18 11:05:28 -07:00
- 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.