Compiling online with Gitpod~
Even though openHASP is available in several pre-compiled firmware variants, sometimes the ready-to-flash binaries aren't enough.
If you need to customize some features, or simply change some parameters, then you need to compile a firmware binary yourself.
If you don't want to install an IDE (Integrated Development Environment) like PlatformIO or ATOM on your computer, compiling your own firmware is a breeze using Gitpod.
Gitpod is a web browser based online IDE. All you need to use it is to link your GitHub account (or make a new one here). Gitpod will take care of all the necessary software package dependencies for you.
Load openHASP project in Gitpod~
Click on one of the links below, and that will automatically load Gitpod with openHASP prepared for creating your custom build:
- Release (for example 0.6.2): https://gitpod.io#https://github.com/HASwitchPlate/openHASP/tree/0.6.2
- Development (main branch): https://gitpod.io#https://github.com/HASwitchPlate/openHASP
After Gitpod loads the project, you will be greeted by the main window.
Choose the version you need~
A copy of
platformio_override.ini will be readily prepared for you.
platformio_override.ini to open it, and to select your firmware flavour for your hardware uncomment in the
extra_configs section the platform of your hadware, for example for ESP32:
[platformio] extra_configs = ; Uncomment or edit the lines to show more User Setups in the PIO sidebar ; user_setups/darwin_sdl/*.ini user_setups/esp32/*.ini ; user_setups/esp32s2/*.ini ; user_setups/linux_sdl/*.ini ; user_setups/stm32f4xx/*.ini ; user_setups/win32/*.ini
If you use customization, remove the comment from the line
-DUSE_CONFIG_OVERRIDE and make sure you have your own
user_config_override.h in place:
(please consider before saving your wifi and mqtt credentials to an online cloud)
[override] ; -- Hasp config options -------------------------------------- build_flags = ; -- Uncomment the next line to use the file include/user_config_override.h settings -DUSE_CONFIG_OVERRIDE
And finally select your supported hardware from the
extra_default_envs section by uncommenting the corresponding line. For example to build firmware for Lanbon L8, you should remove that comment only:
extra_default_envs = ; Comment unneeded environments or create extra ; arduitouch-esp32_ili9341 ; d1-mini-esp32_ili9341 ; d132-unoshield ; esp12e-st7735 ; esp32dev-mrb3511 ; esp32dev-ili9488 lanbon_l8 ; lolin-d32-pro_ili9341 ; my_custom_build ; nodemcu32s-raspi ; wt32-sc01 ; ttgo_esp32_poe-ili9341
Ctrl + Sor selecting
Savefrom the top-left menu.
You can of course uncomment multiple lines, the system will make builds for each. Note that these environments rely on the platforms above so double-check that your hardware has the correct platform enabled in the
If you build from a development branch, you may not get the expected results, as it may contain undocumented or buggy features. Also, most likely a development branch has verbose logging enabled by default which adversely affects performance (for example setting
HASP_LOG_LEVEL back to
LOG_LEVEL_TRACE may bring speed to normal, otherwise the plate may become laggy).
Build the firmware~
To generate your customized firmware build, type
platformio run in the command line area at the bottom, and press Enter key.
Download the build~
After the build successfully finishes, you will be able to find the downloadable binaries on the left panel, in the