bool accel_sensor_hal::enable(void)
{
- AUTOLOCK(m_mutex);
-
set_enable_node(m_enable_node, m_sensorhub_controlled, true, SENSORHUB_ACCELEROMETER_ENABLE_BIT);
set_interval(m_polling_interval);
bool accel_sensor_hal::disable(void)
{
- AUTOLOCK(m_mutex);
-
set_enable_node(m_enable_node, m_sensorhub_controlled, false, SENSORHUB_ACCELEROMETER_ENABLE_BIT);
INFO("Accel sensor real stopping");
bool accel_sensor_hal::set_interval(unsigned long val)
{
unsigned long long polling_interval_ns;
-
- AUTOLOCK(m_mutex);
-
polling_interval_ns = ((unsigned long long)(val) * 1000llu * 1000llu);
if (!set_node_value(m_interval_node, polling_interval_ns)) {
return false;
}
- AUTOLOCK(m_value_mutex);
-
if (x)
m_x = accel_raw[0];
if (y)
return false;
}
- AUTOLOCK(m_value_mutex);
-
short *short_data = (short *)(data);
m_x = *(short_data);
m_y = *((short *)(data + 2));
INFO("m_x = %d, m_y = %d, m_z = %d, time = %lluus", m_x, m_y, m_z, m_fired_time);
return true;
-
}
bool accel_sensor_hal::is_data_ready(void)
int accel_sensor_hal::get_sensor_data(sensor_data_t &data)
{
- AUTOLOCK(m_value_mutex);
-
data.accuracy = SENSOR_ACCURACY_GOOD;
data.timestamp = m_fired_time;
data.value_count = 3;