TI 15.4-Stack Sensor Example

Example Summary

The sensor example application demonstrates how to implement a sensor network device using TI 15.4-Stack. TI 15.4-Stack based star network consists of two types of logical devices: the PAN-Coordinator and the network devices, e.g. the Collector and Sensor applications, respectively.

The PAN-Coordinator is the device that starts the network and allows other devices to join the network. The network devices join the network through and always communicate with the PAN-Coordinator.

The example applications provided in TI 15.4-Stack are developed for the CC13x0 Launchpad platform. In addition, the Linux example applications for the external host (AM335x + MAC Coprocessor) are located in the TI 15.4-Stack Gateway SDK.

The project names for CC1310 and C1350 platforms are referred to as CC13x0. Replace x with either 1 or 5 depending on the specific wireless MCU being used.

Peripherals Exercised

If the AUTO_START symbol is defined in your application, then the application will automatically configure itself on startup.

If Board_BUTTON1 is held while power is applied to the Launchpad, NV Flash will be erased.

If AUTO_START symbol is not defined and FEATURE_UBLE is defined, pressing Board_BUTTON1 will only initialize the sensor application until the sensor has connected to a network. Subsequent presses will cycle through the Uble Advertiser Types and URLs.

Advertisement Type and URL order example

Resources & Jumper Settings

The following hardware is required to run TI 15.4-Stack Out of Box (OOB) example applications:

If you’re using an IDE (such as CCS or IAR), please refer to Board.html in your project directory for resources used and board-specific jumper settings. Otherwise, you can find Board.html in the directory <SDK_INSTALL_DIR>/source/ti/boards/<BOARD>.

Example Usage

This example project implements a sensor end device: one of potentially many network devices in a PAN. This end device reads sensor information and sends it to the PAN-coordinator at a configured interval. This example assumes a second Launchpad is running the default collector application code to act as the PAN-coordinator.

In order to easily identify your sensor’s advertisement between others it is highly suggested to add the FEATURE_STATIC_ADDR. The defualt value of which is 0x778899AABBCC. This will come in handy when you are looking for your device either with the TI Packet Sniffer or other smart phone apps. (See Analyzing UBLE Traffic for more information).

The example output can either be viewed by connecting the optional LCD Boosterpack, or through the UART terminal.

The COM port can be determined via Device Manager in Windows or via ls /dev/tty* in Linux.

The joining device state variable information can be seen in the Joining Device Logical Link Controller’s header file (jdllc.h), within the Jdllc_states_t structure.

If AUTO_START defined the advertiser module will defualt to AdvertiserMS mode

    Advertiser Type Changed: AdvertiserMS

In order for the network device to join, it must have either the generic PAN Id (0xFFFF, default configuration) or the same PAN Id as the collector. These settings can be found in the application’s config.h file.

Analyzing Network Traffic

TI 15.4-Stack provides the means to analyze over-the-air traffic by including a packet sniffer firmware image. With an additional CC13x0 Launchpad, users can set up a packet sniffer with the software provided in the SDK. More information about this can be found in the TI 15.4-Stack documentation under Packet Sniffer.

Analyzing Uble Traffic

Using the **Texas Instruments Ble Packet Sniffer and a capable capture device you can see the advertisement broadcasts that are sent from your sensor.

Traffic can also be analyzed using a smart phone. Download the TI SmartTag app, or any number of other apps (Beacon Monitor, Beacon Scanner) to view your advertisements and see details on them.

For example, with the sensor in AdvertiserMs mode, holding Board_BUTTON0 will be visible from the Ti SmartTag App. When your advertisements have become visible on the app there are three hex values after the ID. The third value indicates the button mask value at the time of sending the advertisement.

Application Design Details

See config.h and features.h for the default application settings. Some important settings in config.h include:

The features.h file can be modified in order to disable certain features to save code space.

More information about the configuration and feature options can be found in the TI 15.4-Stack documentation under Example Applications > Configuration Parameters.

A detailed description of the application architecture can be found in your installation within the TI-15.4 Stack Getting Started Guide’s Application Overview section.

<SDK_INSTALL_DIR>/docs/ti154stack/ti154stack-getting-started-guide.html.

For IAR users: When using the CC13x0DK, the TI XDS110v3 USB Emulator must be selected. For the CC13x0_LAUNCHXL, select TI XDS110 Emulator. In both cases, select the cJTAG interface.

In order to build from flash, within the IAR Project options-> Build Actions Update the “Pre-build command line” and change the “NO_ROM=0” to “NO_ROM=1”.