Commit 5aa9fdaf8eb5c9bebcb839715bcff6d5dad50f62
1 parent
c77ada867e
Exists in
main
initial PIO project creating for nano every, add SD card and RTClib dependencies
Showing 7 changed files with 146 additions and 0 deletions Side-by-side Diff
dirwin-nano-every/.gitignore
View file @
5aa9fda
dirwin-nano-every/.vscode/extensions.json
View file @
5aa9fda
dirwin-nano-every/include/README
View file @
5aa9fda
1 | + | |
2 | +This directory is intended for project header files. | |
3 | + | |
4 | +A header file is a file containing C declarations and macro definitions | |
5 | +to be shared between several project source files. You request the use of a | |
6 | +header file in your project source file (C, C++, etc) located in `src` folder | |
7 | +by including it, with the C preprocessing directive `#include'. | |
8 | + | |
9 | +```src/main.c | |
10 | + | |
11 | +#include "header.h" | |
12 | + | |
13 | +int main (void) | |
14 | +{ | |
15 | + ... | |
16 | +} | |
17 | +``` | |
18 | + | |
19 | +Including a header file produces the same results as copying the header file | |
20 | +into each source file that needs it. Such copying would be time-consuming | |
21 | +and error-prone. With a header file, the related declarations appear | |
22 | +in only one place. If they need to be changed, they can be changed in one | |
23 | +place, and programs that include the header file will automatically use the | |
24 | +new version when next recompiled. The header file eliminates the labor of | |
25 | +finding and changing all the copies as well as the risk that a failure to | |
26 | +find one copy will result in inconsistencies within a program. | |
27 | + | |
28 | +In C, the usual convention is to give header files names that end with `.h'. | |
29 | +It is most portable to use only letters, digits, dashes, and underscores in | |
30 | +header file names, and at most one dot. | |
31 | + | |
32 | +Read more about using header files in official GCC documentation: | |
33 | + | |
34 | +* Include Syntax | |
35 | +* Include Operation | |
36 | +* Once-Only Headers | |
37 | +* Computed Includes | |
38 | + | |
39 | +https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html |
dirwin-nano-every/lib/README
View file @
5aa9fda
1 | + | |
2 | +This directory is intended for project specific (private) libraries. | |
3 | +PlatformIO will compile them to static libraries and link into executable file. | |
4 | + | |
5 | +The source code of each library should be placed in a an own separate directory | |
6 | +("lib/your_library_name/[here are source files]"). | |
7 | + | |
8 | +For example, see a structure of the following two libraries `Foo` and `Bar`: | |
9 | + | |
10 | +|--lib | |
11 | +| | | |
12 | +| |--Bar | |
13 | +| | |--docs | |
14 | +| | |--examples | |
15 | +| | |--src | |
16 | +| | |- Bar.c | |
17 | +| | |- Bar.h | |
18 | +| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html | |
19 | +| | | |
20 | +| |--Foo | |
21 | +| | |- Foo.c | |
22 | +| | |- Foo.h | |
23 | +| | | |
24 | +| |- README --> THIS FILE | |
25 | +| | |
26 | +|- platformio.ini | |
27 | +|--src | |
28 | + |- main.c | |
29 | + | |
30 | +and a contents of `src/main.c`: | |
31 | +``` | |
32 | +#include <Foo.h> | |
33 | +#include <Bar.h> | |
34 | + | |
35 | +int main (void) | |
36 | +{ | |
37 | + ... | |
38 | +} | |
39 | + | |
40 | +``` | |
41 | + | |
42 | +PlatformIO Library Dependency Finder will find automatically dependent | |
43 | +libraries scanning project source files. | |
44 | + | |
45 | +More information about PlatformIO Library Dependency Finder | |
46 | +- https://docs.platformio.org/page/librarymanager/ldf.html |
dirwin-nano-every/platformio.ini
View file @
5aa9fda
1 | +; PlatformIO Project Configuration File | |
2 | +; | |
3 | +; Build options: build flags, source filter | |
4 | +; Upload options: custom upload port, speed and extra flags | |
5 | +; Library options: dependencies, extra library storages | |
6 | +; Advanced options: extra scripting | |
7 | +; | |
8 | +; Please visit documentation for the other options and examples | |
9 | +; https://docs.platformio.org/page/projectconf.html | |
10 | + | |
11 | +[env:nano_every] | |
12 | +platform = atmelmegaavr | |
13 | +board = nano_every | |
14 | +framework = arduino | |
15 | +lib_deps = | |
16 | + arduino-libraries/SD@^1.2.4 | |
17 | + adafruit/RTClib@^2.1.3 |
dirwin-nano-every/src/main.cpp
View file @
5aa9fda
1 | +#include <Arduino.h> | |
2 | + | |
3 | +// put function declarations here: | |
4 | +int myFunction(int, int); | |
5 | + | |
6 | +void setup() { | |
7 | + // put your setup code here, to run once: | |
8 | + int result = myFunction(2, 3); | |
9 | +} | |
10 | + | |
11 | +void loop() { | |
12 | + // put your main code here, to run repeatedly: | |
13 | +} | |
14 | + | |
15 | +// put function definitions here: | |
16 | +int myFunction(int x, int y) { | |
17 | + return x + y; | |
18 | +} |
dirwin-nano-every/test/README
View file @
5aa9fda
1 | + | |
2 | +This directory is intended for PlatformIO Test Runner and project tests. | |
3 | + | |
4 | +Unit Testing is a software testing method by which individual units of | |
5 | +source code, sets of one or more MCU program modules together with associated | |
6 | +control data, usage procedures, and operating procedures, are tested to | |
7 | +determine whether they are fit for use. Unit testing finds problems early | |
8 | +in the development cycle. | |
9 | + | |
10 | +More information about PlatformIO Unit Testing: | |
11 | +- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html |