94 lines
2.7 KiB
ReStructuredText
94 lines
2.7 KiB
ReStructuredText
Compiling the software
|
|
-----------------------
|
|
|
|
Tools
|
|
=====
|
|
I use the following tools in order to build and manage the software:
|
|
|
|
* Visual Studio Code
|
|
* PlatformIO
|
|
* Git for Windows
|
|
* VSCode plugin: Minify (used to minimise the html files)
|
|
|
|
Targets
|
|
=======
|
|
In the repository there are 3 targets defined
|
|
|
|
* gravity-debug; Maximum logging for trouble shooting, deep sleep is disabled.
|
|
* gravity-release; Standard release
|
|
* gravity-perf; Standard release but contains code for measuring performance
|
|
|
|
Source structure
|
|
================
|
|
.. list-table:: Directory structure
|
|
:widths: 40 60
|
|
:header-rows: 1
|
|
|
|
* - path
|
|
- content
|
|
* - /bin
|
|
- Contains compiled binaries
|
|
* - /data
|
|
- Directory for flashing device filesystem
|
|
* - /doc
|
|
- Various external documents used as input
|
|
* - /docs
|
|
- Folder published to github pages
|
|
* - /html
|
|
- Source for html files
|
|
* - /img
|
|
- Images uses in README.md
|
|
* - /lib
|
|
- External libraries used when compiling
|
|
* - /script
|
|
- Scripts used in build process
|
|
* - /src
|
|
- Source code for software
|
|
* - /src_docs
|
|
- Source code for documentation
|
|
* - /stl
|
|
- 3d models
|
|
* - /test
|
|
- Test data for developing html files
|
|
|
|
|
|
Options
|
|
=======
|
|
This is a list of C++ defines that is used to enable/disable functions in the code.
|
|
|
|
.. list-table:: Defines
|
|
:widths: 40 60
|
|
:header-rows: 1
|
|
|
|
* - define
|
|
- description
|
|
* - ACTIVATE_OTA
|
|
- Enables the OTA functionallity in the code
|
|
* - USE_GYRO_TEMP
|
|
- Uses temperature from gyro instead of DS18B20 (experimental)
|
|
* - SKIP_SLEEPMODE
|
|
- THe device never goes into sleep mode, useful when developing.
|
|
* - CFG_DISABLE_LOGGING
|
|
- Done include verbose logging in Config class. Excessive logging may crash device.
|
|
* - GYRO_DISABLE_LOGGING
|
|
- Done include verbose logging in Gyro class. Excessive logging may crash device.
|
|
* - PUSH_DISABLE_LOGGING
|
|
- Done include verbose logging in PushTarget class. Excessive logging may crash device.
|
|
* - TSEN_DISABLE_LOGGING
|
|
- Done include verbose logging in TempSensor class. Excessive logging may crash device.
|
|
* - WEB_DISABLE_LOGGING
|
|
- Done include verbose logging in WebServer class. Excessive logging may crash device.
|
|
* - MAIN_DISABLE_LOGGING
|
|
- Done include verbose logging in Main class. Excessive logging may crash device.
|
|
* - USE_LITTLEFS
|
|
- Use the new filesystem in Ardurino
|
|
* - EMBED_HTML
|
|
- Html files are included in code, if not defined they are served from the file system.
|
|
* - USER_SSID
|
|
- If defined the device will always use this SSID
|
|
* - USER_SSID_PWD
|
|
- Password to the SSID
|
|
* - CFG_APPVER
|
|
- Defines the version of the compiled software
|
|
|