Как прочитать текущие значения датчика в приложении Tizen для носимых (Galaxy Active 2) - PullRequest
0 голосов
/ 07 января 2020

Я создал простой циферблат для Samsung Galaxy Active 2 с помощью собственного приложения Tizen Studio. Я добавил некоторую информацию о «здоровье» на лицо: шагомер и монитор сердечного ритма.

В: Я знаю, как настроить слушателя и обратный вызов, чтобы я мог получать уведомления, когда частота сердечных сокращений (или количество шагов) изменяется , но я не могу найти, как просто прочитать текущее / последнее прочитанное значение HRM. Я знаю, что это должно быть возможно, так как другие циферблаты делают это ... просто не знаю как.

Код для метода прослушивания / обратного вызова:

    sensor_get_default_sensor(SENSOR_HRM, &sensor);
    ret = sensor_create_listener(sensor, &hrmSensorListener);
    if( ret != SENSOR_ERROR_NONE)
        dlog_print(DLOG_ERROR, LOG_TAG, "failed to get hrm sensor. err = %d", ret);

    ret = sensor_listener_set_event_cb(hrmSensorListener, 20000, hrm_sensor_callback, face);
    if( ret != SENSOR_ERROR_NONE)
        dlog_print(DLOG_ERROR, LOG_TAG, "failed to set hrm sensor listener. err = %d", ret);

    sensor_listener_set_option(hrmSensorListener, SENSOR_OPTION_DEFAULT);
    sensor_listener_start(hrmSensorListener);

Это означает, что когда циферблат начинается, есть период, когда HRM или счетчик шагов не обновляется, и это немного раздражает.

Как прочитать значение current датчика?

1 Ответ

3 голосов
/ 07 января 2020

Пожалуйста, попробуйте использовать метод sensor_listener_read_data . Согласно документации этот метод получает данные датчика. Вы можете следовать учебнику , опубликованному на сайте Tizen.

sensor_get_default_sensor(SENSOR_HRM, &sensor);
ret = sensor_create_listener(sensor, &hrmSensorListener);
if( ret != SENSOR_ERROR_NONE)
    dlog_print(DLOG_ERROR, LOG_TAG, "failed to get hrm sensor. err = %d", ret);

ret = sensor_listener_set_event_cb(hrmSensorListener, 20000, hrm_sensor_callback, face);
if( ret != SENSOR_ERROR_NONE)
    dlog_print(DLOG_ERROR, LOG_TAG, "failed to set hrm sensor listener. err = %d", ret);

sensor_listener_set_option(hrmSensorListener, SENSOR_OPTION_DEFAULT);
sensor_listener_start(hrmSensorListener);

sensor_event_s event;
sensor_listener_read_data(hrmSensorListener, &event);

Я думаю, что приведенный выше код должен помочь вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...