Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: X_NUCLEO_IKS01A1 MLX90614 d7a_1x wizzi-utils
Fork of D7A_1x_demo_sensors_OS5 by
files.h@8:01f0225408cf, 2017-02-03 (annotated)
- Committer:
- yordan
- Date:
- Fri Feb 03 14:36:58 2017 +0000
- Revision:
- 8:01f0225408cf
- Parent:
- 7:8de29807f970
- Child:
- 10:3d3dfc12f674
added light sensor
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Jeej | 0:7e1fdc4d6e1c | 1 | #ifndef _FILES_H_ |
| Jeej | 0:7e1fdc4d6e1c | 2 | #define _FILES_H_ |
| Jeej | 0:7e1fdc4d6e1c | 3 | |
| Jeej | 0:7e1fdc4d6e1c | 4 | #include "mbed.h" |
| Jeej | 0:7e1fdc4d6e1c | 5 | #include "d7a.h" |
| Jeej | 0:7e1fdc4d6e1c | 6 | |
| Jeej | 0:7e1fdc4d6e1c | 7 | enum { |
| yordan | 8:01f0225408cf | 8 | |
| yordan | 8:01f0225408cf | 9 | // Alarm |
| yordan | 8:01f0225408cf | 10 | ALARM_FILE_ID = 224, |
| Jeej | 0:7e1fdc4d6e1c | 11 | SIMUL_FILE_ID, |
| yordan | 8:01f0225408cf | 12 | |
| yordan | 8:01f0225408cf | 13 | // RFU |
| yordan | 8:01f0225408cf | 14 | RFU_FILE_ID_226, |
| yordan | 8:01f0225408cf | 15 | RFU_FILE_ID_227, |
| yordan | 8:01f0225408cf | 16 | RFU_FILE_ID_228, |
| yordan | 8:01f0225408cf | 17 | RFU_FILE_ID_229, |
| yordan | 8:01f0225408cf | 18 | |
| yordan | 8:01f0225408cf | 19 | // New cfg |
| yordan | 8:01f0225408cf | 20 | LIGHT_CFG_FILE_ID = 230, |
| yordan | 8:01f0225408cf | 21 | RFU_CFG_FILE_ID_231, |
| yordan | 8:01f0225408cf | 22 | RFU_CFG_FILE_ID_232, |
| yordan | 8:01f0225408cf | 23 | RFU_CFG_FILE_ID_233, |
| yordan | 8:01f0225408cf | 24 | RFU_CFG_FILE_ID_234, |
| yordan | 8:01f0225408cf | 25 | |
| yordan | 8:01f0225408cf | 26 | // New value |
| yordan | 8:01f0225408cf | 27 | LIGHT_VALUE_FILE_ID = 235, |
| yordan | 8:01f0225408cf | 28 | RFU_VALUE_FILE_ID_236, |
| yordan | 8:01f0225408cf | 29 | RFU_VALUE_FILE_ID_237, |
| yordan | 8:01f0225408cf | 30 | RFU_VALUE_FILE_ID_238, |
| yordan | 8:01f0225408cf | 31 | RFU_VALUE_FILE_ID_239, |
| yordan | 8:01f0225408cf | 32 | |
| yordan | 8:01f0225408cf | 33 | // Nucleo-64 default list |
| yordan | 8:01f0225408cf | 34 | MAG_CFG_FILE_ID = 240, |
| Jeej | 0:7e1fdc4d6e1c | 35 | ACC_CFG_FILE_ID, |
| Jeej | 0:7e1fdc4d6e1c | 36 | GYR_CFG_FILE_ID, |
| yordan | 8:01f0225408cf | 37 | PRE_CFG_FILE_ID, // 243 |
| Jeej | 0:7e1fdc4d6e1c | 38 | HUM_CFG_FILE_ID, |
| Jeej | 0:7e1fdc4d6e1c | 39 | TEM1_CFG_FILE_ID, |
| Jeej | 0:7e1fdc4d6e1c | 40 | TEM2_CFG_FILE_ID, |
| Jeej | 0:7e1fdc4d6e1c | 41 | MAG_VALUE_FILE_ID, // 247 |
| Jeej | 0:7e1fdc4d6e1c | 42 | ACC_VALUE_FILE_ID, |
| Jeej | 0:7e1fdc4d6e1c | 43 | GYR_VALUE_FILE_ID, |
| Jeej | 0:7e1fdc4d6e1c | 44 | PRE_VALUE_FILE_ID, // 250 |
| Jeej | 0:7e1fdc4d6e1c | 45 | HUM_VALUE_FILE_ID, |
| Jeej | 0:7e1fdc4d6e1c | 46 | TEM1_VALUE_FILE_ID, |
| yordan | 8:01f0225408cf | 47 | TEM2_VALUE_FILE_ID,// 253 |
| Jeej | 0:7e1fdc4d6e1c | 48 | }; |
| Jeej | 0:7e1fdc4d6e1c | 49 | |
| Jeej | 0:7e1fdc4d6e1c | 50 | #define GENERIC_FILE(name,data) TYPEDEF_STRUCT_PACKED{\ |
| Jeej | 0:7e1fdc4d6e1c | 51 | data\ |
| Jeej | 0:7e1fdc4d6e1c | 52 | } name##_t;\ |
| Jeej | 0:7e1fdc4d6e1c | 53 | extern name##_t f_##name; |
| Jeej | 0:7e1fdc4d6e1c | 54 | |
| Jeej | 0:7e1fdc4d6e1c | 55 | #define GENERIC_FILE_INIT(name,...) name##_t f_##name = {\ |
| Jeej | 0:7e1fdc4d6e1c | 56 | __VA_ARGS__\ |
| Jeej | 0:7e1fdc4d6e1c | 57 | } |
| Jeej | 0:7e1fdc4d6e1c | 58 | |
| Jeej | 0:7e1fdc4d6e1c | 59 | #define GENERIC_FILE_MAP(fid,name) { (void*)fid, (void*)&f_##name } |
| Jeej | 0:7e1fdc4d6e1c | 60 | |
| yordan | 7:8de29807f970 | 61 | // Types of reporting |
| yordan | 7:8de29807f970 | 62 | typedef enum |
| yordan | 7:8de29807f970 | 63 | { |
| yordan | 7:8de29807f970 | 64 | REPORT_ALWAYS, |
| yordan | 7:8de29807f970 | 65 | REPORT_ON_DIFFERENCE, |
| yordan | 7:8de29807f970 | 66 | REPORT_ON_THRESHOLD, |
| yordan | 7:8de29807f970 | 67 | |
| yordan | 7:8de29807f970 | 68 | } report_type_t; |
| Jeej | 0:7e1fdc4d6e1c | 69 | |
| yordan | 7:8de29807f970 | 70 | // Sensor reporting configuration |
| yordan | 7:8de29807f970 | 71 | TYPEDEF_STRUCT_PACKED |
| yordan | 7:8de29807f970 | 72 | { |
| yordan | 7:8de29807f970 | 73 | uint8_t report_type; // Type of report asked |
| yordan | 7:8de29807f970 | 74 | uint32_t period; // Measure period (ms) |
| yordan | 7:8de29807f970 | 75 | uint32_t max_period; // Maximum time between reports (s) |
| yordan | 7:8de29807f970 | 76 | uint32_t max_diff; // Maximum difference allowed between two reported values |
| yordan | 7:8de29807f970 | 77 | int32_t threshold_high; // High threshold value triggering a report |
| yordan | 7:8de29807f970 | 78 | int32_t threshold_low; // Low threshold value triggering a report |
| yordan | 7:8de29807f970 | 79 | |
| yordan | 7:8de29807f970 | 80 | } sensor_config_t; |
| Jeej | 0:7e1fdc4d6e1c | 81 | |
| Jeej | 0:7e1fdc4d6e1c | 82 | // Firmware revision for the Dash7board |
| Jeej | 0:7e1fdc4d6e1c | 83 | GENERIC_FILE(dev_rev, d7a_revision_t rev;); |
| Jeej | 0:7e1fdc4d6e1c | 84 | GENERIC_FILE(simul, uint32_t divider;); |
| Jeej | 0:7e1fdc4d6e1c | 85 | GENERIC_FILE(mag_cfg, sensor_config_t cfg;); |
| Jeej | 0:7e1fdc4d6e1c | 86 | GENERIC_FILE(acc_cfg, sensor_config_t cfg;); |
| Jeej | 0:7e1fdc4d6e1c | 87 | GENERIC_FILE(gyr_cfg, sensor_config_t cfg;); |
| Jeej | 0:7e1fdc4d6e1c | 88 | GENERIC_FILE(pre_cfg, sensor_config_t cfg;); |
| Jeej | 0:7e1fdc4d6e1c | 89 | GENERIC_FILE(hum_cfg, sensor_config_t cfg;); |
| Jeej | 0:7e1fdc4d6e1c | 90 | GENERIC_FILE(tem1_cfg, sensor_config_t cfg;); |
| Jeej | 0:7e1fdc4d6e1c | 91 | GENERIC_FILE(tem2_cfg, sensor_config_t cfg;); |
| yordan | 8:01f0225408cf | 92 | GENERIC_FILE(light_cfg, sensor_config_t cfg;); |
| Jeej | 0:7e1fdc4d6e1c | 93 | |
| Jeej | 0:7e1fdc4d6e1c | 94 | uint32_t fs_write_file(const uint8_t file_id, |
| Jeej | 0:7e1fdc4d6e1c | 95 | const uint16_t offset, |
| Jeej | 0:7e1fdc4d6e1c | 96 | const uint16_t size, |
| Jeej | 0:7e1fdc4d6e1c | 97 | const uint8_t* const content); |
| Jeej | 0:7e1fdc4d6e1c | 98 | |
| Jeej | 0:7e1fdc4d6e1c | 99 | uint32_t fs_read_file( const uint8_t file_id, |
| Jeej | 0:7e1fdc4d6e1c | 100 | const uint16_t offset, |
| Jeej | 0:7e1fdc4d6e1c | 101 | const uint16_t size, |
| Jeej | 0:7e1fdc4d6e1c | 102 | uint8_t* buf); |
| Jeej | 0:7e1fdc4d6e1c | 103 | |
| Jeej | 0:7e1fdc4d6e1c | 104 | #endif // _FILE_SYS_H_ |
