├── Reggi RX ├── .gitignore ├── .vscode │ ├── extensions.json │ └── settings.json ├── src │ ├── .vscode │ │ ├── c_cpp_properties.json │ │ ├── launch.json │ │ └── settings.json │ └── main.cpp ├── test │ └── README ├── platformio.ini ├── lib │ └── README └── include │ └── README ├── Reggi TX ├── .gitignore ├── .vscode │ ├── extensions.json │ └── settings.json ├── src │ ├── .vscode │ │ ├── c_cpp_properties.json │ │ ├── launch.json │ │ └── settings.json │ └── main.cpp ├── test │ └── README ├── platformio.ini ├── lib │ └── README └── include │ └── README ├── Reggi RX 8266 ├── .gitignore ├── .vscode │ ├── extensions.json │ └── settings.json ├── src │ ├── .vscode │ │ ├── c_cpp_properties.json │ │ ├── launch.json │ │ └── settings.json │ └── main.cpp ├── test │ └── README ├── platformio.ini ├── lib │ └── README └── include │ └── README ├── Lib ├── variables.h └── crsf_protocol.h └── README.md /Reggi RX/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | .vscode/.browse.c_cpp.db* 3 | .vscode/c_cpp_properties.json 4 | .vscode/launch.json 5 | .vscode/ipch 6 | -------------------------------------------------------------------------------- /Reggi TX/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | .vscode/.browse.c_cpp.db* 3 | .vscode/c_cpp_properties.json 4 | .vscode/launch.json 5 | .vscode/ipch 6 | -------------------------------------------------------------------------------- /Reggi RX 8266/.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | .vscode/.browse.c_cpp.db* 3 | .vscode/c_cpp_properties.json 4 | .vscode/launch.json 5 | .vscode/ipch 6 | -------------------------------------------------------------------------------- /Reggi RX/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": [ 5 | "platformio.platformio-ide" 6 | ], 7 | "unwantedRecommendations": [ 8 | "ms-vscode.cpptools-extension-pack" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /Reggi TX/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": [ 5 | "platformio.platformio-ide" 6 | ], 7 | "unwantedRecommendations": [ 8 | "ms-vscode.cpptools-extension-pack" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /Reggi RX 8266/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": [ 5 | "platformio.platformio-ide" 6 | ], 7 | "unwantedRecommendations": [ 8 | "ms-vscode.cpptools-extension-pack" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /Reggi RX/src/.vscode/c_cpp_properties.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "name": "windows-gcc-x64", 5 | "includePath": [ 6 | "${workspaceFolder}/**" 7 | ], 8 | "compilerPath": "C:/mingw32/bin/gcc.exe", 9 | "cStandard": "${default}", 10 | "cppStandard": "${default}", 11 | "intelliSenseMode": "windows-gcc-x64", 12 | "compilerArgs": [ 13 | "" 14 | ] 15 | } 16 | ], 17 | "version": 4 18 | } -------------------------------------------------------------------------------- /Reggi TX/src/.vscode/c_cpp_properties.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "name": "windows-gcc-x64", 5 | "includePath": [ 6 | "${workspaceFolder}/**" 7 | ], 8 | "compilerPath": "C:/mingw64/bin/gcc.exe", 9 | "cStandard": "${default}", 10 | "cppStandard": "${default}", 11 | "intelliSenseMode": "windows-gcc-x64", 12 | "compilerArgs": [ 13 | "" 14 | ] 15 | } 16 | ], 17 | "version": 4 18 | } -------------------------------------------------------------------------------- /Reggi RX 8266/src/.vscode/c_cpp_properties.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "name": "windows-gcc-x64", 5 | "includePath": [ 6 | "${workspaceFolder}/**" 7 | ], 8 | "compilerPath": "C:/mingw32/bin/gcc.exe", 9 | "cStandard": "${default}", 10 | "cppStandard": "${default}", 11 | "intelliSenseMode": "windows-gcc-x64", 12 | "compilerArgs": [ 13 | "" 14 | ] 15 | } 16 | ], 17 | "version": 4 18 | } -------------------------------------------------------------------------------- /Reggi RX/test/README: -------------------------------------------------------------------------------- 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 12 | -------------------------------------------------------------------------------- /Reggi TX/test/README: -------------------------------------------------------------------------------- 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 12 | -------------------------------------------------------------------------------- /Reggi RX 8266/test/README: -------------------------------------------------------------------------------- 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 12 | -------------------------------------------------------------------------------- /Reggi RX 8266/platformio.ini: -------------------------------------------------------------------------------- 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:esp8285] 12 | platform = espressif8266 13 | board = esp8285 14 | framework = arduino 15 | monitor_speed = 115200 16 | build_flags = 17 | -D USE_SX127X=0 ; SX127x "-DUSE_SX127X=1" | SX126x "-DUSE_SX127X=0" 18 | lib_deps = 19 | jgromes/RadioLib@^7.1.0 20 | ottowinter/ESPAsyncWebServer-esphome @ 3.0.0 -------------------------------------------------------------------------------- /Reggi RX/src/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "name": "C/C++ Runner: Debug Session", 6 | "type": "cppdbg", 7 | "request": "launch", 8 | "args": [], 9 | "stopAtEntry": false, 10 | "externalConsole": true, 11 | "cwd": "c:/Users/Viktor/Documents/PlatformIO/Projects/Reggi RX/src", 12 | "program": "c:/Users/Viktor/Documents/PlatformIO/Projects/Reggi RX/src/build/Debug/outDebug", 13 | "MIMode": "gdb", 14 | "miDebuggerPath": "gdb", 15 | "setupCommands": [ 16 | { 17 | "description": "Enable pretty-printing for gdb", 18 | "text": "-enable-pretty-printing", 19 | "ignoreFailures": true 20 | } 21 | ] 22 | } 23 | ] 24 | } -------------------------------------------------------------------------------- /Reggi TX/src/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "name": "C/C++ Runner: Debug Session", 6 | "type": "cppdbg", 7 | "request": "launch", 8 | "args": [], 9 | "stopAtEntry": false, 10 | "externalConsole": true, 11 | "cwd": "c:/Users/Viktor/Documents/PlatformIO/Projects/Reggi TX/src", 12 | "program": "c:/Users/Viktor/Documents/PlatformIO/Projects/Reggi TX/src/build/Debug/outDebug", 13 | "MIMode": "gdb", 14 | "miDebuggerPath": "gdb", 15 | "setupCommands": [ 16 | { 17 | "description": "Enable pretty-printing for gdb", 18 | "text": "-enable-pretty-printing", 19 | "ignoreFailures": true 20 | } 21 | ] 22 | } 23 | ] 24 | } -------------------------------------------------------------------------------- /Reggi RX 8266/src/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "name": "C/C++ Runner: Debug Session", 6 | "type": "cppdbg", 7 | "request": "launch", 8 | "args": [], 9 | "stopAtEntry": false, 10 | "externalConsole": true, 11 | "cwd": "c:/Users/Viktor/Documents/PlatformIO/Projects/Reggi RX/src", 12 | "program": "c:/Users/Viktor/Documents/PlatformIO/Projects/Reggi RX/src/build/Debug/outDebug", 13 | "MIMode": "gdb", 14 | "miDebuggerPath": "gdb", 15 | "setupCommands": [ 16 | { 17 | "description": "Enable pretty-printing for gdb", 18 | "text": "-enable-pretty-printing", 19 | "ignoreFailures": true 20 | } 21 | ] 22 | } 23 | ] 24 | } -------------------------------------------------------------------------------- /Reggi RX/platformio.ini: -------------------------------------------------------------------------------- 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:esp32doit-devkit-v1] 12 | platform = espressif32 13 | board = esp32doit-devkit-v1 14 | framework = arduino 15 | monitor_speed = 115200 16 | build_flags = 17 | -D USE_SX127X=0 ; SX127x "-DUSE_SX127X=1" | SX126x "-DUSE_SX127X=0" 18 | lib_deps = 19 | jgromes/RadioLib@^7.1.0 20 | ottowinter/ESPAsyncWebServer-esphome @ 3.0.0 21 | esphome/AsyncTCP-esphome @ 2.0.1 -------------------------------------------------------------------------------- /Reggi TX/platformio.ini: -------------------------------------------------------------------------------- 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:esp32doit-devkit-v1] 12 | platform = espressif32 13 | board = esp32doit-devkit-v1 14 | framework = arduino 15 | monitor_speed = 115200 16 | build_flags = 17 | -D USE_SX127X=0 ; SX127x "-DUSE_SX127X=1" | SX126x "-DUSE_SX127X=0" 18 | lib_deps = 19 | jgromes/RadioLib@^7.1.0 20 | ottowinter/ESPAsyncWebServer-esphome @ 3.0.0 21 | esphome/AsyncTCP-esphome @ 2.0.1 22 | -------------------------------------------------------------------------------- /Reggi RX/lib/README: -------------------------------------------------------------------------------- 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 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 33 | #include 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 47 | -------------------------------------------------------------------------------- /Reggi TX/lib/README: -------------------------------------------------------------------------------- 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 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 33 | #include 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 47 | -------------------------------------------------------------------------------- /Reggi RX 8266/lib/README: -------------------------------------------------------------------------------- 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 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 33 | #include 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 47 | -------------------------------------------------------------------------------- /Reggi RX/include/README: -------------------------------------------------------------------------------- 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 40 | -------------------------------------------------------------------------------- /Reggi TX/include/README: -------------------------------------------------------------------------------- 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 40 | -------------------------------------------------------------------------------- /Reggi RX 8266/include/README: -------------------------------------------------------------------------------- 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 40 | -------------------------------------------------------------------------------- /Reggi RX/src/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "C_Cpp_Runner.cCompilerPath": "gcc", 3 | "C_Cpp_Runner.cppCompilerPath": "g++", 4 | "C_Cpp_Runner.debuggerPath": "gdb", 5 | "C_Cpp_Runner.cStandard": "", 6 | "C_Cpp_Runner.cppStandard": "", 7 | "C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/VR_NR/Community/VC/Auxiliary/Build/vcvarsall.bat", 8 | "C_Cpp_Runner.useMsvc": false, 9 | "C_Cpp_Runner.warnings": [ 10 | "-Wall", 11 | "-Wextra", 12 | "-Wpedantic", 13 | "-Wshadow", 14 | "-Wformat=2", 15 | "-Wcast-align", 16 | "-Wconversion", 17 | "-Wsign-conversion", 18 | "-Wnull-dereference" 19 | ], 20 | "C_Cpp_Runner.msvcWarnings": [ 21 | "/W4", 22 | "/permissive-", 23 | "/w14242", 24 | "/w14287", 25 | "/w14296", 26 | "/w14311", 27 | "/w14826", 28 | "/w44062", 29 | "/w44242", 30 | "/w14905", 31 | "/w14906", 32 | "/w14263", 33 | "/w44265", 34 | "/w14928" 35 | ], 36 | "C_Cpp_Runner.enableWarnings": true, 37 | "C_Cpp_Runner.warningsAsError": false, 38 | "C_Cpp_Runner.compilerArgs": [], 39 | "C_Cpp_Runner.linkerArgs": [], 40 | "C_Cpp_Runner.includePaths": [], 41 | "C_Cpp_Runner.includeSearch": [ 42 | "*", 43 | "**/*" 44 | ], 45 | "C_Cpp_Runner.excludeSearch": [ 46 | "**/build", 47 | "**/build/**", 48 | "**/.*", 49 | "**/.*/**", 50 | "**/.vscode", 51 | "**/.vscode/**" 52 | ], 53 | "C_Cpp_Runner.useAddressSanitizer": false, 54 | "C_Cpp_Runner.useUndefinedSanitizer": false, 55 | "C_Cpp_Runner.useLeakSanitizer": false, 56 | "C_Cpp_Runner.showCompilationTime": false, 57 | "C_Cpp_Runner.useLinkTimeOptimization": false, 58 | "C_Cpp_Runner.msvcSecureNoWarnings": false 59 | } -------------------------------------------------------------------------------- /Reggi TX/src/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "C_Cpp_Runner.cCompilerPath": "gcc", 3 | "C_Cpp_Runner.cppCompilerPath": "g++", 4 | "C_Cpp_Runner.debuggerPath": "gdb", 5 | "C_Cpp_Runner.cStandard": "", 6 | "C_Cpp_Runner.cppStandard": "", 7 | "C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/Build/vcvarsall.bat", 8 | "C_Cpp_Runner.useMsvc": false, 9 | "C_Cpp_Runner.warnings": [ 10 | "-Wall", 11 | "-Wextra", 12 | "-Wpedantic", 13 | "-Wshadow", 14 | "-Wformat=2", 15 | "-Wcast-align", 16 | "-Wconversion", 17 | "-Wsign-conversion", 18 | "-Wnull-dereference" 19 | ], 20 | "C_Cpp_Runner.msvcWarnings": [ 21 | "/W4", 22 | "/permissive-", 23 | "/w14242", 24 | "/w14287", 25 | "/w14296", 26 | "/w14311", 27 | "/w14826", 28 | "/w44062", 29 | "/w44242", 30 | "/w14905", 31 | "/w14906", 32 | "/w14263", 33 | "/w44265", 34 | "/w14928" 35 | ], 36 | "C_Cpp_Runner.enableWarnings": true, 37 | "C_Cpp_Runner.warningsAsError": false, 38 | "C_Cpp_Runner.compilerArgs": [], 39 | "C_Cpp_Runner.linkerArgs": [], 40 | "C_Cpp_Runner.includePaths": [], 41 | "C_Cpp_Runner.includeSearch": [ 42 | "*", 43 | "**/*" 44 | ], 45 | "C_Cpp_Runner.excludeSearch": [ 46 | "**/build", 47 | "**/build/**", 48 | "**/.*", 49 | "**/.*/**", 50 | "**/.vscode", 51 | "**/.vscode/**" 52 | ], 53 | "C_Cpp_Runner.useAddressSanitizer": false, 54 | "C_Cpp_Runner.useUndefinedSanitizer": false, 55 | "C_Cpp_Runner.useLeakSanitizer": false, 56 | "C_Cpp_Runner.showCompilationTime": false, 57 | "C_Cpp_Runner.useLinkTimeOptimization": false, 58 | "C_Cpp_Runner.msvcSecureNoWarnings": false 59 | } -------------------------------------------------------------------------------- /Reggi RX 8266/src/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "C_Cpp_Runner.cCompilerPath": "gcc", 3 | "C_Cpp_Runner.cppCompilerPath": "g++", 4 | "C_Cpp_Runner.debuggerPath": "gdb", 5 | "C_Cpp_Runner.cStandard": "", 6 | "C_Cpp_Runner.cppStandard": "", 7 | "C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/VR_NR/Community/VC/Auxiliary/Build/vcvarsall.bat", 8 | "C_Cpp_Runner.useMsvc": false, 9 | "C_Cpp_Runner.warnings": [ 10 | "-Wall", 11 | "-Wextra", 12 | "-Wpedantic", 13 | "-Wshadow", 14 | "-Wformat=2", 15 | "-Wcast-align", 16 | "-Wconversion", 17 | "-Wsign-conversion", 18 | "-Wnull-dereference" 19 | ], 20 | "C_Cpp_Runner.msvcWarnings": [ 21 | "/W4", 22 | "/permissive-", 23 | "/w14242", 24 | "/w14287", 25 | "/w14296", 26 | "/w14311", 27 | "/w14826", 28 | "/w44062", 29 | "/w44242", 30 | "/w14905", 31 | "/w14906", 32 | "/w14263", 33 | "/w44265", 34 | "/w14928" 35 | ], 36 | "C_Cpp_Runner.enableWarnings": true, 37 | "C_Cpp_Runner.warningsAsError": false, 38 | "C_Cpp_Runner.compilerArgs": [], 39 | "C_Cpp_Runner.linkerArgs": [], 40 | "C_Cpp_Runner.includePaths": [], 41 | "C_Cpp_Runner.includeSearch": [ 42 | "*", 43 | "**/*" 44 | ], 45 | "C_Cpp_Runner.excludeSearch": [ 46 | "**/build", 47 | "**/build/**", 48 | "**/.*", 49 | "**/.*/**", 50 | "**/.vscode", 51 | "**/.vscode/**" 52 | ], 53 | "C_Cpp_Runner.useAddressSanitizer": false, 54 | "C_Cpp_Runner.useUndefinedSanitizer": false, 55 | "C_Cpp_Runner.useLeakSanitizer": false, 56 | "C_Cpp_Runner.showCompilationTime": false, 57 | "C_Cpp_Runner.useLinkTimeOptimization": false, 58 | "C_Cpp_Runner.msvcSecureNoWarnings": false 59 | } -------------------------------------------------------------------------------- /Lib/variables.h: -------------------------------------------------------------------------------- 1 | #include "crsf_protocol.h" 2 | // LORA 3 | #define LORA_MISO 19 4 | #define LORA_MOSI 23 5 | #define LORA_SCK 18 6 | #define LORA_NSS 5 7 | #define LORA_DIO0 26 8 | #define LORA_DIO1 25 9 | #define LORA_RST 14 10 | #define LORA_BUSY -1 11 | #define LORA_TXEN -1 12 | #define LORA_RXEN -1 13 | 14 | // BIND 15 | #define BIND_PHRASE "reggi.0" 16 | 17 | const uint32_t bindingTimeout = 180000; // 3 minutes 18 | unsigned long lastBindTransmitTime = 0; 19 | bool bindingCompleted = false; 20 | bool bindingRequested = true; 21 | uint32_t lastPingTime = 0; 22 | uint32_t bindStartTime = 0; 23 | const uint32_t pingInterval = 1000; 24 | unsigned long timeout = 0; 25 | 26 | // Default radio values 27 | float ICACHE_RAM_ATTR frequency = 450.5; // Default frequency in MHz 28 | int ICACHE_RAM_ATTR power = 10; // Default power in dBm 29 | 30 | // Web Server 31 | bool webServerStarted = false; 32 | 33 | // FRAME 34 | #define FRAME_LEN 70 35 | uint8_t _rxData[CRSF_MAX_PACKET_SIZE] = {0}; 36 | #define CRC8_POLY_D5 0xD5 37 | typedef struct crsf_data_s 38 | { 39 | crsf_channels_t channels; 40 | char bind_elements[3]; 41 | } crsf_data_t; 42 | 43 | 44 | //DEBUG 45 | unsigned long packetCount = 0; 46 | unsigned long lastTime = 0; 47 | unsigned int packetsPerMinute = 0; 48 | 49 | //smoothedValue=previousValue×(1−smoothingFactor)+currentValue×smoothingFactor 50 | //сглаживание каналов 51 | #define SMOOTHING_FACTOR 0.2 52 | static float smoothedChannels[16] = {0}; 53 | 54 | uint16_t ICACHE_RAM_ATTR fmap(uint16_t x, float in_min, float in_max, float out_min, float out_max) 55 | { 56 | return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; 57 | }; 58 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Reggi 2 | 3 | Reggi is a project designed for remote control using the CRSF (Crossfire) protocol. It provides libraries and implementations for both transmitter (TX) and receiver (RX) components. 4 | 5 | ## Features 6 | 7 | - **CRSF Protocol Support**: Implements key functionalities for communication via the CRSF protocol. 8 | - **Modular Design**: Includes separate libraries for flexible integration. 9 | - **Optimized for Embedded Systems**: Written in C++ and C for performance and portability. 10 | 11 | ## Repository Structure 12 | 13 | - `Lib/`: Contains shared libraries used by both TX and RX components. 14 | - `Reggi TX/`: Code for the transmitter module. 15 | - `Reggi RX/`: Code for the receiver module. 16 | 17 | ## Getting Started 18 | 19 | ### Prerequisites 20 | 21 | - A development environment with support for C and C++. 22 | - Hardware supporting the CRSF protocol (e.g., compatible radios and receivers). 23 | 24 | ### Installation 25 | 26 | 1. Clone the repository: 27 | 28 | ```bash 29 | git clone https://github.com/VohminV/Reggi.git 30 | cd Reggi 31 | ``` 32 | 33 | 2. Navigate to the desired module directory (`Reggi TX` or `Reggi RX`) and follow the build instructions in the respective README files. 34 | 35 | ### Usage 36 | 37 | 1. Integrate the libraries from the `Lib` directory into your project. 38 | 2. Configure the TX and RX modules to match your hardware setup. 39 | 3. Deploy the compiled code to your hardware. 40 | 41 | ## Contributing 42 | 43 | Contributions are welcome! To contribute: 44 | 45 | 1. Fork the repository. 46 | 2. Create a new branch for your feature or bugfix. 47 | 3. Submit a pull request with a detailed description of your changes. 48 | 49 | ## License 50 | 51 | This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. 52 | 53 | ## Acknowledgments 54 | 55 | Special thanks to the open-source community and the creators of the CRSF protocol for making this project possible. 56 | 57 | -------------------------------------------------------------------------------- /Lib/crsf_protocol.h: -------------------------------------------------------------------------------- 1 | /*! 2 | * @file crsf_protocol.h 3 | * @brief Header file for the CRSF protocol implementation. 4 | */ 5 | #pragma once 6 | 7 | #ifndef CRSF_PROTOCOL_H 8 | #define CRSF_PROTOCOL_H 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | #include 15 | 16 | #define PACKED __attribute__((packed)) 17 | 18 | #define CRSF_BAUDRATE 420000 ///< CRSF default baud rate 19 | #define CRSF_NUM_CHANNELS 16 ///< CRSF number of channels 20 | #define CRSF_CHANNEL_VALUE_MIN \ 21 | 172 ///< 987us - actual CRSF min is 0 with E.Limits on 22 | #define CRSF_CHANNEL_VALUE_1000 191 23 | #define CRSF_CHANNEL_VALUE_MID 992 ///< mid value of channel 24 | #define CRSF_CHANNEL_VALUE_2000 1792 25 | #define CRSF_CHANNEL_VALUE_MAX \ 26 | 1811 ///< 2012us - actual CRSF max is 1984 with E.Limits on 27 | #define CRSF_CHANNEL_VALUE_SPAN \ 28 | (CRSF_CHANNEL_VALUE_MAX - CRSF_CHANNEL_VALUE_MIN) 29 | #define CRSF_MAX_PACKET_SIZE \ 30 | 64 ///< max declared len is 62+DEST+LEN on top of that = 64 31 | #define CRSF_MAX_PAYLOAD_LEN \ 32 | (CRSF_MAX_PACKET_SIZE - \ 33 | 4) ///< Max size of payload in [dest] [len] [type] [payload] [crc8] 34 | #define CRSF_SYNC_BYTE 0XC8 35 | #define CRSF_BITS_PER_CHANNEL 11 36 | #define US_to_CRSF(us) ((us) * 8 / 5 + (CRSF_CHANNEL_VALUE_MID - 2400)) 37 | /** Length of different CRSF frame */ 38 | enum { 39 | CRSF_FRAME_LENGTH_ADDRESS = 1, // length of ADDRESS field 40 | CRSF_FRAME_LENGTH_FRAMELENGTH = 1, // length of FRAMELENGTH field 41 | CRSF_FRAME_LENGTH_TYPE = 1, // length of TYPE field 42 | CRSF_FRAME_LENGTH_CRC = 1, // length of CRC field 43 | CRSF_FRAME_LENGTH_TYPE_CRC = 2, // length of TYPE and CRC fields combined 44 | CRSF_FRAME_LENGTH_EXT_TYPE_CRC = 45 | 4, // length of Extended Dest/Origin, TYPE and CRC fields combined 46 | CRSF_FRAME_LENGTH_NON_PAYLOAD = 47 | 4, // combined length of all fields except payload 48 | }; 49 | 50 | /** Length of CRSF frames */ 51 | enum { 52 | CRSF_FRAME_GPS_PAYLOAD_SIZE = 15, 53 | CRSF_FRAME_BATTERY_SENSOR_PAYLOAD_SIZE = 8, 54 | CRSF_FRAME_LINK_STATISTICS_PAYLOAD_SIZE = 10, 55 | CRSF_FRAME_RC_CHANNELS_PAYLOAD_SIZE = 56 | 22, // 11 bits per channel * 16 channels = 22 bytes. 57 | CRSF_FRAME_ATTITUDE_PAYLOAD_SIZE = 6, 58 | }; 59 | 60 | /** CRSF Sensor frame type */ 61 | typedef enum { 62 | CRSF_FRAMETYPE_GPS = 0x02, 63 | CRSF_FRAMETYPE_BATTERY_SENSOR = 0x08, 64 | CRSF_FRAMETYPE_LINK_STATISTICS = 0x14, 65 | CRSF_FRAMETYPE_OPENTX_SYNC = 0x10, 66 | CRSF_FRAMETYPE_RADIO_ID = 0x3A, 67 | CRSF_FRAMETYPE_RC_CHANNELS_PACKED = 0x16, 68 | CRSF_FRAMETYPE_ATTITUDE = 0x1E, 69 | CRSF_FRAMETYPE_FLIGHT_MODE = 0x21, 70 | // Extended Header Frames, range: 0x28 to 0x96 71 | CRSF_FRAMETYPE_DEVICE_PING = 0x28, 72 | CRSF_FRAMETYPE_DEVICE_INFO = 0x29, 73 | CRSF_FRAMETYPE_PARAMETER_SETTINGS_ENTRY = 0x2B, 74 | CRSF_FRAMETYPE_PARAMETER_READ = 0x2C, 75 | CRSF_FRAMETYPE_PARAMETER_WRITE = 0x2D, 76 | CRSF_FRAMETYPE_COMMAND = 0x32, 77 | // MSP commands 78 | CRSF_FRAMETYPE_MSP_REQ = 79 | 0x7A, // response request using msp sequence as command 80 | CRSF_FRAMETYPE_MSP_RESP = 0x7B, // reply with 58 byte chunked binary 81 | CRSF_FRAMETYPE_MSP_WRITE = 0x7C, // write with 8 byte chunked binary (OpenTX 82 | // outbound telemetry_buffer limit) 83 | } crsf_frame_type_e; 84 | 85 | /** CRSF sensor address */ 86 | typedef enum { 87 | CRSF_ADDRESS_BROADCAST = 0x00, 88 | CRSF_ADDRESS_USB = 0x10, 89 | CRSF_ADDRESS_TBS_CORE_PNP_PRO = 0x80, 90 | CRSF_ADDRESS_RESERVED1 = 0x8A, 91 | CRSF_ADDRESS_CURRENT_SENSOR = 0xC0, 92 | CRSF_ADDRESS_GPS = 0xC2, 93 | CRSF_ADDRESS_TBS_BLACKBOX = 0xC4, 94 | CRSF_ADDRESS_FLIGHT_CONTROLLER = 0xC8, 95 | CRSF_ADDRESS_RESERVED2 = 0xCA, 96 | CRSF_ADDRESS_RACE_TAG = 0xCC, 97 | CRSF_ADDRESS_RADIO_TRANSMITTER = 0xEA, 98 | CRSF_ADDRESS_CRSF_RECEIVER = 0xEC, 99 | CRSF_ADDRESS_CRSF_TRANSMITTER = 0xEE, 100 | } crsf_addr_e; 101 | 102 | /** Heder of CRSF Packet*/ 103 | typedef struct crsf_header_s { 104 | uint8_t device_addr; // from crsf_addr_e 105 | uint8_t frame_size; // counts size after this byte, so it must be the payload 106 | // size + 2 (type and crc) 107 | uint8_t type; // from crsf_frame_type_e 108 | } PACKED crsf_header_t; 109 | 110 | /** RC Packet Frame */ 111 | typedef struct crsf_channels_s { 112 | unsigned channel1 : 11; 113 | unsigned channel2 : 11; 114 | unsigned channel3 : 11; 115 | unsigned channel4 : 11; 116 | unsigned channel5 : 11; 117 | unsigned channel6 : 11; 118 | unsigned channel7 : 11; 119 | unsigned channel8 : 11; 120 | unsigned channel9 : 11; 121 | unsigned channel10 : 11; 122 | unsigned channel11 : 11; 123 | unsigned channel12 : 11; 124 | unsigned channel13 : 11; 125 | unsigned channel14 : 11; 126 | unsigned channel15 : 11; 127 | unsigned channel16 : 11; 128 | } PACKED crsf_channels_t; 129 | 130 | /** Payload Statics */ 131 | typedef struct crsfPayloadLinkstatistics_s { 132 | uint8_t uplink_RSSI_1; 133 | uint8_t uplink_RSSI_2; 134 | uint8_t uplink_Link_quality; 135 | int8_t uplink_SNR; 136 | uint8_t active_antenna; 137 | uint8_t rf_Mode; 138 | uint8_t uplink_TX_Power; 139 | uint8_t downlink_RSSI; 140 | uint8_t downlink_Link_quality; 141 | int8_t downlink_SNR; 142 | } crsfLinkStatistics_t; 143 | 144 | /** Battery Voltage parameters */ 145 | typedef struct crsf_sensor_battery_s { 146 | uint32_t voltage : 16; // V * 10 big endian 147 | uint32_t current : 16; // A * 10 big endian 148 | uint32_t capacity : 24; // mah big endian 149 | uint32_t remaining : 8; // % 150 | } PACKED crsf_sensor_battery_t; 151 | 152 | /** GPS parameters */ 153 | typedef struct crsf_sensor_gps_s { 154 | int32_t latitude; // degree / 10,000,000 big endian 155 | int32_t longitude; // degree / 10,000,000 big endian 156 | uint16_t groundspeed; // km/h / 10 big endian 157 | uint16_t heading; // GPS heading, degree/100 big endian 158 | uint16_t altitude; // meters, +1000m big endian 159 | uint8_t satellites; // satellites 160 | } PACKED crsf_sensor_gps_t; 161 | 162 | #if !defined(__linux__) 163 | static inline uint16_t htobe16(uint16_t val) { 164 | #if (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) 165 | return val; 166 | #else 167 | return __builtin_bswap16(val); 168 | #endif 169 | } 170 | 171 | static inline uint16_t be16toh(uint16_t val) { 172 | #if (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) 173 | return val; 174 | #else 175 | return __builtin_bswap16(val); 176 | #endif 177 | } 178 | 179 | static inline uint32_t htobe32(uint32_t val) { 180 | #if (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) 181 | return val; 182 | #else 183 | return __builtin_bswap32(val); 184 | #endif 185 | } 186 | 187 | static inline uint32_t be32toh(uint32_t val) { 188 | #if (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) 189 | return val; 190 | #else 191 | return __builtin_bswap32(val); 192 | #endif 193 | } 194 | #endif 195 | 196 | #ifdef __cplusplus 197 | } 198 | #endif 199 | 200 | #endif // CRSF_PROTOCOL_H -------------------------------------------------------------------------------- /Reggi RX 8266/src/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include "../../lib/Variables.h" 7 | #include "../../lib/crsf_protocol.h" 8 | 9 | // SPI setup 10 | SPIClass spi; 11 | 12 | // Radio setup 13 | SX1276 radio = new Module(LORA_NSS, LORA_DIO0, LORA_RST, LORA_DIO1, spi, SPISettings(8000000, MSBFIRST, SPI_MODE0)); 14 | 15 | // flag to indicate that a packet was sent or received 16 | volatile bool operationDone = false; 17 | 18 | void ICACHE_RAM_ATTR setFlag(void) 19 | { 20 | // we sent or received packet, set the flag 21 | operationDone = true; 22 | } 23 | 24 | AsyncWebServer server(80); 25 | // Captive Portal 26 | DNSServer dnsServer; 27 | 28 | uint8_t ICACHE_RAM_ATTR crc8(uint8_t *data, uint8_t len) 29 | { 30 | uint8_t crc = 0; 31 | for (uint8_t i = 0; i < len; i++) 32 | { 33 | crc ^= data[i]; 34 | for (uint8_t j = 0; j < 8; j++) 35 | { 36 | if (crc & 0x80) 37 | { 38 | crc = (crc << 1) ^ CRC8_POLY_D5; 39 | } 40 | else 41 | { 42 | crc <<= 1; 43 | } 44 | } 45 | } 46 | return crc; 47 | } 48 | 49 | // Radio initialization 50 | void ICACHE_RAM_ATTR initRadio() 51 | { 52 | int state = radio.begin(); 53 | if (state == RADIOLIB_ERR_NONE) 54 | { 55 | } 56 | else 57 | { 58 | while (true) 59 | delay(10); 60 | } 61 | 62 | if (radio.setFrequency(frequency) != RADIOLIB_ERR_NONE) 63 | { 64 | while (true) 65 | delay(10); 66 | } 67 | 68 | if (radio.setFrequency(frequency) != RADIOLIB_ERR_INVALID_FREQUENCY) 69 | { 70 | while (true) 71 | delay(10); 72 | } 73 | 74 | if (radio.setBandwidth(250.0) == RADIOLIB_ERR_INVALID_BANDWIDTH) 75 | { 76 | while (true) 77 | { 78 | delay(10); 79 | } 80 | } 81 | 82 | if (radio.setSpreadingFactor(6) == RADIOLIB_ERR_INVALID_SPREADING_FACTOR) 83 | { 84 | while (true) 85 | { 86 | delay(10); 87 | } 88 | } 89 | 90 | if (radio.setCodingRate(5) == RADIOLIB_ERR_INVALID_CODING_RATE) 91 | { 92 | while (true) 93 | { 94 | delay(10); 95 | } 96 | } 97 | 98 | if (radio.setOutputPower(power) == RADIOLIB_ERR_INVALID_OUTPUT_POWER) 99 | { 100 | while (true) 101 | { 102 | delay(10); 103 | } 104 | } 105 | 106 | radio.setDio0Action(setFlag, RISING); 107 | } 108 | 109 | void ICACHE_RAM_ATTR bind_do_receive() 110 | { 111 | uint8_t data[FRAME_LEN]; 112 | int state = radio.receive(data, FRAME_LEN); 113 | 114 | if (state == RADIOLIB_ERR_NONE) 115 | { 116 | if (strncmp((char *)data, BIND_PHRASE, strlen(BIND_PHRASE)) == 0) 117 | { 118 | uint8_t bindSuccessData[FRAME_LEN]; 119 | memset(bindSuccessData, 0, FRAME_LEN); 120 | bindSuccessData[0] = BIND_PHRASE[0]; 121 | bindSuccessData[1] = 0x01; 122 | 123 | int state = radio.transmit(bindSuccessData, sizeof(bindSuccessData)); 124 | if (state == RADIOLIB_ERR_NONE) 125 | { 126 | bindingRequested = false; 127 | bindingCompleted = true; 128 | } 129 | else 130 | { 131 | } 132 | } 133 | } 134 | } 135 | 136 | void ICACHE_RAM_ATTR setupWebServer() 137 | { 138 | 139 | server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) 140 | { request->redirect("/config"); }); 141 | 142 | server.on("/config", HTTP_GET, [](AsyncWebServerRequest *request) 143 | { 144 | String html = ""; 151 | html += "

Reggi TX Settings

"; 152 | html += "
"; 153 | html += "Frequency (MHz):

"; 154 | html += "Power (dBm):

"; 155 | html += ""; 156 | html += "
"; 157 | html += ""; 158 | request->send(200, "text/html", html); }); 159 | 160 | server.on("/set", HTTP_GET, [](AsyncWebServerRequest *request) 161 | { 162 | if (request->hasParam("freq")) { 163 | frequency = request->getParam("freq")->value().toFloat(); 164 | EEPROM.put(EEPROM_FREQ_ADDR, frequency); 165 | } 166 | if (request->hasParam("power")) { 167 | power = request->getParam("power")->value().toInt(); 168 | EEPROM.put(EEPROM_POWER_ADDR, power); 169 | } 170 | EEPROM.commit(); 171 | request->redirect("/config"); 172 | delay(1000); 173 | ESP.restart(); }); 174 | server.begin(); 175 | webServerStarted = true; 176 | } 177 | 178 | uint8_t ICACHE_RAM_ATTR calculateLinkQuality(uint8_t rssi, int8_t snr) 179 | { 180 | if (rssi > 100) 181 | { 182 | return 100; 183 | } 184 | else if (rssi > 50) 185 | { 186 | return 75; 187 | } 188 | else if (rssi > 25) 189 | { 190 | return 50; 191 | } 192 | else 193 | { 194 | return 25; 195 | } 196 | } 197 | 198 | void setup() 199 | { 200 | Serial.begin(420000); 201 | EEPROM.begin(512); 202 | spi.begin(); 203 | 204 | EEPROM.get(EEPROM_FREQ_ADDR, frequency); 205 | EEPROM.get(EEPROM_POWER_ADDR, power); 206 | 207 | if (frequency < 100.0 || frequency > 1000.0) 208 | frequency = 750.0; 209 | if (power < 2 || power > 20) 210 | power = 10; 211 | 212 | WiFi.softAP("Reggi RX", "12345678"); 213 | IPAddress apIP(10, 0, 0, 1); 214 | WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0)); 215 | dnsServer.start(53, "*", apIP); 216 | 217 | initRadio(); 218 | radio.startReceive(); 219 | bindStartTime = millis(); 220 | } 221 | 222 | void loop() 223 | { 224 | dnsServer.processNextRequest(); 225 | 226 | if (!bindingRequested && !bindingCompleted) 227 | { 228 | bindingRequested = true; 229 | bindStartTime = millis(); 230 | } 231 | 232 | if (bindingRequested && !bindingCompleted) 233 | { 234 | bind_do_receive(); 235 | 236 | if (millis() - bindStartTime > bindingTimeout) 237 | { 238 | if (!webServerStarted) 239 | { 240 | setupWebServer(); 241 | webServerStarted = true; 242 | } 243 | bindingRequested = false; 244 | } 245 | } 246 | 247 | if (bindingCompleted) 248 | { 249 | crsf_data_t receivedData; 250 | crsfLinkStatistics_t crsfLinkStats; 251 | uint8_t receivedPacket[sizeof(crsf_data_t)]; 252 | 253 | int state = radio.receive(receivedPacket, sizeof(receivedPacket)); 254 | if (state == RADIOLIB_ERR_NONE) 255 | { 256 | // DEBUG 257 | // packetCount++; 258 | 259 | 260 | memcpy(&receivedData, receivedPacket, sizeof(crsf_data_t)); 261 | uint16_t ChannelDataIn[16] = {0}; 262 | 263 | ChannelDataIn[0] = receivedData.channels.channel1; 264 | ChannelDataIn[1] = receivedData.channels.channel2; 265 | ChannelDataIn[2] = receivedData.channels.channel3; 266 | ChannelDataIn[3] = receivedData.channels.channel4; 267 | ChannelDataIn[4] = receivedData.channels.channel5; 268 | ChannelDataIn[5] = receivedData.channels.channel6; 269 | ChannelDataIn[6] = receivedData.channels.channel7; 270 | ChannelDataIn[7] = receivedData.channels.channel8; 271 | ChannelDataIn[8] = receivedData.channels.channel9; 272 | ChannelDataIn[9] = receivedData.channels.channel10; 273 | ChannelDataIn[10] = receivedData.channels.channel11; 274 | ChannelDataIn[11] = receivedData.channels.channel12; 275 | ChannelDataIn[12] = receivedData.channels.channel13; 276 | ChannelDataIn[13] = receivedData.channels.channel14; 277 | ChannelDataIn[14] = receivedData.channels.channel15; 278 | ChannelDataIn[15] = receivedData.channels.channel16; 279 | 280 | // Инвертируем значения каналов 281 | for (unsigned ch = 0; ch < CRSF_NUM_CHANNELS; ++ch) 282 | { 283 | ChannelDataIn[ch] = map(ChannelDataIn[ch], CRSF_CHANNEL_VALUE_MIN, CRSF_CHANNEL_VALUE_MAX, CRSF_CHANNEL_VALUE_MAX, CRSF_CHANNEL_VALUE_MIN); 284 | } 285 | 286 | // Формируем пакет 287 | uint8_t packet[CRSF_MAX_PACKET_SIZE] = {0}; 288 | packet[0] = CRSF_SYNC_BYTE; 289 | packet[1] = sizeof(ChannelDataIn) + 2; // Длина данных + тип и CRC 290 | packet[2] = CRSF_FRAMETYPE_RC_CHANNELS_PACKED; 291 | 292 | // Копируем значения каналов в пакет 293 | memcpy(&packet[3], ChannelDataIn, sizeof(ChannelDataIn)); 294 | 295 | // Вычисляем CRC 296 | packet[sizeof(ChannelDataIn) + 3] = crc8(&packet[2], sizeof(ChannelDataIn) + 1); 297 | 298 | // Отправляем пакет 299 | Serial.write(packet, sizeof(ChannelDataIn) + 4); 300 | /*crsfLinkStats.uplink_RSSI_1 = abs(radio.getRSSI()); 301 | crsfLinkStats.uplink_RSSI_2 = crsfLinkStats.uplink_RSSI_1; 302 | crsfLinkStats.uplink_SNR = radio.getSNR(); 303 | crsfLinkStats.uplink_Link_quality = calculateLinkQuality(crsfLinkStats.uplink_RSSI_1, crsfLinkStats.uplink_SNR); 304 | crsfLinkStats.active_antenna = 1; 305 | crsfLinkStats.rf_Mode = 1; 306 | crsfLinkStats.uplink_TX_Power = 10; 307 | 308 | crsfLinkStats.downlink_RSSI = abs(radio.getRSSI()); 309 | crsfLinkStats.downlink_SNR = radio.getSNR(); 310 | crsfLinkStats.downlink_Link_quality = calculateLinkQuality(crsfLinkStats.downlink_RSSI, crsfLinkStats.downlink_SNR); 311 | 312 | uint8_t packetLS[CRSF_MAX_PACKET_SIZE]; 313 | packetLS[0] = CRSF_SYNC_BYTE; 314 | packetLS[1] = sizeof(crsfLinkStats) + 2; 315 | packetLS[2] = CRSF_FRAMETYPE_LINK_STATISTICS; 316 | memcpy(&packetLS[3], &crsfLinkStats, sizeof(crsfLinkStats)); 317 | 318 | packetLS[sizeof(crsfLinkStats) + 3] = crc8(&packetLS[2], sizeof(crsfLinkStats) + 1); 319 | 320 | Serial2.write(packetLS, sizeof(crsfLinkStats) + 4);*/ 321 | 322 | } 323 | else 324 | { 325 | } 326 | } 327 | } 328 | -------------------------------------------------------------------------------- /Reggi RX/src/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include "../../lib/Variables.h" 7 | #include "../../lib/crsf_protocol.h" 8 | 9 | // SPI setup 10 | SPIClass spi(VSPI); 11 | 12 | // Radio setup 13 | SX1276 radio = new Module(LORA_NSS, LORA_DIO0, LORA_RST, LORA_DIO1, spi, SPISettings(8000000, MSBFIRST, SPI_MODE0)); 14 | 15 | // flag to indicate that a packet was sent or received 16 | volatile bool operationDone = false; 17 | 18 | void ICACHE_RAM_ATTR setFlag(void) 19 | { 20 | // we sent or received packet, set the flag 21 | operationDone = true; 22 | } 23 | 24 | AsyncWebServer server(80); 25 | // Captive Portal 26 | DNSServer dnsServer; 27 | 28 | uint8_t ICACHE_RAM_ATTR crc8(uint8_t *data, uint8_t len) 29 | { 30 | uint8_t crc = 0; 31 | for (uint8_t i = 0; i < len; i++) 32 | { 33 | crc ^= data[i]; 34 | for (uint8_t j = 0; j < 8; j++) 35 | { 36 | if (crc & 0x80) 37 | { 38 | crc = (crc << 1) ^ CRC8_POLY_D5; 39 | } 40 | else 41 | { 42 | crc <<= 1; 43 | } 44 | } 45 | } 46 | return crc; 47 | } 48 | 49 | // Radio initialization 50 | void ICACHE_RAM_ATTR initRadio() 51 | { 52 | int state = radio.begin(); 53 | if (state == RADIOLIB_ERR_NONE) 54 | { 55 | Serial.println(F("Radio initialized successfully!")); 56 | } 57 | else 58 | { 59 | Serial.print(F("Radio initialization failed, error: ")); 60 | Serial.println(state); 61 | while (true) 62 | delay(10); 63 | } 64 | 65 | if (radio.setFrequency(frequency) != RADIOLIB_ERR_NONE) 66 | { 67 | Serial.println(F("Failed to set frequency")); 68 | while (true) 69 | delay(10); 70 | } 71 | 72 | if (radio.setBandwidth(125.0) != RADIOLIB_ERR_NONE || 73 | radio.setSpreadingFactor(6) != RADIOLIB_ERR_NONE || 74 | radio.setCodingRate(5) != RADIOLIB_ERR_NONE || 75 | radio.setOutputPower(power) != RADIOLIB_ERR_NONE) 76 | { 77 | Serial.println(F("Radio configuration failed")); 78 | while (true) 79 | delay(10); 80 | } 81 | 82 | radio.setDio0Action(setFlag, RISING); 83 | } 84 | 85 | void ICACHE_RAM_ATTR bind_do_receive() 86 | { 87 | uint8_t data[FRAME_LEN]; 88 | int state = radio.receive(data, FRAME_LEN); 89 | 90 | if (state == RADIOLIB_ERR_NONE) 91 | { 92 | if (strncmp((char *)data, BIND_PHRASE, strlen(BIND_PHRASE)) == 0) 93 | { 94 | uint8_t bindSuccessData[FRAME_LEN]; 95 | memset(bindSuccessData, 0, FRAME_LEN); 96 | bindSuccessData[0] = BIND_PHRASE[0]; 97 | bindSuccessData[1] = 0x01; 98 | 99 | int state = radio.transmit(bindSuccessData, sizeof(bindSuccessData)); 100 | if (state == RADIOLIB_ERR_NONE) 101 | { 102 | Serial.println("Binding successful, acknowledgment sent!"); 103 | bindingRequested = false; 104 | bindingCompleted = true; 105 | } 106 | else 107 | { 108 | Serial.print("Binding acknowledgment failed, error: "); 109 | Serial.println(state); 110 | } 111 | } 112 | } 113 | } 114 | 115 | void ICACHE_RAM_ATTR setupWebServer() 116 | { 117 | 118 | server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) 119 | { request->redirect("/config"); }); 120 | 121 | server.on("/config", HTTP_GET, [](AsyncWebServerRequest *request) 122 | { 123 | String html = ""; 130 | html += "

Reggi TX Settings

"; 131 | html += "
"; 132 | html += "Frequency (MHz):

"; 133 | html += "Power (dBm):

"; 134 | html += ""; 135 | html += "
"; 136 | html += ""; 137 | request->send(200, "text/html", html); }); 138 | 139 | /*server.on("/set", HTTP_GET, [](AsyncWebServerRequest *request) 140 | { 141 | if (request->hasParam("freq")) { 142 | frequency = request->getParam("freq")->value().toFloat(); 143 | EEPROM.put(EEPROM_FREQ_ADDR, frequency); 144 | } 145 | if (request->hasParam("power")) { 146 | power = request->getParam("power")->value().toInt(); 147 | EEPROM.put(EEPROM_POWER_ADDR, power); 148 | } 149 | EEPROM.commit(); 150 | request->redirect("/config"); 151 | delay(1000); 152 | ESP.restart(); });*/ 153 | server.begin(); 154 | webServerStarted = true; 155 | } 156 | 157 | uint8_t ICACHE_RAM_ATTR calculateLinkQuality(uint8_t rssi, int8_t snr) 158 | { 159 | if (rssi > 100) 160 | { 161 | return 100; 162 | } 163 | else if (rssi > 50) 164 | { 165 | return 75; 166 | } 167 | else if (rssi > 25) 168 | { 169 | return 50; 170 | } 171 | else 172 | { 173 | return 25; 174 | } 175 | } 176 | 177 | void setup() 178 | { 179 | Serial.begin(115200); 180 | Serial2.begin(420000); 181 | spi.begin(); 182 | 183 | WiFi.softAP("Reggi RX", "12345678"); 184 | IPAddress apIP(10, 0, 0, 1); 185 | WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0)); 186 | dnsServer.start(53, "*", apIP); 187 | 188 | initRadio(); 189 | radio.startReceive(); 190 | bindStartTime = millis(); 191 | Serial.println("Receiver setup complete."); 192 | } 193 | 194 | void loop() 195 | { 196 | dnsServer.processNextRequest(); 197 | 198 | if (!bindingRequested && !bindingCompleted) 199 | { 200 | Serial.println("Starting binding process..."); 201 | bindingRequested = true; 202 | bindStartTime = millis(); 203 | } 204 | 205 | if (bindingRequested && !bindingCompleted) 206 | { 207 | Serial.println("Processing binding..."); 208 | bind_do_receive(); 209 | 210 | if (millis() - bindStartTime > bindingTimeout) 211 | { 212 | Serial.println("Binding timeout. Binding process failed."); 213 | if (!webServerStarted) 214 | { 215 | setupWebServer(); 216 | webServerStarted = true; 217 | } 218 | bindingRequested = false; 219 | } 220 | } 221 | 222 | if (bindingCompleted) 223 | { 224 | crsf_data_t receivedData; 225 | crsfLinkStatistics_t crsfLinkStats; 226 | uint8_t receivedPacket[sizeof(crsf_data_t)]; 227 | 228 | int state = radio.receive(receivedPacket, sizeof(receivedPacket)); 229 | if (state == RADIOLIB_ERR_NONE) 230 | { 231 | // DEBUG 232 | // packetCount++; 233 | 234 | memcpy(&receivedData, receivedPacket, sizeof(crsf_data_t)); 235 | uint16_t ChannelDataIn[16] = {0}; 236 | 237 | ChannelDataIn[0] = receivedData.channels.channel1; 238 | ChannelDataIn[1] = receivedData.channels.channel2; 239 | ChannelDataIn[2] = receivedData.channels.channel3; 240 | ChannelDataIn[3] = receivedData.channels.channel4; 241 | ChannelDataIn[4] = receivedData.channels.channel5; 242 | ChannelDataIn[5] = receivedData.channels.channel6; 243 | ChannelDataIn[6] = receivedData.channels.channel7; 244 | ChannelDataIn[7] = receivedData.channels.channel8; 245 | ChannelDataIn[8] = receivedData.channels.channel9; 246 | ChannelDataIn[9] = receivedData.channels.channel10; 247 | ChannelDataIn[10] = receivedData.channels.channel11; 248 | ChannelDataIn[11] = receivedData.channels.channel12; 249 | ChannelDataIn[12] = receivedData.channels.channel13; 250 | ChannelDataIn[13] = receivedData.channels.channel14; 251 | ChannelDataIn[14] = receivedData.channels.channel15; 252 | ChannelDataIn[15] = receivedData.channels.channel16; 253 | 254 | for (unsigned ch = 0; ch < CRSF_NUM_CHANNELS; ++ch) 255 | { 256 | ChannelDataIn[ch] = map(ChannelDataIn[ch], CRSF_CHANNEL_VALUE_MIN, CRSF_CHANNEL_VALUE_MAX, CRSF_CHANNEL_VALUE_MAX, CRSF_CHANNEL_VALUE_MIN); 257 | } 258 | 259 | for (unsigned ch = 0; ch < 16; ++ch) 260 | { 261 | smoothedChannels[ch] = smoothedChannels[ch] * (1.0 - SMOOTHING_FACTOR) + ChannelDataIn[ch] * SMOOTHING_FACTOR; 262 | ChannelDataIn[ch] = (uint16_t)smoothedChannels[ch]; 263 | } 264 | 265 | uint8_t packet[CRSF_MAX_PACKET_SIZE] = {0}; 266 | packet[0] = CRSF_SYNC_BYTE; 267 | packet[1] = sizeof(ChannelDataIn) + 2; 268 | packet[2] = CRSF_FRAMETYPE_RC_CHANNELS_PACKED; 269 | 270 | 271 | memcpy(&packet[3], ChannelDataIn, sizeof(ChannelDataIn)); 272 | 273 | packet[sizeof(ChannelDataIn) + 3] = crc8(&packet[2], sizeof(ChannelDataIn) + 1); 274 | 275 | Serial2.write(packet, sizeof(ChannelDataIn) + 4); 276 | /*crsfLinkStats.uplink_RSSI_1 = abs(radio.getRSSI()); 277 | crsfLinkStats.uplink_RSSI_2 = crsfLinkStats.uplink_RSSI_1; 278 | crsfLinkStats.uplink_SNR = radio.getSNR(); 279 | crsfLinkStats.uplink_Link_quality = calculateLinkQuality(crsfLinkStats.uplink_RSSI_1, crsfLinkStats.uplink_SNR); 280 | crsfLinkStats.active_antenna = 1; 281 | crsfLinkStats.rf_Mode = 1; 282 | crsfLinkStats.uplink_TX_Power = 10; 283 | 284 | crsfLinkStats.downlink_RSSI = abs(radio.getRSSI()); 285 | crsfLinkStats.downlink_SNR = radio.getSNR(); 286 | crsfLinkStats.downlink_Link_quality = calculateLinkQuality(crsfLinkStats.downlink_RSSI, crsfLinkStats.downlink_SNR); 287 | 288 | uint8_t packetLS[CRSF_MAX_PACKET_SIZE]; 289 | packetLS[0] = CRSF_SYNC_BYTE; 290 | packetLS[1] = sizeof(crsfLinkStats) + 2; 291 | packetLS[2] = CRSF_FRAMETYPE_LINK_STATISTICS; 292 | memcpy(&packetLS[3], &crsfLinkStats, sizeof(crsfLinkStats)); 293 | 294 | packetLS[sizeof(crsfLinkStats) + 3] = crc8(&packetLS[2], sizeof(crsfLinkStats) + 1); 295 | 296 | Serial2.write(packetLS, sizeof(crsfLinkStats) + 4);*/ 297 | 298 | Serial.println("Data transmitted to flight controller."); 299 | } 300 | else 301 | { 302 | Serial.print("Failed to receive packet, error: "); 303 | Serial.println(state); 304 | } 305 | } 306 | } -------------------------------------------------------------------------------- /Reggi TX/src/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include <../../lib/Variables.h> 7 | #include <../../lib/crsf_protocol.h> 8 | 9 | // SPI setup 10 | SPIClass spi(VSPI); 11 | // Radio setup 12 | SX1276 radio = new Module(LORA_NSS, LORA_DIO0, LORA_RST, LORA_DIO1, spi, SPISettings(8000000, MSBFIRST, SPI_MODE0)); 13 | // CRSF Serial setup 14 | HardwareSerial CRSFSerial(1); 15 | 16 | #define CRSF_PIN 13 17 | 18 | AsyncWebServer server(80); 19 | // Captive Portal 20 | DNSServer dnsServer; 21 | 22 | volatile bool operationDone = false; 23 | 24 | /* 25 | void ICACHE_RAM_ATTR sendCRSFData() 26 | { 27 | // Create structure for sending data 28 | crsf_data_t txData; 29 | const crsf_channels_t& channels = *crsf.getChannelsPacked(); // Dereference the pointer 30 | txData.channels = channels; // Assign the channel data 31 | 32 | // Additional data (e.g., bind elements) 33 | txData.bind_elements[0] = BIND_PHRASE[1]; 34 | txData.bind_elements[1] = BIND_PHRASE[3]; 35 | txData.bind_elements[2] = BIND_PHRASE[6]; 36 | 37 | // Send data via CRSF 38 | int state = radio.transmit((uint8_t *)&txData, sizeof(crsf_data_t)); 39 | 40 | if (state == RADIOLIB_ERR_NONE) 41 | { 42 | Serial.println("CRSF data transmitted successfully!"); 43 | } 44 | else 45 | { 46 | Serial.print("CRSF data transmission failed, error: "); 47 | Serial.println(state); 48 | } 49 | }*/ 50 | 51 | uint8_t ICACHE_RAM_ATTR crc8(uint8_t *data, uint8_t len) 52 | { 53 | uint8_t crc = 0; 54 | for (uint8_t i = 0; i < len; i++) 55 | { 56 | crc ^= data[i]; 57 | for (uint8_t j = 0; j < 8; j++) 58 | { 59 | if (crc & 0x80) 60 | { 61 | crc = (crc << 1) ^ CRC8_POLY_D5; 62 | } 63 | else 64 | { 65 | crc <<= 1; 66 | } 67 | } 68 | } 69 | return crc; 70 | } 71 | 72 | void ICACHE_RAM_ATTR setFlag(void) 73 | { 74 | // we sent or received packet, set the flag 75 | operationDone = true; 76 | } 77 | 78 | // Radio initialization 79 | void ICACHE_RAM_ATTR initRadio() 80 | { 81 | 82 | int state = radio.begin(); 83 | if (state == RADIOLIB_ERR_NONE) 84 | { 85 | Serial.println(F("Radio initialized successfully!")); 86 | } 87 | else 88 | { 89 | Serial.print(F("Radio initialization failed, error: ")); 90 | Serial.println(state); 91 | while (true) 92 | delay(10); 93 | } 94 | 95 | if (radio.setFrequency(frequency) != RADIOLIB_ERR_NONE) 96 | { 97 | Serial.println(F("Failed to set frequency")); 98 | while (true) 99 | delay(10); 100 | } 101 | 102 | if (radio.setBandwidth(125.0) != RADIOLIB_ERR_NONE || 103 | radio.setSpreadingFactor(6) != RADIOLIB_ERR_NONE || 104 | radio.setCodingRate(5) != RADIOLIB_ERR_NONE || 105 | radio.setOutputPower(power) != RADIOLIB_ERR_NONE) 106 | { 107 | Serial.println(F("Radio configuration failed")); 108 | while (true) 109 | delay(10); 110 | } 111 | 112 | radio.setDio0Action(setFlag, RISING); 113 | } 114 | 115 | void ICACHE_RAM_ATTR setupWebServer() 116 | { 117 | 118 | server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) 119 | { request->redirect("/config"); }); 120 | 121 | server.on("/config", HTTP_GET, [](AsyncWebServerRequest *request) 122 | { 123 | String html = ""; 130 | html += "

Reggi TX Settings

"; 131 | html += "
"; 132 | html += "Frequency (MHz):

"; 133 | html += "Power (dBm):

"; 134 | html += ""; 135 | html += "
"; 136 | html += ""; 137 | request->send(200, "text/html", html); }); 138 | 139 | /*server.on("/set", HTTP_GET, [](AsyncWebServerRequest *request) 140 | { 141 | if (request->hasParam("freq")) { 142 | frequency = request->getParam("freq")->value().toFloat(); 143 | EEPROM.put(EEPROM_FREQ_ADDR, frequency); 144 | } 145 | if (request->hasParam("power")) { 146 | power = request->getParam("power")->value().toInt(); 147 | EEPROM.put(EEPROM_POWER_ADDR, power); 148 | } 149 | EEPROM.commit(); 150 | request->redirect("/config"); 151 | delay(1000); 152 | ESP.restart(); });*/ 153 | server.begin(); 154 | webServerStarted = true; 155 | } 156 | 157 | static ICACHE_RAM_ATTR String toStringIp(IPAddress ip) 158 | { 159 | String res = ""; 160 | for (int i = 0; i < 3; i++) 161 | { 162 | res += String((ip >> (8 * i)) & 0xFF) + "."; 163 | } 164 | res += String(((ip >> 8 * 3)) & 0xFF); 165 | return res; 166 | } 167 | 168 | void bind_do_receive() 169 | { 170 | uint8_t receivedData[FRAME_LEN]; 171 | int state = radio.receive(receivedData, sizeof(receivedData)); 172 | 173 | if (state == RADIOLIB_ERR_NONE) 174 | { 175 | if (receivedData[0] == BIND_PHRASE[0] && receivedData[1] == 0x01) 176 | { 177 | Serial.println("Binding data received successfully!"); 178 | bindingCompleted = true; 179 | } 180 | } 181 | } 182 | 183 | unsigned long lastReceiveTime = 0; 184 | const unsigned long receiveInterval = 3000; 185 | 186 | void ICACHE_RAM_ATTR bind_do_transmit() 187 | { 188 | uint8_t bindData[FRAME_LEN]; 189 | memset(bindData, 0, FRAME_LEN); 190 | 191 | memcpy(bindData, BIND_PHRASE, strlen(BIND_PHRASE)); 192 | 193 | if (millis() - lastBindTransmitTime > 3000) 194 | { 195 | int state = radio.transmit(bindData, FRAME_LEN); 196 | if (state == RADIOLIB_ERR_NONE) 197 | { 198 | Serial.println("Binding data transmitted successfully!"); 199 | lastBindTransmitTime = millis(); 200 | } 201 | else 202 | { 203 | Serial.print("Binding transmission failed, error: "); 204 | Serial.println(state); 205 | } 206 | } 207 | 208 | if (millis() - lastReceiveTime > receiveInterval) 209 | { 210 | bind_do_receive(); 211 | lastReceiveTime = millis(); 212 | } 213 | } 214 | 215 | void ICACHE_RAM_ATTR leftShift(uint8_t arr[], size_t size) 216 | { 217 | memmove(arr, arr + 1, (size - 1)); 218 | arr[size - 1] = 0xFF; 219 | } 220 | 221 | void setup() 222 | { 223 | Serial.begin(115200); 224 | spi.begin(); 225 | 226 | CRSFSerial.begin(420000, SERIAL_8N1, CRSF_PIN, CRSF_PIN, true); // false 227 | 228 | WiFi.softAP("Reggi TX", "12345678"); 229 | IPAddress apIP(10, 0, 0, 1); 230 | WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0)); 231 | dnsServer.start(53, "*", apIP); 232 | 233 | initRadio(); 234 | bindStartTime = millis(); 235 | Serial.println("Setup complete."); 236 | } 237 | 238 | void loop() 239 | { 240 | dnsServer.processNextRequest(); 241 | 242 | if (!bindingRequested && !bindingCompleted) 243 | { 244 | Serial.println("Starting binding process..."); 245 | bindingRequested = true; 246 | bindStartTime = millis(); 247 | } 248 | 249 | if (bindingRequested && !bindingCompleted) 250 | { 251 | bind_do_transmit(); 252 | if (millis() - bindStartTime > bindingTimeout) 253 | { 254 | bindingRequested = false; 255 | bindingCompleted = false; 256 | if (!webServerStarted) 257 | { 258 | setupWebServer(); 259 | webServerStarted = true; 260 | } 261 | } 262 | } 263 | 264 | if (bindingCompleted) 265 | { 266 | crsf_data_t txData; 267 | uint8_t size = CRSF_MAX_PACKET_SIZE; 268 | while (CRSFSerial.available()) 269 | { 270 | _rxData[CRSF_MAX_PACKET_SIZE - 1] = CRSFSerial.read(); 271 | if (crc8(&_rxData[CRSF_MAX_PACKET_SIZE - size], 272 | _rxData[CRSF_MAX_PACKET_SIZE - size - 1]) == 0) 273 | { 274 | if ((_rxData[CRSF_MAX_PACKET_SIZE - size - 2] == 275 | CRSF_ADDRESS_FLIGHT_CONTROLLER) || 276 | (_rxData[CRSF_MAX_PACKET_SIZE - size - 2] == 277 | CRSF_ADDRESS_CRSF_TRANSMITTER)) 278 | { 279 | if (_rxData[CRSF_MAX_PACKET_SIZE - size] == 280 | CRSF_FRAMETYPE_RC_CHANNELS_PACKED) 281 | { 282 | // Получаем указатель на данные каналов 283 | const crsf_channels_t *channels = reinterpret_cast(&_rxData[CRSF_MAX_PACKET_SIZE - size + 1]); 284 | 285 | txData.channels.channel1 = map(channels->channel1, CRSF_CHANNEL_VALUE_1000, CRSF_CHANNEL_VALUE_2000, 1000, 2000); 286 | txData.channels.channel2 = map(channels->channel2, CRSF_CHANNEL_VALUE_1000, CRSF_CHANNEL_VALUE_2000, 1000, 2000); 287 | txData.channels.channel3 = map(channels->channel3, CRSF_CHANNEL_VALUE_1000, CRSF_CHANNEL_VALUE_2000, 1000, 2000); 288 | txData.channels.channel4 = map(channels->channel4, CRSF_CHANNEL_VALUE_1000, CRSF_CHANNEL_VALUE_2000, 1000, 2000); 289 | txData.channels.channel5 = map(channels->channel5, CRSF_CHANNEL_VALUE_1000, CRSF_CHANNEL_VALUE_2000, 1000, 2000); 290 | txData.channels.channel6 = map(channels->channel6, CRSF_CHANNEL_VALUE_1000, CRSF_CHANNEL_VALUE_2000, 1000, 2000); 291 | txData.channels.channel7 = map(channels->channel7, CRSF_CHANNEL_VALUE_1000, CRSF_CHANNEL_VALUE_2000, 1000, 2000); 292 | txData.channels.channel8 = map(channels->channel8, CRSF_CHANNEL_VALUE_1000, CRSF_CHANNEL_VALUE_2000, 1000, 2000); 293 | txData.channels.channel9 = map(channels->channel9, CRSF_CHANNEL_VALUE_1000, CRSF_CHANNEL_VALUE_2000, 1000, 2000); 294 | txData.channels.channel10 = map(channels->channel10, CRSF_CHANNEL_VALUE_1000, CRSF_CHANNEL_VALUE_2000, 1000, 2000); 295 | txData.channels.channel11 = map(channels->channel11, CRSF_CHANNEL_VALUE_1000, CRSF_CHANNEL_VALUE_2000, 1000, 2000); 296 | txData.channels.channel12 = map(channels->channel12, CRSF_CHANNEL_VALUE_1000, CRSF_CHANNEL_VALUE_2000, 1000, 2000); 297 | txData.channels.channel13 = map(channels->channel13, CRSF_CHANNEL_VALUE_1000, CRSF_CHANNEL_VALUE_2000, 1000, 2000); 298 | txData.channels.channel14 = map(channels->channel14, CRSF_CHANNEL_VALUE_1000, CRSF_CHANNEL_VALUE_2000, 1000, 2000); 299 | txData.channels.channel15 = map(channels->channel15, CRSF_CHANNEL_VALUE_1000, CRSF_CHANNEL_VALUE_2000, 1000, 2000); 300 | txData.channels.channel16 = map(channels->channel16, CRSF_CHANNEL_VALUE_1000, CRSF_CHANNEL_VALUE_2000, 1000, 2000); 301 | } 302 | } 303 | } 304 | if (_rxData[CRSF_MAX_PACKET_SIZE - 2] == CRSF_ADDRESS_CRSF_TRANSMITTER || 305 | _rxData[CRSF_MAX_PACKET_SIZE - 2] == CRSF_ADDRESS_FLIGHT_CONTROLLER) 306 | { 307 | size = _rxData[CRSF_MAX_PACKET_SIZE - 1]; 308 | } 309 | leftShift(_rxData, sizeof(_rxData)); 310 | } 311 | 312 | txData.bind_elements[0] = BIND_PHRASE[0]; 313 | txData.bind_elements[1] = BIND_PHRASE[3]; 314 | txData.bind_elements[2] = BIND_PHRASE[6]; 315 | 316 | int state = radio.transmit((uint8_t *)&txData, sizeof(crsf_data_t)); 317 | if (state == RADIOLIB_ERR_NONE) 318 | { 319 | memset(_rxData, 0, sizeof(_rxData)); 320 | } 321 | else 322 | { 323 | } 324 | } 325 | } 326 | -------------------------------------------------------------------------------- /Reggi RX/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "C_Cpp_Runner.cCompilerPath": "C:/Users/Viktor/.platformio/packages/toolchain-xtensa-esp32@8.4.0+2021r2-patch5/bin/xtensa-esp32-elf-gcc.exe", 3 | "C_Cpp_Runner.cppCompilerPath": "C:/Users/Viktor/.platformio/packages/toolchain-xtensa-esp32@8.4.0+2021r2-patch5/bin/xtensa-esp32-elf-g++.exe", 4 | "C_Cpp_Runner.debuggerPath": "C:/Users/Viktor/.platformio/packages/toolchain-xtensa-esp32@8.4.0+2021r2-patch5/bin/xtensa-esp32-elf-gdb.exe", 5 | "C_Cpp_Runner.cStandard": "gnu99", 6 | "C_Cpp_Runner.cppStandard": "gnu++11", 7 | "C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/Build/vcvarsall.bat", 8 | "C_Cpp_Runner.useMsvc": false, 9 | "C_Cpp_Runner.warnings": [ 10 | "-Wall", 11 | "-Wextra", 12 | "-Wpedantic", 13 | "-Wshadow", 14 | "-Wformat=2", 15 | "-Wcast-align", 16 | "-Wconversion", 17 | "-Wsign-conversion", 18 | "-Wnull-dereference" 19 | ], 20 | "C_Cpp_Runner.msvcWarnings": [ 21 | "/W4", 22 | "/permissive-", 23 | "/w14242", 24 | "/w14287", 25 | "/w14296", 26 | "/w14311", 27 | "/w14826", 28 | "/w44062", 29 | "/w44242", 30 | "/w14905", 31 | "/w14906", 32 | "/w14263", 33 | "/w44265", 34 | "/w14928" 35 | ], 36 | "C_Cpp_Runner.enableWarnings": true, 37 | "C_Cpp_Runner.warningsAsError": false, 38 | "C_Cpp_Runner.compilerArgs": [], 39 | "C_Cpp_Runner.linkerArgs": [], 40 | "C_Cpp_Runner.includePaths": [ 41 | "c:/Users/Viktor/Documents/PlatformIO/Projects/Reggi RX/include", 42 | "c:/Users/Viktor/Documents/PlatformIO/Projects/Reggi RX/src", 43 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include", 44 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include", 45 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos", 46 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include", 47 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions", 48 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include", 49 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc", 50 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32", 51 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32", 52 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include", 53 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include", 54 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include", 55 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps", 56 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp", 57 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include", 58 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include", 59 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch", 60 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include", 61 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32", 62 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include", 63 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include", 64 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include", 65 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include", 66 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include", 67 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32", 68 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32", 69 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include", 70 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include", 71 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc", 72 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat", 73 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include", 74 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include", 75 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include", 76 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include", 77 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include", 78 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include", 79 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include", 80 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include", 81 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include", 82 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include", 83 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include", 84 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include", 85 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include", 86 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include", 87 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include", 88 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include", 89 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include", 90 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include", 91 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include", 92 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include", 93 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include", 94 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include", 95 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include", 96 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include", 97 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include", 98 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include", 99 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include", 100 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include", 101 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include", 102 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa", 103 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32", 104 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include", 105 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa", 106 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include", 107 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include", 108 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include", 109 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include", 110 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console", 111 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include", 112 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include", 113 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include", 114 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include", 115 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api", 116 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include", 117 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include", 118 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api", 119 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include", 120 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include", 121 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core", 122 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include", 123 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage", 124 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include", 125 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include", 126 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include", 127 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include", 128 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include", 129 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include", 130 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api", 131 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include", 132 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include", 133 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src", 134 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src", 135 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include", 136 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include", 137 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include", 138 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes", 139 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls", 140 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto", 141 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include", 142 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include", 143 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include", 144 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include", 145 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include", 146 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include", 147 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include", 148 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include", 149 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface", 150 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c", 151 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common", 152 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security", 153 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports", 154 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include", 155 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include", 156 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include", 157 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include", 158 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include", 159 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib", 160 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include", 161 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include", 162 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio", 163 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs", 164 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src", 165 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include", 166 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include", 167 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32", 168 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include", 169 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON", 170 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include", 171 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include", 172 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include", 173 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include", 174 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include", 175 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include", 176 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include", 177 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include", 178 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include", 179 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include", 180 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include", 181 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include", 182 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include", 183 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream", 184 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream", 185 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include", 186 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include", 187 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include", 188 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include", 189 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include", 190 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led", 191 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include", 192 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include", 193 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool", 194 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef", 195 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image", 196 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math", 197 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn", 198 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer", 199 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect", 200 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo", 201 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include", 202 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include", 203 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include", 204 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include", 205 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include", 206 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include", 207 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include", 208 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include", 209 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include", 210 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include", 211 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include", 212 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include", 213 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include", 214 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include", 215 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include", 216 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include", 217 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include", 218 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include", 219 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include", 220 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include", 221 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include", 222 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include", 223 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include", 224 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include", 225 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include", 226 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include", 227 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include", 228 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include", 229 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include", 230 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include", 231 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/cores/esp32", 232 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/variants/doitESP32devkitV1", 233 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src", 234 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src", 235 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src", 236 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src", 237 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src", 238 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src", 239 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src", 240 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src", 241 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src", 242 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src", 243 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/FS/src", 244 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src", 245 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src", 246 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src", 247 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src", 248 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src", 249 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src", 250 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src", 251 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src", 252 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src", 253 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/SD/src", 254 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src", 255 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src", 256 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src", 257 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src", 258 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src", 259 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/USB/src", 260 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Update/src", 261 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src", 262 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src", 263 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src", 264 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src", 265 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src", 266 | "" 267 | ], 268 | "C_Cpp_Runner.includeSearch": [ 269 | "*", 270 | "**/*" 271 | ], 272 | "C_Cpp_Runner.excludeSearch": [ 273 | "**/build", 274 | "**/build/**", 275 | "**/.*", 276 | "**/.*/**", 277 | "**/.vscode", 278 | "**/.vscode/**" 279 | ], 280 | "C_Cpp_Runner.useAddressSanitizer": false, 281 | "C_Cpp_Runner.useUndefinedSanitizer": false, 282 | "C_Cpp_Runner.useLeakSanitizer": false, 283 | "C_Cpp_Runner.showCompilationTime": false, 284 | "C_Cpp_Runner.useLinkTimeOptimization": false, 285 | "C_Cpp_Runner.msvcSecureNoWarnings": false 286 | } -------------------------------------------------------------------------------- /Reggi TX/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "C_Cpp_Runner.cCompilerPath": "C:/Users/Viktor/.platformio/packages/toolchain-xtensa-esp32@8.4.0+2021r2-patch5/bin/xtensa-esp32-elf-gcc.exe", 3 | "C_Cpp_Runner.cppCompilerPath": "C:/Users/Viktor/.platformio/packages/toolchain-xtensa-esp32@8.4.0+2021r2-patch5/bin/xtensa-esp32-elf-g++.exe", 4 | "C_Cpp_Runner.debuggerPath": "C:/Users/Viktor/.platformio/packages/toolchain-xtensa-esp32@8.4.0+2021r2-patch5/bin/xtensa-esp32-elf-gdb.exe", 5 | "C_Cpp_Runner.cStandard": "gnu99", 6 | "C_Cpp_Runner.cppStandard": "gnu++11", 7 | "C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/Build/vcvarsall.bat", 8 | "C_Cpp_Runner.useMsvc": false, 9 | "C_Cpp_Runner.warnings": [ 10 | "-Wall", 11 | "-Wextra", 12 | "-Wpedantic", 13 | "-Wshadow", 14 | "-Wformat=2", 15 | "-Wcast-align", 16 | "-Wconversion", 17 | "-Wsign-conversion", 18 | "-Wnull-dereference" 19 | ], 20 | "C_Cpp_Runner.msvcWarnings": [ 21 | "/W4", 22 | "/permissive-", 23 | "/w14242", 24 | "/w14287", 25 | "/w14296", 26 | "/w14311", 27 | "/w14826", 28 | "/w44062", 29 | "/w44242", 30 | "/w14905", 31 | "/w14906", 32 | "/w14263", 33 | "/w44265", 34 | "/w14928" 35 | ], 36 | "C_Cpp_Runner.enableWarnings": true, 37 | "C_Cpp_Runner.warningsAsError": false, 38 | "C_Cpp_Runner.compilerArgs": [], 39 | "C_Cpp_Runner.linkerArgs": [], 40 | "C_Cpp_Runner.includePaths": [ 41 | "C:/Users/Viktor/Documents/PlatformIO/Projects/Reggi TX/include", 42 | "C:/Users/Viktor/Documents/PlatformIO/Projects/Reggi TX/src", 43 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include", 44 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include", 45 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos", 46 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include", 47 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions", 48 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include", 49 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc", 50 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32", 51 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32", 52 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include", 53 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include", 54 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include", 55 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps", 56 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp", 57 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include", 58 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include", 59 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch", 60 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include", 61 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32", 62 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include", 63 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include", 64 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include", 65 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include", 66 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include", 67 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32", 68 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32", 69 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include", 70 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include", 71 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc", 72 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat", 73 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include", 74 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include", 75 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include", 76 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include", 77 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include", 78 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include", 79 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include", 80 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include", 81 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include", 82 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include", 83 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include", 84 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include", 85 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include", 86 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include", 87 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include", 88 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include", 89 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include", 90 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include", 91 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include", 92 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include", 93 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include", 94 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include", 95 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include", 96 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include", 97 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include", 98 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include", 99 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include", 100 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include", 101 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include", 102 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa", 103 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32", 104 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include", 105 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa", 106 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include", 107 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include", 108 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include", 109 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include", 110 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console", 111 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include", 112 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include", 113 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include", 114 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include", 115 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api", 116 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include", 117 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include", 118 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api", 119 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include", 120 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include", 121 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core", 122 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include", 123 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage", 124 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include", 125 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include", 126 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include", 127 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include", 128 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include", 129 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include", 130 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api", 131 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include", 132 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include", 133 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src", 134 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src", 135 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include", 136 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include", 137 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include", 138 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes", 139 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls", 140 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto", 141 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include", 142 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include", 143 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include", 144 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include", 145 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include", 146 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include", 147 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include", 148 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include", 149 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface", 150 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c", 151 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common", 152 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security", 153 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports", 154 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include", 155 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include", 156 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include", 157 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include", 158 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include", 159 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib", 160 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include", 161 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include", 162 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio", 163 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs", 164 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src", 165 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include", 166 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include", 167 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32", 168 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include", 169 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON", 170 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include", 171 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include", 172 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include", 173 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include", 174 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include", 175 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include", 176 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include", 177 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include", 178 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include", 179 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include", 180 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include", 181 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include", 182 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include", 183 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream", 184 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream", 185 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include", 186 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include", 187 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include", 188 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include", 189 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include", 190 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led", 191 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include", 192 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include", 193 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool", 194 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef", 195 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image", 196 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math", 197 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn", 198 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer", 199 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect", 200 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo", 201 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include", 202 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include", 203 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include", 204 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include", 205 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include", 206 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include", 207 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include", 208 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include", 209 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include", 210 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include", 211 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include", 212 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include", 213 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include", 214 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include", 215 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include", 216 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include", 217 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include", 218 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include", 219 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include", 220 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include", 221 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include", 222 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include", 223 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include", 224 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include", 225 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include", 226 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include", 227 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include", 228 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include", 229 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include", 230 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include", 231 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/cores/esp32", 232 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/variants/doitESP32devkitV1", 233 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src", 234 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src", 235 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src", 236 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src", 237 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src", 238 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src", 239 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src", 240 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src", 241 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src", 242 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src", 243 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/FS/src", 244 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src", 245 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src", 246 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src", 247 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src", 248 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src", 249 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src", 250 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src", 251 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src", 252 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src", 253 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/SD/src", 254 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src", 255 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src", 256 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src", 257 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src", 258 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src", 259 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/USB/src", 260 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Update/src", 261 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src", 262 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src", 263 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src", 264 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src", 265 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src", 266 | "" 267 | ], 268 | "C_Cpp_Runner.includeSearch": [ 269 | "*", 270 | "**/*" 271 | ], 272 | "C_Cpp_Runner.excludeSearch": [ 273 | "**/build", 274 | "**/build/**", 275 | "**/.*", 276 | "**/.*/**", 277 | "**/.vscode", 278 | "**/.vscode/**" 279 | ], 280 | "C_Cpp_Runner.useAddressSanitizer": false, 281 | "C_Cpp_Runner.useUndefinedSanitizer": false, 282 | "C_Cpp_Runner.useLeakSanitizer": false, 283 | "C_Cpp_Runner.showCompilationTime": false, 284 | "C_Cpp_Runner.useLinkTimeOptimization": false, 285 | "C_Cpp_Runner.msvcSecureNoWarnings": false 286 | } -------------------------------------------------------------------------------- /Reggi RX 8266/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "C_Cpp_Runner.cCompilerPath": "C:/Users/Viktor/.platformio/packages/toolchain-xtensa-esp32@8.4.0+2021r2-patch5/bin/xtensa-esp32-elf-gcc.exe", 3 | "C_Cpp_Runner.cppCompilerPath": "C:/Users/Viktor/.platformio/packages/toolchain-xtensa-esp32@8.4.0+2021r2-patch5/bin/xtensa-esp32-elf-g++.exe", 4 | "C_Cpp_Runner.debuggerPath": "C:/Users/Viktor/.platformio/packages/toolchain-xtensa-esp32@8.4.0+2021r2-patch5/bin/xtensa-esp32-elf-gdb.exe", 5 | "C_Cpp_Runner.cStandard": "gnu99", 6 | "C_Cpp_Runner.cppStandard": "gnu++11", 7 | "C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/Build/vcvarsall.bat", 8 | "C_Cpp_Runner.useMsvc": false, 9 | "C_Cpp_Runner.warnings": [ 10 | "-Wall", 11 | "-Wextra", 12 | "-Wpedantic", 13 | "-Wshadow", 14 | "-Wformat=2", 15 | "-Wcast-align", 16 | "-Wconversion", 17 | "-Wsign-conversion", 18 | "-Wnull-dereference" 19 | ], 20 | "C_Cpp_Runner.msvcWarnings": [ 21 | "/W4", 22 | "/permissive-", 23 | "/w14242", 24 | "/w14287", 25 | "/w14296", 26 | "/w14311", 27 | "/w14826", 28 | "/w44062", 29 | "/w44242", 30 | "/w14905", 31 | "/w14906", 32 | "/w14263", 33 | "/w44265", 34 | "/w14928" 35 | ], 36 | "C_Cpp_Runner.enableWarnings": true, 37 | "C_Cpp_Runner.warningsAsError": false, 38 | "C_Cpp_Runner.compilerArgs": [], 39 | "C_Cpp_Runner.linkerArgs": [], 40 | "C_Cpp_Runner.includePaths": [ 41 | "c:/Users/Viktor/Documents/PlatformIO/Projects/Reggi RX/include", 42 | "c:/Users/Viktor/Documents/PlatformIO/Projects/Reggi RX/src", 43 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include", 44 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include", 45 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos", 46 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include", 47 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions", 48 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include", 49 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc", 50 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32", 51 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32", 52 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include", 53 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include", 54 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include", 55 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps", 56 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp", 57 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include", 58 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include", 59 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch", 60 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include", 61 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32", 62 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include", 63 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include", 64 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include", 65 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include", 66 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include", 67 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32", 68 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32", 69 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include", 70 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include", 71 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc", 72 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat", 73 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include", 74 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include", 75 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include", 76 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include", 77 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include", 78 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include", 79 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include", 80 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include", 81 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include", 82 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include", 83 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include", 84 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include", 85 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include", 86 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include", 87 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include", 88 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include", 89 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include", 90 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include", 91 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include", 92 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include", 93 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include", 94 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include", 95 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include", 96 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include", 97 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include", 98 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include", 99 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include", 100 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include", 101 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include", 102 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa", 103 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32", 104 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include", 105 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa", 106 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include", 107 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include", 108 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include", 109 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include", 110 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console", 111 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include", 112 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include", 113 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include", 114 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include", 115 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api", 116 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include", 117 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include", 118 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api", 119 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include", 120 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include", 121 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core", 122 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include", 123 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage", 124 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include", 125 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include", 126 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include", 127 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include", 128 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include", 129 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include", 130 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api", 131 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include", 132 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include", 133 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src", 134 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src", 135 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include", 136 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include", 137 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include", 138 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes", 139 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls", 140 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto", 141 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include", 142 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include", 143 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include", 144 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include", 145 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include", 146 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include", 147 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include", 148 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include", 149 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface", 150 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c", 151 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common", 152 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security", 153 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports", 154 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include", 155 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include", 156 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include", 157 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include", 158 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include", 159 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib", 160 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include", 161 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include", 162 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio", 163 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs", 164 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src", 165 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include", 166 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include", 167 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32", 168 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include", 169 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON", 170 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include", 171 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include", 172 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include", 173 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include", 174 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include", 175 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include", 176 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include", 177 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include", 178 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include", 179 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include", 180 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include", 181 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include", 182 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include", 183 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream", 184 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream", 185 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include", 186 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include", 187 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include", 188 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include", 189 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include", 190 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led", 191 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include", 192 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include", 193 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool", 194 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef", 195 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image", 196 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math", 197 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn", 198 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer", 199 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect", 200 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo", 201 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include", 202 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include", 203 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include", 204 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include", 205 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include", 206 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include", 207 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include", 208 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include", 209 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include", 210 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include", 211 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include", 212 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include", 213 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include", 214 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include", 215 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include", 216 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include", 217 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include", 218 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include", 219 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include", 220 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include", 221 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include", 222 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include", 223 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include", 224 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include", 225 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include", 226 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include", 227 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include", 228 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include", 229 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include", 230 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include", 231 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/cores/esp32", 232 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/variants/doitESP32devkitV1", 233 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src", 234 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src", 235 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src", 236 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src", 237 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src", 238 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src", 239 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src", 240 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src", 241 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src", 242 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src", 243 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/FS/src", 244 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src", 245 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src", 246 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src", 247 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src", 248 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src", 249 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src", 250 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src", 251 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src", 252 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src", 253 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/SD/src", 254 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src", 255 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src", 256 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src", 257 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src", 258 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src", 259 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/USB/src", 260 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Update/src", 261 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src", 262 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src", 263 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src", 264 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src", 265 | "C:/Users/Viktor/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src", 266 | "" 267 | ], 268 | "C_Cpp_Runner.includeSearch": [ 269 | "*", 270 | "**/*" 271 | ], 272 | "C_Cpp_Runner.excludeSearch": [ 273 | "**/build", 274 | "**/build/**", 275 | "**/.*", 276 | "**/.*/**", 277 | "**/.vscode", 278 | "**/.vscode/**" 279 | ], 280 | "C_Cpp_Runner.useAddressSanitizer": false, 281 | "C_Cpp_Runner.useUndefinedSanitizer": false, 282 | "C_Cpp_Runner.useLeakSanitizer": false, 283 | "C_Cpp_Runner.showCompilationTime": false, 284 | "C_Cpp_Runner.useLinkTimeOptimization": false, 285 | "C_Cpp_Runner.msvcSecureNoWarnings": false 286 | } --------------------------------------------------------------------------------