Menu
Sites
Language

Read Heart Rate Monitor Data

The Heart Rate Monitor (HRM) sensor measures a person's heart rate in real time. Here, Creating Sensor Handler & Listener, Setting event callback for listener and showing heart rate in bpm are done. Stop the Sensor Listener and destroy it once your task is completed.
bool checkSupport(sensor_type_e type){
     bool support;
     sensor_is_supported(type,&support);
     return support;		//returns true or false based on device Support for sensor type
}

void sensorEventCallBack(sensor_h sensorHanlder, sensor_event_s *event, void *user_data){
      dlog_print(DLOG_DEBUG, LOG_TAG, "Heart Rate: :%.0f bpm", event->values[0]);
      // event->values[0]:  heart rate in bpm
      // event->timestamp:  heart rate in bpm
}


void logPrintSensorData(){

     if(checkSupport(SENSOR_HRM)){

         sensor_h sensorHanlder;
         sensor_get_default_sensor(SENSOR_HRM, &sensorHanlder);   //Gets the default sensor set for the device


         sensor_listener_h sensorListener;
         sensor_create_listener(sensorHanlder,&sensorListener);    // Creates Listener for Sensor Handler

         sensor_listener_set_event_cb(sensorListener,1000, sensorEventCallBack, NULL);  // Registers Event Callback for Sensor Events
																						// interval 1000ms
         sensor_listener_start(sensorListener);											// Starts the Sensor Listener

          /* Once Task is Completed*/
         //sensor_listener_stop(sensorListener);
         //sensor_destroy_listener(sensorListener);

     }

     else {
         dlog_print(DLOG_ERROR, LOG_TAG, "Heart Rate Monitor is not Supported on this device");
     }
}

logPrintSensorData();

Responses

1 Replies
Jacob Olson

I have been trying to get the heart rate sensor to work for a few days now. when I run this code, I can't get it get into the callback function. It goes all the way through and check support returns true for the heart rate monitor, but when setting the breakpoint inside the callback function, it never gets there. Is there something else you have to do? I also tried running the hrmsensor app from 

https://developer.tizen.org/community/tip-tech/accessing-heart-rate-monitor-hrm-sensor-data-native-applications

and that one would print "sensor is supported" and then just stay there forever.

I am on tizen 4.0 and i get the same thing running on my watch and the emulator. 

Please help