Программа считывает показания датчиков и управляет сервомашинками.
Fork of NUCLEO_BLUENRG by
gatt_server.h
00001 /******************** (C) COPYRIGHT 2012 STMicroelectronics ******************** 00002 * File Name : gatt_server.h 00003 * Author : AMS - HEA&RF BU 00004 * Version : V1.0.0 00005 * Date : 19-July-2012 00006 * Description : Header file for BlueNRG's GATT server layer. 00007 ******************************************************************************** 00008 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 00009 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 00010 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 00011 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 00012 * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 00013 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 00014 *******************************************************************************/ 00015 00016 #ifndef __GATT_SERVER_H__ 00017 #define __GATT_SERVER_H__ 00018 00019 #include "compiler.h" 00020 #include "ble_status.h" 00021 00022 /** 00023 * UUID table 00024 */ 00025 #define PRIMARY_SERVICE_UUID (0x2800) 00026 #define SECONDARY_SERVICE_UUID (0x2801) 00027 #define INCLUDE_SERVICE_UUID (0x2802) 00028 #define CHARACTERISTIC_UUID (0x2803) 00029 #define CHAR_EXTENDED_PROP_DESC_UUID (0x2900) 00030 #define CHAR_USER_DESC_UUID (0x2901) 00031 #define CHAR_CLIENT_CONFIG_DESC_UUID (0x2902) 00032 #define CHAR_SERVER_CONFIG_DESC_UUID (0x2903) 00033 #define CHAR_FORMAT_DESC_UUID (0x2904) 00034 #define CHAR_AGGR_FMT_DESC_UUID (0x2905) 00035 #define GATT_SERVICE_UUID (0x1801) 00036 #define GAP_SERVICE_UUID (0x1800) 00037 #define SERVICE_CHANGED_UUID (0x2A05) 00038 00039 /****************************************************************************** 00040 * Types 00041 *****************************************************************************/ 00042 00043 /** 00044 * Access permissions 00045 * for an attribute 00046 */ 00047 typedef tHalUint8 tAttrAccessFlags; 00048 #define ATTR_NO_ACCESS (0x00) 00049 #define ATTR_ACCESS_READ_ONLY (0x01) 00050 #define ATTR_ACCESS_WRITE_REQ_ONLY (0x02) 00051 #define ATTR_ACCESS_READ_WRITE (0x03) 00052 #define ATTR_ACCESS_WRITE_WITHOUT_RESPONSE (0x04) 00053 #define ATTR_ACCESS_SIGNED_WRITE_ALLOWED (0x08) 00054 00055 /** 00056 * Allows all write procedures 00057 */ 00058 #define ATTR_ACCESS_WRITE_ANY (0x0E) 00059 00060 /** 00061 * Characteristic properties. 00062 */ 00063 #define CHAR_PROP_BROADCAST (0x01) 00064 #define CHAR_PROP_READ (0x02) 00065 #define CHAR_PROP_WRITE_WITHOUT_RESP (0x04) 00066 #define CHAR_PROP_WRITE (0x08) 00067 #define CHAR_PROP_NOTIFY (0x10) 00068 #define CHAR_PROP_INDICATE (0x20) 00069 #define CHAR_PROP_SIGNED_WRITE (0x40) 00070 #define CHAR_PROP_EXT (0x80) 00071 00072 /** 00073 * Security permissions 00074 * for an attribute 00075 */ 00076 typedef tHalUint8 tAttrSecurityFlags; 00077 #define ATTR_PERMISSION_NONE (0x00) 00078 #define ATTR_PERMISSION_AUTHEN_READ (0x01) 00079 #define ATTR_PERMISSION_AUTHOR_READ (0x02) 00080 #define ATTR_PERMISSION_ENCRY_READ (0x04) 00081 #define ATTR_PERMISSION_AUTHEN_WRITE (0x08) 00082 #define ATTR_PERMISSION_AUTHOR_WRITE (0x10) 00083 #define ATTR_PERMISSION_ENCRY_WRITE (0x20) 00084 00085 /** 00086 * Type of UUID 00087 * (16 bit or 128 bit) 00088 */ 00089 typedef tHalUint8 tUuidType; 00090 #define UUID_TYPE_16 (0x01) 00091 #define UUID_TYPE_128 (0x02) 00092 00093 /** 00094 * Type of service 00095 * (primary or secondary) 00096 */ 00097 typedef tHalUint8 tServiceType; 00098 #define PRIMARY_SERVICE (0x01) 00099 #define SECONDARY_SERVICE (0x02) 00100 00101 /** 00102 * Type of event generated by 00103 * Gatt server 00104 */ 00105 typedef tHalUint8 tGattServerEvent; 00106 #define GATT_SERVER_ATTR_WRITE (0x01) 00107 #define GATT_INTIMATE_AND_WAIT_FOR_APPL_AUTH (0x02) 00108 #define GATT_INTIMATE_APPL_WHEN_READ_N_WAIT (0x04) 00109 #define GATT_SERVER_ATTR_READ_WRITE GATT_SERVER_ATTR_WRITE|GATT_INTIMATE_APPL_WHEN_READ_N_WAIT 00110 00111 00112 /** 00113 * Min encryption key size 00114 */ 00115 #define MIN_ENCRY_KEY_SIZE (7) 00116 00117 /** 00118 * Max encryption key size 00119 */ 00120 #define MAX_ENCRY_KEY_SIZE (0x10) 00121 00122 00123 typedef __packed struct _charactFormat { 00124 tHalUint8 format; 00125 tHalInt8 exp; 00126 tHalUint16 unit; 00127 tHalUint8 name_space; 00128 tHalUint16 desc; 00129 } PACKED charactFormat; 00130 00131 #define FORMAT_UINT8 0x04 00132 #define FORMAT_UINT16 0x06 00133 #define FORMAT_SINT16 0x0E 00134 #define FORMAT_SINT24 0x0F 00135 00136 00137 #define UNIT_UNITLESS 0x2700 00138 #define UNIT_TEMP_CELSIUS 0x272F 00139 #define UNIT_PRESSURE_BAR 0x2780 00140 00141 00142 /* 00143 * Default MTU size 00144 */ 00145 #define ATT_DEFAULT_MTU (23) 00146 00147 00148 #endif /* __GATT_SERVER_H__ */ 00149
Generated on Tue Jul 12 2022 22:44:50 by 1.7.2