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        | \                                ...

Arduino Code for test Heart Rate 7 Click

Heart Rate 7 Click is the newest module from MikroE which uses VEM8080 photodetector has a wide range spectrum from 300nm - 1000nm. To control and acquisition data, AFE4404 from TI inc. is adopted. This chip permits control 3 LED channels, and sample heart rate default 100 SPS.  A 22-bit ADC permit collecting very small changed voltage from a PD sensor. In this example we config Arduino Mega  2650 as below: Pin 4 for RST PIN 5 CLK PIN 6 INT PIN 20 SDA PIN 21 SCL Config registers follow the default of AFE4404 datasheet Page 27 with some minor changes. 1. Config Internal Clock through  AFE_CONTROL2 register addr.: 0x23 value: 0x104218  // setup all dynamic power to save energy 2. Control LED2 current through AFE_LEDCNTRL register addr: 0x22 value: 0x000100 3. Read data using PROG_TG_EN signal through AFE_TIA_GAIN register addr: 0x21 value: 0x000125 Time to start and end of PROG_TG setup through two registers: AFE_PROG_TG_STC register (...
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...