D-Bus-сервис для управления эмуляцией датчиков
Сервис позволяет управлять эмуляцией датчиков. Подробнее…
Шина: | системная |
Служба: | ru.omp.SensorfwEmulationManagement |
Объект: | /ru/omp/SensorfwEmulationManagement |
Интерфейс: | ru.omp.SensorfwEmulationManagement |
Датчик | sensorName |
Компонент QML |
---|---|---|
Акселерометр | accelerometer |
Accelerometer, RotationSensor |
Компас | compass |
Compass |
Датчик ориентации | orientation |
OrientationSensor |
Магнитометр | magnetometer |
Magnetometer, RotationSensor |
Гироскоп | gyroscope |
Gyroscope |
Датчик освещенности | als |
AmbientLightSensor, LightSensor |
Датчик приближения | proximity |
ProximitySensor |
Датчик нажатия | tap |
QTapSensor |
Методы
- disableSensor(string sensorName)
- enableSensor(string sensorName)
- setAccelerometerValues(int32 x, int32 y, int32 z)
- setAccelerometerX(int32 x)
- setAccelerometerY(int32 y)
- setAccelerometerZ(int32 z)
- setAlsValue(int32 lux)
- setGyroscopeValues(double x, double y, double z)
- setGyroscopeX(double x)
- setGyroscopeY(double y)
- setGyroscopeZ(double z)
- setMagnetometerCalibrationLevel(int32 calibrationLevel)
- setMagnetometerValues(double x, double y, double z)
- setMagnetometerX(double x)
- setMagnetometerY(double y)
- setMagnetometerZ(double z)
- setProximitySensorValue(double reflectance)
- setTapSensorValue(int32 tapDirection)
Подробное описание
Сервис позволяет управлять эмуляцией датчиков: включать/выключать датчики и устанавливать значения. Эта функциональность эмулятора предназначена для экспертов.
Примеры использования D-Bus-сервиса с помощью вызова утилиты dbus-send:
-
Включение датчика освещённости:
dbus-send --system --type=method_call --print-reply --dest=ru.omp.SensorfwEmulationManagement /ru/omp/SensorfwEmulationManagement ru.omp.SensorfwEmulationManagement.enableSensor string:als
-
Установка значений акселерометра:
dbus-send --system --type=method_call --print-reply --dest=ru.omp.SensorfwEmulationManagement /ru/omp/SensorfwEmulationManagement ru.omp.SensorfwEmulationManagement.setAccelerometerValues int32:1100 int32:900 int32:2000
-
Установка значения магнитометра по оси Y:
dbus-send --system --type=method_call --print-reply --dest=ru.omp.SensorfwEmulationManagement /ru/omp/SensorfwEmulationManagement ru.omp.SensorfwEmulationManagement.setMagnetometerY double:0.0000012
Описание методов
void disableSensor(string sensorName)
Выключает датчик с именем sensorName
.
После вызова метода необходимо перезапустить все приложения на эмуляторе, работающие с датчиками.
void enableSensor(string sensorName)
Включает датчик с именем sensorName
.
После вызова метода необходимо перезапустить все приложения на эмуляторе, работающие с датчиками.
void setAccelerometerValues(int32 x, int32 y, int32 z)
Устанавливает значения ускорения по осям X, Y и Z для акселерометра.
Значения акселерометра задаются в долях g
(ускорения свободного падения, взятого равным 9.80665),
умноженных на 1000.
Диапазон допустимых значений: [-3000:3000]
.
void setAccelerometerX(int32 x)
Аналог метода setAccelerometerValues() для установки одного значения ускорения по оси X.
void setAccelerometerY(int32 y)
Аналог метода setAccelerometerValues() для установки одного значения ускорения по оси Y.
void setAccelerometerZ(int32 z)
Аналог метода setAccelerometerValues() для установки одного значения ускорения по оси Z.
void setAlsValue(int32 lux)
Устанавливает значение уровня освещённости в люксах.
void setGyroscopeValues(double x, double y, double z)
Устанавливает значения угловой скорости вокруг осей X, Y и Z для гироскопа в °/с.
void setGyroscopeX(double x)
Аналог метода setGyroscopeValues() для установки угловой скорости вокруг оси X.
void setGyroscopeY(double y)
Аналог метода setGyroscopeValues() для установки угловой скорости вокруг оси Y.
void setGyroscopeZ(double z)
Аналог метода setGyroscopeValues() для установки угловой скорости вокруг оси Z.
void setMagnetometerCalibrationLevel(int32 calibrationLevel)
Устанавливает значение точности калибровки магнитометра calibrationLevel
.
Значение уровня калибровки магнитометра имеет диапазон [0:3]
,
однако результирующие значения на эмуляторе будут иметь диапазон [0:1]
,
так как они будут равны установленному значению, делённому на 3 (а именно [0, 0.(3), 0.(6), 1]
).
Это связано с особенностями плагина Sensorfw для магнитометра.
void setMagnetometerValues(double x, double y, double z)
Устанавливает значения плотности магнитного потока по осям X, Y, Z для магнитометра в теслах.
Диапазон допустимых значений: [-2.0:2.0]
.
void setMagnetometerX(double x)
Аналог метода setMagnetometerValues() для установки значения плотности магнитного потока по оси X.
void setMagnetometerY(double y)
Аналог метода setMagnetometerValues() для установки значения плотности магнитного потока по оси Y.
void setMagnetometerZ(double z)
Аналог метода setMagnetometerValues() для установки значения плотности магнитного потока по оси Z.
void setProximitySensorValue(double reflectance)
Устанавливает значение коэффициента отражения reflectance
для датчика приближённости.
Диапазон допустимых значений: [0:10]
.
Значений reflectance
определяет близость некоторого объекта к датчику приближённости.
Если reflectance
равно нулю, то объект находится в непосредственной близости.
Значение датчика приближённости задаётся как степень приближения и имеет диапазон [0:10]
,
однако результирующее значение на эмуляторе будет иметь диапазон [0:1]
.
Это связано с особенностями плагина Sensorfw для датчика приближённости.
void setTapSensorValue(int32 tapDirection)
Устанавливает значение направления нажатия на устройство tapDirection
для датчика нажатий.
Параметр tapDirection
может принимать одно из следующих значений:
Значение | Направление | Описание |
---|---|---|
-1 | Undefined |
Направление нажатия не определено |
0 | X_Both |
Нажатие по оси X, но не определено, в каком направлении |
1 | Y_Both |
Нажатие по оси Y, но не определено, в каком направлении |
2 | Z_Both |
Нажатие по оси Z, но не определено, в каком направлении |
3 | X_Pos |
Нажатие по оси X в положительном направлении |
4 | X_Neg |
Нажатие по оси X в отрицательном направлении |
5 | Z_Neg |
Нажатие по оси Z в отрицательном направлении |
6 | Z_Pos |
Нажатие по оси Z в положительном направлении |
7 | Y_Pos |
Нажатие по оси Y в положительном направлении |
8 | Y_Neg |
Нажатие по оси Y в отрицательном направлении |