new version for central test two peripherals
Dependencies: BLE_API mbed nRF51822
Fork of BLE_Nano_Central_Type3 by
Revision 6:d37a6e3c17c4, committed 2016-06-02
- Comitter:
- FranKP2138
- Date:
- Thu Jun 02 15:42:04 2016 +0000
- Parent:
- 5:68a31613f28a
- Commit message:
- Set pre state for search characteristic
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 68a31613f28a -r d37a6e3c17c4 main.cpp --- a/main.cpp Thu Jun 02 10:17:33 2016 +0000 +++ b/main.cpp Thu Jun 02 15:42:04 2016 +0000 @@ -130,10 +130,12 @@ * @return BLE_ERROR_NONE if service discovery is launched successfully; else an appropriate error. */ pc.printf("start discovery \r\n"); - if(device_is_hrm) - ble.gattClient().launchServiceDiscovery(handle, discoveredServiceCallBack, discoveredCharacteristicCallBack, service_uuid, chars_uuid1); - if(device_is_simple_peripheral) - ble.gattClient().launchServiceDiscovery(handle, discoveredServiceCallBack, discoveredCharacteristicCallBack); + if(device_is_hrm) { + pc.printf("device_is_hrm \r\n"); + ble.gattClient().launchServiceDiscovery(handle, discoveredServiceCallBack, discoveredCharacteristicCallBack, service_uuid, chars_uuid1);} + if(device_is_simple_peripheral){ + pc.printf("device_is_simple_peripheral \r\n"); + ble.gattClient().launchServiceDiscovery(handle, discoveredServiceCallBack, discoveredCharacteristicCallBack);} } /** @@ -158,27 +160,39 @@ if( NRF_SUCCESS == ble_advdata_parser(BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NAME, params->advertisingDataLen, (uint8_t *)params->advertisingData, &len, adv_name)){ + pc.printf("NRF_Success \r\n"); // Cycle fo rconnect two peripheral for(uint8_t i=0; i<2; i++){ + pc.printf("Cycle go connect \r\n"); if(gs_peripheral[i].connected == false){ + pc.printf("If connect == false -> Connect \r\n"); memcpy(gs_peripheral[i].address, params->peerAddr, sizeof(params->peerAddr)); gs_peripheral[i].deviceName = adv_name; ble.connect(params->peerAddr, BLEProtocol::AddressType::RANDOM_STATIC, NULL, NULL); + // (5) forsatura da eliminare + device_is_simple_peripheral = 1; + + // new edit add FP // (2) Make set name peripheral with button if( memcmp("TXRX", adv_name, 4) == 0x00 ) { + pc.printf("peripheral type simpleControl \r\n"); device_is_simple_peripheral = 1; + // On Led 4 } // (3) make set name peripheral with sensor if(memcmp("Nordic_HRM", adv_name, 10) == 0x00) { + pc.printf("peripheral type Nordic_HRM \r\n"); device_is_hrm = 1; + // On led 5 } // end break; } } + pc.printf("Stop Scan \r\n"); ble.stopScan(); } } @@ -305,16 +319,20 @@ // (4) change serial.print -> println how make ? // New edit FP if(characteristicP->getUUID().shortOrLong() == UUID::UUID_TYPE_SHORT) { + pc.printf("characteristicDiscoveryCallback -1- \r\n"); //Serial.println(chars->getUUID().getShortUUID(), HEX); if(characteristicP->getUUID().getShortUUID() == 0x2A37) { + pc.printf("characteristicDiscoveryCallback -2- \r\n"); //Serial.println("Found HRM characteristic "); characteristic_is_fond = 1; chars_hrm = *characteristicP; } } else { + pc.printf("characteristicDiscoveryCallback -3- \r\n"); uint8_t index; const uint8_t *uuid = characteristicP->getUUID().getBaseUUID(); for(index=0; index<16; index++) { + pc.printf("characteristicDiscoveryCallback -4- \r\n"); // Serial.print(uuid[index], HEX); //Serial.print(" "); } @@ -324,7 +342,9 @@ for(uint8_t i=0; i<2; i++){ + pc.printf("characteristicDiscoveryCallback -5- \r\n"); if(gs_peripheral[i].connected){ + pc.printf("characteristicDiscoveryCallback -6- \r\n"); ble.gattClient().read(characteristicP->getConnectionHandle(), characteristicP->getValueHandle(), 0); } }