Solution for Bluetooth SIG hands-on training course

Dependencies:   BLE_API mbed-dev-bin nRF51822-bluetooth-mdw

Dependents:   microbit

Fork of microbit-dal-bluetooth-mdw_starter by Martin Woolley

Committer:
LancasterUniversity
Date:
Wed Jul 13 12:17:54 2016 +0100
Revision:
22:23d7b9a4b082
Parent:
17:b15c83c64043
Synchronized with git rev 7cf98c22
Author: James Devine
microbit-dal: patch for fiber_wake_on_event

fiber_wake_on_event used to crash after forking a FOB fiber.

It would attempt to obtain a new fiber context, and would place it on the wait queue.
Then when that fiber was paged in, the context of that fiber would not have been
initialised, as the function presumed schedule would be called immediately after
fiber initialisation.

This patch catches that edge case.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jonathan Austin 1:8aa5cdb4ab67 1 # microbit-dal
Jonathan Austin 1:8aa5cdb4ab67 2
Jonathan Austin 1:8aa5cdb4ab67 3 The core set of drivers, mechanisms and types that make up the micro:bit runtime.
Jonathan Austin 1:8aa5cdb4ab67 4
Jonathan Austin 1:8aa5cdb4ab67 5 ## Overview
Jonathan Austin 1:8aa5cdb4ab67 6
Jonathan Austin 1:8aa5cdb4ab67 7 The micro:bit runtime provides an easy to use environment for programming the BBC micro:bit in the C/C++ language, written by Lancaster University. It contains device drivers for all the hardware capabilities of the micro:bit, and also a suite of runtime mechanisms to make programming the micro:bit easier and more flexible. These range from control of the LED matrix display to peer-to-peer radio communication and secure Bluetooth Low Energy services. The micro:bit runtime is proudly built on the ARM mbed and Nordic nrf51 platforms.
Jonathan Austin 1:8aa5cdb4ab67 8
LancasterUniversity 17:b15c83c64043 9 In addition to supporting development in C/C++, the runtime is also designed specifically to support higher level languages provided by our partners that target the micro:bit. It is currently used as a support library for all the languages on the BBC www.microbit.co.uk website, including the Microsoft Block Editor, Microsoft Touch Develop, Code Kingdoms JavaScript and Micropython languages.
Jonathan Austin 1:8aa5cdb4ab67 10
Jonathan Austin 1:8aa5cdb4ab67 11 ## Links
Jonathan Austin 1:8aa5cdb4ab67 12
Jonathan Austin 1:8aa5cdb4ab67 13 [micro:bit runtime docs](http://lancaster-university.github.io/microbit-docs/) | [uBit](https://github.com/lancaster-university/microbit) | [samples](https://github.com/lancaster-university/microbit-samples)
Jonathan Austin 1:8aa5cdb4ab67 14
Jonathan Austin 1:8aa5cdb4ab67 15 ## Build Environments
Jonathan Austin 1:8aa5cdb4ab67 16
Jonathan Austin 1:8aa5cdb4ab67 17 | Build Environment | Documentation |
Jonathan Austin 1:8aa5cdb4ab67 18 | ------------- |-------------|
Jonathan Austin 1:8aa5cdb4ab67 19 | ARM mbed online | http://lancaster-university.github.io/microbit-docs/online-toolchains/#mbed |
Jonathan Austin 1:8aa5cdb4ab67 20 | yotta | http://lancaster-university.github.io/microbit-docs/offline-toolchains/#yotta |
Jonathan Austin 1:8aa5cdb4ab67 21
Jonathan Austin 1:8aa5cdb4ab67 22
Jonathan Austin 1:8aa5cdb4ab67 23
Jonathan Austin 1:8aa5cdb4ab67 24 ## Hello World!
Jonathan Austin 1:8aa5cdb4ab67 25
Jonathan Austin 1:8aa5cdb4ab67 26 ```cpp
Jonathan Austin 1:8aa5cdb4ab67 27 #include "MicroBitDisplay.h"
Jonathan Austin 1:8aa5cdb4ab67 28
Jonathan Austin 1:8aa5cdb4ab67 29 MicroBitDisplay display;
Jonathan Austin 1:8aa5cdb4ab67 30
Jonathan Austin 1:8aa5cdb4ab67 31 int main()
Jonathan Austin 1:8aa5cdb4ab67 32 {
Jonathan Austin 1:8aa5cdb4ab67 33 display.scroll("Hello world!");
Jonathan Austin 1:8aa5cdb4ab67 34 }
Jonathan Austin 1:8aa5cdb4ab67 35 ```
Jonathan Austin 1:8aa5cdb4ab67 36
Jonathan Austin 1:8aa5cdb4ab67 37 ## BBC Community Guidelines
Jonathan Austin 1:8aa5cdb4ab67 38
LancasterUniversity 17:b15c83c64043 39 [BBC Community Guidelines](https://www.microbit.co.uk/help#sect_cg)