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:
- 18:4f5b317c04b9
- Parent:
- 17:03c8af30087a
- Child:
- 19:e2de6c1776eb
--- a/CLI_Source/ble_cli.cpp Mon Sep 19 02:26:11 2016 +0000
+++ b/CLI_Source/ble_cli.cpp Fri Sep 23 01:41:28 2016 +0000
@@ -10,8 +10,15 @@
// Genral configuration parameters
#define BLE_DEBUG 0
#define MAX_DEVNAME_LEN 32
-#define CLI_FWVERION "DELTA_CLI_V1.14"
+#define CLI_FWVERION "DELTA_CLI_V1.15"
+
+//0920 Silvia modify
+#if defined(TARGET_NRF52_DK)//temp use only
+#define MODULE_NAME "DFBM-NQ620"
+#else
#define MODULE_NAME "DFCM-NNN40-DT1R"
+#endif
+//0920 Silvia modify
// Advertising configuration parameters
#define APP_ADV_INTERVAL 40 /**< The advertising interval (in units of ms). */
@@ -90,16 +97,16 @@
void serviceDiscoveryCallback(const DiscoveredService *service)
{
- printf("serviceDiscoveryCallback\r\n");
+ console.printf("serviceDiscoveryCallback\r\n");
if (service->getUUID().shortOrLong() == UUID::UUID_TYPE_SHORT) {
- printf("S UUID-%x attrs[%u %u]\r\n", service->getUUID().getShortUUID(), service->getStartHandle(), service->getEndHandle());
+ console.printf("S UUID-%x attrs[%u %u]\r\n", service->getUUID().getShortUUID(), service->getStartHandle(), service->getEndHandle());
} else {
- printf("S UUID-");
+ console.printf("S UUID-");
const uint8_t *longUUIDBytes = service->getUUID().getBaseUUID();
for (unsigned i = 0; i < UUID::LENGTH_OF_LONG_UUID; i++) {
- printf("%02x", longUUIDBytes[i]);
+ console.printf("%02x", longUUIDBytes[i]);
}
- printf(" attrs[%u %u]\r\n", service->getStartHandle(), service->getEndHandle());
+ console.printf(" attrs[%u %u]\r\n", service->getStartHandle(), service->getEndHandle());
}
discoverServiceArr[discoverService_count] = *service;
@@ -111,15 +118,15 @@
{
//Silvia modify
if (characteristicP->getUUID().shortOrLong() == UUID::UUID_TYPE_SHORT) {
- printf(" C UUID-%x valueAttr[%u] props[%x]\r\n", characteristicP->getUUID().getShortUUID(), characteristicP->getValueHandle(), (uint8_t)characteristicP->getProperties().broadcast());
+ console.printf(" C UUID-%x valueAttr[%u] props[%x]\r\n", characteristicP->getUUID().getShortUUID(), characteristicP->getValueHandle(), (uint8_t)characteristicP->getProperties().broadcast());
}
else {
- printf(" C UUID-");
+ console.printf(" C UUID-");
const uint8_t *longUUIDBytes = characteristicP->getUUID().getBaseUUID();
for (unsigned i = (UUID::LENGTH_OF_LONG_UUID) - 1; i < UUID::LENGTH_OF_LONG_UUID; i--) {
- printf("%02x ", longUUIDBytes[i]);
+ console.printf("%02x ", longUUIDBytes[i]);
}
- printf(" valueAttr[%u] props[%x]\r\n", characteristicP->getValueHandle(), (uint8_t)characteristicP->getProperties().broadcast());
+ console.printf(" valueAttr[%u] props[%x]\r\n", characteristicP->getValueHandle(), (uint8_t)characteristicP->getProperties().broadcast());
// uvCharacteristic = *characteristicP;
}
@@ -128,7 +135,7 @@
}
void discoveryTerminationCallback(Gap::Handle_t connectionHandle)
{
- printf("terminated SD for handle %u\r\n", connectionHandle);
+ console.printf("terminated SD for handle %u\r\n", connectionHandle);
}
void onConnectionCallback(const Gap::ConnectionCallbackParams_t *params)
@@ -153,16 +160,16 @@
//Silvia add
switch (source) {
case Gap::TIMEOUT_SRC_ADVERTISING:
- printf("Advertising timeout\r\n");
+ console.printf("Advertising timeout\r\n");
break;
case Gap::TIMEOUT_SRC_SECURITY_REQUEST:
- printf("Security request timeout\r\n");
+ console.printf("Security request timeout\r\n");
break;
case Gap::TIMEOUT_SRC_SCAN:
- printf("Scanning timeout\r\n");
+ console.printf("Scanning timeout\r\n");
break;
case Gap::TIMEOUT_SRC_CONN:
- printf("Connection timeout\r\n");
+ console.printf("Connection timeout\r\n");
break;
}
//Silvia add
@@ -170,7 +177,7 @@
void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *params)
{
- printf("Disconnected\r\n"); //Silvia add
+ console.printf("Disconnected\r\n"); //Silvia add
//console.printf("connState:%d\r\n",connState);
//Gap::GapState_t->connected = 0;
connState = false;
@@ -350,16 +357,12 @@
#endif
}
}
-//Silvia modify
static void cynBLEInfoCommand(void)
{
- console.printf("\r\nOK;");
- console.printf(CLI_FWVERION);
- console.printf(";");
- console.printf(MODULE_NAME);
- console.printf("\r\n\r\n");
+ console.printf("\r\nOK;%s;%s\r\n\r\n", CLI_FWVERION, MODULE_NAME);
}
+//Silvia modify
/**@brief Set the radio's transmit power.
*
@@ -493,7 +496,7 @@
conn_action = false;
if (memcmp(targetAddr,newAddr,6)==0) {
- deltaBLE.gap().connect(params->peerAddr, Gap::ADDR_TYPE_RANDOM_STATIC, NULL, NULL);
+ deltaBLE.gap().connect(params->peerAddr, Gap::ADDR_TYPE_PUBLIC, NULL, NULL); //0920 Silvia change address type
return;
}
} else {
@@ -638,10 +641,10 @@
for(int i=0; i<BLE_MAX_ADDRESS_NUMBER; i++) {
if (memcmp(targetAddr,saveAddr[i],6)==0) {
- err_code = deltaBLE.gap().connect(targetAddr, Gap::ADDR_TYPE_RANDOM_STATIC, NULL, NULL);
+ err_code = deltaBLE.gap().connect(targetAddr, Gap::ADDR_TYPE_PUBLIC, NULL, NULL); //0920 Silvia change address type
if (err_code != 0) {
- printf("Error:%d\r\n",err_code);
+ console.printf("Error:%d\r\n",err_code);
} else {
cyntecPrintOk();
}
@@ -799,26 +802,26 @@
// printf("centralReadCallback Handle: %d\r\n", response->handle);
for (unsigned index = 0; index < response->len; index++) {
- printf("[%02x]", response->data[index]);
+ console.printf("[%02x]", response->data[index]);
}
- printf("\r\n");
+ console.printf("\r\n");
}
void centralWriteCallback(const GattWriteCallbackParams *response) {
// printf("centralWriteCallback: %d\r\n", response->len);
for (unsigned index = 0; index < response->len; index++) {
- printf("[%02x]", response->data[index]);
+ console.printf("[%02x]", response->data[index]);
}
- printf("\r\n");
+ console.printf("\r\n");
}
void centralHvxCallback(const GattHVXCallbackParams *response) {
// printf("centralHvxCallback handle %u, type %02x, len %u\r\n", response->handle, response->type, response->len);
for (unsigned index = 0; index < response->len; index++) {
- printf("[%02x]", response->data[index]);
+ console.printf("[%02x]", response->data[index]);
}
- printf("\r\n");
+ console.printf("\r\n");
}
//Silvia modify
@@ -1021,6 +1024,13 @@
cyntecPrintError(CYNTEC_CMD_ERR_WRONG_NUMBER_OF_ARGUMENTS);
return;
}
+
+ //Silvia add
+ if (service_count == 0) {
+ cyntecPrintError(CYNTEC_CMD_ERR_INVALID_STATE_TO_PERFORM_OPERATION);
+ return;
+ }
+ //Silvia add
/* handle parameter - UUID */
/* Only support 16-bit or 128-bit UUID type */
@@ -1185,7 +1195,7 @@
}
void cynBLEInitCommand(void)
-{
+{
BLE &deltaBLE = BLE::Instance();
deltaBLE.onEventsToProcess(scheduleBleEventsProcessing);
@@ -1195,7 +1205,7 @@
deltaBLE.onTimeout(onTimeoutCallback);
deltaBLE.gattServer().onDataRead(triggerRead);
- cyntecPrintOk();
+ console.printf("\r\nOK;%s;%s\r\n\r\n", CLI_FWVERION, MODULE_NAME); //0920 Silvia add
while (true) {
eventQueue.dispatch();
}
@@ -1371,11 +1381,11 @@
cUUID = UUID(longUUIDBytes);
}
if ((cUUID == buf_char_uuid) & (readmatchFlag == false)) {
- printf("OK;");
+ console.printf("OK;");
for (int i=0 ; i < valueLen; i++) {
- printf("%02X",bufVal[i]);
+ console.printf("%02X",bufVal[i]);
}
- printf("\r\n");
+ console.printf("\r\n");
deltaBLE.gattClient().write(GattClient::GATT_OP_WRITE_REQ, discoverCharArr[i][j].getConnectionHandle(), discoverCharArr[i][j].getValueHandle(), valueLen, bufVal);
readmatchFlag = true;
return;
