From 3cdccc4d63884db9018c3674e543f940da6bc14e Mon Sep 17 00:00:00 2001
From: stark1898y <1658608470@qq.com>
Date: Sun, 8 Dec 2024 11:29:48 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AD=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.cproject | 2 +-
APP/peripheral.c | 73 +++++++++++++++++++++++++-
APP/peripheral_main.c | 42 +++++++++------
HAL/MCU.c | 3 +-
HAL/RTC.c | 2 +-
LIB/CH59xBLE_LIB.h | 116 +++++++++++++++++++++---------------------
6 files changed, 160 insertions(+), 78 deletions(-)
diff --git a/.cproject b/.cproject
index 61dd5ee..8db3d50 100644
--- a/.cproject
+++ b/.cproject
@@ -164,5 +164,5 @@
-
+
diff --git a/APP/peripheral.c b/APP/peripheral.c
index 2b1c990..d106c08 100644
--- a/APP/peripheral.c
+++ b/APP/peripheral.c
@@ -40,7 +40,7 @@
#define SBP_PHY_UPDATE_DELAY 2400
// What is the advertising interval when device is discoverable (units of 625us, 80=50ms)
-#define DEFAULT_ADVERTISING_INTERVAL (160 * 10)
+#define DEFAULT_ADVERTISING_INTERVAL (160 * 1)
// Limited discoverable mode advertises for 30.72s, and then stops
// General discoverable mode advertises indefinitely
@@ -136,6 +136,71 @@ static uint8_t advertData[] = {
HI_UINT16(SIMPLEPROFILE_SERV_UUID)
};
+#if 0
+// 蓝牙广播包的最大长度是37个字节,其中设备地址占用了6个字节,只有31个字节是可用的。
+
+// GAP - SCAN RSP data (max size = 31 bytes)
+static uint8_t scanRspData[] = {
+ // complete name
+ 0x08, // length of this data
+ GAP_ADTYPE_LOCAL_NAME_COMPLETE,
+ 'B',
+ 'L',
+ 'E',
+ '-',
+ 'T',
+ 'Y',
+ 'Q',
+
+ // connection interval range
+ 0x05, // length of this data
+ GAP_ADTYPE_SLAVE_CONN_INTERVAL_RANGE,
+ LO_UINT16(DEFAULT_DESIRED_MIN_CONN_INTERVAL), // 100ms
+ HI_UINT16(DEFAULT_DESIRED_MIN_CONN_INTERVAL),
+ LO_UINT16(DEFAULT_DESIRED_MAX_CONN_INTERVAL), // 1s
+ HI_UINT16(DEFAULT_DESIRED_MAX_CONN_INTERVAL),
+
+ // Tx power level
+ 0x02, // length of this data
+ GAP_ADTYPE_POWER_LEVEL,
+ 0 // 0dBm
+
+ 0x03, // length of this data
+ GAP_ADTYPE_MANUFACTURER_SPECIFIC,
+ // 前两个字节表示厂商 ID
+ 0,
+ 0,
+ 0x10, // 1B 电池电压 30=3V,18=1.8V
+ 0x01, // 1B 阀门类型
+ 0x00, // 1B 阀门工作状态 超欠压、过流
+ 0x00, // 1B 阀门连接状态 (电磁阀BLE控制盒) 0=未连接 1=已连接
+ 0x01, // 1B 阀门开关状态 0=未知 1=关闭 2=关闭过,未按按键恢复 3=关闭过,按下了恢复键 4=打开
+ 0x03, // 1B 阀门温度 有符号整数 25 C
+ 0x04, // 1B 阀门进口压力 0~156 (0)kPa
+ 0x05, // 1B 阀门出口压力 0~100 hPa 0.1kpa
+ 0x06, // 1B 阀门大气压力 80~110 kPa
+};
+
+// GAP - Advertisement data (max size = 31 bytes, though this is
+// best kept short to conserve power while advertising)
+static uint8_t advertData[] = {
+ // Flags; this sets the device to use limited discoverable
+ // mode (advertises for 30 seconds at a time) instead of general
+ // discoverable mode (advertises indefinitely)
+ 0x02, // length of this data
+ GAP_ADTYPE_FLAGS,
+ DEFAULT_DISCOVERABLE_MODE | GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED,
+
+ // service UUID, to notify central devices what services are included
+ // in this peripheral
+ 0x03, // length of this data
+ GAP_ADTYPE_16BIT_MORE, // some of the UUID's, but not all
+ LO_UINT16(SIMPLEPROFILE_SERV_UUID),
+ HI_UINT16(SIMPLEPROFILE_SERV_UUID)
+};
+
+#endif
+
// GAP GATT Attributes
static uint8_t attDeviceName[GAP_DEVICE_NAME_LEN] = "Simple Peripheral";
@@ -227,6 +292,12 @@ void Peripheral_Init()
GAP_SetParamValue(TGAP_DISC_ADV_INT_MIN, advInt);
GAP_SetParamValue(TGAP_DISC_ADV_INT_MAX, advInt);
+ // https://www.cnblogs.com/debugdabiaoge/p/17871551.html
+ // 默认从机在回复扫描请求后,会结束广播事件(默认广播应该是 37 38 39 在 3 个信道轮发)
+ // 如下使能后,可以保证广播包不受扫描请求的影响
+ // uint16_t adv_event_contnue=1<<1;
+ // GAP_SetParamValue(TGAP_ADV_SCAN_REQ_NOTIFY, adv_event_contnue);
+
// Enable scan req notify
GAP_SetParamValue(TGAP_ADV_SCAN_REQ_NOTIFY, ENABLE);
}
diff --git a/APP/peripheral_main.c b/APP/peripheral_main.c
index 1f30f30..ed79d97 100644
--- a/APP/peripheral_main.c
+++ b/APP/peripheral_main.c
@@ -49,32 +49,32 @@ __attribute__((noinline)) void Main_Circulation()
// LED
GPIOA_SetBits(GPIO_Pin_4);
GPIOA_ModeCfg(GPIO_Pin_4, GPIO_ModeOut_PP_5mA);
- DelayMs(50);
+ DelayMs(1000);
PRINT("LED ON\n");
GPIOA_ResetBits(GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_15);
GPIOA_ModeCfg(GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_15, GPIO_ModeIN_PD);
- DelayMs(50);
+ DelayMs(1000);
PRINT("LED OFF\n");
GPIOA_SetBits(GPIO_Pin_5);
GPIOA_ModeCfg(GPIO_Pin_5, GPIO_ModeOut_PP_5mA);
- DelayMs(50);
+ DelayMs(1000);
PRINT("LED ON\n");
GPIOA_ResetBits(GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_15);
GPIOA_ModeCfg(GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_15, GPIO_ModeIN_PD);
- DelayMs(50);
+ DelayMs(1000);
PRINT("LED OFF\n");
GPIOA_SetBits(GPIO_Pin_15);
- GPIOA_ModeCfg(GPIO_Pin_4, GPIO_ModeOut_PP_5mA);
- DelayMs(50);
+ GPIOA_ModeCfg(GPIO_Pin_15, GPIO_ModeOut_PP_5mA);
+ DelayMs(1000);
PRINT("LED ON\n");
GPIOA_ResetBits(GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_15);
GPIOA_ModeCfg(GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_15, GPIO_ModeIN_PD);
- DelayMs(50);
+ DelayMs(1000);
PRINT("LED OFF\n");
DelayMs(100);
@@ -87,8 +87,6 @@ __attribute__((noinline)) void Main_Circulation()
DelayMs(1000 * 5);
-
-
// EMV_CTRL
GPIOB_SetBits(GPIO_Pin_13);
GPIOB_ModeCfg(GPIO_Pin_13, GPIO_ModeOut_PP_5mA);
@@ -116,15 +114,30 @@ int main(void)
PWR_DCDCCfg(ENABLE);
#endif
SetSysClock(CLK_SOURCE_PLL_60MHz);
+
#if (defined(HAL_SLEEP)) && (HAL_SLEEP == TRUE)
- GPIOA_ModeCfg(GPIO_Pin_All, GPIO_ModeIN_PU);
- GPIOB_ModeCfg(GPIO_Pin_All, GPIO_ModeIN_PU);
+ GPIOA_ModeCfg(GPIO_Pin_All, GPIO_ModeIN_PD);
+ GPIOB_ModeCfg(GPIO_Pin_All, GPIO_ModeIN_PD);
+#endif
+#ifdef DEBUG
+ GPIOB_SetBits(bTXD0);
+ GPIOB_ModeCfg(bTXD0, GPIO_ModeOut_PP_5mA);
+ UART0_DefInit();
#endif
// 12V_EN
GPIOA_ResetBits(GPIO_Pin_13);
GPIOA_ModeCfg(GPIO_Pin_13, GPIO_ModeOut_PP_5mA);
+ // EMV_CTRL
+ GPIOB_SetBits(GPIO_Pin_13);
+ GPIOB_ModeCfg(GPIO_Pin_13, GPIO_ModeOut_PP_5mA);
+ PRINT("EMV_CTRL ON\n");
+ DelayMs(100);
+
+ GPIOB_ResetBits(GPIO_Pin_13);
+ PRINT("EMV_CTRL OFF\n");
+
// EMV_CTRL
GPIOB_ResetBits(GPIO_Pin_13);
GPIOB_ModeCfg(GPIO_Pin_13, GPIO_ModeIN_PD);
@@ -148,11 +161,8 @@ int main(void)
// GPIOA_ResetBits(GPIO_Pin_1);
GPIOA_ModeCfg(GPIO_Pin_14, GPIO_ModeIN_Floating);
-#ifdef DEBUG
- GPIOB_SetBits(bTXD0);
- GPIOB_ModeCfg(bTXD0, GPIO_ModeOut_PP_5mA);
- UART0_DefInit();
-#endif
+ DelayMs(1000 * 5);
+
PRINT("%s\n", VER_LIB);
CH59x_BLEInit();
HAL_Init();
diff --git a/HAL/MCU.c b/HAL/MCU.c
index d4a8695..612d895 100644
--- a/HAL/MCU.c
+++ b/HAL/MCU.c
@@ -6,7 +6,7 @@
* Description : 硬件任务处理函数及BLE和硬件初始化
*********************************************************************************
* Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd.
- * Attention: This software (modified or not) and binary are used for
+ * Attention: This software (modified or not) and binary are used for
* microcontroller manufactured by Nanjing Qinheng Microelectronics.
*******************************************************************************/
@@ -159,6 +159,7 @@ void CH59x_BLEInit(void)
for(i = 0; i < 6; i++)
{
cfg.MacAddr[i] = MacAddr[i]; // 使用芯片mac地址
+ PRINT("MacAddr[%d]: %x\n", i, MacAddr[i]);
}
}
#endif
diff --git a/HAL/RTC.c b/HAL/RTC.c
index 899cfd3..47367c4 100644
--- a/HAL/RTC.c
+++ b/HAL/RTC.c
@@ -6,7 +6,7 @@
* Description : RTC配置及其初始化
*********************************************************************************
* Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd.
- * Attention: This software (modified or not) and binary are used for
+ * Attention: This software (modified or not) and binary are used for
* microcontroller manufactured by Nanjing Qinheng Microelectronics.
*******************************************************************************/
diff --git a/LIB/CH59xBLE_LIB.h b/LIB/CH59xBLE_LIB.h
index 27e427d..2340ef0 100644
--- a/LIB/CH59xBLE_LIB.h
+++ b/LIB/CH59xBLE_LIB.h
@@ -5,7 +5,7 @@
* Date : 2023/02/13
* Description : head file
* Copyright (c) 2023 Nanjing Qinheng Microelectronics Co., Ltd.
- * Attention: This software (modified or not) and binary are used for
+ * Attention: This software (modified or not) and binary are used for
* microcontroller manufactured by Nanjing Qinheng Microelectronics.
*******************************************************************************/
@@ -408,7 +408,7 @@ extern const uint8_t VER_LIB[]; // LIB version
#define NAV_UUID 0x2A68 // Navigation
#define POS_QUALITY_UUID 0x2A69 // Position Quality
#define LN_FEATURE_UUID 0x2A6A // LN Feature
-#define LN_CTRL_PT_UUID 0x2A6B // LN Control Point
+#define LN_CTRL_PT_UUID 0x2A6B // LN Control Point
#define ELE_UUID 0x2A6C // Elevation
#define PRESSURE_UUID 0x2A6D // Pressure
#define TEMP_UUID 0x2A6E // Temperature
@@ -506,7 +506,7 @@ extern const uint8_t VER_LIB[]; // LIB version
/************************************ATT***************************************/
#define ATT_MTU_SIZE 23 //!< Minimum ATT MTU size
#define ATT_MAX_MTU_SIZE 512 //!< Maximum ATT MTU size
-// ATT Methods
+// ATT Methods
#define ATT_ERROR_RSP 0x01 //!< ATT Error Response
#define ATT_EXCHANGE_MTU_REQ 0x02 //!< ATT Exchange MTU Request
#define ATT_EXCHANGE_MTU_RSP 0x03 //!< ATT Exchange MTU Response
@@ -1480,7 +1480,7 @@ typedef struct
* All subsequent ATT Requests and Indications received by the local ATT Server
* and Client respectively will be dropped.
*
- * This message is to inform the app (that has registered with GAP by calling
+ * This message is to inform the app (that has registered with GAP by calling
* GAP_RegisterForMsgs()) in case it wants to drop the connection.
*/
typedef struct
@@ -1494,7 +1494,7 @@ typedef struct
* by the local ATT Server or Client when the ATT MTU size is updated for a
* connection. The default ATT MTU size is 23 octets.
*
- * This message is to inform the app (that has registered with GAP by calling
+ * This message is to inform the app (that has registered with GAP by calling
* GAP_RegisterForMsgs()) about the new ATT MTU size negotiated for a connection.
*/
typedef struct
@@ -1687,8 +1687,8 @@ typedef struct
* - Read Request: ATT_READ_REQ
* - Read Blob Request: ATT_READ_BLOB_REQ
*
- * @note If blePending is returned then it's the responsibility of the application to respond to
- * ATT_READ_REQ and ATT_READ_BLOB_REQ message with ATT_READ_RSP and ATT_READ_BLOB_RSP
+ * @note If blePending is returned then it's the responsibility of the application to respond to
+ * ATT_READ_REQ and ATT_READ_BLOB_REQ message with ATT_READ_RSP and ATT_READ_BLOB_RSP
* message respectively.
*
* @note Payload 'pValue' used with ATT_READ_RSP and ATT_READ_BLOB_RSP must be allocated using GATT_bm_alloc().
@@ -1707,7 +1707,7 @@ typedef struct
*/
typedef uint8_t (*pfnGATTReadAttrCB_t)( uint16_t connHandle, gattAttribute_t *pAttr, uint8_t *pValue,
uint16_t *pLen, uint16_t offset, uint16_t maxLen, uint8_t method );
-
+
/**
* @brief Callback function prototype to write an attribute value.
*
@@ -1718,7 +1718,7 @@ typedef uint8_t (*pfnGATTReadAttrCB_t)( uint16_t connHandle, gattAttribute_t *pA
* - Write Long: ATT_EXECUTE_WRITE_REQ
* - Reliable Writes: Multiple ATT_PREPARE_WRITE_REQ followed by one final ATT_EXECUTE_WRITE_REQ
*
- * @note If blePending is returned then it's the responsibility of the application to 1) respond to
+ * @note If blePending is returned then it's the responsibility of the application to 1) respond to
* ATT_WRITE_REQ and ATT_EXECUTE_WRITE_REQ message with ATT_WRITE_RSP and ATT_EXECUTE_WRITE_RSP
* message respectively, and 2) free each request payload 'pValue' using BM_free().
*
@@ -1737,7 +1737,7 @@ typedef uint8_t (*pfnGATTReadAttrCB_t)( uint16_t connHandle, gattAttribute_t *pA
*/
typedef uint8_t (*pfnGATTWriteAttrCB_t)( uint16_t connHandle, gattAttribute_t *pAttr, uint8_t *pValue,
uint16_t len, uint16_t offset, uint8_t method );
-
+
/**
* @brief Callback function prototype to authorize a Read or Write operation
* on a given attribute.
@@ -2413,7 +2413,7 @@ typedef struct
#define TX_MODE_TX_TIMEOUT TX_MODE_TX_FAIL //!< time of data transmission
#define TX_MODE_RX_DATA 0x02 //!< auto tx mode receive data(ack) and enter idle state
#define TX_MODE_RX_TIMEOUT 0x12 //!< auto tx mode receive timeout and enter idle state
-#define TX_MODE_HOP_SHUT 0x22
+#define TX_MODE_HOP_SHUT 0x22
// RX_MODE call RF_Rx
#define RX_MODE_RX_DATA 0x03 //!< basic or auto rx mode receive data
@@ -2423,7 +2423,7 @@ typedef struct
#define RX_MODE_TX_FINISH 0x04 //!< auto rx mode sends data(ack) successfully and enters idle state
#define RX_MODE_TX_FAIL 0x14 //!< auto rx mode fail to send data and enter idle state
#define RX_MODE_TX_TIMEOUT RX_MODE_TX_FAIL //!< time of data transmission
-#define RX_MODE_HOP_SHUT 0x24
+#define RX_MODE_HOP_SHUT 0x24
// LLE_MODE_TYPE
#define LLE_MODE_BASIC (0) //!< basic mode, enter idle state after sending or receive
@@ -2744,7 +2744,7 @@ extern bStatus_t LL_Decrypt( uint8_t *key, uint8_t *plaintextData, uint8_t *decr
*
* @param handle - connect handle
*
- * @return 0xFFFFFFFF-handle error,number of packets not receiving ack
+ * @return 0xFFFFFFFF-handle error,number of packets not receiving ack
*/
extern uint32_t LL_GetNumberOfUnAckPacket( uint16_t handle );
@@ -2796,7 +2796,7 @@ extern int16_t BLE_ReadCfo( void );
/**
* @brief pa control init
- *
+ *
* @note Can't be called until role Init
*
* @param paControl - pa control parameters(global variable)
@@ -2806,9 +2806,9 @@ extern int16_t BLE_ReadCfo( void );
extern void BLE_PAControlInit( blePaControlConfig_t *paControl );
/**
- * @brief ble register reset and rf calibration
+ * @brief ble register reset and rf calibration
*
- * @param None
+ * @param None
*
* @return None
*/
@@ -2848,7 +2848,7 @@ extern void LLE_IRQLibHandler( void );
*
* @return access address
* the Access Address meets the following requirements:
- * It shall have no more than six consecutive zeros or ones.
+ * It shall have no more than six consecutive zeros or ones.
* It shall not be t he advertising channel packets’ Access Address.
* It shall not be a sequence that differ s from the advertising channel packets' Access Address by only one bit.
* It shall not have all four octets equal.
@@ -2865,7 +2865,7 @@ extern uint8_t linkDB_Register( pfnLinkDBCB_t pFunc );
/*
* linkDB_State - Check to see if a physical link is in a specific state.
- *
+ *
* returns TRUE is the link is in state. FALSE, otherwise.
*/
extern uint8_t linkDB_State( uint16_t connectionHandle, uint8_t state );
@@ -2932,13 +2932,13 @@ extern void GATT_RegisterForInd( uint8_t taskId );
*
* @param handle - handle to look for
* @param pHandle - handle of owner of attribute (to be returned)
- *
+ *
* @return Pointer to attribute record. NULL, otherwise.
*/
extern gattAttribute_t *GATT_FindHandle( uint16_t handle, uint16_t *pHandle );
/**
- * @brief This sub-procedure is used when a server is configured to
+ * @brief This sub-procedure is used when a server is configured to
* indicate a characteristic value to a client and expects an
* attribute protocol layer acknowledgement that the indication
* was successfully received.
@@ -2967,9 +2967,9 @@ extern gattAttribute_t *GATT_FindHandle( uint16_t handle, uint16_t *pHandle );
*/
extern bStatus_t GATT_Indication( uint16_t connHandle, attHandleValueInd_t *pInd, uint8_t authenticated, uint8_t taskId );
/**
- * @brief This sub-procedure is used when a server is configured to
+ * @brief This sub-procedure is used when a server is configured to
* notify a characteristic value to a client without expecting
- * any attribute protocol layer acknowledgement that the
+ * any attribute protocol layer acknowledgement that the
* notification was successfully received.
*
* The ATT Handle Value Notification is used in this sub-procedure.
@@ -3024,7 +3024,7 @@ extern bStatus_t GATT_Notification( uint16_t connHandle, attHandleValueNoti_t *p
extern bStatus_t GATT_ExchangeMTU( uint16_t connHandle, attExchangeMTUReq_t *pReq, uint8_t taskId );
/**
- * @brief This sub-procedure is used by a client to discover all
+ * @brief This sub-procedure is used by a client to discover all
* the primary services on a server.
*
* The ATT Read By Group Type Request is used with the Attribute
@@ -3057,7 +3057,7 @@ extern bStatus_t GATT_DiscAllPrimaryServices( uint16_t connHandle, uint8_t taskI
/**
* @brief This sub-procedure is used by a client to discover a specific
* primary service on a server when only the Service UUID is
- * known. The primary specific service may exist multiple times
+ * known. The primary specific service may exist multiple times
* on a server. The primary service being discovered is identified
* by the service UUID.
*
@@ -3093,7 +3093,7 @@ extern bStatus_t GATT_DiscPrimaryServiceByUUID( uint16_t connHandle, uint8_t *pU
/**
* @brief This sub-procedure is used by a client to find include
- * service declarations within a service definition on a
+ * service declarations within a service definition on a
* server. The service specified is identified by the service
* handle range.
*
@@ -3128,7 +3128,7 @@ extern bStatus_t GATT_DiscPrimaryServiceByUUID( uint16_t connHandle, uint8_t *pU
extern bStatus_t GATT_FindIncludedServices( uint16_t connHandle, uint16_t startHandle, uint16_t endHandle, uint8_t taskId );
/**
- * @brief This sub-procedure is used by a client to find all the
+ * @brief This sub-procedure is used by a client to find all the
* characteristic declarations within a service definition on
* a server when only the service handle range is known. The
* service specified is identified by the service handle range.
@@ -3164,11 +3164,11 @@ extern bStatus_t GATT_FindIncludedServices( uint16_t connHandle, uint16_t startH
extern bStatus_t GATT_DiscAllChars( uint16_t connHandle, uint16_t startHandle, uint16_t endHandle, uint8_t taskId );
/**
- * @brief This sub-procedure is used by a client to discover service
- * characteristics on a server when only the service handle
- * ranges are known and the characteristic UUID is known.
+ * @brief This sub-procedure is used by a client to discover service
+ * characteristics on a server when only the service handle
+ * ranges are known and the characteristic UUID is known.
* The specific service may exist multiple times on a server.
- * The characteristic being discovered is identified by the
+ * The characteristic being discovered is identified by the
* characteristic UUID.
*
* The ATT Read By Type Request is used with the Attribute Type
@@ -3200,10 +3200,10 @@ extern bStatus_t GATT_DiscAllChars( uint16_t connHandle, uint16_t startHandle, u
extern bStatus_t GATT_DiscCharsByUUID( uint16_t connHandle, attReadByTypeReq_t *pReq, uint8_t taskId );
/**
- * @brief This sub-procedure is used by a client to find all the
+ * @brief This sub-procedure is used by a client to find all the
* characteristic descriptors Attribute Handles and Attribute
- * Types within a characteristic definition when only the
- * characteristic handle range is known. The characteristic
+ * Types within a characteristic definition when only the
+ * characteristic handle range is known. The characteristic
* specified is identified by the characteristic handle range.
*
* The ATT Find Information Request is used with the Starting
@@ -3239,12 +3239,12 @@ extern bStatus_t GATT_DiscAllCharDescs( uint16_t connHandle, uint16_t startHandl
* @brief This sub-procedure is used to read a Characteristic Value
* from a server when the client knows the Characteristic Value
* Handle. The ATT Read Request is used with the Attribute Handle
- * parameter set to the Characteristic Value Handle. The Read
+ * parameter set to the Characteristic Value Handle. The Read
* Response returns the Characteristic Value in the Attribute
* Value parameter.
*
* The Read Response only contains a Characteristic Value that
- * is less than or equal to (ATT_MTU ?1) octets in length. If
+ * is less than or equal to (ATT_MTU ?1) octets in length. If
* the Characteristic Value is greater than (ATT_MTU - 1) octets
* in length, the Read Long Characteristic Value procedure may
* be used if the rest of the Characteristic Value is required.
@@ -3281,7 +3281,7 @@ extern bStatus_t GATT_ReadCharValue( uint16_t connHandle, attReadReq_t *pReq, ui
* The Attribute Type is set to the known characteristic UUID and
* the Starting Handle and Ending Handle parameters shall be set
* to the range over which this read is to be performed. This is
- * typically the handle range for the service in which the
+ * typically the handle range for the service in which the
* characteristic belongs.
*
* If the return status from this function is SUCCESS, the calling
@@ -3310,7 +3310,7 @@ extern bStatus_t GATT_ReadUsingCharUUID( uint16_t connHandle, attReadByTypeReq_t
/**
* @brief This sub-procedure is used to read a Characteristic Value from
* a server when the client knows the Characteristic Value Handle
- * and the length of the Characteristic Value is longer than can
+ * and the length of the Characteristic Value is longer than can
* be sent in a single Read Response Attribute Protocol message.
*
* The ATT Read Blob Request is used in this sub-procedure.
@@ -3340,8 +3340,8 @@ extern bStatus_t GATT_ReadLongCharValue( uint16_t connHandle, attReadBlobReq_t *
/**
* @brief This sub-procedure is used to read multiple Characteristic Values
- * from a server when the client knows the Characteristic Value
- * Handles. The Attribute Protocol Read Multiple Requests is used
+ * from a server when the client knows the Characteristic Value
+ * Handles. The Attribute Protocol Read Multiple Requests is used
* with the Set Of Handles parameter set to the Characteristic Value
* Handles. The Read Multiple Response returns the Characteristic
* Values in the Set Of Values parameter.
@@ -3380,16 +3380,16 @@ extern bStatus_t GATT_ReadMultiCharValues( uint16_t connHandle, attReadMultiReq_
* Value. This sub-procedure can not be used to write a long
* characteristic; instead the Write Long Characteristic Values
* sub-procedure should be used.
- *
+ *
* The ATT Write Command is used for this sub-procedure. The
* Attribute Handle parameter shall be set to the Characteristic
* Value Handle. The Attribute Value parameter shall be set to
* the new Characteristic Value.
*
* No response will be sent to the calling application task for this
- * sub-procedure. If the Characteristic Value write request is the
- * wrong size, or has an invalid value as defined by the profile,
- * then the write will not succeed and no error will be generated
+ * sub-procedure. If the Characteristic Value write request is the
+ * wrong size, or has an invalid value as defined by the profile,
+ * then the write will not succeed and no error will be generated
* by the server.
*
* @param connHandle - connection to use
@@ -3406,25 +3406,25 @@ extern bStatus_t GATT_WriteNoRsp( uint16_t connHandle, attWriteReq_t *pReq );
/**
* @brief This sub-procedure is used to write a Characteristic Value
- * to a server when the client knows the Characteristic Value
+ * to a server when the client knows the Characteristic Value
* Handle and the ATT Bearer is not encrypted. This sub-procedure
* shall only be used if the Characteristic Properties authenticated
* bit is enabled and the client and server device share a bond as
* defined in the GAP.
*
* This sub-procedure only writes the first (ATT_MTU ?15) octets
- * of an Attribute Value. This sub-procedure cannot be used to
+ * of an Attribute Value. This sub-procedure cannot be used to
* write a long Attribute.
*
* The ATT Write Command is used for this sub-procedure. The
* Attribute Handle parameter shall be set to the Characteristic
- * Value Handle. The Attribute Value parameter shall be set to
+ * Value Handle. The Attribute Value parameter shall be set to
* the new Characteristic Value authenticated by signing the
* value, as defined in the Security Manager.
*
* No response will be sent to the calling application task for this
- * sub-procedure. If the authenticated Characteristic Value that is
- * written is the wrong size, or has an invalid value as defined by
+ * sub-procedure. If the authenticated Characteristic Value that is
+ * written is the wrong size, or has an invalid value as defined by
* the profile, or the signed value does not authenticate the client,
* then the write will not succeed and no error will be generated by
* the server.
@@ -3447,10 +3447,10 @@ extern bStatus_t GATT_SignedWriteNoRsp( uint16_t connHandle, attWriteReq_t *pReq
* to a server when the client knows the characteristic value
* handle. This sub-procedure only writes the first (ATT_MTU-3)
* octets of a characteristic value. This sub-procedure can not
- * be used to write a long attribute; instead the Write Long
+ * be used to write a long attribute; instead the Write Long
* Characteristic Values sub-procedure should be used.
*
- * The ATT Write Request is used in this sub-procedure. The
+ * The ATT Write Request is used in this sub-procedure. The
* Attribute Handle parameter shall be set to the Characteristic
* Value Handle. The Attribute Value parameter shall be set to
* the new characteristic.
@@ -3481,7 +3481,7 @@ extern bStatus_t GATT_WriteCharValue( uint16_t connHandle, attWriteReq_t *pReq,
/**
* @brief This sub-procedure is used to write a Characteristic Value to
* a server when the client knows the Characteristic Value Handle
- * but the length of the Characteristic Value is longer than can
+ * but the length of the Characteristic Value is longer than can
* be sent in a single Write Request Attribute Protocol message.
*
* The ATT Prepare Write Request and Execute Write Request are
@@ -3520,11 +3520,11 @@ extern bStatus_t GATT_WriteLongCharValue( uint16_t connHandle, attPrepareWriteRe
* and assurance is required that the correct Characteristic Value
* is going to be written by transferring the Characteristic Value
* to be written in both directions before the write is performed.
- * This sub-procedure can also be used when multiple values must
+ * This sub-procedure can also be used when multiple values must
* be written, in order, in a single operation.
*
* The sub-procedure has two phases, the first phase prepares the
- * characteristic values to be written. Once this is complete,
+ * characteristic values to be written. Once this is complete,
* the second phase performs the execution of all of the prepared
* characteristic value writes on the server from this client.
*
@@ -3568,7 +3568,7 @@ extern bStatus_t GATT_ReliableWrites( uint16_t connHandle, attPrepareWriteReq_t
* declaration's Attribute handle.
*
* The ATT Read Request is used for this sub-procedure. The Read
- * Request is used with the Attribute Handle parameter set to the
+ * Request is used with the Attribute Handle parameter set to the
* characteristic descriptor handle. The Read Response returns the
* characteristic descriptor value in the Attribute Value parameter.
*
@@ -3666,7 +3666,7 @@ extern bStatus_t GATT_WriteCharDesc( uint16_t connHandle, attWriteReq_t *pReq, u
/**
* @brief This sub-procedure is used to write a Characteristic Value to
* a server when the client knows the Characteristic Value Handle
- * but the length of the Characteristic Value is longer than can
+ * but the length of the Characteristic Value is longer than can
* be sent in a single Write Request Attribute Protocol message.
*
* The ATT Prepare Write Request and Execute Write Request are
@@ -4078,7 +4078,7 @@ extern bStatus_t GAPRole_TerminateLink( uint16_t connHandle );
* @param connHandle - connection handle
*
* @return bStatus_t: HCI Error Code.
- *
+ *
*/
extern bStatus_t GAPRole_ReadRssiCmd( uint16_t connHandle );
@@ -4477,7 +4477,7 @@ extern bStatus_t RF_SetFrequency( uint32_t frequency, uint8_t ch );
extern void RF_FrequencyHoppingShut( void );
/**
- * @brief
+ * @brief
*
* @param resendCount - Maximum count of sending HOP_TX pdu,0 = unlimited.
*
@@ -4486,7 +4486,7 @@ extern void RF_FrequencyHoppingShut( void );
extern uint8_t RF_FrequencyHoppingTx( uint8_t resendCount );
/**
- * @brief
+ * @brief
*
* @param timeoutMS - Maximum time to wait for receiving HOP_TX pdu(Time = n * 1mSec),0 = unlimited.
*