#ifndef _DATAPOINT_H
#define _DATAPOINT_H
-#define DATA_BUFSIZ 10 // Size to use for DataPoint buffers (TODO: Optimise)
+/** Size to use for DataPoint buffers (TODO: Optimise) **/
+#define DATA_BUFSIZ 10
#include "common.h"
/** Enum of output format types for DataPoints **/
typedef enum
{
- JSON, // JSON data
- TSV // Tab seperated vector
+ JSON, /** JSON data */
+ TSV /** Tab seperated vector */
} DataFormat;
/**
*/
typedef struct
{
- FILE * file; // file pointer
- int num_points; // Number of DataPoints in the file
- char * filename; // Name of the file
- pthread_mutex_t mutex; // Mutex around num_points
+ FILE * file; /** file pointer */
+ int num_points; /** Number of DataPoints in the file */
+ char * filename; /** Name of the file */
+ pthread_mutex_t mutex; /** Mutex around num_points */
} DataFile;
extern void Data_PrintByIndexes(DataFile * df, int start_index, int end_index, DataFormat format); // Print data buffer
extern void Data_PrintByTimes(DataFile * df, double start_time, double end_time, DataFormat format); // Print data between time values
extern int Data_FindByTime(DataFile * df, double time_stamp, DataPoint * closest); // Find index of DataPoint with the closest timestamp to that given
+extern double Data_Calibrate(double value, double x[], double y[], int size);
extern void Data_Handler(DataFile * df, FCGIValue * start, FCGIValue * end, DataFormat format, double current_time); // Helper; given FCGI params print data
extern DataFormat Data_GetFormat(FCGIValue * fmt); // Helper; convert human readable format string to DataFormat
-
#endif //_DATAPOINT_H