This data, also known as payload, are essentially the hex digits for the various parameters (i.e. pressure, temperature) we sent out earlier on. Let's explain in detail what the hex string means.

For example, Pressure = 0x03E8 is equals to 1000hPa in decimal notation.
Temperature = 0x21 is equals to 33°C in decimal notation.
Humidity = 0x0032 is equals to 50% in decimal notation.
Light = 0x001A is equals to 26 lux in decimal notation.
Battery = 0xFE is equals to 254 in decimal notation.
*Note that battery indicator is from 0 to 254 where 0 means that the battery is flat and 254 means that the battery is fully charged.
How did the project file correctly identify each data format?

Let's take a look at the project file in line 382 of the function SendTxData in lora_app.c file below. The function started out by declaring our variables such as pressure, temperature, etc. Next, it calls the function EnvSensors_Read to read sensor data. Since sensor is not enabled, it gets the system temperature as well as light level.

The function sensor_data is the one that stores the sensor data which can be found in line 122 onwards of sys_sensors.c file seen below.