BLE fota Robot Demo
Dependencies: mbed-rtos mbed mbed_fota_fan_control
Fork of mbed_fota_lamp_control by
dialog_fota/gattc_task.h@13:e714e2971c49, 2015-10-13 (annotated)
- Committer:
- dudnwjs
- Date:
- Tue Oct 13 06:35:19 2015 +0000
- Revision:
- 13:e714e2971c49
- Parent:
- 12:e3d3676753cc
lamp demo;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dudnwjs | 12:e3d3676753cc | 1 | /** |
dudnwjs | 12:e3d3676753cc | 2 | * @file gapm_task.h |
dudnwjs | 12:e3d3676753cc | 3 | * @brief GATTC TASK Header. |
dudnwjs | 12:e3d3676753cc | 4 | * Copyright 2015 SEVENCORE Co., Ltd. |
dudnwjs | 12:e3d3676753cc | 5 | * |
dudnwjs | 12:e3d3676753cc | 6 | * @author HyeongJun Kim |
dudnwjs | 12:e3d3676753cc | 7 | * @version 1.0.0 |
dudnwjs | 12:e3d3676753cc | 8 | * @date 2015-08-29 |
dudnwjs | 12:e3d3676753cc | 9 | */ |
dudnwjs | 12:e3d3676753cc | 10 | #ifndef GATTC_TASK_H |
dudnwjs | 12:e3d3676753cc | 11 | #define GATTC_TASK_H |
dudnwjs | 12:e3d3676753cc | 12 | /** |
dudnwjs | 12:e3d3676753cc | 13 | **************************************************************************************** |
dudnwjs | 12:e3d3676753cc | 14 | * @addtogroup dialog_fota module |
dudnwjs | 12:e3d3676753cc | 15 | * @brief GATTC TASK Header. |
dudnwjs | 12:e3d3676753cc | 16 | * |
dudnwjs | 12:e3d3676753cc | 17 | * @{ |
dudnwjs | 12:e3d3676753cc | 18 | **************************************************************************************** |
dudnwjs | 12:e3d3676753cc | 19 | */ |
dudnwjs | 12:e3d3676753cc | 20 | namespace sevencore_fota{ |
dudnwjs | 12:e3d3676753cc | 21 | |
dudnwjs | 12:e3d3676753cc | 22 | /// GATT Task messages |
dudnwjs | 12:e3d3676753cc | 23 | enum gattc_msg_id |
dudnwjs | 12:e3d3676753cc | 24 | { |
dudnwjs | 12:e3d3676753cc | 25 | /* Default event */ |
dudnwjs | 12:e3d3676753cc | 26 | /// Command Complete event |
dudnwjs | 12:e3d3676753cc | 27 | GATTC_CMP_EVT = TASK_GATTC*1024, |
dudnwjs | 12:e3d3676753cc | 28 | |
dudnwjs | 12:e3d3676753cc | 29 | /* ATTRIBUTE CLIENT */ |
dudnwjs | 12:e3d3676753cc | 30 | /// Server configuration request |
dudnwjs | 12:e3d3676753cc | 31 | GATTC_EXC_MTU_CMD, |
dudnwjs | 12:e3d3676753cc | 32 | |
dudnwjs | 12:e3d3676753cc | 33 | /*Discover All Services */ |
dudnwjs | 12:e3d3676753cc | 34 | /*Discover Services by Service UUID*/ |
dudnwjs | 12:e3d3676753cc | 35 | /*Find Included Services*/ |
dudnwjs | 12:e3d3676753cc | 36 | /*Discover Characteristics by UUID*/ |
dudnwjs | 12:e3d3676753cc | 37 | /*Discover All Characteristics of a Service*/ |
dudnwjs | 12:e3d3676753cc | 38 | /*Discover All Characteristic Descriptors*/ |
dudnwjs | 12:e3d3676753cc | 39 | /// Discovery command |
dudnwjs | 12:e3d3676753cc | 40 | GATTC_DISC_CMD, |
dudnwjs | 12:e3d3676753cc | 41 | /* GATT -> HL: Events to Upper layer */ |
dudnwjs | 12:e3d3676753cc | 42 | /*Discover All Services*/ |
dudnwjs | 12:e3d3676753cc | 43 | /// Discovery services indication |
dudnwjs | 12:e3d3676753cc | 44 | GATTC_DISC_SVC_IND, |
dudnwjs | 12:e3d3676753cc | 45 | /*Find Included Services*/ |
dudnwjs | 12:e3d3676753cc | 46 | /// Discover included services indication |
dudnwjs | 12:e3d3676753cc | 47 | GATTC_DISC_SVC_INCL_IND, |
dudnwjs | 12:e3d3676753cc | 48 | /*Discover All Characteristics of a Service*/ |
dudnwjs | 12:e3d3676753cc | 49 | /// Discover characteristic indication |
dudnwjs | 12:e3d3676753cc | 50 | GATTC_DISC_CHAR_IND, |
dudnwjs | 12:e3d3676753cc | 51 | /*Discover All Characteristic Descriptors*/ |
dudnwjs | 12:e3d3676753cc | 52 | /// Discovery characteristic descriptor indication |
dudnwjs | 12:e3d3676753cc | 53 | GATTC_DISC_CHAR_DESC_IND, |
dudnwjs | 12:e3d3676753cc | 54 | |
dudnwjs | 12:e3d3676753cc | 55 | /*Read Value*/ |
dudnwjs | 12:e3d3676753cc | 56 | /*Read Using UUID*/ |
dudnwjs | 12:e3d3676753cc | 57 | /*Read Long Value*/ |
dudnwjs | 12:e3d3676753cc | 58 | /*Read Multiple Values*/ |
dudnwjs | 12:e3d3676753cc | 59 | /// Read command |
dudnwjs | 12:e3d3676753cc | 60 | GATTC_READ_CMD, |
dudnwjs | 12:e3d3676753cc | 61 | /// Read response |
dudnwjs | 12:e3d3676753cc | 62 | GATTC_READ_IND, |
dudnwjs | 12:e3d3676753cc | 63 | |
dudnwjs | 12:e3d3676753cc | 64 | /*Write without response*/ |
dudnwjs | 12:e3d3676753cc | 65 | /*Write without response with Authentication*/ |
dudnwjs | 12:e3d3676753cc | 66 | /*Write Characteristic Value*/ |
dudnwjs | 12:e3d3676753cc | 67 | /*Signed Write Characteristic Value*/ |
dudnwjs | 12:e3d3676753cc | 68 | /*Write Long Characteristic Value*/ |
dudnwjs | 12:e3d3676753cc | 69 | /*Characteristic Value Reliable Write*/ |
dudnwjs | 12:e3d3676753cc | 70 | /*Write Characteristic Descriptors*/ |
dudnwjs | 12:e3d3676753cc | 71 | /*Write Long Characteristic Descriptors*/ |
dudnwjs | 12:e3d3676753cc | 72 | /*Characteristic Value Reliable Write*/ |
dudnwjs | 12:e3d3676753cc | 73 | /// Write command request |
dudnwjs | 12:e3d3676753cc | 74 | GATTC_WRITE_CMD, |
dudnwjs | 12:e3d3676753cc | 75 | |
dudnwjs | 12:e3d3676753cc | 76 | /* Cancel / Execute pending write operations */ |
dudnwjs | 12:e3d3676753cc | 77 | /// Execute write characteristic request |
dudnwjs | 12:e3d3676753cc | 78 | GATTC_EXECUTE_WRITE_CMD, |
dudnwjs | 12:e3d3676753cc | 79 | |
dudnwjs | 12:e3d3676753cc | 80 | /* Reception of an indication or notification from peer device. */ |
dudnwjs | 12:e3d3676753cc | 81 | /// peer device triggers an event (indication or notification) |
dudnwjs | 12:e3d3676753cc | 82 | GATTC_EVENT_IND, |
dudnwjs | 12:e3d3676753cc | 83 | |
dudnwjs | 12:e3d3676753cc | 84 | /// Registration to peer device events (Indication/Notification). |
dudnwjs | 12:e3d3676753cc | 85 | GATTC_REG_TO_PEER_EVT_CMD, |
dudnwjs | 12:e3d3676753cc | 86 | |
dudnwjs | 12:e3d3676753cc | 87 | /* ATTRIBUTE SERVER */ |
dudnwjs | 12:e3d3676753cc | 88 | /*Notify Characteristic*/ |
dudnwjs | 12:e3d3676753cc | 89 | /*Indicate Characteristic*/ |
dudnwjs | 12:e3d3676753cc | 90 | /// send an event to peer device |
dudnwjs | 12:e3d3676753cc | 91 | GATTC_SEND_EVT_CMD, |
dudnwjs | 12:e3d3676753cc | 92 | |
dudnwjs | 12:e3d3676753cc | 93 | /* Indicate that write operation is requested. */ |
dudnwjs | 12:e3d3676753cc | 94 | /// Write command indicated to upper layers. |
dudnwjs | 12:e3d3676753cc | 95 | GATTC_WRITE_CMD_IND, |
dudnwjs | 12:e3d3676753cc | 96 | |
dudnwjs | 12:e3d3676753cc | 97 | /* Service Changed Characteristic Indication */ |
dudnwjs | 12:e3d3676753cc | 98 | /** |
dudnwjs | 12:e3d3676753cc | 99 | * Send a Service Changed indication to a device |
dudnwjs | 12:e3d3676753cc | 100 | * (message structure is struct gattm_svc_changed_ind_req) |
dudnwjs | 12:e3d3676753cc | 101 | */ |
dudnwjs | 12:e3d3676753cc | 102 | GATTC_SEND_SVC_CHANGED_CMD, |
dudnwjs | 12:e3d3676753cc | 103 | /** |
dudnwjs | 12:e3d3676753cc | 104 | * Inform the application when sending of Service Changed indications has been |
dudnwjs | 12:e3d3676753cc | 105 | * enabled or disabled |
dudnwjs | 12:e3d3676753cc | 106 | */ |
dudnwjs | 12:e3d3676753cc | 107 | GATTC_SVC_CHANGED_CFG_IND, |
dudnwjs | 12:e3d3676753cc | 108 | |
dudnwjs | 12:e3d3676753cc | 109 | /* Confirm write command execution. */ |
dudnwjs | 12:e3d3676753cc | 110 | /// Write command confirmation from upper layers. |
dudnwjs | 12:e3d3676753cc | 111 | GATTC_WRITE_CMD_CFM, |
dudnwjs | 12:e3d3676753cc | 112 | |
dudnwjs | 12:e3d3676753cc | 113 | /* Indicate that a read operation is requested. */ |
dudnwjs | 12:e3d3676753cc | 114 | /// Read command indicated to upper layers. |
dudnwjs | 12:e3d3676753cc | 115 | GATTC_READ_CMD_IND, |
dudnwjs | 12:e3d3676753cc | 116 | }; |
dudnwjs | 12:e3d3676753cc | 117 | |
dudnwjs | 12:e3d3676753cc | 118 | /// Write peer attribute value command |
dudnwjs | 12:e3d3676753cc | 119 | struct gattc_write_cmd |
dudnwjs | 12:e3d3676753cc | 120 | { |
dudnwjs | 12:e3d3676753cc | 121 | /// Request type |
dudnwjs | 12:e3d3676753cc | 122 | uint8_t req_type; |
dudnwjs | 12:e3d3676753cc | 123 | /// Perform automatic execution |
dudnwjs | 12:e3d3676753cc | 124 | /// (if false, an ATT Prepare Write will be used this shall be use for reliable write) |
dudnwjs | 12:e3d3676753cc | 125 | bool auto_execute; |
dudnwjs | 12:e3d3676753cc | 126 | /// Attribute handle |
dudnwjs | 12:e3d3676753cc | 127 | uint16_t handle; |
dudnwjs | 12:e3d3676753cc | 128 | /// Write offset |
dudnwjs | 12:e3d3676753cc | 129 | uint16_t offset; |
dudnwjs | 12:e3d3676753cc | 130 | /// Write length |
dudnwjs | 12:e3d3676753cc | 131 | uint16_t length; |
dudnwjs | 12:e3d3676753cc | 132 | /// Internal write cursor shall be initialized to 0 |
dudnwjs | 12:e3d3676753cc | 133 | uint16_t cursor; |
dudnwjs | 12:e3d3676753cc | 134 | /// Value to write |
dudnwjs | 12:e3d3676753cc | 135 | uint8_t value[4]; |
dudnwjs | 12:e3d3676753cc | 136 | }; |
dudnwjs | 12:e3d3676753cc | 137 | |
dudnwjs | 12:e3d3676753cc | 138 | |
dudnwjs | 12:e3d3676753cc | 139 | |
dudnwjs | 12:e3d3676753cc | 140 | }//namespace |
dudnwjs | 12:e3d3676753cc | 141 | |
dudnwjs | 12:e3d3676753cc | 142 | /// @} dialog_fota module |
dudnwjs | 12:e3d3676753cc | 143 | #endif |