This commit is contained in:
stark1898y 2024-12-08 11:29:48 +08:00
parent 9a760f0c11
commit 3cdccc4d63
6 changed files with 160 additions and 78 deletions

View File

@ -164,5 +164,5 @@
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
<storageModule moduleId="refreshScope"/>
</cproject>

View File

@ -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);
}

View File

@ -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();

View File

@ -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

View File

@ -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.
*******************************************************************************/

View File

@ -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.<BR>
*
*
*/
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.
*