# Zigbee Network Processor (ZNP) Example App

- Introduction
- Hardware Prerequisites
- Software Prerequisites
- Configuration With SysConfig
- Example Usage
  - Serial Interface

# Introduction

This document discusses how to use the Zigbee Network Processor (ZNP) Example Application. The ZNP Application is an example that provides all the Zigbee functionality through a serial interface. This solution allows the Zigbee application to run on an external microcontroller while the ZNP handles all the Zigbee protocol tasks and leaves the resources of the application controller free to handle the application.

# Hardware Prerequisites

- The Launchpad which is used by this particular project.
  - SimpleLink™ CC26x2R1 Launchpad
  - SimpleLink™ CC1352P Launchpad
  - SimpleLink™ CC1352R1 Launchpad

# Software Prerequisites

- Code Composer Studio™ (CCS) v9.1 or newer

- SimpleLink™ CC13x2/CC26x2 SDK

- A host application capable of sending ZNP commands, such as:

  - Z-Tool (provided with Z-Stack, core v2.7.1)

# Configuration With SysConfig

SysConfig is a GUI configuration tool that allows for TI driver and stack configurations.

To configure using SysConfig, import the SysConfig-enabled project into CCS. Double click the `*.syscfg` file from the CCS project explorer, where `*` is the name of the example project. The SysConfig GUI window will appear, where Zigbee stack and TI driver configurations can be adjusted. These settings will be reflected in the generated files.

The example project comes with working default settings for SysConfig. For the purposes of this README, it is not recommended to change the default driver settings, as any changes may impact the functionality of the example. The Zigbee stack settings may be changed as required for your use case.

Note that some Z-Stack settings are stored in non-volatile storage, and Z-Stack prioritizes stored settings over SysConfig settings. To guarantee SysConfig settings are applied, perform a factory reset of the device to clear non-volatile storage.

# Example Usage

ZNP application provides the fuctionality of a Zigbee core stack through serial APIs described in the Z-Stack Monitor and Test API document, which is available in the SDK documentation. This API provides functionality through synchronous requests, asynchronous requests and callbacks to allow a complete interaction with the Zigbee network. ZNP application can be tested by using Z-Tool desktop application (v2.7.1), which provides the full interface to the Monitor and Test (MT) commands to be sent to and received from the ZNP device. ZNP application can also be used as a testing tool to validate behavior to certain commands or interact with Zigbee applications in development or deployed in the field. For further details on Z-Tool usage, refer to Z-ToolHelp.chm, available in the Z-Tool folder within the 'tools' directory of the SDK.

## Serial interface

- Open a serial session (e.g. PuTTY, etc.) to the appropriate COM port.
  - The COM port can be determined via Device Manager in Windows or via `ls /dev/tty*` in Linux.

The connection will have the following settings:

        Baud-rate:     115200
        Data bits:          8
        Stop bits:          1
        Parity:          None
        Flow Control:    None