Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of NNN40_CLI by
Diff: CLI_Source/ble_cli.cpp
- Revision:
- 23:620896909655
- Parent:
- 21:72d7a6e85d7f
- Child:
- 24:838a0b25934b
--- a/CLI_Source/ble_cli.cpp Thu Oct 20 04:29:40 2016 +0000
+++ b/CLI_Source/ble_cli.cpp Fri Nov 04 06:46:58 2016 +0000
@@ -10,7 +10,7 @@
// Genral configuration parameters
#define BLE_DEBUG 0
#define MAX_DEVNAME_LEN 32
-#define CLI_FWVERION "DELTA_CLI_V1.16"
+#define CLI_FWVERION "DELTA_CLI_V1.17"
//0920 Silvia modify
#if defined(TARGET_DELTA_DFBM_NQ620)
@@ -25,8 +25,20 @@
#define APP_ADV_TIMEOUT_IN_SECONDS 180 /**< The advertising timeout (in units of seconds). */
#define APP_ADV_INTERVAL_MAX 10240 // correspond to 10.24s
#define APP_ADV_INTERVAL_MIN 20 // correspond to 20ms
+#define APP_ADV_TIMEOUT_LIMITED_MAX 16383 //1102 Silvia add
+#define APP_ADV_TIMEOUT_LIMITED_MIN 1 //1102 Silvia add
#define APP_ADV_DATA_OFFSET 2 // Offset for Advertising Data.
//#define ADVERTISING_LED_PIN_NO LED1
+
+//1102 Silvia add
+//Scanning configuration parameters
+#define BLE_SCAN_INTERVAL_LIMITED_MAX 10240
+#define BLE_SCAN_INTERVAL_LIMITED_MIN 3
+#define BLE_SCAN_WINDOW_LIMITED_MAX 10240
+#define BLE_SCAN_WINDOW_LIMITED_MIN 3
+#define BLE_SCAN_TIMEOUT_LIMITED_MAX 16383
+#define BLE_SCAN_TIMEOUT_LIMITED_MIN 1
+
// Peripheral mode operation parameters
#define CLI_SERVICE_MAX_NUM 10
#define CLI_CHAR_MAX_NUM 10
@@ -279,10 +291,10 @@
break;
}
- //if ( advInterval< APP_ADV_INTERVAL_MIN | advInterval> APP_ADV_INTERVAL_MAX | advTimeout < 1| advTimeout > BLE_GAP_ADV_TIMEOUT_LIMITED_MAX ) {
-// cyntecPrintError(CYNTEC_CMD_ERR_ARGUMENT_OUT_OF_RANGE);
-// return;
-// }
+ if ( advInterval< APP_ADV_INTERVAL_MIN | advInterval> APP_ADV_INTERVAL_MAX | advTimeout < APP_ADV_TIMEOUT_LIMITED_MIN | advTimeout > APP_ADV_TIMEOUT_LIMITED_MAX ) {
+ cyntecPrintError(CYNTEC_CMD_ERR_ARGUMENT_OUT_OF_RANGE);
+ return;
+ }
#if BLE_DEBUG
console.printf("advInterval:%d,advTimeout:%d",advInterval,advTimeout);
#endif
@@ -602,6 +614,13 @@
arg = cyntecGetCommandArgument(2,&argLen);
setTimeout = cyntecAtoiUint16( arg, argLen );
}
+
+ //1102 Silvia modify
+ if ( setInterval < BLE_SCAN_INTERVAL_LIMITED_MIN | setInterval > BLE_SCAN_INTERVAL_LIMITED_MAX | setWindow < BLE_SCAN_WINDOW_LIMITED_MIN | setWindow > BLE_SCAN_WINDOW_LIMITED_MAX | setTimeout > BLE_SCAN_TIMEOUT_LIMITED_MAX | (setTimeout < BLE_SCAN_TIMEOUT_LIMITED_MIN && setTimeout != 0 ) | (setInterval < setWindow)) {
+ cyntecPrintError(CYNTEC_CMD_ERR_ARGUMENT_OUT_OF_RANGE);
+ return;
+ }
+
#if BLE_DEBUG
console.printf("Interval:%d,Window:%d,timeout:%d\r\n",setInterval,setWindow,setTimeout);
#endif
@@ -1041,6 +1060,14 @@
return;
}
//Silvia add
+
+ if (char_count >= CLI_CHAR_MAX_NUM) {
+ cyntecPrintError(CYNTEC_CMD_ERR_CALL_FAIL);
+#if BLE_DEBUG
+ console.printf("Error: char_count>CLI_CHAR_MAX_NUM\r\n");
+#endif
+ return;
+ }
/* handle parameter - UUID */
/* Only support 16-bit or 128-bit UUID type */
@@ -1099,13 +1126,7 @@
bufferService[service_count-1].bufferGattChar[char_count].valueLength = valueLengthBuffer;
bufferService[service_count-1].bufferGattChar[char_count].props = prop;
//bufferService[service_count-1].bufferGattChar[char_count].char_value_handle = testHandle;
- if (char_count>CLI_CHAR_MAX_NUM) {
- cyntecPrintError(CYNTEC_CMD_ERR_CALL_FAIL);
-#if BLE_DEBUG
- console.printf("Error: char_count>CLI_CHAR_MAX_NUM\r\n");
-#endif
- return;
- }
+
cyntecPrintOk();
char_count++;
}
