Complete sensor demo.
Dependencies: modem_ref_helper CRC X_NUCLEO_IKS01A1 DebouncedInterrupt
files.h@18:51b15d8bf2fe, 2021-10-29 (annotated)
- Committer:
- marin_wizzi
- Date:
- Fri Oct 29 12:55:52 2021 +0000
- Revision:
- 18:51b15d8bf2fe
- Parent:
- 0:87c57e1b1e1c
Compatible with 6.2 modem version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jeej | 0:87c57e1b1e1c | 1 | #ifndef _FILES_H_ |
Jeej | 0:87c57e1b1e1c | 2 | #define _FILES_H_ |
Jeej | 0:87c57e1b1e1c | 3 | |
Jeej | 0:87c57e1b1e1c | 4 | #include "mbed.h" |
Jeej | 0:87c57e1b1e1c | 5 | #include "revision.h" |
Jeej | 0:87c57e1b1e1c | 6 | #include "alp_spec.h" |
Jeej | 0:87c57e1b1e1c | 7 | #include "alp_helpers.h" |
Jeej | 0:87c57e1b1e1c | 8 | #include "modem_ref.h" |
Jeej | 0:87c57e1b1e1c | 9 | |
marin_wizzi | 18:51b15d8bf2fe | 10 | TYPEDEF_STRUCT_PACKED { |
marin_wizzi | 18:51b15d8bf2fe | 11 | uint8_t fid; |
marin_wizzi | 18:51b15d8bf2fe | 12 | uint32_t offset; |
marin_wizzi | 18:51b15d8bf2fe | 13 | uint32_t length; |
marin_wizzi | 18:51b15d8bf2fe | 14 | } touch_t; |
marin_wizzi | 18:51b15d8bf2fe | 15 | |
marin_wizzi | 18:51b15d8bf2fe | 16 | extern Queue<touch_t, 8> g_file_modified; |
marin_wizzi | 18:51b15d8bf2fe | 17 | |
Jeej | 0:87c57e1b1e1c | 18 | // Types of reporting |
Jeej | 0:87c57e1b1e1c | 19 | typedef enum |
Jeej | 0:87c57e1b1e1c | 20 | { |
Jeej | 0:87c57e1b1e1c | 21 | REPORT_ALWAYS, |
Jeej | 0:87c57e1b1e1c | 22 | REPORT_ON_DIFFERENCE, |
Jeej | 0:87c57e1b1e1c | 23 | REPORT_ON_THRESHOLD, |
Jeej | 0:87c57e1b1e1c | 24 | } report_type_t; |
Jeej | 0:87c57e1b1e1c | 25 | |
Jeej | 0:87c57e1b1e1c | 26 | // Sensor reporting configuration |
Jeej | 0:87c57e1b1e1c | 27 | TYPEDEF_STRUCT_PACKED |
Jeej | 0:87c57e1b1e1c | 28 | { |
Jeej | 0:87c57e1b1e1c | 29 | uint8_t report_type; // Type of report asked |
Jeej | 0:87c57e1b1e1c | 30 | uint32_t read_period; // Measure period (ms) |
Jeej | 0:87c57e1b1e1c | 31 | uint32_t max_period; // Maximum time between reports (s) |
Jeej | 0:87c57e1b1e1c | 32 | uint32_t max_diff; // Maximum difference allowed between two reported values |
Jeej | 0:87c57e1b1e1c | 33 | int32_t threshold_high; // High threshold value triggering a report |
Jeej | 0:87c57e1b1e1c | 34 | int32_t threshold_low; // Low threshold value triggering a report |
Jeej | 0:87c57e1b1e1c | 35 | } sensor_config_t; |
Jeej | 0:87c57e1b1e1c | 36 | |
Jeej | 0:87c57e1b1e1c | 37 | #define FID_HOST_REV 65 |
Jeej | 0:87c57e1b1e1c | 38 | #define SIZE_HOST_REV sizeof(revision_t) |
Jeej | 0:87c57e1b1e1c | 39 | extern alp_file_header_t h_rev; |
Jeej | 0:87c57e1b1e1c | 40 | extern revision_t f_rev; |
Jeej | 0:87c57e1b1e1c | 41 | |
Jeej | 0:87c57e1b1e1c | 42 | #define FID_ALARM 131 |
Jeej | 0:87c57e1b1e1c | 43 | #define SIZE_ALARM sizeof(uint8_t) |
Jeej | 0:87c57e1b1e1c | 44 | extern alp_file_header_t h_alarm; |
Jeej | 0:87c57e1b1e1c | 45 | extern uint8_t f_alarm; |
Jeej | 0:87c57e1b1e1c | 46 | |
Jeej | 0:87c57e1b1e1c | 47 | #define FILE_DECLARE_SENSOR_CONFIG(name) extern const alp_file_header_t h_sensor_config_##name;\ |
Jeej | 0:87c57e1b1e1c | 48 | extern sensor_config_t f_sensor_config_##name |
Jeej | 0:87c57e1b1e1c | 49 | |
marin_wizzi | 18:51b15d8bf2fe | 50 | #define FILE_DECLARE_SENSOR_VALUE(name) extern const alp_file_header_t h_sensor_value_##name;\ |
marin_wizzi | 18:51b15d8bf2fe | 51 | extern int32_t f_sensor_value_##name[] |
Jeej | 0:87c57e1b1e1c | 52 | |
Jeej | 0:87c57e1b1e1c | 53 | #define FID_SENSOR_CONFIG_MAG 132 |
Jeej | 0:87c57e1b1e1c | 54 | #define FID_SENSOR_CONFIG_ACC 133 |
Jeej | 0:87c57e1b1e1c | 55 | #define FID_SENSOR_CONFIG_GYR 134 |
Jeej | 0:87c57e1b1e1c | 56 | #define FID_SENSOR_CONFIG_PRE 135 |
Jeej | 0:87c57e1b1e1c | 57 | #define FID_SENSOR_CONFIG_HUM 136 |
Jeej | 0:87c57e1b1e1c | 58 | #define FID_SENSOR_CONFIG_TEM1 137 |
Jeej | 0:87c57e1b1e1c | 59 | #define FID_SENSOR_CONFIG_TEM2 138 |
Jeej | 0:87c57e1b1e1c | 60 | #define FID_SENSOR_CONFIG_LIGHT 139 |
Jeej | 0:87c57e1b1e1c | 61 | |
Jeej | 0:87c57e1b1e1c | 62 | #define FID_SENSOR_VALUE_MAG 150 |
Jeej | 0:87c57e1b1e1c | 63 | #define FID_SENSOR_VALUE_ACC 151 |
Jeej | 0:87c57e1b1e1c | 64 | #define FID_SENSOR_VALUE_GYR 152 |
Jeej | 0:87c57e1b1e1c | 65 | #define FID_SENSOR_VALUE_PRE 153 |
Jeej | 0:87c57e1b1e1c | 66 | #define FID_SENSOR_VALUE_HUM 154 |
Jeej | 0:87c57e1b1e1c | 67 | #define FID_SENSOR_VALUE_TEM1 155 |
Jeej | 0:87c57e1b1e1c | 68 | #define FID_SENSOR_VALUE_TEM2 156 |
Jeej | 0:87c57e1b1e1c | 69 | #define FID_SENSOR_VALUE_LIGHT 157 |
Jeej | 0:87c57e1b1e1c | 70 | |
Jeej | 0:87c57e1b1e1c | 71 | FILE_DECLARE_SENSOR_CONFIG(mag); |
Jeej | 0:87c57e1b1e1c | 72 | FILE_DECLARE_SENSOR_CONFIG(acc); |
Jeej | 0:87c57e1b1e1c | 73 | FILE_DECLARE_SENSOR_CONFIG(gyr); |
Jeej | 0:87c57e1b1e1c | 74 | FILE_DECLARE_SENSOR_CONFIG(pre); |
Jeej | 0:87c57e1b1e1c | 75 | FILE_DECLARE_SENSOR_CONFIG(hum); |
Jeej | 0:87c57e1b1e1c | 76 | FILE_DECLARE_SENSOR_CONFIG(tem1); |
Jeej | 0:87c57e1b1e1c | 77 | FILE_DECLARE_SENSOR_CONFIG(tem2); |
Jeej | 0:87c57e1b1e1c | 78 | FILE_DECLARE_SENSOR_CONFIG(light); |
Jeej | 0:87c57e1b1e1c | 79 | |
Jeej | 0:87c57e1b1e1c | 80 | FILE_DECLARE_SENSOR_VALUE(mag); |
Jeej | 0:87c57e1b1e1c | 81 | FILE_DECLARE_SENSOR_VALUE(acc); |
Jeej | 0:87c57e1b1e1c | 82 | FILE_DECLARE_SENSOR_VALUE(gyr); |
Jeej | 0:87c57e1b1e1c | 83 | FILE_DECLARE_SENSOR_VALUE(pre); |
Jeej | 0:87c57e1b1e1c | 84 | FILE_DECLARE_SENSOR_VALUE(hum); |
Jeej | 0:87c57e1b1e1c | 85 | FILE_DECLARE_SENSOR_VALUE(tem1); |
Jeej | 0:87c57e1b1e1c | 86 | FILE_DECLARE_SENSOR_VALUE(tem2); |
Jeej | 0:87c57e1b1e1c | 87 | FILE_DECLARE_SENSOR_VALUE(light); |
Jeej | 0:87c57e1b1e1c | 88 | |
Jeej | 0:87c57e1b1e1c | 89 | |
Jeej | 0:87c57e1b1e1c | 90 | #endif // _FILE_H_ |