Example #1
0
// Callback with accel data, when subscribed
void worker_accel_data_handler(AccelData *data, uint32_t num_samples) {
	s_accel_ticks += num_samples;
	
	if ( !worker_logging_enabled )
		 return;
	
#if LOG_RAW 
	DataLoggingResult result = data_logging_log(datalog_ref,data,num_samples);
#else
	static AccelData summaryData;
	summaryData.x = 0;
	summaryData.y = 0;
	summaryData.z = 0;
	summaryData.timestamp = data->timestamp; // time of first sample
	for ( int i = 0 ; i < (int)(num_samples-1); i++) {
		summaryData.x += abs(data[i+1].x - data[i].x);
		summaryData.y += abs(data[i+1].y - data[i].y);
		summaryData.z += abs(data[i+1].z - data[i].z);
	}
	summaryData.x /= num_samples;
	summaryData.y /= num_samples;
	summaryData.z /= num_samples;
	DataLoggingResult result = data_logging_log(datalog_ref, data, 1);
	APP_LOG(APP_LOG_LEVEL_INFO, "logging data");
#endif
	if ( result != DATA_LOGGING_SUCCESS ) {
		APP_LOG(APP_LOG_LEVEL_ERROR, "Error datalogging: %d", result);
	} 
}
Example #2
0
static void data_handler(AccelData *data, uint32_t num_samples) {
    
    if (num_samples >= ACCEL_BATCH) {
        
        int64_t accel_xyz = sqrt__((data->x * data->x) + (data->y * data->y) + (data->z * data->z)) - 1000; 
        APP_LOG(APP_LOG_LEVEL_INFO, "accel_xyz = %ld", (long)accel_xyz);
        
        if (accel_xyz >= ACCEL_XYZ_THRESHOLD) {
            
            DataLoggingResult result = data_logging_log(accel_data_log, data, 1);
    
            if (result == DATA_LOGGING_BUSY) {
                APP_LOG(APP_LOG_LEVEL_ERROR, "someone else is writing to this logging session");
            } else if (result == DATA_LOGGING_FULL) {
                APP_LOG(APP_LOG_LEVEL_ERROR, "no more space to save data");
            } else if (result == DATA_LOGGING_NOT_FOUND) {
                APP_LOG(APP_LOG_LEVEL_ERROR, "the logging session does not exist");
            } else if (result == DATA_LOGGING_CLOSED) {
                APP_LOG(APP_LOG_LEVEL_ERROR, "The logging session was made inactive");
            } else if (result == DATA_LOGGING_INVALID_PARAMS) {
                APP_LOG(APP_LOG_LEVEL_ERROR, "an invalid parameter was passed to one of the functions");
            }
            
        }
        
    }
    
}
Example #3
0
void accel_data_handler(AccelData *data, uint32_t num_samples) {
  APP_LOG(APP_LOG_LEVEL_INFO, "Writing data");
  DataLoggingResult r = data_logging_log(my_data_log, data, num_samples);
  if (r == DATA_LOGGING_SUCCESS) {
    printf("%d\n", r);
  } else {
    printf("Fail\n");
  }
}
DataLoggingResult accel_logging_send_data(AccelData *data, uint32_t num_samples) {
  s_accel_logging_data_sent += num_samples * sizeof(AccelData);
  DataLoggingResult res = data_logging_log(s_logging_session, data, num_samples);
  if (DATA_LOGGING_SUCCESS != res) {
    APP_LOG(APP_LOG_LEVEL_ERROR, "There was a problem logging accel data: %d", res);
    return res;
  }
  else
    return res;
}