C
Qt Quick Ultralite Thermostat Demo
// Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial #include "thermo.h" #if defined(QUL_PRIVATE_THERMO_VALIDATE_MONOTYPEDATATABLES) #include <qul/monotype/monotypedatatables.h> #include "ErrorScreen.h" #endif #include <qul/application.h> #include <qul/qul.h> int main() { Qul::initHardware(); Qul::initPlatform(); #if defined(APP_TEXT_CACHE_SIZE) Qul::ApplicationConfiguration appConfig; appConfig.setTextCacheEnabled(true); appConfig.setTextCacheSize(APP_TEXT_CACHE_SIZE); Qul::Application app(appConfig); #else Qul::Application app; #endif #if defined(QUL_PRIVATE_THERMO_VALIDATE_MONOTYPEDATATABLES) // If the Monotype data tables are placed in external flash, // the application can use the Qul::validateMonotypeDataTableChecksums() // API to validate the data, and handle errors accordingly, // for example, by downloading new firmware using OTA. if (!Qul::validateMonotypeDataTableChecksums()) { // Error recovery could be done here, but for demo purposes // an error screen without any text is shown static ErrorScreen errorScreen; app.setRootItem(&errorScreen); app.exec(); return 0; } #endif /* Root item instance should be defined as static local to avoid * the instance to be placed in RTOS thread stack. Thread stack * may not be enough to accommodate it. * */ static thermo item; app.setRootItem(&item); app.exec(); return 0; }