Showing posts with label CC2650STK. Show all posts
Showing posts with label CC2650STK. Show all posts

Thursday, June 4, 2020

How to add you own custom board files to CC26xx BLE stack


The following steps show you how to add you own custom board files to CC26xx BLE stack using CC2650 BLE stack 2.2.04.06 version

1. Create CC2650_YK folder under C:\ti\simplelink\ble_sdk_2_02_04_06\src\boards\

2.
   2.1 Copy Board.h/CC2650_LAUNCHXL.h/CC2650_LAUNCHXL.c from C:\ti\simplelink\ble_sdk_2_02_04_06\src\boards\CC2650_LAUNCHXL to C:\ti\simplelink\ble_sdk_2_02_04_06\src\boards\CC2650_YK
  
   2.2 Rename CC2650_LAUNCHXL.h/CC2650_LAUNCHXL.c to CC2650_YK.h/CC2650_YK.c
  
   2.3 Revise #include "CC2650_LAUNCHXL.h" in Board.h to #include "CC2650_YK.h"

3. Create cc2650yk folder under C:\ti\simplelink\ble_sdk_2_02_04_06\src\target

4
   4.1 Copy cc2650lp_board.h/cc2650lp_board.c from C:\ti\simplelink\ble_sdk_2_02_04_06\src\target\cc2650lp to C:\ti\simplelink\ble_sdk_2_02_04_06\src\target\cc2650yk

   4.2 Rename cc2650lp_board.h/cc2650lp_board.c to cc2650yk_board.h/cc2650yk_board.c

   4.3 Add the following codes in cc2650yk_board.h
      
       #elif defined(CC2650_YK)
       #include <../../boards/CC2650_YK/Board.h>

   4.4 Add the following codes in cc2650yk_board.c

       #elif defined(CC2650_YK)
       #include <../../boards/CC2650_YK/Board.h>
       #include <../../boards/CC2650_YK/CC2650_YK.c>

5.
   5.1 Add the following codes in board.h
  
       #elif defined(CC2650_YK)
       #include "./cc2650yk/cc2650yk_board.h"

   5.2 Add the following codes in board.c
  
       #elif defined(CC2650_YK)
       #include "./cc2650yk/cc2650yk_board.c"

6. Change CC2650_LAUNCHXL in Predefined Symbols to CC2650_YK

7. Now you can build the code with your own custom board.

Wednesday, July 20, 2016

How to use CC2650DK, CC2650 LaunchPad, or CC2650STK as Contiki 6LowPAN Sniffer.

The following steps show you how to use CC2650DK, CC2650 LaunchPad, or CC2650STK as Contiki 6LowPAN Sniffer.

1. git clone --recursive https://github.com/contiki-os/contiki

2. Change directory to /contiki/examples/sensniff

3. Use the following three make command to build sensniff.bin for CC2650DK, CC2650 LaunchPad, or CC2650ST.

    a. make TARGET=srf06-cc26xx BOARD=srf06/cc26xx sensniff.bin   -->CC2650DK
    b. make TARGET=srf06-cc26xx BOARD=launchpad/cc2650 sensniff.bin --> CC2650LP
    c. make TARGET=srf06-cc26xx BOARD=sensortag/cc2650 sensniff.bin --> CC2650STK



4. Use Flash Programmer 2 to download sensniff.bin to CC2650DK, CC2650 LaunchPad, or CC2650ST.



5. Download latest sensniff.py from https://github.com/g-oikonomou/sensniff  and refer to here for running Wireshark to sniff packets.

How to use CC2650DK, CC2650 LaunchPad, or CC2650STK as Contiki 6LowPAN Sniffer.

The following steps show you how to use CC2650DK, CC2650 LaunchPad, or CC2650STK as Contiki 6LowPAN Sniffer.

1. git clone --recursive https://github.com/contiki-os/contiki

2. Change directory to /contiki/examples/sensniff

3. Use the following three make command to build sensniff.bin for CC2650DK, CC2650 LaunchPad, or CC2650ST.

    a. make TARGET=srf06-cc26xx BOARD=srf06/cc26xx sniffer.bin   -->CC2650DK
    b. make TARGET=srf06-cc26xx BOARD=launchpad/cc2650 sniffer.bin --> CC2650LP
    c. make TARGET=srf06-cc26xx BOARD=sensortag/cc2650 sensniff.bin --> CC2650STK



4. Use Flash Programmer 2 to download sensniff.bin to CC2650DK, CC2650 LaunchPad, or CC2650ST.



5. Download latest sensniff.py from https://github.com/g-oikonomou/sensniff  and refer to here for running Wireshark to sniff packets.

Tuesday, March 22, 2016

