nr means short form of bit 'number', unsigned long is portable, 32bit for 32-bit cpu and 64 bits for 64bit cpu whereas unsigned int is always 32 bits regardless of architecture.
Why is this in TDCommon? It should probably be in MessagePayloads.h or DDDefs.h so both DD and TD f/w can share this payload structure. And the common definitions should be added to appropriate doxygen group.
What TD does with UF rate is mostly to tell DD what rate we want. DD wants mL/min. TD can keep L/hr and convert to mL/min every time it needs to send DD a message or it can keep mL/min and convert to L/hr every time it needs to send UI a message. Either way works for me.
@details \b Outputs: Please make sure to update all of them to Leahi format In this case, there should be a \b before the type of details (Inputs and Outputs here) so they will be bold when doxygen documentation is generated.
Remove extra l at end of flag name (mis-spelled). And why are we sending this flag with scan event? Seems like the Received flag is what you want here.