Generic communication interface between the wireless board (mote) and the sensor board. Any kind of sensor board can be connected to the mote using this specification given it provides a SPI peripheral, one input pin with interrupt capability and one digital output. The sensor board must implement a special register set from which all required information can be retrieved. Protocol: http://is.gd/wuQorh Github: http://is.gd/ySj1L9
sens_itf/sens_itf.h@1:acdf490d94a7, 2014-04-08 (annotated)
- Committer:
- marcelobarrosalmeida
- Date:
- Tue Apr 08 16:34:20 2014 +0000
- Revision:
- 1:acdf490d94a7
Adding accel to sensor list
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
marcelobarrosalmeida | 1:acdf490d94a7 | 1 | /** @file */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 2 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 3 | #ifndef __SENS_ITF_H__ |
marcelobarrosalmeida | 1:acdf490d94a7 | 4 | #define __SENS_ITF_H__ |
marcelobarrosalmeida | 1:acdf490d94a7 | 5 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 6 | #ifdef __cplusplus |
marcelobarrosalmeida | 1:acdf490d94a7 | 7 | extern "C" { |
marcelobarrosalmeida | 1:acdf490d94a7 | 8 | #endif |
marcelobarrosalmeida | 1:acdf490d94a7 | 9 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 10 | #define SENS_ITF_LATEST_VERSION 0 |
marcelobarrosalmeida | 1:acdf490d94a7 | 11 | #define SENS_ITF_MAX_FRAME_SIZE 128 |
marcelobarrosalmeida | 1:acdf490d94a7 | 12 | #define SENS_ITF_DSP_MSG_MAX_SIZE 24 |
marcelobarrosalmeida | 1:acdf490d94a7 | 13 | #define SENS_ITF_MAX_POINTS 32 |
marcelobarrosalmeida | 1:acdf490d94a7 | 14 | #define SENS_ITF_SERVER_ADDR_SIZE 16 |
marcelobarrosalmeida | 1:acdf490d94a7 | 15 | #define SENS_ITF_MODEL_NAME_SIZE 8 |
marcelobarrosalmeida | 1:acdf490d94a7 | 16 | #define SENS_ITF_MANUF_NAME_SIZE 8 |
marcelobarrosalmeida | 1:acdf490d94a7 | 17 | #define SENS_ITF_POINT_NAME_SIZE 8 |
marcelobarrosalmeida | 1:acdf490d94a7 | 18 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 19 | /** Sensor interface standard datatypes */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 20 | enum sens_itf_datatypes_e |
marcelobarrosalmeida | 1:acdf490d94a7 | 21 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 22 | SENS_ITF_DT_U8 = 0x00, /**< 8 bits unsigned */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 23 | SENS_ITF_DT_S8 = 0x01, /**< 8 bits signed */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 24 | SENS_ITF_DT_U16 = 0x02, /**< 16 bits unsigned */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 25 | SENS_ITF_DT_S16 = 0x03, /**< 16 bits signed */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 26 | SENS_ITF_DT_U32 = 0x04, /**< 32 bits unsigned */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 27 | SENS_ITF_DT_S32 = 0x05, /**< 32 bits signed */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 28 | SENS_ITF_DT_U64 = 0x06, /**< 64 bits unsigned */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 29 | SENS_ITF_DT_S64 = 0x07, /**< 64 bits signed */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 30 | SENS_ITF_DT_FLOAT = 0x08, /**< IEEE 754 single precision */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 31 | SENS_ITF_DT_DOUBLE = 0x09, /**< IEEE 754 double precision */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 32 | }; |
marcelobarrosalmeida | 1:acdf490d94a7 | 33 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 34 | /** Sensor interface register map */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 35 | enum sens_itf_register_map_e |
marcelobarrosalmeida | 1:acdf490d94a7 | 36 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 37 | SENS_ITF_REGMAP_ITF_VERSION = 0x00, /**< Sensor Board Interface Version */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 38 | SENS_ITF_REGMAP_BRD_ID = 0x01, /**< Sensor Board Identification */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 39 | SENS_ITF_REGMAP_BRD_STATUS = 0x02, /**< Sensor Board Status */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 40 | SENS_ITF_REGMAP_BRD_CMD = 0x03, /**< Sensor Board Command */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 41 | SENS_ITF_REGMAP_READ_BAT_STATUS = 0x04, /**< Read battery status */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 42 | SENS_ITF_REGMAP_WRITE_BAT_STATUS = 0x05, /**< Write battery status */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 43 | SENS_ITF_REGMAP_READ_BAT_CHARGE = 0x06, /**< Read battery charge(0 - 100 % ) */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 44 | SENS_ITF_REGMAP_WRITE_BAT_CHARGE = 0x07, /**< Write Battery charge(0 - 100 % ) */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 45 | SENS_ITF_REGMAP_WPAN_STATUS = 0x08, /**< Wireless network status */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 46 | SENS_ITF_REGMAP_WPAN_STRENGTH = 0x09, /**< Wireless network strength(RSSI, 0 to 100 % ) */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 47 | SENS_ITF_REGMAP_DSP_WRITE = 0x0A, /**< Write display (when display is available) */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 48 | SENS_ITF_REGMAP_SVR_MAIN_ADDR = 0x0B, /**< Main server address(IPv6) */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 49 | SENS_ITF_REGMAP_SVR_SEC_ADDR = 0x0C, /**< Secondary server address(IPv6) */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 50 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 51 | /*0x0D to 0x0F - Reserved(Should not be answered) */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 52 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 53 | SENS_ITF_REGMAP_POINT_DESC_1 = 0x10, /**< Sensor Point Description 1 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 54 | SENS_ITF_REGMAP_POINT_DESC_2 = 0x11, /**< Sensor Point Description 2 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 55 | SENS_ITF_REGMAP_POINT_DESC_3 = 0x12, /**< Sensor Point Description 3 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 56 | SENS_ITF_REGMAP_POINT_DESC_4 = 0x13, /**< Sensor Point Description 4 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 57 | SENS_ITF_REGMAP_POINT_DESC_5 = 0x14, /**< Sensor Point Description 5 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 58 | SENS_ITF_REGMAP_POINT_DESC_6 = 0x15, /**< Sensor Point Description 6 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 59 | SENS_ITF_REGMAP_POINT_DESC_7 = 0x16, /**< Sensor Point Description 7 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 60 | SENS_ITF_REGMAP_POINT_DESC_8 = 0x17, /**< Sensor Point Description 8 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 61 | SENS_ITF_REGMAP_POINT_DESC_9 = 0x18, /**< Sensor Point Description 9 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 62 | SENS_ITF_REGMAP_POINT_DESC_10 = 0x19, /**< Sensor Point Description 10 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 63 | SENS_ITF_REGMAP_POINT_DESC_11 = 0x1A, /**< Sensor Point Description 11 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 64 | SENS_ITF_REGMAP_POINT_DESC_12 = 0x1B, /**< Sensor Point Description 12 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 65 | SENS_ITF_REGMAP_POINT_DESC_13 = 0x1C, /**< Sensor Point Description 13 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 66 | SENS_ITF_REGMAP_POINT_DESC_14 = 0x1D, /**< Sensor Point Description 14 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 67 | SENS_ITF_REGMAP_POINT_DESC_15 = 0x1E, /**< Sensor Point Description 15 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 68 | SENS_ITF_REGMAP_POINT_DESC_16 = 0x1F, /**< Sensor Point Description 16 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 69 | SENS_ITF_REGMAP_POINT_DESC_17 = 0x20, /**< Sensor Point Description 17 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 70 | SENS_ITF_REGMAP_POINT_DESC_18 = 0x21, /**< Sensor Point Description 18 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 71 | SENS_ITF_REGMAP_POINT_DESC_19 = 0x22, /**< Sensor Point Description 19 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 72 | SENS_ITF_REGMAP_POINT_DESC_20 = 0x23, /**< Sensor Point Description 20 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 73 | SENS_ITF_REGMAP_POINT_DESC_21 = 0x24, /**< Sensor Point Description 21 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 74 | SENS_ITF_REGMAP_POINT_DESC_22 = 0x25, /**< Sensor Point Description 22 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 75 | SENS_ITF_REGMAP_POINT_DESC_23 = 0x26, /**< Sensor Point Description 23 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 76 | SENS_ITF_REGMAP_POINT_DESC_24 = 0x27, /**< Sensor Point Description 24 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 77 | SENS_ITF_REGMAP_POINT_DESC_25 = 0x28, /**< Sensor Point Description 25 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 78 | SENS_ITF_REGMAP_POINT_DESC_26 = 0x29, /**< Sensor Point Description 26 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 79 | SENS_ITF_REGMAP_POINT_DESC_27 = 0x2A, /**< Sensor Point Description 27 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 80 | SENS_ITF_REGMAP_POINT_DESC_28 = 0x2B, /**< Sensor Point Description 28 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 81 | SENS_ITF_REGMAP_POINT_DESC_29 = 0x2C, /**< Sensor Point Description 29 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 82 | SENS_ITF_REGMAP_POINT_DESC_30 = 0x2D, /**< Sensor Point Description 30 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 83 | SENS_ITF_REGMAP_POINT_DESC_31 = 0x2E, /**< Sensor Point Description 31 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 84 | SENS_ITF_REGMAP_POINT_DESC_32 = 0x2F, /**< Sensor Point Description 32 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 85 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 86 | SENS_ITF_REGMAP_READ_POINT_DATA_1 = 0x30, /**< Read Sensor Point Data 1 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 87 | SENS_ITF_REGMAP_READ_POINT_DATA_2 = 0x31, /**< Read Sensor Point Data 2 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 88 | SENS_ITF_REGMAP_READ_POINT_DATA_3 = 0x32, /**< Read Sensor Point Data 3 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 89 | SENS_ITF_REGMAP_READ_POINT_DATA_4 = 0x33, /**< Read Sensor Point Data 4 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 90 | SENS_ITF_REGMAP_READ_POINT_DATA_5 = 0x34, /**< Read Sensor Point Data 5 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 91 | SENS_ITF_REGMAP_READ_POINT_DATA_6 = 0x35, /**< Read Sensor Point Data 6 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 92 | SENS_ITF_REGMAP_READ_POINT_DATA_7 = 0x36, /**< Read Sensor Point Data 7 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 93 | SENS_ITF_REGMAP_READ_POINT_DATA_8 = 0x37, /**< Read Sensor Point Data 8 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 94 | SENS_ITF_REGMAP_READ_POINT_DATA_9 = 0x38, /**< Read Sensor Point Data 9 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 95 | SENS_ITF_REGMAP_READ_POINT_DATA_10 = 0x39, /**< Read Sensor Point Data 10 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 96 | SENS_ITF_REGMAP_READ_POINT_DATA_11 = 0x3A, /**< Read Sensor Point Data 11 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 97 | SENS_ITF_REGMAP_READ_POINT_DATA_12 = 0x3B, /**< Read Sensor Point Data 12 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 98 | SENS_ITF_REGMAP_READ_POINT_DATA_13 = 0x3C, /**< Read Sensor Point Data 13 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 99 | SENS_ITF_REGMAP_READ_POINT_DATA_14 = 0x3D, /**< Read Sensor Point Data 14 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 100 | SENS_ITF_REGMAP_READ_POINT_DATA_15 = 0x3E, /**< Read Sensor Point Data 15 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 101 | SENS_ITF_REGMAP_READ_POINT_DATA_16 = 0x3F, /**< Read Sensor Point Data 16 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 102 | SENS_ITF_REGMAP_READ_POINT_DATA_17 = 0x40, /**< Read Sensor Point Data 17 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 103 | SENS_ITF_REGMAP_READ_POINT_DATA_18 = 0x41, /**< Read Sensor Point Data 18 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 104 | SENS_ITF_REGMAP_READ_POINT_DATA_19 = 0x42, /**< Read Sensor Point Data 19 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 105 | SENS_ITF_REGMAP_READ_POINT_DATA_20 = 0x43, /**< Read Sensor Point Data 20 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 106 | SENS_ITF_REGMAP_READ_POINT_DATA_21 = 0x44, /**< Read Sensor Point Data 21 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 107 | SENS_ITF_REGMAP_READ_POINT_DATA_22 = 0x45, /**< Read Sensor Point Data 22 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 108 | SENS_ITF_REGMAP_READ_POINT_DATA_23 = 0x46, /**< Read Sensor Point Data 23 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 109 | SENS_ITF_REGMAP_READ_POINT_DATA_24 = 0x47, /**< Read Sensor Point Data 24 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 110 | SENS_ITF_REGMAP_READ_POINT_DATA_25 = 0x48, /**< Read Sensor Point Data 25 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 111 | SENS_ITF_REGMAP_READ_POINT_DATA_26 = 0x49, /**< Read Sensor Point Data 26 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 112 | SENS_ITF_REGMAP_READ_POINT_DATA_27 = 0x4A, /**< Read Sensor Point Data 27 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 113 | SENS_ITF_REGMAP_READ_POINT_DATA_28 = 0x4B, /**< Read Sensor Point Data 28 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 114 | SENS_ITF_REGMAP_READ_POINT_DATA_29 = 0x4C, /**< Read Sensor Point Data 29 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 115 | SENS_ITF_REGMAP_READ_POINT_DATA_30 = 0x4D, /**< Read Sensor Point Data 30 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 116 | SENS_ITF_REGMAP_READ_POINT_DATA_31 = 0x4E, /**< Read Sensor Point Data 31 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 117 | SENS_ITF_REGMAP_READ_POINT_DATA_32 = 0x4F, /**< Read Sensor Point Data 32 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 118 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 119 | SENS_ITF_REGMAP_WRITE_POINT_DATA_1 = 0x50, /**< Write Sensor Point Data 1 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 120 | SENS_ITF_REGMAP_WRITE_POINT_DATA_2 = 0x51, /**< Write Sensor Point Data 2 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 121 | SENS_ITF_REGMAP_WRITE_POINT_DATA_3 = 0x52, /**< Write Sensor Point Data 3 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 122 | SENS_ITF_REGMAP_WRITE_POINT_DATA_4 = 0x53, /**< Write Sensor Point Data 4 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 123 | SENS_ITF_REGMAP_WRITE_POINT_DATA_5 = 0x54, /**< Write Sensor Point Data 5 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 124 | SENS_ITF_REGMAP_WRITE_POINT_DATA_6 = 0x55, /**< Write Sensor Point Data 6 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 125 | SENS_ITF_REGMAP_WRITE_POINT_DATA_7 = 0x56, /**< Write Sensor Point Data 7 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 126 | SENS_ITF_REGMAP_WRITE_POINT_DATA_8 = 0x57, /**< Write Sensor Point Data 8 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 127 | SENS_ITF_REGMAP_WRITE_POINT_DATA_9 = 0x58, /**< Write Sensor Point Data 9 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 128 | SENS_ITF_REGMAP_WRITE_POINT_DATA_10 = 0x59, /**< Write Sensor Point Data 10 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 129 | SENS_ITF_REGMAP_WRITE_POINT_DATA_11 = 0x5A, /**< Write Sensor Point Data 11 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 130 | SENS_ITF_REGMAP_WRITE_POINT_DATA_12 = 0x5B, /**< Write Sensor Point Data 12 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 131 | SENS_ITF_REGMAP_WRITE_POINT_DATA_13 = 0x5C, /**< Write Sensor Point Data 13 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 132 | SENS_ITF_REGMAP_WRITE_POINT_DATA_14 = 0x5D, /**< Write Sensor Point Data 14 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 133 | SENS_ITF_REGMAP_WRITE_POINT_DATA_15 = 0x5E, /**< Write Sensor Point Data 15 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 134 | SENS_ITF_REGMAP_WRITE_POINT_DATA_16 = 0x5F, /**< Write Sensor Point Data 16 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 135 | SENS_ITF_REGMAP_WRITE_POINT_DATA_17 = 0x60, /**< Write Sensor Point Data 17 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 136 | SENS_ITF_REGMAP_WRITE_POINT_DATA_18 = 0x61, /**< Write Sensor Point Data 18 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 137 | SENS_ITF_REGMAP_WRITE_POINT_DATA_19 = 0x62, /**< Write Sensor Point Data 19 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 138 | SENS_ITF_REGMAP_WRITE_POINT_DATA_20 = 0x63, /**< Write Sensor Point Data 20 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 139 | SENS_ITF_REGMAP_WRITE_POINT_DATA_21 = 0x64, /**< Write Sensor Point Data 21 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 140 | SENS_ITF_REGMAP_WRITE_POINT_DATA_22 = 0x65, /**< Write Sensor Point Data 22 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 141 | SENS_ITF_REGMAP_WRITE_POINT_DATA_23 = 0x66, /**< Write Sensor Point Data 23 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 142 | SENS_ITF_REGMAP_WRITE_POINT_DATA_24 = 0x67, /**< Write Sensor Point Data 24 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 143 | SENS_ITF_REGMAP_WRITE_POINT_DATA_25 = 0x68, /**< Write Sensor Point Data 25 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 144 | SENS_ITF_REGMAP_WRITE_POINT_DATA_26 = 0x69, /**< Write Sensor Point Data 26 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 145 | SENS_ITF_REGMAP_WRITE_POINT_DATA_27 = 0x6A, /**< Write Sensor Point Data 27 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 146 | SENS_ITF_REGMAP_WRITE_POINT_DATA_28 = 0x6B, /**< Write Sensor Point Data 28 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 147 | SENS_ITF_REGMAP_WRITE_POINT_DATA_29 = 0x6C, /**< Write Sensor Point Data 29 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 148 | SENS_ITF_REGMAP_WRITE_POINT_DATA_30 = 0x6D, /**< Write Sensor Point Data 30 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 149 | SENS_ITF_REGMAP_WRITE_POINT_DATA_31 = 0x6E, /**< Write Sensor Point Data 31 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 150 | SENS_ITF_REGMAP_WRITE_POINT_DATA_32 = 0x6F, /**< Write Sensor Point Data 32 */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 151 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 152 | /* 0x70 to 0xFF - Reserved */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 153 | }; |
marcelobarrosalmeida | 1:acdf490d94a7 | 154 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 155 | enum sens_itf_sensor_status_e |
marcelobarrosalmeida | 1:acdf490d94a7 | 156 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 157 | SENS_ITF_SENSOR_STATUS_OK = 0, |
marcelobarrosalmeida | 1:acdf490d94a7 | 158 | SENS_ITF_SENSOR_STATUS_POINT_1 = 1, |
marcelobarrosalmeida | 1:acdf490d94a7 | 159 | SENS_ITF_SENSOR_STATUS_POINT_2 = 2, |
marcelobarrosalmeida | 1:acdf490d94a7 | 160 | SENS_ITF_SENSOR_STATUS_POINT_3 = 3, |
marcelobarrosalmeida | 1:acdf490d94a7 | 161 | SENS_ITF_SENSOR_STATUS_POINT_4 = 4, |
marcelobarrosalmeida | 1:acdf490d94a7 | 162 | SENS_ITF_SENSOR_STATUS_POINT_5 = 5, |
marcelobarrosalmeida | 1:acdf490d94a7 | 163 | SENS_ITF_SENSOR_STATUS_POINT_6 = 6, |
marcelobarrosalmeida | 1:acdf490d94a7 | 164 | SENS_ITF_SENSOR_STATUS_POINT_7 = 7, |
marcelobarrosalmeida | 1:acdf490d94a7 | 165 | SENS_ITF_SENSOR_STATUS_POINT_8 = 8, |
marcelobarrosalmeida | 1:acdf490d94a7 | 166 | SENS_ITF_SENSOR_STATUS_POINT_9 = 9, |
marcelobarrosalmeida | 1:acdf490d94a7 | 167 | SENS_ITF_SENSOR_STATUS_POINT_10 = 10, |
marcelobarrosalmeida | 1:acdf490d94a7 | 168 | SENS_ITF_SENSOR_STATUS_POINT_11 = 11, |
marcelobarrosalmeida | 1:acdf490d94a7 | 169 | SENS_ITF_SENSOR_STATUS_POINT_12 = 12, |
marcelobarrosalmeida | 1:acdf490d94a7 | 170 | SENS_ITF_SENSOR_STATUS_POINT_13 = 13, |
marcelobarrosalmeida | 1:acdf490d94a7 | 171 | SENS_ITF_SENSOR_STATUS_POINT_14 = 14, |
marcelobarrosalmeida | 1:acdf490d94a7 | 172 | SENS_ITF_SENSOR_STATUS_POINT_15 = 15, |
marcelobarrosalmeida | 1:acdf490d94a7 | 173 | SENS_ITF_SENSOR_STATUS_POINT_16 = 16, |
marcelobarrosalmeida | 1:acdf490d94a7 | 174 | SENS_ITF_SENSOR_STATUS_POINT_17 = 17, |
marcelobarrosalmeida | 1:acdf490d94a7 | 175 | SENS_ITF_SENSOR_STATUS_POINT_18 = 18, |
marcelobarrosalmeida | 1:acdf490d94a7 | 176 | SENS_ITF_SENSOR_STATUS_POINT_19 = 19, |
marcelobarrosalmeida | 1:acdf490d94a7 | 177 | SENS_ITF_SENSOR_STATUS_POINT_20 = 20, |
marcelobarrosalmeida | 1:acdf490d94a7 | 178 | SENS_ITF_SENSOR_STATUS_POINT_21 = 21, |
marcelobarrosalmeida | 1:acdf490d94a7 | 179 | SENS_ITF_SENSOR_STATUS_POINT_22 = 22, |
marcelobarrosalmeida | 1:acdf490d94a7 | 180 | SENS_ITF_SENSOR_STATUS_POINT_23 = 23, |
marcelobarrosalmeida | 1:acdf490d94a7 | 181 | SENS_ITF_SENSOR_STATUS_POINT_24 = 24, |
marcelobarrosalmeida | 1:acdf490d94a7 | 182 | SENS_ITF_SENSOR_STATUS_POINT_25 = 25, |
marcelobarrosalmeida | 1:acdf490d94a7 | 183 | SENS_ITF_SENSOR_STATUS_POINT_26 = 26, |
marcelobarrosalmeida | 1:acdf490d94a7 | 184 | SENS_ITF_SENSOR_STATUS_POINT_27 = 27, |
marcelobarrosalmeida | 1:acdf490d94a7 | 185 | SENS_ITF_SENSOR_STATUS_POINT_28 = 28, |
marcelobarrosalmeida | 1:acdf490d94a7 | 186 | SENS_ITF_SENSOR_STATUS_POINT_29 = 29, |
marcelobarrosalmeida | 1:acdf490d94a7 | 187 | SENS_ITF_SENSOR_STATUS_POINT_30 = 30, |
marcelobarrosalmeida | 1:acdf490d94a7 | 188 | SENS_ITF_SENSOR_STATUS_POINT_31 = 31, |
marcelobarrosalmeida | 1:acdf490d94a7 | 189 | SENS_ITF_SENSOR_STATUS_POINT_32 = 32, |
marcelobarrosalmeida | 1:acdf490d94a7 | 190 | /* 33 to 127 - reserved */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 191 | SENS_ITF_SENSOR_STATUS_GENERAL_SENSOR_FAILURE = 128, |
marcelobarrosalmeida | 1:acdf490d94a7 | 192 | /* 129 to 255 - reserved */ |
marcelobarrosalmeida | 1:acdf490d94a7 | 193 | }; |
marcelobarrosalmeida | 1:acdf490d94a7 | 194 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 195 | enum sens_itf_sensor_cmds_e |
marcelobarrosalmeida | 1:acdf490d94a7 | 196 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 197 | SENS_ITF_SENSOR_CMD_RESET = 0, |
marcelobarrosalmeida | 1:acdf490d94a7 | 198 | }; |
marcelobarrosalmeida | 1:acdf490d94a7 | 199 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 200 | enum sens_itf_ans_status_e |
marcelobarrosalmeida | 1:acdf490d94a7 | 201 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 202 | SENS_ITF_ANS_OK = 0, |
marcelobarrosalmeida | 1:acdf490d94a7 | 203 | SENS_ITF_ANS_ERROR = 1, |
marcelobarrosalmeida | 1:acdf490d94a7 | 204 | SENS_ITF_ANS_CRC_ERROR = 2, |
marcelobarrosalmeida | 1:acdf490d94a7 | 205 | SENS_ITF_ANS_READY_ONLY = 3, |
marcelobarrosalmeida | 1:acdf490d94a7 | 206 | SENS_ITF_ANS_WRITE_ONLY = 4, |
marcelobarrosalmeida | 1:acdf490d94a7 | 207 | SENS_ITF_ANS_REGISTER_NOT_IMPLEMENTED = 5, |
marcelobarrosalmeida | 1:acdf490d94a7 | 208 | }; |
marcelobarrosalmeida | 1:acdf490d94a7 | 209 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 210 | enum sens_itf_access_rights_e |
marcelobarrosalmeida | 1:acdf490d94a7 | 211 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 212 | SENS_ITF_ACCESS_READ_ONLY = 0x01, |
marcelobarrosalmeida | 1:acdf490d94a7 | 213 | SENS_ITF_ACCESS_WRITE_ONLY = 0x02, |
marcelobarrosalmeida | 1:acdf490d94a7 | 214 | SENS_ITF_ACCESS_READ_WRITE = 0x03, |
marcelobarrosalmeida | 1:acdf490d94a7 | 215 | }; |
marcelobarrosalmeida | 1:acdf490d94a7 | 216 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 217 | enum sens_itf_sensor_capabilities_e |
marcelobarrosalmeida | 1:acdf490d94a7 | 218 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 219 | SENS_ITF_CAPABILITIES_BATTERY = 0x01, |
marcelobarrosalmeida | 1:acdf490d94a7 | 220 | SENS_ITF_CAPABILITIES_DISPLAY = 0x02, |
marcelobarrosalmeida | 1:acdf490d94a7 | 221 | SENS_ITF_CAPABILITIES_WPAN_STATUS = 0x04, |
marcelobarrosalmeida | 1:acdf490d94a7 | 222 | SENS_ITF_CAPABILITIES_BATTERY_STATUS = 0x08, |
marcelobarrosalmeida | 1:acdf490d94a7 | 223 | }; |
marcelobarrosalmeida | 1:acdf490d94a7 | 224 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 225 | enum sens_itf_bat_status_e |
marcelobarrosalmeida | 1:acdf490d94a7 | 226 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 227 | SENS_ITF_BAT_STATUS_CHARGED = 0x00, |
marcelobarrosalmeida | 1:acdf490d94a7 | 228 | SENS_ITF_BAT_STATUS_CHARGING = 0x01, |
marcelobarrosalmeida | 1:acdf490d94a7 | 229 | SENS_ITF_BAT_STATUS_DISCHARGING = 0x02, |
marcelobarrosalmeida | 1:acdf490d94a7 | 230 | SENS_ITF_BAT_STATUS_FAILURE = 0x03, |
marcelobarrosalmeida | 1:acdf490d94a7 | 231 | }; |
marcelobarrosalmeida | 1:acdf490d94a7 | 232 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 233 | enum sens_itf_wpan_status_e |
marcelobarrosalmeida | 1:acdf490d94a7 | 234 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 235 | SENS_ITF_WPAN_STATUS_CONNECTED = 0x00, |
marcelobarrosalmeida | 1:acdf490d94a7 | 236 | SENS_ITF_WPAN_STATUS_DISCONNECTED = 0x01, |
marcelobarrosalmeida | 1:acdf490d94a7 | 237 | SENS_ITF_WPAN_STATUS_CONNECTING = 0x02, |
marcelobarrosalmeida | 1:acdf490d94a7 | 238 | }; |
marcelobarrosalmeida | 1:acdf490d94a7 | 239 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 240 | union sens_itf_point_data_u |
marcelobarrosalmeida | 1:acdf490d94a7 | 241 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 242 | uint8_t u8; |
marcelobarrosalmeida | 1:acdf490d94a7 | 243 | int8_t s8; |
marcelobarrosalmeida | 1:acdf490d94a7 | 244 | uint16_t u16; |
marcelobarrosalmeida | 1:acdf490d94a7 | 245 | int16_t s16; |
marcelobarrosalmeida | 1:acdf490d94a7 | 246 | uint32_t u32; |
marcelobarrosalmeida | 1:acdf490d94a7 | 247 | int32_t s32; |
marcelobarrosalmeida | 1:acdf490d94a7 | 248 | uint64_t u64; |
marcelobarrosalmeida | 1:acdf490d94a7 | 249 | int64_t s64; |
marcelobarrosalmeida | 1:acdf490d94a7 | 250 | float fp32; |
marcelobarrosalmeida | 1:acdf490d94a7 | 251 | double fp64; |
marcelobarrosalmeida | 1:acdf490d94a7 | 252 | }; |
marcelobarrosalmeida | 1:acdf490d94a7 | 253 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 254 | typedef struct sens_itf_cmd_bat_status_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 255 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 256 | uint8_t status; |
marcelobarrosalmeida | 1:acdf490d94a7 | 257 | } sens_itf_cmd_bat_status_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 258 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 259 | typedef struct sens_itf_cmd_bat_charge_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 260 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 261 | uint8_t charge; |
marcelobarrosalmeida | 1:acdf490d94a7 | 262 | } sens_itf_cmd_bat_charge_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 263 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 264 | typedef struct sens_itf_cmd_command_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 265 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 266 | uint8_t cmd; |
marcelobarrosalmeida | 1:acdf490d94a7 | 267 | } sens_itf_cmd_command_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 268 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 269 | typedef struct sens_itf_cmd_command_res_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 270 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 271 | uint8_t status; |
marcelobarrosalmeida | 1:acdf490d94a7 | 272 | } sens_itf_cmd_command_res_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 273 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 274 | typedef struct sens_itf_cmd_wpan_status_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 275 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 276 | uint8_t status; |
marcelobarrosalmeida | 1:acdf490d94a7 | 277 | } sens_itf_cmd_wpan_status_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 278 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 279 | typedef struct sens_itf_cmd_wpan_strenght_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 280 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 281 | uint8_t strenght; |
marcelobarrosalmeida | 1:acdf490d94a7 | 282 | } sens_itf_cmd_wpan_strenght_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 283 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 284 | typedef struct sens_itf_cmd_write_display_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 285 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 286 | uint8_t line; |
marcelobarrosalmeida | 1:acdf490d94a7 | 287 | uint8_t msg[SENS_ITF_DSP_MSG_MAX_SIZE]; |
marcelobarrosalmeida | 1:acdf490d94a7 | 288 | } sens_itf_cmd_write_display_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 289 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 290 | typedef struct sens_itf_cmd_svr_addr_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 291 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 292 | uint8_t addr[SENS_ITF_SERVER_ADDR_SIZE]; |
marcelobarrosalmeida | 1:acdf490d94a7 | 293 | } sens_itf_cmd_svr_addr_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 294 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 295 | typedef struct sens_itf_cmd_itf_version_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 296 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 297 | uint8_t version; |
marcelobarrosalmeida | 1:acdf490d94a7 | 298 | } sens_itf_cmd_itf_version_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 299 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 300 | typedef struct sens_itf_cmd_brd_id_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 301 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 302 | uint8_t model[SENS_ITF_MODEL_NAME_SIZE]; |
marcelobarrosalmeida | 1:acdf490d94a7 | 303 | uint8_t manufactor[SENS_ITF_MANUF_NAME_SIZE]; |
marcelobarrosalmeida | 1:acdf490d94a7 | 304 | uint32_t sensor_id; |
marcelobarrosalmeida | 1:acdf490d94a7 | 305 | uint8_t hardware_revision; |
marcelobarrosalmeida | 1:acdf490d94a7 | 306 | uint8_t num_of_points; |
marcelobarrosalmeida | 1:acdf490d94a7 | 307 | uint8_t cabalities; |
marcelobarrosalmeida | 1:acdf490d94a7 | 308 | } sens_itf_cmd_brd_id_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 309 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 310 | typedef struct sens_itf_cmd_brd_status_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 311 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 312 | uint8_t status; |
marcelobarrosalmeida | 1:acdf490d94a7 | 313 | } sens_itf_cmd_brd_status_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 314 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 315 | typedef struct sens_itf_cmd_point_desc_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 316 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 317 | uint8_t name[SENS_ITF_POINT_NAME_SIZE]; |
marcelobarrosalmeida | 1:acdf490d94a7 | 318 | uint8_t type; |
marcelobarrosalmeida | 1:acdf490d94a7 | 319 | uint8_t unit; |
marcelobarrosalmeida | 1:acdf490d94a7 | 320 | uint8_t access_rights; |
marcelobarrosalmeida | 1:acdf490d94a7 | 321 | uint32_t sampling_time_x250ms; |
marcelobarrosalmeida | 1:acdf490d94a7 | 322 | } sens_itf_cmd_point_desc_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 323 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 324 | typedef struct sens_itf_cmd_point_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 325 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 326 | union sens_itf_point_data_u value; |
marcelobarrosalmeida | 1:acdf490d94a7 | 327 | uint8_t type; |
marcelobarrosalmeida | 1:acdf490d94a7 | 328 | } sens_itf_cmd_point_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 329 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 330 | typedef struct sens_itf_point_ctrl_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 331 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 332 | uint8_t num_of_points; |
marcelobarrosalmeida | 1:acdf490d94a7 | 333 | struct { |
marcelobarrosalmeida | 1:acdf490d94a7 | 334 | sens_itf_cmd_point_desc_t desc; |
marcelobarrosalmeida | 1:acdf490d94a7 | 335 | sens_itf_cmd_point_t value; |
marcelobarrosalmeida | 1:acdf490d94a7 | 336 | } points[SENS_ITF_MAX_POINTS]; |
marcelobarrosalmeida | 1:acdf490d94a7 | 337 | } sens_itf_point_ctrl_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 338 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 339 | union sens_itf_cmds_u |
marcelobarrosalmeida | 1:acdf490d94a7 | 340 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 341 | sens_itf_cmd_bat_status_t bat_status_cmd; |
marcelobarrosalmeida | 1:acdf490d94a7 | 342 | sens_itf_cmd_bat_charge_t bat_charge_cmd; |
marcelobarrosalmeida | 1:acdf490d94a7 | 343 | sens_itf_cmd_command_t command_cmd; |
marcelobarrosalmeida | 1:acdf490d94a7 | 344 | sens_itf_cmd_command_res_t command_res_cmd; |
marcelobarrosalmeida | 1:acdf490d94a7 | 345 | sens_itf_cmd_wpan_status_t wpan_status_cmd; |
marcelobarrosalmeida | 1:acdf490d94a7 | 346 | sens_itf_cmd_wpan_strenght_t wpan_strength_cmd; |
marcelobarrosalmeida | 1:acdf490d94a7 | 347 | sens_itf_cmd_write_display_t write_display_cmd; |
marcelobarrosalmeida | 1:acdf490d94a7 | 348 | sens_itf_cmd_svr_addr_t svr_addr_cmd; |
marcelobarrosalmeida | 1:acdf490d94a7 | 349 | sens_itf_cmd_itf_version_t itf_version_cmd; |
marcelobarrosalmeida | 1:acdf490d94a7 | 350 | sens_itf_cmd_brd_id_t brd_id_cmd; |
marcelobarrosalmeida | 1:acdf490d94a7 | 351 | sens_itf_cmd_brd_status_t brd_status_cmd; |
marcelobarrosalmeida | 1:acdf490d94a7 | 352 | sens_itf_cmd_point_desc_t point_desc_cmd; |
marcelobarrosalmeida | 1:acdf490d94a7 | 353 | sens_itf_cmd_point_t point_value_cmd; |
marcelobarrosalmeida | 1:acdf490d94a7 | 354 | }; |
marcelobarrosalmeida | 1:acdf490d94a7 | 355 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 356 | typedef struct sens_itf_cmd_req_hdr_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 357 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 358 | uint8_t size; |
marcelobarrosalmeida | 1:acdf490d94a7 | 359 | uint8_t addr; |
marcelobarrosalmeida | 1:acdf490d94a7 | 360 | } sens_itf_cmd_req_hdr_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 361 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 362 | typedef struct sens_itf_cmd_res_hdr_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 363 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 364 | uint8_t size; |
marcelobarrosalmeida | 1:acdf490d94a7 | 365 | uint8_t status; |
marcelobarrosalmeida | 1:acdf490d94a7 | 366 | uint8_t addr; |
marcelobarrosalmeida | 1:acdf490d94a7 | 367 | } sens_itf_cmd_res_hdr_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 368 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 369 | typedef struct sens_itf_cmd_req_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 370 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 371 | sens_itf_cmd_req_hdr_t hdr; |
marcelobarrosalmeida | 1:acdf490d94a7 | 372 | union sens_itf_cmds_u payload; |
marcelobarrosalmeida | 1:acdf490d94a7 | 373 | uint16_t crc; |
marcelobarrosalmeida | 1:acdf490d94a7 | 374 | } sens_itf_cmd_req_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 375 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 376 | typedef struct sens_itf_cmd_res_s |
marcelobarrosalmeida | 1:acdf490d94a7 | 377 | { |
marcelobarrosalmeida | 1:acdf490d94a7 | 378 | sens_itf_cmd_res_hdr_t hdr; |
marcelobarrosalmeida | 1:acdf490d94a7 | 379 | union sens_itf_cmds_u payload; |
marcelobarrosalmeida | 1:acdf490d94a7 | 380 | uint16_t crc; |
marcelobarrosalmeida | 1:acdf490d94a7 | 381 | } sens_itf_cmd_res_t; |
marcelobarrosalmeida | 1:acdf490d94a7 | 382 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 383 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 384 | //extern uint8_t sens_itf_send_cmd(sens_itf_cmd_req_t * cmd, sens_itf_cmd_res_t * ans); |
marcelobarrosalmeida | 1:acdf490d94a7 | 385 | //extern int sens_itf_send_cmd_async(const sens_itf_cmd_req_t * const cmd, const sens_itf_cmd_res_t * ans); |
marcelobarrosalmeida | 1:acdf490d94a7 | 386 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 387 | extern uint8_t sens_itf_mote_init(void); |
marcelobarrosalmeida | 1:acdf490d94a7 | 388 | extern uint8_t sens_itf_sensor_init(void); |
marcelobarrosalmeida | 1:acdf490d94a7 | 389 | extern void sens_itf_mote_main(void); |
marcelobarrosalmeida | 1:acdf490d94a7 | 390 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 391 | extern uint8_t sens_itf_unpack_point_value(sens_itf_cmd_point_t *point, uint8_t *buf); |
marcelobarrosalmeida | 1:acdf490d94a7 | 392 | extern uint8_t sens_itf_pack_point_value(const sens_itf_cmd_point_t *point, uint8_t *buf); |
marcelobarrosalmeida | 1:acdf490d94a7 | 393 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 394 | extern uint8_t sens_itf_unpack_cmd_res(sens_itf_cmd_res_t *cmd, uint8_t *frame, uint8_t frame_size); |
marcelobarrosalmeida | 1:acdf490d94a7 | 395 | extern uint8_t sens_itf_unpack_cmd_req(sens_itf_cmd_req_t *cmd, uint8_t *frame, uint8_t frame_size); |
marcelobarrosalmeida | 1:acdf490d94a7 | 396 | extern uint8_t sens_itf_pack_cmd_res (sens_itf_cmd_res_t *cmd, uint8_t *frame); |
marcelobarrosalmeida | 1:acdf490d94a7 | 397 | extern uint8_t sens_itf_pack_cmd_req (sens_itf_cmd_req_t *cmd, uint8_t *frame); |
marcelobarrosalmeida | 1:acdf490d94a7 | 398 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 399 | #ifdef __cplusplus |
marcelobarrosalmeida | 1:acdf490d94a7 | 400 | } |
marcelobarrosalmeida | 1:acdf490d94a7 | 401 | #endif |
marcelobarrosalmeida | 1:acdf490d94a7 | 402 | |
marcelobarrosalmeida | 1:acdf490d94a7 | 403 | #endif /* __SENS_ITF_H__ */ |