File tree 5 files changed +752
-0
lines changed
5 files changed +752
-0
lines changed Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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:uno_wifi_rev2]
12
+ platform = atmelmegaavr
13
+ board = uno_wifi_rev2
14
+ framework = arduino
15
+ lib_deps =
16
+ SPI
17
+ arduino-libraries/WiFiNINA @ ^1.8.13
18
+ beegee-tokyo/DHT sensor library for ESPx @ ^1.18
19
+ paulstoffregen/OneWire @ ^2.3.5
20
+ https://github.com/linucks/DFRobot_EC.git
21
+ https://github.com/linucks/DFRobot_PH
22
+ pubsubclient
23
+ bblanchon/ArduinoJson @ ^6.21.3
You can’t perform that action at this time.
0 commit comments