Skip to main content

Experiment to CC2640R2F and CC2650


Image result for Bluetooth

Image result for cc2640r2fImage result for cc2650

This is the first experiment to do on a connection between CC2650 and CC2640R2F

In this experiment, I use a CC2650 as a simple central device and scanning another peripheral (CC2640).

This tutor follows the TI Guide:
http://dev.ti.com/tirex/explore/content/simplelink_academy_cc2640r2sdk_3_10_01_00/modules/blestack/ble_scan_adv_basic/ble_scan_adv_basic.html

However, this tutor use for two CC2640 experiments so we need to combine two Source:

Simplelink for CC2640R2 ver 3.10.0.0.xx

and SimpleLink for CC2650 ver ble_sdk_2_02_00_31


Notice 1: You must configure UART for each project to connect two KITs. 
Notice 2: The code does not display Advertising Data and I will try later
Update:
After two days to debug the problems belong to the function convert number string to text string 

char *Util_convertBytes2Str(uint8_t *pData, uint8_t length) { uint8_t charCnt; char hex[] = "0123456789ABCDEF"; static char str[(3*31)+1]; char *pStr = str; //*pStr++ = '0'; //*pStr++ = 'x'; char len = length/4 -1; for (charCnt = 0; charCnt < len; charCnt++) { *pStr++ = hex[*pData >> 4]; *pStr++ = hex[*pData++ & 0x0F]; if(!((charCnt+1) >= len)) { *pStr++ = ':'; } } pStr = NULL; return str; }

the Length of pData is 31 however its format different to charCount (Actually just 7 characters) so we need to modify the TI's original tutorial

We can change some feature to test the example operation; for particularly I change the feature

#define DEFAULT_DISCOVERY_MODE                DEVDISC_MODE_ALL
#define DEFAULT_DISCOVERY_WHITE_LIST          FALSE

in simple_central.c for scanner
#define DEFAULT_DISCOVERABLE_MODE            GAP_ADTYPE_FLAGS_GENERAL
in simple_peripheral.c for advertiser


Comments

Popular posts from this blog

Serial Port Profile with CC2650 and CC2640R2 (part 2) Modified to transfer ADC values up to PC Step 1:  Include ACD.h library #include <ti/drivers/ADC.h>  Step 2: Insert period event in order to update ADC read values from the potentiometer #define SSSS_ICALL_EVT                         ICALL_MSG_EVENT_ID // Event_Id_31 #define SSSS_QUEUE_EVT                         UTIL_QUEUE_EVENT_ID // Event_Id_30 #define SSSS_PERIODIC_EVT                      Event_Id_00 //SOLUTION // Bitwise OR of all events to pend on #define SSSS_ALL_EVENTS                        (SSSS_ICALL_EVT        | \                                ...
Experiment Sensor Booster Pack with CC2650 In this experiment, we use CC2650 rather CC2640Rx2 to read light level from OTP3001 on the sensor board. It follows the Task 3, Task 4 from TI tutorial http://dev.ti.com/tirex/content/simplelink_academy_cc2640r2sdk_1_13_02_07/modules/ble_02_thermostat/ble_02_thermostat.html Here we need some modified like last post to make the project run. First, to define the board CC2650 in file Board.h #define     Board_I2C_TMP           CC2650_LAUNCHXL_I2C0 Also, define IC address in file otp3001.c( replaced for tmp007.c) #define Board_TMP_ADDR   0x47 #if defined(ONBOARD_TMP006) #define TMP_REGISTER TMP_DIE_TEMP #define TMP_ADDR     Board_TMP_ADDR #else #define TMP_REGISTER TMP_OBJ_TEMP #define CONF_REGISTER 0x01 #define TMP_ADDR     Board_TMP_ADDR #endif Declare two new variables for reading exponent part and result uint16_t       ...
Serial Port Profile with CC2650 and CC2640R2 This test based on code from TI support under link: For CC2650: https://github.com/ti-simplelink/ble_examples/blob/ble_examples-2.2/docs/spp_ble.md For CC2640R2: https://github.com/ti-simplelink/ble_examples/blob/simplelink_cc2640r2_sdk-2.20/examples/rtos/CC2640R2_LAUNCHXL/bleapps/simple_serial_socket_client/readme.md In this experiment, I use CC2640R2 as Server (Peripheral) and CC2650 as Client (Central) as the image below: Step1: import project spp_ble_client_cc2650lp (app and stack) for CC2650 Step2: modify Code of Service in file serial_port_service:               C0E0 ==> C0C0               C0E1 ==> C0C1               C0E2 ==> C0C2 If you don't change, Two Blue Tooth Board cant know to service each other. Step 3: import project simple_serial_socket_client_CC2640r2 for CC2640R2 here we using RealTerm...