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

Dependencies:   mbed-src

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?

UserRevisionLine numberNew 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__ */