Complete sensor demo.

Dependencies:   modem_ref_helper CRC X_NUCLEO_IKS01A1 DebouncedInterrupt

Revision:
0:87c57e1b1e1c
Child:
18:51b15d8bf2fe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/files.h	Mon May 15 16:00:25 2017 +0000
@@ -0,0 +1,81 @@
+#ifndef _FILES_H_
+#define _FILES_H_
+
+#include "mbed.h"
+#include "revision.h"
+#include "alp_spec.h"
+#include "alp_helpers.h"
+#include "modem_ref.h"
+
+// Types of reporting
+typedef enum 
+{
+    REPORT_ALWAYS,
+    REPORT_ON_DIFFERENCE,
+    REPORT_ON_THRESHOLD,
+} report_type_t;
+
+// Sensor reporting configuration
+TYPEDEF_STRUCT_PACKED 
+{
+    uint8_t  report_type;       // Type of report asked
+    uint32_t read_period;       // Measure period (ms)
+    uint32_t max_period;        // Maximum time between reports (s)
+    uint32_t max_diff;          // Maximum difference allowed between two reported values
+    int32_t  threshold_high;    // High threshold value triggering a report
+    int32_t  threshold_low;     // Low threshold value triggering a report
+} sensor_config_t;
+
+#define FID_HOST_REV            65
+#define SIZE_HOST_REV           sizeof(revision_t)
+extern alp_file_header_t        h_rev;
+extern revision_t               f_rev;
+
+#define FID_ALARM               131
+#define SIZE_ALARM              sizeof(uint8_t)
+extern alp_file_header_t        h_alarm;
+extern uint8_t                  f_alarm;
+
+#define FILE_DECLARE_SENSOR_CONFIG(name) extern const alp_file_header_t h_sensor_config_##name;\
+    extern sensor_config_t f_sensor_config_##name
+
+#define FILE_DECLARE_SENSOR_VALUE(name) extern const alp_file_header_t h_sensor_value_##name
+
+#define FID_SENSOR_CONFIG_MAG           132
+#define FID_SENSOR_CONFIG_ACC           133
+#define FID_SENSOR_CONFIG_GYR           134
+#define FID_SENSOR_CONFIG_PRE           135
+#define FID_SENSOR_CONFIG_HUM           136
+#define FID_SENSOR_CONFIG_TEM1          137
+#define FID_SENSOR_CONFIG_TEM2          138
+#define FID_SENSOR_CONFIG_LIGHT         139
+
+#define FID_SENSOR_VALUE_MAG            150
+#define FID_SENSOR_VALUE_ACC            151
+#define FID_SENSOR_VALUE_GYR            152
+#define FID_SENSOR_VALUE_PRE            153
+#define FID_SENSOR_VALUE_HUM            154
+#define FID_SENSOR_VALUE_TEM1           155
+#define FID_SENSOR_VALUE_TEM2           156
+#define FID_SENSOR_VALUE_LIGHT          157
+
+FILE_DECLARE_SENSOR_CONFIG(mag);
+FILE_DECLARE_SENSOR_CONFIG(acc);
+FILE_DECLARE_SENSOR_CONFIG(gyr);
+FILE_DECLARE_SENSOR_CONFIG(pre);
+FILE_DECLARE_SENSOR_CONFIG(hum);
+FILE_DECLARE_SENSOR_CONFIG(tem1);
+FILE_DECLARE_SENSOR_CONFIG(tem2);
+FILE_DECLARE_SENSOR_CONFIG(light);
+
+FILE_DECLARE_SENSOR_VALUE(mag);
+FILE_DECLARE_SENSOR_VALUE(acc);
+FILE_DECLARE_SENSOR_VALUE(gyr);
+FILE_DECLARE_SENSOR_VALUE(pre);
+FILE_DECLARE_SENSOR_VALUE(hum);
+FILE_DECLARE_SENSOR_VALUE(tem1);
+FILE_DECLARE_SENSOR_VALUE(tem2);
+FILE_DECLARE_SENSOR_VALUE(light);
+
+
+#endif // _FILE_H_
\ No newline at end of file