Class-C device showing Class-B flag true

Got a strange thing in notice.While using a device in Class-C, when i send a downlink data greater than 45 bytes, the class-B flag gets TRUE along with the fPending bit.

Server: gateway-bridge: 3.2.1-1-g040e19f, network-server: 3.2.1, application-server: 3.3.0-7-gdf3d2d2

End-node: Class-C, LoRaWAN MAC version 1.0.1, ADR- true
Case-1) Data less than 45 bytes
Class-B: flase
fPending : false

Case-2) Data greater than 45 bytes
Class-B:true
fPending : true

This is because they share the same bit :slight_smile: (thus the same bit has a different meaning depending uplink / downlink).

On uplink the bit is assigned to classB
On downlink the bit is assigned to fPending

In order to avoid code duplication, there is only one FCtrl implementation for uplink and downlink. Therefore you see both fields appear for both uplink and downlink.

2 Likes