Commit 2b4cbfe8 authored by spiiroin's avatar spiiroin

Merge branch 'jb43020_max_delay' into 'master'

Provide fallback sensor maxDelay value

See merge request !29
parents e05beb11 bb75315a
......@@ -279,7 +279,24 @@ HybrisManager::HybrisManager(QObject *parent)
if (use) {
// min/max delay is specified in [us] -> convert to [ms]
int minDelay = (m_halSensorArray[i].minDelay + 999) / 1000;
int maxDelay = (m_halSensorArray[i].maxDelay + 999) / 1000;
int maxDelay = -1; // Assume: not defined by hal
#ifdef SENSORS_DEVICE_API_VERSION_1_3
if (m_halDevice->common.version >= SENSORS_DEVICE_API_VERSION_1_3)
maxDelay = (m_halSensorArray[i].maxDelay + 999) / 1000;
#endif
/* If HAL does not define maximum delay, we need to invent
* something that a) allows sensorfwd logic to see a range
* instead of a point, b) is unlikely to be wrong enough to
* cause problems...
*
* For now use: minDelay * 2, but at least 1000 ms.
*/
if (maxDelay < 0 && minDelay > 0) {
maxDelay = (minDelay < 500) ? 1000 : (minDelay * 2);
sensordLogD("hal does not specify maxDelay, fallback: %d ms",
maxDelay);
}
// Positive minDelay means delay /can/ be set - but depending
// on sensor hal implementation it can also mean that some
......@@ -303,6 +320,11 @@ HybrisManager::HybrisManager(QObject *parent)
halSetActive(m_halSensorArray[i].handle, true);
halSetDelay(m_halSensorArray[i].handle, delay);
sensordLogD("delay = %d [%d, %d]",
m_halSensorState[i].m_delay,
m_halSensorState[i].m_minDelay,
m_halSensorState[i].m_maxDelay);
}
m_halIndexOfType.insert(m_halSensorArray[i].type, i);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment