Coder Social home page Coder Social logo

microsoft / microbit-touchdevelop Goto Github PK

View Code? Open in Web Editor NEW
22.0 52.0 21.0 342 KB

The glue that binds together TouchDevelop programs compiled to C++ and the micro:bit runtime system

License: Other

C++ 93.80% C 0.67% Makefile 0.45% JavaScript 4.64% Shell 0.43%

microbit-touchdevelop's Introduction

Instructions.

Building with ARMCC

Install KEIL v4, do the license dance, figure things out, add to your path, etc.

yotta target bbc-microbit-classic-armcc
yotta login
yotta update
yotta build

Building with GCC

Patch module.json so that microbit-dal points to #experimental instead of #master.

yotta target bbc-microbit-classic-gcc
yotta login
yotta update
yotta build

Notes

Yotta doesn't clean up properly when: switching targets, switching branches in module.json. Always do yotta clean just to make sure. If you modified module.json, do yotta clean and yotta update. Also, blast away yotta_modules and yotta_target. Just to make sure.

The cloud compile service seems unhappy if the project doesn't compile (even though main.cpp is meant to be always replaced). So make sure that the projects compiles from a fresh checkout before pushing.

Using local version of DAL in Touch Develop

  • make sure Touch Develop is in TouchDevelop directory parallel to microbit-touchdevelop (for example, checkouts in /c/microbit-touchdevelop and /c/TouchDevelop
  • in TouchDevelop build as usual and run jake local; then head to http://localhost:4242/editor/local/mbit.html?lite=www.microbit.co.uk
  • in microbit-touchdevelop do the yotta dance with GCC as described above
  • in microbit-touchdevelop run either make run or ./run.sh
  • head to http://localhost:4242/editor/local/mbit.html?lite=www.microbit.co.uk&microbit=local

microbit-touchdevelop's People

Contributors

mmoskal avatar msprotz avatar pelikhan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

microbit-touchdevelop's Issues

TouchDevelop Library with `glue.cpp` embedded string resource build failed

Hello,

We're building a TouchDevelop library for our micro:bit accessories.

We found some guides and examples:

We forked this repo and create our own - github: minodekit/td-minode. We develop our C++ glue layer based on it. We use yt build to ensure our code can be compiled correctly.

But When we copy to the glue.cpp string resource, The compiler took a long time and then we get an error. Then we do some test:

Test cases

Test 1:

  1. Blank typescript without any ts function
  2. simple glue.cpp: only an namespace with some simple enums
  3. build failed

Test 2:

  1. Blank typescript without any ts function
  2. the same glue.cpp with the TCS 34725 example
  3. build success

Test 3:

  1. Blank typescript without any ts function
  2. the same glue.cpp with the TCS 34725 example, but we changed the namespace name / or added some blank line to ensure generated a new SHA256 code.
  3. build failed

Summarize

It seems the mbed cloud complier timeout?

Do you have any suggestions? Thanks.

By the way, We also create some PXT packages. They work well.

Best Regards,
Paul

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.