nRF51 SDK: Pairing Device with Dynamic Pairing

| nRF51 SDK

- Home
- Related Pages
- API Reference
- Data Structures

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Pairing Device with Dynamic Pairing

# Device pairing

This project requires a running counterpart project, which is either a:

1) nRF24Lxx Host running the gzll_host_w_dynamic_pairing example from the compatible version of the nRFgo SDK, or a

2) nRF51 Host running the gzp_host_dynamic_pairing_example example.

The application sends packets continuously. If a packet transmission fails (either times out or encryption failed), the Device will attempt pairing to a Host by sending a pairing request, consisting of an "address request" and a "Host ID" request.

If the Device is paired to a Host, pairing data will be stored in non volatile memory.

Before adding a packet to the TX queue, the contents of the GPIO Port BUTTONS is copied to the first payload byte (byte 0). When an ACK is received, the contents of the first payload byte of the ACK are output on GPIO Port LEDS.

The application alternates between sending the packets encrypted through the pairing library or directly as plaintext using pipe UNENCRYPTED_DATA_PIPE.

# Host pairing

This project requires a running counterpart project, which is either a:

1) nRF24Lxx Device running the gzll_device_w_dynamic_pairing example from the compatible version of the nRFgo SDK, or a

2) nRF51 Device running the gzp_device_dynamic_pairing_example example.

The application listens for packets continuously, monitoring for pairing requests as well as normal user data.

The Gazell pairing library uses pipe 0 and pipe 1 for encrypted communication. The application will grant any request for a Host ID, thus granting pairing. Unencrypted packets can be received on pipe 2.

When DATA is received, the contents of the first payload byte of the are output on GPIO Port LEDS.