Skip to content

Commit 917a60d

Browse files
v1.0.1: Add TOC, move Intro section upwards, add Changelog (#4)
* add TOC to spec * update toc and page order * Remove Version section and add Changelog Co-authored-by: Carlos Pereira Atencio <carlos@microbit.org>
1 parent 59d6b1c commit 917a60d

1 file changed

Lines changed: 45 additions & 15 deletions

File tree

spec/index.md

Lines changed: 45 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,36 @@ lang: en
1010

1111
# Power Management Specification
1212

13-
## Version
13+
This is version 1.0.1 of the specification.
1414

15-
This is version 1.0.0 of the specification.
15+
## Table of Contents
16+
17+
- [Introduction](#introduction)
18+
- [Terminology](#terminology)
19+
- [micro:bit Power Modes](#microbit-power-modes)
20+
- [Interface (KL27) Power Modes](#interface-KL27-power-modes)
21+
- [LED behaviour](#led-behaviour)
22+
- [Waking Up The Interface (KL27)](#waking-up-the-interface-KL27)
23+
- [Target (nRF52) Power Modes](#target-nRF52-power-modes)
24+
- [Waking Up The Target (nRF52)](#waking-up-the-target-nRF52)
25+
- [Power Mode Transitions](#power-mode-transitions)
26+
- [Changelog](#changelog)
27+
28+
29+
## Introduction
30+
31+
The micro:bit contains two microcontrollers, the Interface MCU (KL27) which provides the USB functionality, and the Target MCU (nRF52) where the user code runs.
32+
More information can be found in the [Tech Site DAPLink page](https://tech.microbit.org/software/daplink-interface/).
33+
34+
In micro:bit V1 the Interface MCU (KL26) is not powered via batteries or the Edge Connector, so the sleep functionality is only implemented in the Target MCU (nRF51).
35+
The micro:bit V2 powers both MCUs with all power sources, so to set the board into a sleep mode some co-operation via the [I2C protocol](https://github.com/microbit-foundation/spec-i2c-protocol) is needed.
36+
37+
The micro:bit V2 has four power modes described in this document:
38+
39+
- [On Mode](#on-mode)
40+
- [Deep Sleep Mode](#deep-sleep-mode)
41+
- [Off Mode](#off-mode)
42+
- [Stand-by Mode](#stand-by-mode)
1643

1744

1845
## Terminology
@@ -32,20 +59,11 @@ This is version 1.0.0 of the specification.
3259
| COMBINED_SENSOR_INT | Interrupt signal shared between all the internal I2C devices in the micro:bit board |
3360

3461

35-
## Introduction
36-
37-
The micro:bit contains two microcontrollers, the Interface MCU (KL27) which provides the USB functionality, and the Target MCU (nRF52) where the user code runs.
38-
More information can be found in the [Tech Site DAPLink page](https://tech.microbit.org/software/daplink-interface/).
39-
40-
In micro:bit V1 the Interface MCU (KL26) is not powered via batteries or the Edge Connector, so the sleep functionality is only implemented in the Target MCU (nRF51).
41-
The micro:bit V2 powers both MCUs with all power sources, so to set the board into a sleep mode some co-operation via the [I2C protocol](https://github.com/microbit-foundation/spec-i2c-protocol) is needed.
42-
43-
4462
## micro:bit Power Modes
4563

4664
We want to define 4 user-facing power modes for the micro:bit board. These board-level modes will be achieved via a combination of different subsystem power modes.
4765

48-
- **On Mode**: Normal running mode.
66+
- **<a id="on-mode"></a>On Mode**: Normal running mode.
4967
- As far as the user is concerned, everything is running
5068
- The software in the Target (nRF52) and Interface (KL27) can decide to go into Sleep if they are idle
5169
- If the Interface (KL27) is not PC Connected and is idle it must go into Sleep
@@ -58,7 +76,7 @@ We want to define 4 user-facing power modes for the micro:bit board. These board
5876
- The Power (red) LED must be ON
5977
- If the board is PC connected the USB (orange) LED must be ON
6078
- If the board is not PC connected the USB (orange) LED must be OFF
61-
- **Deep Sleep Mode**: A mode triggered by the user code to go into a low-power state
79+
- **<a id="deep-sleep-mode"></a>Deep Sleep Mode**: A mode triggered by the user code to go into a low-power state
6280
- The Interface (KL27) does not do anything different to the On Mode
6381
- The Target (nRF52) must turn off the on-board components
6482
- The Target (nRF52) must go into Sleep
@@ -81,7 +99,7 @@ We want to define 4 user-facing power modes for the micro:bit board. These board
8199
- The Interface (KL27) must reset the Target (nRF52) when the reset button is released
82100
- If the board is PC Connected the USB (orange) and Power (red) LEDs must be ON
83101
- If the board is not PC Connected the USB (orange) and Power (red) LEDs must be OFF
84-
- **Off Mode**: Lowest possible power state for all components on the board
102+
- **<a id="off-mode"></a>Off Mode**: Lowest possible power state for all components on the board
85103
- The board can be considered "off", although it will still consume power
86104
- This mode can only be reached if the micro:bit is powered via battery or USB bank (not USB Connected)
87105
- The Target (nRF52) must turn off the on-board components
@@ -97,7 +115,7 @@ We want to define 4 user-facing power modes for the micro:bit board. These board
97115
- Pressing the reset button
98116
- The Power (red) LED must be OFF
99117
- The USB (orange) LED must be OFF
100-
- **Stand-by Mode**: User long presses the reset button, while the micro:bit is PC Connected, to stop their Target (nRF52) programme
118+
- **<a id="stand-by-mode"></a>Stand-by Mode**: User long presses the reset button, while the micro:bit is PC Connected, to stop their Target (nRF52) programme
101119
- This is the same as the Off Mode, but this mode is activated when the micro:bit is PC Connected
102120
- The Interface (KL27) must not go into any sleep in this case, the rest behaves the same
103121
- The Power (red) LED must be blinking
@@ -297,3 +315,15 @@ The only way to transition from Sleep to Stand-by is by the user pressing the re
297315
### Off or Stand-by -> Deep Sleep
298316

299317
Not possible.
318+
319+
320+
## Changelog
321+
322+
**1.0.1**:
323+
- Added Table of Contents.
324+
- Rorganised sections for better presentation.
325+
- Added links to the power modes to the intro
326+
- Added markdown frontmatter metadata for tech.microbit.org website rendering.
327+
328+
**1.0.0**:
329+
- Initial release.

0 commit comments

Comments
 (0)