Running 6lbr on CC2538DK with ENC28J60 and make CC2650STK send sensor data to IBM MQTT quickstart service.

The following steps show how to run 6lbr on CC2538DK with ENC28J60 and make CC2650STK send sensor data to IBM MQTT quickstart service.

For CC2538DK and ENC28J60,

1. Connect CC2538DK with ENC28J60.

  • SCLK : CC2538 Port A2 (mapped to RF1.16 on P407 of SmartRF06EB)
  • MOSI : CC2538 Port A4 (mapped to RF1.18 on P407 of SmartRF06EB)
  • MISO : CC2538 Port A5 (mapped to RF1.20 on P407 of SmartRF06EB)
  • CS : CC2538 Port B5 (mapped to RF1.17 on P407 of SmartRF06EB)


2. Git 6lbr develop version from Github
 
 git clone https://github.com/cetic/6lbr
 git checkout develop

3. Build 6lbr for CC2538DK with ENC28J60

make TARGET=cc2538dk all

4. Use Flash Programmer 2 to download cetic_6lbr_router.bin (under \6lbr\examples\6lbr\bin_cc2538dk) to CC2538DK.


For CC2650STK,

1. Git Contiki from Github (refer to http://sunmaysky.blogspot.tw/search/label/Cygwin)

2. Add the following lines in project-conf.h of cc26xx-web-demo example to use nullRDC

#undef NETSTACK_CONF_RDC
#define NETSTACK_CONF_RDC     nullrdc_driver

3. Build cc26xx-web-demo.bin for CC2650STK

make BOARD=sensortag/cc2650 cc26xx-web-demo.bin

4. Use Flash Programmer 2 to download cc26xx-web-demo.bin to CC2650STK


Enable NAT64 to make CC2650STK can report sensor data to IBM MQTT quickstart service.

1. Connect Ethernet cable to CC2538DK-ENC28J60 and power on to run 6lbr.

2. Use Firefox to open web page at [bbbb::100] and switch to Configuration page. Change channel to 25 and select all options under IP64: to on. Press Submit button to write configurations and restart 6lbr.



3. Turn on CC2650STK to make it join 6lbr. Click on the web link in sensor page.



4.In sensor web page, click "IBM Quickstart"


5. Sensor data from CC2650STK would show on IBM MQTT quickstart service.




Tuesday, January 19, 2016

How to use SensorTag CC2650STK with CC-DEVPACK-DEBUGGER as ZNP and connect to Z-Stack ZTool.

The following steps show you how to use SensorTag CC2650STK with CC-DEVPACK-DEBUGGER as ZNP and connect to Z-Stack ZTool.

1. Revise the following code in Board.h (C:\ti\tirtos_simplelink_2_11_01_09\packages\ti\boards\SRF06EB\CC2650EM_7ID)

#define Board_UART_RX IOID_2 /* RF1.7 */
#define Board_UART_TX IOID_3 /* RF1.9 */

to

#define Board_UART_RX IOID_28 /* RF1.7 */
#define Board_UART_TX IOID_29 /* RF1.9 */

2. Rebuild CC2650 ZNP example and download it to CC2650STK.
3. Disconnect CC2650STK from CC-DEVPACK-DEBUGGER and connect it to restart.
4. Find COM port of XDS110 Class Application/User UART.



5. Open ZTool and select COM port of XDS110 Class Application/User UART. Remember to select Flow to None.



6. You should see CC2650STK ZNP is connected with ZTool.


Wednesday, October 28, 2015

How to use SensorTag CC2650STK with CC-DEVPACK-DEBUGGER as HostTest and connect to BLE BTool.

The following steps show you how to use SensorTag CC2650STK with CC-DEVPACK-DEBUGGER as HostTest and connect to BLE BTool.

1. Revise the following code in Board.h

#define Board_UART_RX IOID_2 /* RF1.7 */
#define Board_UART_TX IOID_3 /* RF1.9 */

to

#define Board_UART_RX IOID_28 /* RF1.7 */
#define Board_UART_TX IOID_29 /* RF1.9 */

2. Rebuild HostTest and download it to CC2650STK.
3. Disconnect CC2650STK from CC-DEVPACK-DEBUGGER and connect it to restart.
4. Find COM port of XDS110 Class Application/User UART.



5. Open BTool and select COM port of XDS110 Class Application/User UART. Remember to select Flow to None.




6. You should see CC2650STK BLE HostTest is connected.



Friday, October 23, 2015

How to do device binding from TI Ztool and CC2531 USB dongle to CC2650 SensorTag using ZDO_BIND_REQ.

The following steps show how to do device binding from TI Ztool and CC2531 USB dongle to CC2650 SensorTag using  ZDO_BIND_REQ.

1. Refer to http://sunmaysky.blogspot.tw/2015/10/setup-zigbee-ha-coordinator-with-ti.html and setup Zigbee HA coordinator with TI Ztool and CC2531 USB dongle and use CC2650 SensorTag as Zigbee end device to join coordinator.


2. Use ZDO_IEEE_ADDR_REQ with ShortAddr=0 to request IEEE address of coordinator which we would need when we do binding request. In my test, it responses IEEEAddr: 0x00124B0002F1DC2B.




3. Send ZDO_BIND_REQ with DstAddr=0x65D1 (short address of CC2650STK), SrcAddress=0x124B00069F3B89 (IEEE address of CC2650STK), SrcEndPoint=9 (active endpoint of temperature cluster support in CC2650STK), ClusterID=0x0402 (Zigbee cluster temperature ID), BindAddrMode=0x03 (must use 64 Bits address mode), BindAddr=0x00124B0002F1DC2B (IEEE address of coordinator in test case),and BindEndPoint=7 (active endpoint on coordinator).


 4. After sending ZDO_BIND_REQ, you would receive ZDO_BIND_RSP which shows binding success. The temperature report would be receive as AF_INCOMING_MSG.


5. The temperature is shown on latest two bytes (little endian) of AF_INCOMING_MSG data

Setup Zigbee HA coordinator with TI Ztool and CC2531 USB dongle and use CC2650 SensorTag as Zigbee end device to join coordinator.

The following steps show you how to setup Zigbee HA coordinator with TI Ztool and CC2531 USB dongle and use CC2650 SensorTag as Zigbee end device to join coordinator.

1. Use CC Debugger to download CC2531ZNP-Pro-Secure_LinkKeyJoin.hex to your CC2531 USB dongle. Plug CC2531 USB dongle into USB socket of your PC and you should have it enum as a CDC Serial Port (mine is COM29 in the test.)


2. Set com port setting to 115200 Baudrate and Handshake as none


3. Press "Scan for devices" button on Ztool. If your COM port is scanned successfully in ZTool, it should looks like the following screen shot.


4. Run the attached script coordinator_light.zip to initialize coordinator from Ztool.


  

    p.s. The script uses Zigbee channel 11 and do remember to change ZC_Com in the script to your CC2531 virtual COM number. In my test, it is COM29.

5. Build Zigbee SensorTag (CC2650STK) to join as end device. Make sure you use -DDEFAULT_CHANLIST=0x00000800 (channel 11) in f8wconfig.cfg and set "xHOLD_AUTO_START" and "xNV_RESTORE" in ZStackCore. Set "xZCL_EZMODE" in SensorTag application. Compile SensorTag and download it to your CC2650STK.




6. Enable permit join on coordinator by sending ZDO_MGMT_PERMIT_JOIN_REQUEST with AddrMode=0x02, DstAddr=0, and Duration=255.




7.Power on CC2650STK and you should see ZDO_END_DEVICE_ANNCE_IND some seconds later.


Setup Zigbee HA coordinator with TI Ztool and CC2531 USB dongle and use CC2650 SensorTag as Zigbee end device to join coordinator.

The following steps show you how to setup Zigbee HA coordinator with TI Ztool and CC2531 USB dongle and use CC2650 SensorTag as Zigbee end device to join coordinator.

1. Use CC Debugger to download CC2531ZNP-Pro-Secure_LinkKeyJoin.hex to your CC2531 USB dongle. Plug CC2531 USB dongle into USB socket of your PC and you should have it enum as a CDC Serial Port (mine is COM29 in the test.)


2. Set com port setting to 115200 Baudrate and Handshake as none


3. Press "Scan for devices" button on Ztool. If your COM port is scanned successfully in ZTool, it should looks like the following screen shot.
 

4. Run the attached script coordinator_light.zip to initialize coordinator from Ztool.


  

    p.s. The script uses Zigbee channel 11 and do remember to change ZC_Com in the script to your CC2531 virtual COM number. In my test, it is COM29.

5. Build Zigbee SensorTag (CC2650STK) to join as end device. Make sure you use -DDEFAULT_CHANLIST=0x00000800 (channel 11) in f8wconfig.cfg and set "xHOLD_AUTO_START" and "xNV_RESTORE" in ZStackCore. Set "xZCL_EZMODE" in SensorTag application. Compile SensorTag and download it to your CC2650STK.




6. Enable permit join on coordinator by sending ZDO_MGMT_PERMIT_JOIN_REQUEST with AddrMode=0x02, DstAddr=0, and Duration=255.




7.Power on CC2650STK and you should see ZDO_END_DEVICE_ANNCE_IND some seconds later.