Hi,
I’m using GXSerial (USB) without GXMedia to read DLMS meter data. During Association Response, I receive all OBIS codes in one large response frame, like this:
7E A2 05 41 03 52 39 5A E6 E7 00 C4 02 C1 00 00 00 00 01 00 82 01 ED 01 54 02 04 12 00 08 11 00 09 06 00 00 01 00 00 FF 02 02 01 09 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 00 00 02 03 0F 04 16 00 00 02 03 0F 05 16 00 00 02 03 0F 06 16 00 00 02 03 0F 07 16 00 00 02 03 0F 08 16 00 00 02 03 0F 09 16 00 00 01 06 02 02 0F 01 03 00 02 02 0F 02 03 00 02 02 0F 03 03 00 02 02 0F 04 03 00 02 02 0F 05 03 00 02 02 0F 06 03 00 02 04 12 00 0F 11 00 09 06 00 00 28 00 00 FF 02 02 01 08 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 00 00 02 03 0F 06 16 01 00 02 03 0F 07 16 00 00 02 03 0F 08 16 01 00 01 04 02 02 0F 01 03 00 02 02 0F 02 03 00 02 02 0F 03 03 00 02 02 0F 04 03 00 02 04 12 00 0F 11 00 09 06 00 00 28 00 01 FF 02 02 01 08 02 03 0F 01 16 01 00 02 03 0F 02 16 00 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 00 00 02 03 0F 06 16 01 00 02 03 0F 07 16 00 00 02 03 0F 08 16 01 00 01 04 02 02 0F 01 03 00 02 02 0F 02 03 00 02 02 0F 03 03 00 02 02 0F 04 03 00 02 04 12 00 0F 11 00 09 06 00 00 28 00 02 FF 02 02 01 08 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 00 00 02 03 0F 06 16 01 00 02 03 0F 07 16 00 00 02 03 0F 08 16 01 00 01 04 02 02 0F 01 03 00 02 02 0F 02 03 00 02 02 0F 03 03 00 02 02 0F 04 03 00 02 04 12 00 11 11 00 09 06 00 00 29 00 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 00 00 2A 00 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 C4 87 7E
when i pass to
dlmsClient.getData(accumulated, pendingReadReply, null);
It gives pendingReply = "", and I can't parse further data.
However, in the Gurux demo app (which uses GXMedia), the same Association Response comes in multiple fragments, and pendingReply is handled properly.
My Questions are
Is GXMedia responsible for handling/fragmenting the incoming HDLC blocks?
Is the reason I get only one large frame due to not using GXMedia?
Do I need to implement custom logic to split/accumulate frames when GXMedia is not used?
Hi, This is the first data…
Hi,
This is the first data block. You need to read them all before you can parse the data.
The media just send bytes. It doesn't care about HDLC, end of packet, CRC, etc.
BR,
Mikko