MakeCode target for "Maker" boards (beta)
Перейти к файлу
Michał Moskal 79408a320f
add support for esp32 and esp32-s2 (#347)
* Add esp32-devkitc

* Docker fix

* Disable device config for now on esp

* Add esp32s2

* Add new esp32s2 compile service

* add jacdac-iot board

* import settings and wifi libs for esp32

* update shims

* enable pins on esp32

* fix pin config

* Remove feather-s2 config (incomplete anyways)

* fix deps

* add missing libs

* bump pxt and pxt-c-p

* Add cards for ESP32 boards

* add missing libs

* Optimised images with calibre/image-actions

* re-generate files

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-08-05 20:17:48 +02:00
.github udpated calibre app 2020-01-27 21:29:05 -08:00
.vscode add support for esp32 and esp32-s2 (#347) 2021-08-05 20:17:48 +02:00
docs add support for esp32 and esp32-s2 (#347) 2021-08-05 20:17:48 +02:00
libs add support for esp32 and esp32-s2 (#347) 2021-08-05 20:17:48 +02:00
scripts Add stm32f401re and align with common pkgs (#56) 2018-06-15 08:53:16 -07:00
sim missing jacdac icon 2021-05-12 08:35:00 -07:00
theme Set monaco toolbox background and text colors (#287) 2020-02-13 17:01:07 -08:00
.clang-format start of pxt-maker 2017-12-20 11:14:23 -08:00
.gitattributes start of pxt-maker 2017-12-20 11:14:23 -08:00
.gitignore ignore package lock 2020-01-22 08:09:47 -08:00
.travis.yml Always install webusb (#227) 2019-05-07 22:26:23 -07:00
LICENSE Update LICENSE 2018-01-21 23:05:09 -08:00
README.md Updated paths for CODAL local build. (#295) 2020-02-21 06:13:00 -08:00
THIRD-PARTY-NOTICES.txt shuffle css (#40) 2018-04-15 14:03:40 -07:00
faviconData.json updated icons 2018-04-25 02:53:10 -07:00
faviconDescription.json updated icons 2018-04-25 02:53:10 -07:00
link.sh jacdac moved to outside repo (#314) 2020-06-16 13:01:41 -07:00
maker.code-workspace Jacdac core (#305) 2020-04-13 14:13:18 -07:00
package.json add support for esp32 and esp32-s2 (#347) 2021-08-05 20:17:48 +02:00
pxtarget.json add support for esp32 and esp32-s2 (#347) 2021-08-05 20:17:48 +02:00
svgo.yml retain origianl svgs 2019-02-08 09:32:51 -08:00
targetconfig.json updated approved exnteion path 2021-03-05 05:13:30 -08:00
tslint.json start of pxt-maker 2017-12-20 11:14:23 -08:00

README.md

MakeCode Maker Actions Status

This is an experimental code editor for maker boards - try it at https://maker.makecode.com.

Who is this for?

This editor is meant for micro-controllers that are friendly to breadboarding. The editor is based on Microsoft MakeCode.

Local Dev Server

The local server lets you to run the editor and serve the documentation from your own computer.

Setup

  1. Install Node.js 8.9.4 or higher.
  2. Install Docker if you are going to edit any .cpp files.
  3. Clone the pxt repository.
git clone https://github.com/microsoft/pxt
cd pxt
  1. Install the dependencies of Microsoft/pxt and build it
npm install
npm run build
cd ..
  1. Clone the Microsoft/pxt-common-packages repository
git clone https://github.com/microsoft/pxt-common-packages
cd pxt-common-packages
npm install
cd ..
  1. Clone the Microsoft/pxt-maker repository
git clone https://github.com/microsoft/pxt-maker
cd pxt-maker
  1. Install the PXT command line (add sudo for Mac/Linux shells).
npm install -g pxt
  1. Install the pxt-maker dependencies.
npm install
  1. Link pxt-maker back to base pxt repo (add sudo for Mac/Linux shells).
rm -Rf node_modules/pxt-core
rm -Rf node_modules/pxt-common-packages
pxt link ../pxt
pxt link ../pxt-common-packages

If you want to know if your folders are link, run ls -l and it will indicate them.

ls -l node_modules/

Note the above command assumes the folder structure of

       maker.makecode.com
          |
  ----------------------------------
  |       |                        |
 pxt      pxt-common-packages  pxt-maker

Refresh dal.d.ts files

Whenever you make changes to the #defines in the .cpp files, you will have to refresh the dal.d.ts files. For that, run

pxt builddaldts

CODAL changes

If you need to do changes to CODAL itself, follow these steps.

  • create a new project in the web editor, then close the web server. Select the hardware you want to work with.
  • using a command prompt, open the projects folder and find the subfolder with your new project
  • open the folder in Visual Studio Code
code .
  • open pxt.json and edit the dependencies to use the file:... path instead of *
   dependencies: {
        "adafruit-metro-m0-express": "file:../../libs/adafruit-metro-m0-express"
   }
  • from the command line, set the PXT_NODOCKER environment variable to 1
export PXT_NODOCKER=1
  • run a local build that will create a CODAL checkout automatically. If you are missing tools, you will be notified by the build script.
pxt build --local --force
  • go to the built/dockercodal folder and open all CODAL in a new Visual Studio Code instance
cd built/dockercodal
code libraries/*
  • go to the Git tab in VS Code, and change the branch of the CODAL repository to work on to master. You can create a new branch to start doing your work and pull requests.

  • to build CODAL directly, run built/codal

python build.py
  • to rebuild your project from pxt, run pxt build --local --force from the project folder

Running

Run this command from inside pxt-maker to open a local web server

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 to modify the .cpp files (and have installed yotta), enable yotta compilation using the --localbuild flag:

pxt serve --localbuild

Updates

Make sure to pull changes from all repos regularly. More instructions are at https://github.com/microsoft/pxt#running-a-target-from-localhost

Repos

The pxt-maker target depends on several other repos. The main ones are:

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.