Move sensor settings to deviceclass

This commit is contained in:
Simon Stürz 2018-03-13 15:38:54 +01:00
parent 431d56d366
commit f40692adf2
5 changed files with 203 additions and 155 deletions

View File

@ -59,8 +59,6 @@ DevicePluginMultiSensor::~DevicePluginMultiSensor()
void DevicePluginMultiSensor::init()
{
connect(this, &DevicePluginMultiSensor::configValueChanged, this, &DevicePluginMultiSensor::onPluginConfigurationChanged);
m_reconnectTimer = hardwareManager()->pluginTimerManager()->registerTimer(10);
connect(m_reconnectTimer, &PluginTimer::timeout, this, &DevicePluginMultiSensor::onPluginTimer);
}
@ -69,7 +67,7 @@ DeviceManager::DeviceError DevicePluginMultiSensor::discoverDevices(const Device
{
Q_UNUSED(params)
if (deviceClassId != sensortagDeviceClassId)
if (deviceClassId != sensorTagDeviceClassId)
return DeviceManager::DeviceErrorDeviceClassNotFound;
if (!hardwareManager()->bluetoothLowEnergyManager()->available())
@ -87,26 +85,15 @@ DeviceManager::DeviceSetupStatus DevicePluginMultiSensor::setupDevice(Device *de
{
qCDebug(dcMultiSensor) << "Setting up Multi Sensor" << device->name() << device->params();
if (device->deviceClassId() == sensortagDeviceClassId) {
if (device->deviceClassId() == sensorTagDeviceClassId) {
QBluetoothAddress address = QBluetoothAddress(device->paramValue(sensortagMacParamTypeId).toString());
QString name = device->paramValue(sensortagNameParamTypeId).toString();
QBluetoothAddress address = QBluetoothAddress(device->paramValue(sensorTagMacParamTypeId).toString());
QString name = device->paramValue(sensorTagNameParamTypeId).toString();
QBluetoothDeviceInfo deviceInfo = QBluetoothDeviceInfo(address, name, 0);
BluetoothLowEnergyDevice *bluetoothDevice = hardwareManager()->bluetoothLowEnergyManager()->registerDevice(deviceInfo, QLowEnergyController::PublicAddress);
SensorTag *sensor = new SensorTag(device, bluetoothDevice, this);
// Preconfigure with plugin configurations
sensor->setTemperatureSensorEnabled(configValue(MultiSensorTemperatureEnabledParamTypeId).toBool());
sensor->setHumiditySensorEnabled(configValue(MultiSensorHumidityEnabledParamTypeId).toBool());
sensor->setPressureSensorEnabled(configValue(MultiSensorPressureEnabledParamTypeId).toBool());
sensor->setOpticalSensorEnabled(configValue(MultiSensorOpticalEnabledParamTypeId).toBool());
sensor->setAccelerometerEnabled(configValue(MultiSensorAccelerometerEnabledParamTypeId).toBool());
sensor->setGyroscopeEnabled(configValue(MultiSensorGyroscopeEnabledParamTypeId).toBool());
sensor->setMagnetometerEnabled(configValue(MultiSensorMagnetometerEnabledParamTypeId).toBool());
sensor->setMeasurementPeriod(configValue(MultiSensorMeasurementPeriodParamTypeId).toInt());
sensor->setMeasurementPeriodMovement(configValue(MultiSensorMeasurementPeriodMovementParamTypeId).toInt());
m_sensors.insert(device, sensor);
return DeviceManager::DeviceSetupStatusSuccess;
@ -118,6 +105,19 @@ void DevicePluginMultiSensor::postSetupDevice(Device *device)
{
// Try to connect right after setup
SensorTag *sensor = m_sensors.value(device);
// Configure sensor with state configurations
sensor->setTemperatureSensorEnabled(device->stateValue(sensorTagTemperatureSensorEnabledStateTypeId).toBool());
sensor->setHumiditySensorEnabled(device->stateValue(sensorTagHumiditySensorEnabledStateTypeId).toBool());
sensor->setPressureSensorEnabled(device->stateValue(sensorTagPressureSensorEnabledStateTypeId).toBool());
sensor->setOpticalSensorEnabled(device->stateValue(sensorTagOpticalSensorEnabledStateTypeId).toBool());
sensor->setAccelerometerEnabled(device->stateValue(sensorTagAccelerometerEnabledStateTypeId).toBool());
sensor->setGyroscopeEnabled(device->stateValue(sensorTagGyroscopeEnabledStateTypeId).toBool());
sensor->setMagnetometerEnabled(device->stateValue(sensorTagMagnetometerEnabledStateTypeId).toBool());
sensor->setMeasurementPeriod(device->stateValue(sensorTagMeasurementPeriodStateTypeId).toInt());
sensor->setMeasurementPeriodMovement(device->stateValue(sensorTagMeasurementPeriodMovementStateTypeId).toInt());
// Connect to the sensor
sensor->bluetoothDevice()->connectDevice();
}
@ -135,18 +135,68 @@ void DevicePluginMultiSensor::deviceRemoved(Device *device)
DeviceManager::DeviceError DevicePluginMultiSensor::executeAction(Device *device, const Action &action)
{
SensorTag *sensor = m_sensors.value(device);
if (action.actionTypeId() == sensortagBuzzerActionTypeId) {
sensor->setBuzzerPower(action.param(sensortagBuzzerStateParamTypeId).value().toBool());
if (action.actionTypeId() == sensorTagBuzzerActionTypeId) {
sensor->setBuzzerPower(action.param(sensorTagBuzzerStateParamTypeId).value().toBool());
return DeviceManager::DeviceErrorNoError;
} else if (action.actionTypeId() == sensortagGreenLedActionTypeId) {
sensor->setGreenLedPower(action.param(sensortagGreenLedStateParamTypeId).value().toBool());
} else if (action.actionTypeId() == sensorTagGreenLedActionTypeId) {
sensor->setGreenLedPower(action.param(sensorTagGreenLedStateParamTypeId).value().toBool());
return DeviceManager::DeviceErrorNoError;
} else if (action.actionTypeId() == sensortagRedLedActionTypeId) {
sensor->setRedLedPower(action.param(sensortagRedLedStateParamTypeId).value().toBool());
} else if (action.actionTypeId() == sensorTagRedLedActionTypeId) {
sensor->setRedLedPower(action.param(sensorTagRedLedStateParamTypeId).value().toBool());
return DeviceManager::DeviceErrorNoError;
} else if (action.actionTypeId() == sensortagBuzzerImpulseActionTypeId) {
} else if (action.actionTypeId() == sensorTagBuzzerImpulseActionTypeId) {
sensor->buzzerImpulse();
return DeviceManager::DeviceErrorNoError;
} else if (action.actionTypeId() == sensorTagTemperatureSensorEnabledActionTypeId) {
bool enabled = action.param(sensorTagTemperatureSensorEnabledStateParamTypeId).value().toBool();
device->setStateValue(sensorTagTemperatureSensorEnabledStateTypeId, enabled);
sensor->setTemperatureSensorEnabled(enabled);
return DeviceManager::DeviceErrorNoError;
} else if (action.actionTypeId() == sensorTagHumiditySensorEnabledActionTypeId) {
bool enabled = action.param(sensorTagHumiditySensorEnabledStateParamTypeId).value().toBool();
device->setStateValue(sensorTagHumiditySensorEnabledStateTypeId, enabled);
sensor->setHumiditySensorEnabled(enabled);
return DeviceManager::DeviceErrorNoError;
} else if (action.actionTypeId() == sensorTagPressureSensorEnabledActionTypeId) {
bool enabled = action.param(sensorTagPressureSensorEnabledStateParamTypeId).value().toBool();
device->setStateValue(sensorTagPressureSensorEnabledStateTypeId, enabled);
sensor->setPressureSensorEnabled(enabled);
return DeviceManager::DeviceErrorNoError;
} else if (action.actionTypeId() == sensorTagOpticalSensorEnabledActionTypeId) {
bool enabled = action.param(sensorTagOpticalSensorEnabledStateParamTypeId).value().toBool();
device->setStateValue(sensorTagOpticalSensorEnabledStateTypeId, enabled);
sensor->setOpticalSensorEnabled(enabled);
return DeviceManager::DeviceErrorNoError;
} else if (action.actionTypeId() == sensorTagAccelerometerEnabledActionTypeId) {
bool enabled = action.param(sensorTagAccelerometerEnabledStateParamTypeId).value().toBool();
device->setStateValue(sensorTagAccelerometerEnabledStateTypeId, enabled);
sensor->setAccelerometerEnabled(enabled);
return DeviceManager::DeviceErrorNoError;
} else if (action.actionTypeId() == sensorTagGyroscopeEnabledActionTypeId) {
bool enabled = action.param(sensorTagGyroscopeEnabledStateParamTypeId).value().toBool();
device->setStateValue(sensorTagGyroscopeEnabledStateTypeId, enabled);
sensor->setGyroscopeEnabled(enabled);
return DeviceManager::DeviceErrorNoError;
} else if (action.actionTypeId() == sensorTagMagnetometerEnabledActionTypeId) {
bool enabled = action.param(sensorTagMagnetometerEnabledStateParamTypeId).value().toBool();
device->setStateValue(sensorTagMagnetometerEnabledStateTypeId, enabled);
sensor->setMagnetometerEnabled(enabled);
return DeviceManager::DeviceErrorNoError;
} else if (action.actionTypeId() == sensorTagMeasurementPeriodActionTypeId) {
int period = action.param(sensorTagMeasurementPeriodStateParamTypeId).value().toInt();
device->setStateValue(sensorTagMeasurementPeriodStateTypeId, period);
sensor->setMeasurementPeriod(period);
return DeviceManager::DeviceErrorNoError;
} else if (action.actionTypeId() == sensorTagMeasurementPeriodMovementActionTypeId) {
int period = action.param(sensorTagMeasurementPeriodMovementStateParamTypeId).value().toInt();
device->setStateValue(sensorTagMeasurementPeriodMovementStateTypeId, period);
sensor->setMeasurementPeriodMovement(period);
return DeviceManager::DeviceErrorNoError;
} else if (action.actionTypeId() == sensorTagMovementSensitivityActionTypeId) {
int sensitivity = action.param(sensorTagMovementSensitivityStateParamTypeId).value().toInt();
device->setStateValue(sensorTagMovementSensitivityStateTypeId, sensitivity);
sensor->setMovementSensitivity(sensitivity);
return DeviceManager::DeviceErrorNoError;
}
return DeviceManager::DeviceErrorActionTypeNotFound;
@ -155,7 +205,7 @@ DeviceManager::DeviceError DevicePluginMultiSensor::executeAction(Device *device
bool DevicePluginMultiSensor::verifyExistingDevices(const QBluetoothDeviceInfo &deviceInfo)
{
foreach (Device *device, m_sensors.keys()) {
if (device->paramValue(sensortagMacParamTypeId).toString() == deviceInfo.address().toString())
if (device->paramValue(sensorTagMacParamTypeId).toString() == deviceInfo.address().toString())
return true;
}
@ -177,7 +227,7 @@ void DevicePluginMultiSensor::onBluetoothDiscoveryFinished()
if (reply->error() != BluetoothDiscoveryReply::BluetoothDiscoveryReplyErrorNoError) {
qCWarning(dcMultiSensor()) << "Bluetooth discovery error:" << reply->error();
reply->deleteLater();
emit devicesDiscovered(sensortagDeviceClassId, QList<DeviceDescriptor>());
emit devicesDiscovered(sensorTagDeviceClassId, QList<DeviceDescriptor>());
return;
}
@ -185,10 +235,10 @@ void DevicePluginMultiSensor::onBluetoothDiscoveryFinished()
foreach (const QBluetoothDeviceInfo &deviceInfo, reply->discoveredDevices()) {
if (deviceInfo.name().contains("SensorTag")) {
if (!verifyExistingDevices(deviceInfo)) {
DeviceDescriptor descriptor(sensortagDeviceClassId, "Sensor Tag", deviceInfo.address().toString());
DeviceDescriptor descriptor(sensorTagDeviceClassId, "Sensor Tag", deviceInfo.address().toString());
ParamList params;
params.append(Param(sensortagNameParamTypeId, deviceInfo.name()));
params.append(Param(sensortagMacParamTypeId, deviceInfo.address().toString()));
params.append(Param(sensorTagNameParamTypeId, deviceInfo.name()));
params.append(Param(sensorTagMacParamTypeId, deviceInfo.address().toString()));
descriptor.setParams(params);
deviceDescriptors.append(descriptor);
}
@ -196,34 +246,5 @@ void DevicePluginMultiSensor::onBluetoothDiscoveryFinished()
}
reply->deleteLater();
emit devicesDiscovered(sensortagDeviceClassId, deviceDescriptors);
}
void DevicePluginMultiSensor::onPluginConfigurationChanged(const ParamTypeId &paramTypeId, const QVariant &value)
{
qCDebug(dcMultiSensor()) << "Plugin configuration changed" << paramTypeId.toString() << value;
foreach (SensorTag *sensor, m_sensors.values()) {
if (paramTypeId == MultiSensorTemperatureEnabledParamTypeId) {
sensor->setTemperatureSensorEnabled(value.toBool());
} else if (paramTypeId == MultiSensorHumidityEnabledParamTypeId) {
sensor->setHumiditySensorEnabled(value.toBool());
} else if (paramTypeId == MultiSensorPressureEnabledParamTypeId) {
sensor->setPressureSensorEnabled(value.toBool());
} else if (paramTypeId == MultiSensorOpticalEnabledParamTypeId) {
sensor->setOpticalSensorEnabled(value.toBool());
} else if (paramTypeId == MultiSensorAccelerometerEnabledParamTypeId) {
sensor->setAccelerometerEnabled(value.toBool());
} else if (paramTypeId == MultiSensorGyroscopeEnabledParamTypeId) {
sensor->setGyroscopeEnabled(value.toBool());
} else if (paramTypeId == MultiSensorMagnetometerEnabledParamTypeId) {
sensor->setMagnetometerEnabled(value.toBool());
} else if (paramTypeId == MultiSensorMeasurementPeriodParamTypeId) {
sensor->setMeasurementPeriod(value.toInt());
} else if (paramTypeId == MultiSensorMeasurementPeriodParamTypeId) {
sensor->setMeasurementPeriodMovement(value.toInt());
} else if (paramTypeId == MultiSensorMovementSensitivityParamTypeId) {
sensor->setMovementSensitivity(value.toInt());
}
}
emit devicesDiscovered(sensorTagDeviceClassId, deviceDescriptors);
}

View File

@ -1,7 +1,6 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Copyright (C) 2015-2018 Simon Stuerz <simon.stuerz@guh.io> *
* Copyright (C) 2016 nicc *
* *
* This file is part of nymea. *
* *
@ -60,7 +59,7 @@ private:
private slots:
void onPluginTimer();
void onBluetoothDiscoveryFinished();
void onPluginConfigurationChanged(const ParamTypeId &paramTypeId, const QVariant &value);
};
#endif // DEVICEPLUGINMULTISENSOR_H

View File

@ -1,86 +1,7 @@
{
"displayName": "MultiSensor",
"displayName": "Multi Sensor",
"name": "MultiSensor",
"id": "23bf0d8d-df7d-4bee-80ee-f015c5a7f52e",
"paramTypes": [
{
"id": "6f0e40a2-0f97-4c1e-8229-757e3c18b345",
"name": "temperatureEnabled",
"displayName": "Temperature sensor enabled",
"type": "bool",
"defaultValue": true
},
{
"id": "29881172-626a-42d5-83b8-3e2e5ca533be",
"name": "humidityEnabled",
"displayName": "Humidity sensor enabled",
"type": "bool",
"defaultValue": true
},
{
"id": "50e5e282-9707-4b31-bb3f-a6ca30a7e1ff",
"name": "pressureEnabled",
"displayName": "Pressure sensor enabled",
"type": "bool",
"defaultValue": true
},
{
"id": "1460a6d6-9fb4-4385-b27b-ee4b7594e454",
"name": "opticalEnabled",
"displayName": "Optical sensor enabled",
"type": "bool",
"defaultValue": true
},
{
"id": "5786c91a-d94d-461a-8d22-f978dd1438ab",
"name": "accelerometerEnabled",
"displayName": "Accelerometer enabled",
"type": "bool",
"defaultValue": true
},
{
"id": "94517544-cb97-4816-8993-cb4cf2651a1e",
"name": "gyroscopeEnabled",
"displayName": "Gyroscope enabled",
"type": "bool",
"defaultValue": false
},
{
"id": "96aae111-b1c1-48a1-9b1f-b56efa546d0d",
"name": "magnetometerEnabled",
"displayName": "Magnetometer enabled",
"type": "bool",
"defaultValue": false
},
{
"id": "c5308565-5dc9-409e-ae99-577c212c7a92",
"name": "measurementPeriod",
"displayName": "Measurement period for enviromental sensors",
"type": "int",
"minValue": 10,
"maxValue": 2500,
"defaultValue": 2000
},
{
"id": "5237c89c-c21d-4d78-ac99-8be661b40da7",
"name": "measurementPeriodMovement",
"displayName": "Measurement period movement sensor",
"type": "int",
"minValue": 10,
"maxValue": 2500,
"defaultValue": 300
},
{
"id": "a3298d16-eea6-4474-9061-90466e92d476",
"name": "movementSensitivity",
"displayName": "Movement sensitivity",
"type": "int",
"unit": "Percentage",
"minValue": 0,
"maxValue": 100,
"defaultValue": 40
}
],
"vendors": [
{
"id": "2edf543e-dc2c-4693-bb0c-e76c0d305fad",
@ -89,7 +10,7 @@
"deviceClasses": [
{
"id": "158a06b6-b27f-4951-957e-6f1e3b44f604",
"name": "sensortag",
"name": "sensorTag",
"displayName": "Sensor Tag (CC2650)",
"createMethods": ["discovery"],
"deviceIcon": "Thermometer",
@ -239,6 +160,113 @@
"cached": false,
"defaultValue": false,
"writable": true
},
{
"id": "6f0e40a2-0f97-4c1e-8229-757e3c18b345",
"name": "temperatureSensorEnabled",
"displayName": "Temperature sensor enabled",
"displayNameEvent": "Temperature sensor enabled changed",
"displayNameAction": "Set temperature sensor enabled",
"type": "bool",
"defaultValue": true,
"writable": true
},
{
"id": "29881172-626a-42d5-83b8-3e2e5ca533be",
"name": "humiditySensorEnabled",
"displayName": "Humidity sensor enabled",
"displayNameEvent": "Humidity sensor enabled changed",
"displayNameAction": "Set humidity sensor enabled",
"type": "bool",
"defaultValue": true,
"writable": true
},
{
"id": "50e5e282-9707-4b31-bb3f-a6ca30a7e1ff",
"name": "pressureSensorEnabled",
"displayName": "Pressure sensor enabled",
"displayNameEvent": "Pressure sensor enabled changed",
"displayNameAction": "Set pressure sensor enabled",
"type": "bool",
"defaultValue": true,
"writable": true
},
{
"id": "1460a6d6-9fb4-4385-b27b-ee4b7594e454",
"name": "opticalSensorEnabled",
"displayName": "Optical sensor enabled",
"displayNameEvent": "Optical sensor enabled changed",
"displayNameAction": "Set optical sensor enabled",
"type": "bool",
"defaultValue": true,
"writable": true
},
{
"id": "5786c91a-d94d-461a-8d22-f978dd1438ab",
"name": "accelerometerEnabled",
"displayName": "Accelerometer enabled",
"displayNameEvent": "Accelerometer enabled changed",
"displayNameAction": "Set accelerometer enabled",
"type": "bool",
"defaultValue": true,
"writable": true
},
{
"id": "94517544-cb97-4816-8993-cb4cf2651a1e",
"name": "gyroscopeEnabled",
"displayName": "Gyroscope enabled",
"displayNameEvent": "Gyroscope enabled changed",
"displayNameAction": "Set gyroscope enabled",
"type": "bool",
"defaultValue": true,
"writable": true
},
{
"id": "96aae111-b1c1-48a1-9b1f-b56efa546d0d",
"name": "magnetometerEnabled",
"displayName": "Magnetometer enabled",
"displayNameEvent": "Magnetometer enabled changed",
"displayNameAction": "Set magnetometer enabled",
"type": "bool",
"defaultValue": true,
"writable": true
},
{
"id": "c5308565-5dc9-409e-ae99-577c212c7a92",
"name": "measurementPeriod",
"displayName": "Measurement period for enviromental sensors",
"displayNameEvent": "Measurement period for enviromental sensors changed",
"displayNameAction": "Set measurement period for enviromental sensors",
"type": "int",
"minValue": 10,
"maxValue": 2500,
"defaultValue": 2000,
"writable": true
},
{
"id": "5237c89c-c21d-4d78-ac99-8be661b40da7",
"name": "measurementPeriodMovement",
"displayName": "Measurement period movement sensor",
"displayNameEvent": "Measurement period movement sensor changed",
"displayNameAction": "Set measurement period movement sensor",
"type": "int",
"minValue": 10,
"maxValue": 2500,
"defaultValue": 300,
"writable": true
},
{
"id": "a3298d16-eea6-4474-9061-90466e92d476",
"name": "movementSensitivity",
"displayName": "Movement sensitivity",
"displayNameEvent": "Movement sensitivity changed",
"displayNameAction": "Set movement sensitivity",
"type": "int",
"unit": "Percentage",
"minValue": 0,
"maxValue": 100,
"defaultValue": 40,
"writable": true
}
],
"actionTypes": [

View File

@ -99,12 +99,12 @@ void SensorDataProcessor::processTemperatureData(const QByteArray &data)
double ambientTemperatureFiltered = m_temperatureFilter->filterValue(ambientTemperature);
if (m_objectTemperatureFilter->isReady()) {
m_device->setStateValue(sensortagObjectTemperatureStateTypeId, roundValue(objectTemperatureFiltered));
m_device->setStateValue(sensorTagObjectTemperatureStateTypeId, roundValue(objectTemperatureFiltered));
}
// Note: only change the state once the filter has collected enought data
if (m_temperatureFilter->isReady()) {
m_device->setStateValue(sensortagTemperatureStateTypeId, roundValue(ambientTemperatureFiltered));
m_device->setStateValue(sensorTagTemperatureStateTypeId, roundValue(ambientTemperatureFiltered));
}
}
@ -135,7 +135,7 @@ void SensorDataProcessor::processHumidityData(const QByteArray &data)
double humidityFiltered = m_humidityFilter->filterValue(humidity);
if (m_humidityFilter->isReady()) {
m_device->setStateValue(sensortagHumidityStateTypeId, roundValue(humidityFiltered));
m_device->setStateValue(sensorTagHumidityStateTypeId, roundValue(humidityFiltered));
}
}
@ -163,7 +163,7 @@ void SensorDataProcessor::processPressureData(const QByteArray &data)
double pressureFiltered = m_pressureFilter->filterValue(rawPressure / 100.0);
if (m_pressureFilter->isReady()) {
m_device->setStateValue(sensortagPressureStateTypeId, roundValue(pressureFiltered));
m_device->setStateValue(sensorTagPressureStateTypeId, roundValue(pressureFiltered));
}
}
@ -186,7 +186,7 @@ void SensorDataProcessor::processOpticalData(const QByteArray &data)
double luxFiltered = m_opticalFilter->filterValue(lux);
if (m_opticalFilter->isReady()) {
m_device->setStateValue(sensortagLightIntensityStateTypeId, qRound(luxFiltered));
m_device->setStateValue(sensorTagLightIntensityStateTypeId, qRound(luxFiltered));
}
logSensorValue(lux, qRound(luxFiltered));
@ -247,7 +247,7 @@ void SensorDataProcessor::processMovementData(const QByteArray &data)
double delta = qAbs(qAbs(m_lastAccelerometerVectorLenght) - qAbs(filteredVectorLength));
bool motionDetected = (delta >= m_movementSensitivity);
m_device->setStateValue(sensortagMovingStateTypeId, motionDetected);
m_device->setStateValue(sensorTagMovingStateTypeId, motionDetected);
m_lastAccelerometerVectorLenght = filteredVectorLength;
}
@ -271,7 +271,7 @@ void SensorDataProcessor::setLeftButtonPressed(bool pressed)
qCDebug(dcMultiSensor()) << "Left button" << (pressed ? "pressed" : "released");
m_leftButtonPressed = pressed;
m_device->setStateValue(sensortagLeftButtonPressedStateTypeId, m_leftButtonPressed);
m_device->setStateValue(sensorTagLeftButtonPressedStateTypeId, m_leftButtonPressed);
}
void SensorDataProcessor::setRightButtonPressed(bool pressed)
@ -281,7 +281,7 @@ void SensorDataProcessor::setRightButtonPressed(bool pressed)
qCDebug(dcMultiSensor()) << "Right button" << (pressed ? "pressed" : "released");
m_rightButtonPressed = pressed;
m_device->setStateValue(sensortagRightButtonPressedStateTypeId, m_rightButtonPressed);
m_device->setStateValue(sensorTagRightButtonPressedStateTypeId, m_rightButtonPressed);
}
void SensorDataProcessor::setMagnetDetected(bool detected)
@ -291,7 +291,7 @@ void SensorDataProcessor::setMagnetDetected(bool detected)
qCDebug(dcMultiSensor()) << "Magnet detector" << (detected ? "active" : "inactive");
m_magnetDetected = detected;
m_device->setStateValue(sensortagMagnetDetectedStateTypeId, m_magnetDetected);
m_device->setStateValue(sensorTagMagnetDetectedStateTypeId, m_magnetDetected);
}
void SensorDataProcessor::logSensorValue(double originalValue, double filteredValue)

View File

@ -190,7 +190,7 @@ void SensorTag::setGreenLedPower(bool power)
m_greenLedEnabled = power;
qCDebug(dcMultiSensor()) << "Green LED" << (power ? "enabled" : "disabled");
configureIo();
m_device->setStateValue(sensortagGreenLedStateTypeId, m_greenLedEnabled);
m_device->setStateValue(sensorTagGreenLedStateTypeId, m_greenLedEnabled);
}
void SensorTag::setRedLedPower(bool power)
@ -198,7 +198,7 @@ void SensorTag::setRedLedPower(bool power)
m_redLedEnabled = power;
qCDebug(dcMultiSensor()) << "Red LED" << (power ? "enabled" : "disabled");
configureIo();
m_device->setStateValue(sensortagRedLedStateTypeId, m_redLedEnabled);
m_device->setStateValue(sensorTagRedLedStateTypeId, m_redLedEnabled);
}
void SensorTag::setBuzzerPower(bool power)
@ -206,7 +206,7 @@ void SensorTag::setBuzzerPower(bool power)
m_buzzerEnabled = power;
qCDebug(dcMultiSensor()) << "Buzzer" << (power ? "enabled" : "disabled");
configureIo();
m_device->setStateValue(sensortagBuzzerStateTypeId, m_buzzerEnabled);
m_device->setStateValue(sensorTagBuzzerStateTypeId, m_buzzerEnabled);
}
void SensorTag::buzzerImpulse()
@ -360,7 +360,7 @@ void SensorTag::setOpticalSensorPower(bool power)
void SensorTag::onConnectedChanged(const bool &connected)
{
qCDebug(dcMultiSensor()) << "Sensor" << m_bluetoothDevice->name() << m_bluetoothDevice->address().toString() << (connected ? "connected" : "disconnected");
m_device->setStateValue(sensortagConnectedStateTypeId, connected);
m_device->setStateValue(sensorTagConnectedStateTypeId, connected);
if (!connected) {
// Clean up services