You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 6, 2018. It is now read-only.
[](https://gitter.im/forGGe/theCore?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
5
5
6
6
## Description
7
7
8
-
The Core is highly configurable and straightforward C++ framework aimed to reduce development efforts for embedded applications.
9
-
The main idea of The Core is to make as much as possible in the compile time.
8
+
theCore is highly configurable and straightforward C++ framework aimed to reduce development efforts for embedded applications.
9
+
The main idea of theCore is to make as much as possible in the compile time.
10
10
This affects the way how the device drivers and peripherals are represented.
11
-
In fact, each driver is the template class that is instantiated with all the dependencies in a distinct type by user of The Core in the compile time.
11
+
In fact, each driver is the template class that is instantiated with all the dependencies in a distinct type by user of theCore in the compile time.
12
12
13
-
You can check out more directly in the code of [the SPI driver](platform/stm32f4xx/export/platform/spi_bus.hpp) or [the USART bus](platform/stm32f4xx/export/platform/usart_bus.hpp).
13
+
You can check out more directly in the code of [the SPI driver](platform/stm32/export/aux/spi_bus.hpp) or [the USART bus](platform/stm32/export/aux/usart_bus.hpp).
14
14
15
15
The project is at the initial stage. But something is already in there:
16
16
- CMake-based build-system
@@ -24,11 +24,11 @@ The project is at the initial stage. But something is already in there:
24
24
25
25
## Getting started
26
26
27
-
If you are interested in the simplest, ready-made demo project based on The Core, refer to [the blinky example project](https://github.com/forGGe/theCore-blinky).
27
+
If you are interested in the simplest, ready-made demo project based on theCore, refer to [the blinky example project](https://github.com/forGGe/theCore-blinky).
28
28
29
29
You may also check [examples within theCore source tree](examples/).
30
30
31
-
In order to proceed with The Core itself, start cloning this repository:
31
+
In order to proceed with theCore itself, start cloning this repository:
32
32
```
33
33
git clone https://github.com/forGGe/theCore.git
34
34
```
@@ -44,9 +44,29 @@ nix-shell --pure
44
44
...
45
45
```
46
46
47
+
## Examples
48
+
49
+
Examples reside in the [`examples`](examples) dir. Each example contains instructions how to compile and use the example.
50
+
51
+
To build all examples at once you can use nix and specially crafted [superproject](examples/CMakeLists.txt).
52
+
To do that, [enter the nix shell](#getting-started) and proceed as follows.
53
+
54
+
```bash
55
+
cd examples
56
+
mkdir build
57
+
cd build
58
+
cmake ..
59
+
make
60
+
```
61
+
62
+
Resulting binaries will be placed under corresponding directories.
63
+
I.e. the [cs43l22 example](examples/cs43l22_audio) if built that way, will be placed under `build/stm32f4_cs43l22_audio-prefix/src/stm32f4_cs43l22_audio-build/` directory.
64
+
You can refer to the [external project CMake documetation](https://cmake.org/cmake/help/v3.4/module/ExternalProject.html) and [the superproject CMake list file](examples/CMakeLists.txt) to figure out where binaries will be placed.
65
+
Instructions describing how to flash binary onto the device placed in the readme file inside each example.
66
+
47
67
## Unit tests
48
68
49
-
The Core's unit tests can be built and run on the host machine.
69
+
theCore's unit tests can be built and run on the host machine.
50
70
For this you have to run the nix-shell and trigger a build:
51
71
52
72
```bash
@@ -63,13 +83,32 @@ Then, you should run the unit tests:
63
83
ctest . --output-on-failure
64
84
```
65
85
86
+
## On-device tests
87
+
88
+
theCore comes with tests that can be executed on the device itself.
89
+
Refer to [the theCore testing documentation](tests/README.md) to figure out how to build, use and manage on-device theCore tests.
90
+
To build all tests, [enter the nix shell](#getting-started) and proceed as follows:
91
+
92
+
```bash
93
+
cd tests
94
+
mkdir build
95
+
cd build
96
+
cmake ..
97
+
make
98
+
```
99
+
66
100
## Supported platforms
67
101
68
-
Currently, the stm32f4xx platform is supported and available for further development, as well as the host-platform, used for unit tests.
102
+
| Short name | Full name | List of supported MCUs | Path in project |
The current documentation of The Core is completely stated in the code (as doxygen comments).
111
+
The current documentation of theCore is completely stated in the code (as doxygen comments).
73
112
To generate the HTML pages from Doxygen is quite enough to run:
74
113
75
114
```bash
@@ -87,8 +126,10 @@ The source code is distributed under LGPL v3.0 License.
87
126
88
127
The project is on its very beginning, so any help is more than welcome and highly appreciated.
89
128
If you'd like to take a part in the project growth and (or) have any questions – feel free to email me at [email protected], leave message at [gitter](https://gitter.im/forGGe/theCore) or simply check out [a list of issues](https://github.com/forGGe/theCore/issues).
90
-
If you have any suggestions on The Core improvement or just like it how it is, don’t keep silence! I’ll be happy to read your reviews.
129
+
If you have any suggestions on theCore improvement or just like it how it is, don’t keep silence! I’ll be happy to read your reviews.
130
+
131
+
When making pull requests, make sure that code conforms to [theCore code style guide](style.md).
91
132
92
-
You are welcome to use The Core in your own projects.
133
+
You are welcome to use theCore in your own projects.
93
134
If there is something that it’s not enough for this, please let me know via email or open some issues and we will do our best to handle this ASAP.
0 commit comments