Qt IVI Generator Climate Example
/**
* 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
}