example-ivi-climate.qface Example File

ivicore/qface-ivi-climate/example-ivi-climate.qface
/**
 * Test module
 */
module Example.IVI.Climate 1.0;

/**
 * The ClimateControl provides a QML interface to the climate control
 * of the vehicle.
 */
@config: { zoned: true, id: "example.qtivi.ClimateControl/1.0", qml_type: "UiClimateControl" }
interface ClimateControl {
    /**
     * @brief Value is true if the air conditioning is enabled.
     */
    bool airConditioning;
    /**
     * @brief value is true if the heater is enabled.
     */
    bool heater;
    /**
     * @brief value holds the fan speed level, where the level can be between
     * minimumValue(off) to maximumValue (strongest).
     */
    @config_simulator: { range: [0, 50] }
    int fanSpeedLevel;
    /**
     * @brief value holds the steering wheel heater level, where the level can
     * be between minimumValue(off) to maximumValue (warmest).
     */
    @config_simulator: { minimum: 0 }
    int steeringWheelHeater;
    /**
     * @brief value holds the target temperature of the zone expressed
     * in centigrades, where the temperature can be between
     * minimumValue(coolest) to maximumValue (warmest).
     */
    @config_simulator: { maximum: 30.0 }
    real targetTemperature;
    /**
     * @brief value holds the seat cooler level, where the level can be
     * between minimumValue(off) to maximumValue (coolest).
     */
    int seatCooler;
    /**
     * @brief value holds the seat heater level, where the level can be between
     * minimumValue(off) to maximumValue (warmest).
     */
    int seatHeater;
    /**
     * @brief value holds the outside temperature of the zone expressed in
     * centigrades, where the temperature can be between
     * minimumValue(coolest) to maximumValue (warmest).
     */
    int outsideTemperature;
    /**
     * @brief outside temp lable
     */
    @config_simulator: { domain: ["cold", "mild", "warm" ] }
    string outsideTemperatureLabel;
    /**
     * @brief value is true if the zone synchronization is enabled.
     *
     * Which zones and properties are synchronized is controlled
     * by the backend implementing it.
     */
    bool zoneSynchronization;
    /**
     * @brief value is true if defrost is enabled. Usually that means that the fans
     * are on the highest level to remove ice from the windshield.
     */
    bool defrost;
    /**
     * @brief value holds the recirculation mode
     */
    RecirculationMode recirculationMode;
    /**
     * @brief value is true if the recirculation is currently running.
     */
    bool recirculation;
    /**
     * @brief value holds the sensitivity level of the recirculation
     * system when the recirculationMode is set to AutoRecirculation,
     * where the level can be between minimumValue(least sensitive)
     * to maximumValue(most sensitive).
     */
    int recirculationSensitivityLevel;
    /**
     * @brief value holds the climate mode
     */
    ClimateMode climateMode;
    /**
     * @brief value holds the intensity level of the fan when the climateMode
     * is set to AutoClimate, where the level can be between
     * minimumValue(least intensity) to maximumValue(most intensity).
     */
    int automaticClimateFanIntensityLevel;
    /**
     * @brief value holds the combination of flags indicating the areas
     * where airflow is on.
     */
    AirflowDirection airflowDirections;
}

/**
 * @brief Control where the airflow goes
 */
flag AirflowDirection {
    /**
     * @brief Airflow to the windshield
     */
    Windshield = 1,
    /**
     * @brief Airflow to the dashboard
     */
    Dashboard = 2,
    /**
     * @brief Airflow to the floor
     */
    Floor = 4
}

enum RecirculationMode {
    RecirculationOff = 0x0,
    RecirculationOn = 0x1,
    AutoRecirculation = 0x2
}

enum ClimateMode {
    ClimateOff = 0x0,
    ClimateOn = 0x1,
    AutoClimate = 0x2
}

© 2018 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.