Table of Content

PCR2 Application Payloads V3

Go to Payload Decoder

This document describes version 4 of the application payload introduced with Firmware V3.4.0

Older versions of this document:

You can choose between 3 different payloads formats. Each of them have different purposes such as compatibility with ELSYS devices or standardized payloads like Cayenne LPP. If you want all the feautures including remote controlling counter values go for Extended Payload.

Extended Application Payload Format (PTYPE = 2)

Byte Property Description Uplink Values Downlink Values
0 VID Vendor ID, always 0xbe for Parametric Devices be be
1 DEV_FAM Device Family, always 0x01 for PCR2 Devices 01 01
2 PAY_VER Payload Version, always 0x03 for V3 Payloads 03 03
3:4 LTR left-to-right counter
0-65535 objects
0000-ffff ignored (*)
5:6 RTL right-to-left counter
0-65535 objects
0000-ffff ignored (*)
7:8 LTR_SUM sum of left-to-right counts since device power up
0-65535 objects
0000-ffff 0000-ffff
9:10 RTL_SUM sum of right-to-left counts since device power up
0-65535 objects
0000-ffff 0000-ffff
11 SBX_BATT battery gauge when equiped with an SBX solar charger
0…100%
00-64 ignored (*)
12:13 SBX_PV Solar panel power when equiped with SBX
0…65535 mW
0000-ffff ignored (*)
14:15 CPU_TEMP CPU Temperature
-3276.8°C –>3276.7°C
f000-0fff ignored (*)

(*) These field values are ignored by the device when downlinking this payload.

Payload Examples (Hexstring)

be 01 03 00 00 00 00 00 01 00 00 64 0c e4 01 39


Cayenne LPP Application Payload Format (PTYPE = 1)

Byte Property Description Uplink Values Downlink Values
0 Channel 0 always 0x00 00 ignored (*)
1 Presence ID always 0x66 66 ignored (*)
2 LTR left-to-right counter
0-255 objects
00-ff ignored (*)
3 Channel 1 always 0x01 01 ignored (*)
4 Presence ID always 0x66 66 ignored (*)
5 LTR right-to-left counter
0-255 objects
00-ff ignored (*)
6 Channel 2 always 0x02 02 ignored (*)
7 Temperature ID always 0x67 67 ignored (*)
8 TEMP CPU temperature 00-ff ignored (*)
9 Channel 3 always 0x03 03 ignored (*)
10 Analog ID always 0x02 02 ignored (*)
11 SBX_BATT battery gauge when equiped with an SBX solar charger
0…100.00%
0000-2710 ignored (*)

(*) Downlinking Cayenne LPP Application Payloads is not supported. Go for Extended Payload if you need to overwrite counter values.


ELSYS Application Payload Format (PTYPE = 0)

Byte Property Description Uplink Values Downlink Values
0 TYPE_PULSE1 always 0x0a 0a ignored (*)
1:2 LTR left-to-right counter
0-65535 objects
0000-ffff ignored (*)
3 TYPE_PULSE2 always 0x16 16 ignored (*)
4:5 RTL right-to-left counter
0-65535 objects
0000-ffff ignored (*)
6 TYPE_TEMP always 0x01 01 ignored (*)
7:8 TEMP CPU Temperature
-3276.8°C –>3276.7°C
f000-0fff ignored (*)

(*) Downlinking Default Application Payloads is not supported. Go for Extended Payload if you need to overwrite counter values.


Application Payload Ports

Uplink Port 14
Downlink Port 14




Best Practice

Check Port and Payload Header in your decoder

Always check for port 14 prior to decoding a application payload.


    // check for valid pcr2 application pl 
    if ( port == 14 ) 
    {        
        if(byte[0] == 0x0a) 
        {
            // decode ELSYS payload
        }

        if(byte[0] == 0 && byte[1] == 102) 
        {
            // decode LPP payload
        }

        if(byte[0] == 0xbe && byte[1] == 0x01 && byte[2] == 0x03) 
        {
            // decode extended payload V3
        }


    }


Use Extended Payload to remote control sum counters

You might send a Downlink to Port 14 with the Extended Payload format to reset counters. PCR2 devices can be operated as Class C devices. With this you can clear counters at any time.

Find more example code in our public repository.