Ensure you have the following software installed and configured before proceeding:
- CMake v3.16 or later
- Qt 6.4.3 with the following modules and libraries:
- Qt 5 Compatiblity Module
- Qt Shader Tools
- Additional libraries
- Qt Image Formats
- Qt Multimedia
- Qt Serial Port
- Qt Virtual Keyboard
- Openssl v1.x
if you are using Windows:
- MSVC 2019 64-bit with the following workloads:
- Desktop development with C++ workload
- Change
DISABLE_PROTOBUF
option default toON
in theCMakeList.txt
file
Note: If you're using Linux, make sure to run the app with
root
orsudo
privileges.
- Set CMake build type to Release
- Qt Creator:
Navigate toProjects
>Edit build configuration
>Release
- Generate makefiles:
- Qt Creator:
Navigate toBuild
>Run CMake
- CMake:
cmake -S . -B ./build/release
- Build project
- Qt Creator:
Navigate toBuild
>Build Project
- CMake:
cmake --build ./build/release --target ALL_BUILD --config Release
To enable fake serial mode, set FAKE_UID_MODE
option to ON
in your CMakeLists
file and create a new fake serial ID. Please follow the steps below:
Qt Creator:
- Go to
Projects
(Ctrl + 5). - Under the currently selected kit, click on
Build
. - In the
CMake Section
, select theCurrent Configuration
tab. - Search for
FAKE_UID_MODE
. - Check the box to turn it ON.
- Search for
FAKE_UID
- Set your fake Unique ID as the value
Note: Remember, the value must be 16 characters long and can include both digits and letters.
- Search for
FAKE_SERIALID
- Set your fake serial ID as the value
Note: If you don't set the
FAKE_SERIALID
, the app will go through the first-run flow, and if the API responds, it will navigate to the home screen. - Finally, click on
Run CMake
.
CMake:
cmake -DFAKE_UID_MODE:BOOL=ON -DFAKE_UID=$YOUR_FAKE_UID .
Note: An active Internet connection is required to retrieve the serial number associated with your unique ID.
WARNING: Ensure your fake serial number is not a valid serial number connected to a real device. Any changes you make in the app will appear on the device.
If you want to test the UI without needing a valid serial number or connecting to a device, you can set userLevel
to DEVELOPER
in UiSession.qml
:
// property int userLevel: UiSession.UserLevel.USER
property int userLevel: UiSession.UserLevel.DEVELOPER
NOTE: This section is only for developers.
The initial setup flow involves configuring several settings for your device. These include:
- Selecting the system type, such as:
- Traditional
- Heat Pump
- Cool only
- Heat Only
- Configuring the specific settings based on the selected system type.
- Specifying the accessories your device has. You can select either a humidifier, dehumidifier, or none. Each accessory may have additional options.
- Setting the system run delay.
- Enabling technician access, which displays a QR code. By scanning the QR code, you can view information about the device after logging into your nuvehvac.com account.
If your app has a valid serial number and the variable hasClient
is set to false
, the app will automatically run in initial setup mode.
NOTE: Make sure your app has a serial number. If you are testing the app on Windows, refer to the How to Fake a Serial Number section.
To run the app in initial setup mode, you need to set INITIAL_SETUP_MODE
option to ON in your CMakeLists
file. Please follow the steps below:
Qt Creator:
- Go to
Projects
(Ctrl + 5). - Under the currently selected kit, click on
Build
. - In the
CMake Section
, select theCurrent Configuration
tab. - Search for
INITIAL_SETUP_MODE
. - Check the box to turn it ON.
- Finally, click on
Run CMake
.
CMake:
cmake -DINITIAL_SETUP_MODE:BOOL=ON .
When you enable Test mode, you have the ability to physically test your device to ensure all components are functioning correctly. Additionally, Test mode allows you to manually update your device's software or firmware, providing greater control over maintenance and troubleshooting.
You can enter test mode in several ways:
-
To run the app in test mode, set
TROUBLESHOOTING_MODE
option to ON in yourCMakeLists
file. Please follow the steps below:
Qt Creator:- Go to
Projects
(Ctrl + 5). - Under the currently selected kit, click on
Build
. - In the
CMake Section
, select theCurrent Configuration
tab. - Search for
TROUBLESHOOTING_MODE
. - Check the box to turn it ON.
- Finally, click on
Run CMake
.
CMake:
cmake -DTROUBLESHOOTING_MODE:BOOL=ON .
- Go to
Alternatively, if your device doesn't have GPIO or the START_MODE_GPIO
is set to zero in the parameter definitions:
/** The GPIO used to determine start mode */
#define START_MODE_GPIO 0
-
To run the app in test mode, set
SERIAL_TEST_MODE
option to ON in yourCMakeLists
file. Please follow the steps below:
Qt Creator:- Go to
Projects
(Ctrl + 5). - Under the currently selected kit, click on
Build
. - In the
CMake Section
, select theCurrent Configuration
tab. - Search for
SERIAL_TEST_MODE
. - Check the box to turn it ON.
- Search for
SERIAL_TEST_DELAY_COUNTER
. - Set your desired delay counter value.
- Finally, click on
Run CMake
.
CMake:
cmake -DSERIAL_TEST_MODE:BOOL=ON -DSERIAL_TEST_DELAY_COUNTER=3 .
- Go to
-
By pressing and holding the
device information
for 10 seconds in the device menu.
After enabling Test mode, you will see new buttons on the device information page that allow you to update the NRF, restart the app, or forget the device.
- By pressing and holding the
system update
option for 10 seconds in the device menu.
After this, a new option for manual updates will appear on the system update page.
- By tapping 10 times on the
FCC ID
in the device information page in the device menu.
After enabling Test mode through these methods, the app will show tests for touch functionality, color display, brightness, backlight, internal sensors, and relays. At the end, a QR code containing the serial number will be displayed, and then the device will restart.