C
Qt Safe Monitor: Qt Quick Ultralite Example on Bare-Metal Traveo II
// Copyright (C) 2025 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial #ifndef SIMULATOR_H #define SIMULATOR_H #include <QtSafeRenderer/qsafeglobal.h> struct SimulationStep { SafeRenderer::qint duration; SafeRenderer::qint targetSpeed; bool beamsOn; bool engineOn; bool batteryOn; bool oilOn; bool screenFailureOn; }; class Simulator { public: Simulator() : steps() , timestamp(0) , previousValueUpdate(0) , previousStepUpdate(0) , currentStep(0) , currentSpeed(0) , stepIndex(0) , updatePeriod(100) , stepCount(sizeof(steps) / sizeof(steps[0])) , beamsState(true) , engineState(true) , batteryState(true) , oilState(true) , screenFailureState(false) { steps[0].duration = 3000; steps[0].targetSpeed = 0; steps[0].engineOn = true; steps[0].beamsOn = true; steps[0].batteryOn = true; steps[0].oilOn = true; steps[1].duration = 2000; steps[1].targetSpeed = 0; steps[2].duration = 5000; steps[2].targetSpeed = 60; steps[2].beamsOn = true; steps[3].duration = 4000; steps[3].targetSpeed = 70; steps[3].beamsOn = true; steps[3].batteryOn = true; steps[3].screenFailureOn = true; steps[4].duration = 6000; steps[4].targetSpeed = 95; steps[5].duration = 12000; steps[5].targetSpeed = 0; steps[5].batteryOn = true; steps[5].engineOn = true; steps[5].oilOn = true; steps[6].duration = 3000; steps[6].targetSpeed = 0; } void tick(SafeRenderer::qint delta); bool getBeamsState() const { return beamsState; } bool getEngineState() const { return engineState; } bool getBatteryState() const { return batteryState; } bool getOilState() const { return oilState; } private: SimulationStep steps[7]; SafeRenderer::qint64 timestamp; SafeRenderer::qint64 previousValueUpdate; SafeRenderer::qint64 previousStepUpdate; SafeRenderer::qint64 currentStep; SafeRenderer::qint currentSpeed; SafeRenderer::qint stepIndex; const SafeRenderer::qint updatePeriod; const SafeRenderer::qint stepCount; bool beamsState; bool engineState; bool batteryState; bool oilState; bool screenFailureState; }; #endif // SIMULATOR_H