Skip to content
This repository was archived by the owner on Dec 6, 2018. It is now read-only.

Commit ba43455

Browse files
committed
docs: add roadmap section
1 parent ef1913b commit ba43455

File tree

1 file changed

+51
-3
lines changed

1 file changed

+51
-3
lines changed

doc/sphinx/source/community.rst

Lines changed: 51 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,62 @@
33
Community and developer guidelines
44
==================================
55

6-
To make referencing easier, rules and guidelines (if present) are numbered inside section.
7-
86
.. _theCore_Roadmap:
97

108
Roadmap
119
-------
1210

13-
.. note:: This section is under construction.
11+
theCore aims to provide a rich and consistent embedded environment for a range
12+
of different devices. Such complexity requires from users an advanced knowledge
13+
of build tools, toolchains and a board layout even in simple cases like a LED
14+
blinking.
15+
16+
Thus the main milestones are directed to improve the initial user experience.
17+
Such goals are:
18+
19+
* Provide all-in-one scripts for controlling a development flow, similar to
20+
what ``mbed_cli`` does.
21+
22+
These scripts must be able to:
23+
24+
* Download required theCore revision.
25+
* Initialize development environment, by optionally installing and running Nix.
26+
* Detect and inform about missing dependencies.
27+
* Bootstrap a new project based on theCore, optionally using one of
28+
supported boards as a base.
29+
* Launch a project build.
30+
* Detect connected devices and be able to flash a project binary.
31+
* Provide a ncurses-like (at least) interface to configure the project settings,
32+
that otherwise will require a manual editing of a target JSON file.
33+
34+
* Make theCore IoT-ready.
35+
36+
It is not a surprise that a modern embedded project must include a some
37+
kind of connectivity support. Most required technologies that missing in
38+
theCore are:
39+
40+
* lwIP integration.
41+
* MQTT/COAP libraries.
42+
* ESP8266 support (as external modem at least).
43+
* Ethernet/WiFi drivers.
44+
45+
* Add more multi-target examples where possible.
46+
47+
Much of theCore's API is portable. Examples should demonstrate an usage of
48+
many development boards with the same application code.
49+
Existing examples should be also converted to support many boards.
50+
51+
* Complete support for at least one development board for each supported platform.
52+
53+
Support for a dev board includes:
54+
55+
* Drivers for each device soldered on the board.
56+
* Periphery drivers (SPI, UART, I2C, etc.) that are required by the devices,
57+
soldered on the board.
58+
* A default JSON file that provides a base clock, periphery and external
59+
devices configuration. User can change that JSON file to suit his needs.
60+
* Platform and device capabiilities - similar to what ``Kconfig``
61+
in Linux does.
1462

1563
.. _theCore_Branching:
1664

0 commit comments

Comments
 (0)