Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 为什么我在Tizen Native Wearable中获得恒定步数?_C_Tizen_Tizen Wearable Sdk_Tizen Native App - Fatal编程技术网

C 为什么我在Tizen Native Wearable中获得恒定步数?

C 为什么我在Tizen Native Wearable中获得恒定步数?,c,tizen,tizen-wearable-sdk,tizen-native-app,C,Tizen,Tizen Wearable Sdk,Tizen Native App,我正在使用本机运行Tizen Wearable中的步骤计数侦听器。我能够访问传感器数据,但它似乎永远打印相同的数据?我做错什么了吗? 使用API 3和三星Galaxy Watch 3 #include "stepcount.h" #include "sensor.h" void example_sensor_callback(sensor_h sensor, sensor_event_s *event, void *user_data) { /*

我正在使用本机运行Tizen Wearable中的步骤计数侦听器。我能够访问传感器数据,但它似乎永远打印相同的数据?我做错什么了吗? 使用API 3和三星Galaxy Watch 3

#include "stepcount.h"
#include "sensor.h"

void
example_sensor_callback(sensor_h sensor, sensor_event_s *event, void *user_data)
{
    /*
       If a callback is used to listen for different sensor types,
       it can check the sensor type
    */
    sensor_type_e type;
    sensor_get_type(sensor, &type);
    int i = 0;

    if (type == SENSOR_ACCELEROMETER) {
        unsigned long long timestamp = event->timestamp;
        int accuracy = event->accuracy;
        float x = event->values[0];
        float y = event->values[1];
        float z = event->values[2];
        dlog_print(DLOG_INFO, LOG_TAG, "ACCEL: %f %f %f", x,y,z);
    } else if (type == SENSOR_HRM) {
        unsigned long long timestamp = event->timestamp;
        int v = (int)event->values[0];
        dlog_print(DLOG_INFO, LOG_TAG, "Heart Rate: %.0f bpm", event->values[0]);
    }
    else if (type == SENSOR_HUMAN_PEDOMETER ){
            unsigned long long timestamp = event->timestamp;
            int accuracy = event->accuracy;
            int s = (int)event->values[0];
            int b = (int)event->values[1];
            dlog_print(DLOG_INFO, LOG_TAG, "Step Count: %d", event->values[0]);
            dlog_print(DLOG_INFO, LOG_TAG, "Walking Step Count: %d", event->values[1]);

    }
}

Base GUI
------
    bool supported = false;

    sensor_is_supported(SENSOR_HUMAN_PEDOMETER, &supported);
    if (!supported) {
        /* Accelerometer is not supported on the current device */
    }

    sensor_h sensor;
    sensor_get_default_sensor(SENSOR_HUMAN_PEDOMETER, &sensor);

    sensor_listener_h listener;
    sensor_create_listener(sensor, &listener);

    sensor_listener_start(listener);

    /* Register callback */
    sensor_listener_set_event_cb(listener, 1000, example_sensor_callback, NULL);

    sensor_listener_set_attribute_int(listener, SENSOR_ATTRIBUTE_PAUSE_POLICY, SENSOR_PAUSE_NONE);
这是我的日志

01-29 13:25:00.035 : Info / stepcount ( 8215 : 8215 ) : Step Count: 4
01-29 13:25:00.091 : Info / stepcount ( 8215 : 8215 ) : Walking Step Count: 1
01-29 13:30:16.763 : Info / stepcount ( 8215 : 8215 ) : Step Count: 4
01-29 13:30:16.763 : Info / stepcount ( 8215 : 8215 ) : Walking Step Count: 1
01-29 13:30:17.143 : Info / stepcount ( 8215 : 8215 ) : Step Count: 4
01-29 13:30:17.143 : Info / stepcount ( 8215 : 8215 ) : Walking Step Count: 1
01-29 13:30:18.439 : Info / stepcount ( 8215 : 8215 ) : Step Count: 4
01-29 13:30:18.443 : Info / stepcount ( 8215 : 8215 ) : Walking Step Count: 1
01-29 13:30:18.655 : Info / stepcount ( 8215 : 8215 ) : Step Count: 4
01-29 13:30:18.655 : Info / stepcount ( 8215 : 8215 ) : Walking Step Count: 1

我想正确地读取我的实际步数。

请按以下方式更正

        dlog_print(DLOG_INFO, LOG_TAG, "Step Count: %d", s);
        dlog_print(DLOG_INFO, LOG_TAG, "Walking Step Count: %d", b);

        dlog_print(DLOG_INFO, LOG_TAG, "Step Count: %f", event->values[0]);
        dlog_print(DLOG_INFO, LOG_TAG, "Walking Step Count: %f", event->values[1]);