Skip to main content
Home
for DLMS smart meters
Open source solutions for DLMS smart metering

Main navigation

  • Home
  • Products
  • About us
  • Open Source
  • Community
  • Forum
  • Downloads
User account menu
  • Log in

Breadcrumb

  1. Home
  2. Forums
  3. Arduino Client Program Issue

Arduino Client program issue

Forum Rules

Before commenting read Forum rules

Don't comment the topic if you have a new question.

You can create a new topic selecting correct category from Gurux Forum and then create a new topic selecting "New Topic" from the top left.

By pacemaker , 7 June, 2019
Forums
Gurux.DLMS

Dear Sir,

I used gurux Arduino Client project. I have copy all details in arduino configuration tool. When I do compiling it shows below error logs.

Arduino: 1.8.9 (Windows 10), Board: "Arduino/Genuino Uno"

C:\Users\Admin\AppData\Local\Temp\cc1puZHk.ltrans0.ltrans.o: In function `readDLMSPacket(gxByteBuffer*, gxReplyData*) [clone .part.1]':

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:100: undefined reference to `cl_getData'

C:\Users\Admin\AppData\Local\Temp\cc1puZHk.ltrans0.ltrans.o: In function `com_readDataBlock':

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:120: undefined reference to `bb_init'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:130: undefined reference to `reply_isMoreData'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:132: undefined reference to `cl_receiverReady'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:139: undefined reference to `bb_clear'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:142: undefined reference to `bb_clear'

C:\Users\Admin\AppData\Local\Temp\cc1puZHk.ltrans0.ltrans.o: In function `loop':

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:701: undefined reference to `bb_init'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:703: undefined reference to `bb_capacity'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:704: undefined reference to `cl_init'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:707: undefined reference to `cosem_init'

C:\Users\Admin\AppData\Local\Temp\cc1puZHk.ltrans0.ltrans.o: In function `com_initializeConnection':

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:181: undefined reference to `mes_init'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:182: undefined reference to `reply_init'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:186: undefined reference to `cl_snrmRequest'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:186: undefined reference to `cl_parseUAResponse'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:193: undefined reference to `mes_clear'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:194: undefined reference to `reply_clear'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:196: undefined reference to `cl_aarqRequest'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:196: undefined reference to `cl_parseAAREResponse'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:207: undefined reference to `mes_clear'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:208: undefined reference to `reply_clear'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:213: undefined reference to `cl_getApplicationAssociationRequest'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:213: undefined reference to `cl_parseApplicationAssociationResponse'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:216: undefined reference to `mes_clear'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:217: undefined reference to `reply_clear'

C:\Users\Admin\AppData\Local\Temp\cc1puZHk.ltrans0.ltrans.o: In function `com_read':

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:266: undefined reference to `mes_init'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:267: undefined reference to `reply_init'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:269: undefined reference to `cl_read'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:269: undefined reference to `cl_updateValue'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:274: undefined reference to `mes_clear'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:275: undefined reference to `reply_clear'

C:\Users\Admin\AppData\Local\Temp\cc1puZHk.ltrans0.ltrans.o: In function `com_close':

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:154: undefined reference to `reply_init'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:155: undefined reference to `mes_init'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:156: undefined reference to `cl_releaseRequest'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:161: undefined reference to `reply_clear'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:162: undefined reference to `mes_clear'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:164: undefined reference to `cl_disconnectRequest'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:169: undefined reference to `reply_clear'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:170: undefined reference to `mes_clear'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:171: undefined reference to `cl_clear'

C:\Users\Admin\AppData\Local\Temp\cc1puZHk.ltrans0.ltrans.o: In function `com_initializeConnection':

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:220: undefined reference to `mes_clear'

C:\Users\Admin\Documents\Arduino\sketch_jun06a\client/client.ino:221: undefined reference to `reply_clear'

collect2.exe: error: ld returned 1 exit status

exit status 1
Error compiling for board Arduino/Genuino Uno.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Please provide solutions for this.

Thanks...

Profile picture for user Kurumi

Kurumi

7 years ago

Dear Sir,

Dear Sir,

Arduino expects that all files are under server.ino or client.ino. You need to copy src and include folders manually from "development" folder under your project.

BR,

Mikko

pacemaker

7 years ago

Dear Sir,

Dear Sir,

I have copied that folder in my project folder but after that i got below errors.

Arduino: 1.8.9 (Windows 10), Board: "Arduino/Genuino Uno"

C:\Users\Admin\Desktop\dlms\dlmssettings.h\GuruxDLMS.c-master\Arduino_IDE\client\client.ino: In function 'int readDLMSPacket(gxByteBuffer*, gxReplyData*)':

client:134:55: error: 'cl_getData' was not declared in this scope

ret = cl_getData(&meterSettings, &frameData, reply);

^

C:\Users\Admin\Desktop\dlms\dlmssettings.h\GuruxDLMS.c-master\Arduino_IDE\client\client.ino: In function 'int com_readDataBlock(message*, gxReplyData*)':

client:166:71: error: 'cl_receiverReady' was not declared in this scope

if ((ret = cl_receiverReady(&meterSettings, reply->moreData, &rr)) != DLMS_ERROR_CODE_OK)

^

C:\Users\Admin\Desktop\dlms\dlmssettings.h\GuruxDLMS.c-master\Arduino_IDE\client\client.ino: In function 'int com_close()':

client:190:52: error: 'cl_releaseRequest' was not declared in this scope

if ((ret = cl_releaseRequest(&meterSettings, &msg)) != 0 ||

^

client:198:55: error: 'cl_disconnectRequest' was not declared in this scope

if ((ret = cl_disconnectRequest(&meterSettings, &msg)) != 0 ||

^

C:\Users\Admin\Desktop\dlms\dlmssettings.h\GuruxDLMS.c-master\Arduino_IDE\client\client.ino: In function 'int com_initializeConnection()':

client:219:54: error: 'cl_snrmRequest' was not declared in this scope

if ((ret = cl_snrmRequest(&meterSettings, &messages)) != 0 ||

^

client:221:60: error: 'cl_parseUAResponse' was not declared in this scope

(ret = cl_parseUAResponse(&meterSettings, &reply.data)) != 0)

^

client:229:54: error: 'cl_aarqRequest' was not declared in this scope

if ((ret = cl_aarqRequest(&meterSettings, &messages)) != 0 ||

^

client:231:62: error: 'cl_parseAAREResponse' was not declared in this scope

(ret = cl_parseAAREResponse(&meterSettings, &reply.data)) != 0)

^

client:246:77: error: 'cl_getApplicationAssociationRequest' was not declared in this scope

if ((ret = cl_getApplicationAssociationRequest(&meterSettings, &messages)) != 0 ||

^

client:248:82: error: 'cl_parseApplicationAssociationResponse' was not declared in this scope

(ret = cl_parseApplicationAssociationResponse(&meterSettings, &reply.data)) != 0)

^

C:\Users\Admin\Desktop\dlms\dlmssettings.h\GuruxDLMS.c-master\Arduino_IDE\client\client.ino: In function 'int com_getAssociationView()':

client:282:56: error: 'cl_getObjectsRequest' was not declared in this scope

if ((ret = cl_getObjectsRequest(&meterSettings, &data)) != 0 ||

^

client:284:57: error: 'cl_parseObjects' was not declared in this scope

(ret = cl_parseObjects(&meterSettings, &reply.data)) != 0)

^

C:\Users\Admin\Desktop\dlms\dlmssettings.h\GuruxDLMS.c-master\Arduino_IDE\client\client.ino: In function 'int com_read(gxObject*, unsigned char)':

client:302:69: error: 'cl_read' was not declared in this scope

if ((ret = cl_read(&meterSettings, object, attributeOrdinal, &data)) != 0 ||

^

client:304:87: error: 'cl_updateValue' was not declared in this scope

(ret = cl_updateValue(&meterSettings, object, attributeOrdinal, &reply.dataValue)) != 0)

^

C:\Users\Admin\Desktop\dlms\dlmssettings.h\GuruxDLMS.c-master\Arduino_IDE\client\client.ino: In function 'int com_write(gxObject*, unsigned char)':

client:322:70: error: 'cl_write' was not declared in this scope

if ((ret = cl_write(&meterSettings, object, attributeOrdinal, &data)) != 0 ||

^

C:\Users\Admin\Desktop\dlms\dlmssettings.h\GuruxDLMS.c-master\Arduino_IDE\client\client.ino: In function 'int com_method(gxObject*, unsigned char, dlmsVARIANT*)':

client:342:83: error: 'cl_method' was not declared in this scope

if ((ret = cl_method(&meterSettings, object, attributeOrdinal, params, &messages)) != 0 ||

^

C:\Users\Admin\Desktop\dlms\dlmssettings.h\GuruxDLMS.c-master\Arduino_IDE\client\client.ino: In function 'int com_readList(gxArray*)':

client:363:59: error: 'cl_readList' was not declared in this scope

if ((ret = cl_readList(&meterSettings, list, &messages)) != 0)

^

client:384:74: error: 'cl_receiverReady' was not declared in this scope

if ((ret = cl_receiverReady(&meterSettings, reply.moreData, &rr)) != DLMS_ERROR_CODE_OK ||

^

client:395:56: error: 'cl_updateValues' was not declared in this scope

ret = cl_updateValues(&meterSettings, list, &bb);

^

C:\Users\Admin\Desktop\dlms\dlmssettings.h\GuruxDLMS.c-master\Arduino_IDE\client\client.ino: In function 'int com_readRowsByEntry(gxProfileGeneric*, long unsigned int, long unsigned int)':

client:416:76: error: 'cl_readRowsByEntry' was not declared in this scope

if ((ret = cl_readRowsByEntry(&meterSettings, object, index, count, &data)) != 0 ||

^

client:418:83: error: 'cl_updateValue' was not declared in this scope

(ret = cl_updateValue(&meterSettings, (gxObject*)object, 2, &reply.dataValue)) != 0)

^

C:\Users\Admin\Desktop\dlms\dlmssettings.h\GuruxDLMS.c-master\Arduino_IDE\client\client.ino: In function 'int com_readRowsByRange(gxProfileGeneric*, tm*, tm*)':

client:438:74: error: 'cl_readRowsByRange' was not declared in this scope

if ((ret = cl_readRowsByRange(&meterSettings, object, start, end, &data)) != 0 ||

^

client:440:83: error: 'cl_updateValue' was not declared in this scope

(ret = cl_updateValue(&meterSettings, (gxObject*)object, 2, &reply.dataValue)) != 0)

^

exit status 1
'cl_getData' was not declared in this scope

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Can you suggest what is problem now?

Thanks in advance....

Profile picture for user Kurumi

Kurumi

7 years ago

Hi,

Hi,

Your folder structure should be:
C:\Users\Admin\Desktop\dlms\dlmssettings.h\GuruxDLMS.c-master\Arduino_IDE\client\include
C:\Users\Admin\Desktop\dlms\dlmssettings.h\GuruxDLMS.c-master\Arduino_IDE\client\src

Get the latest version. We have removed a few Arduino compiler warnings.

BR,
Mikko

ademiti

6 years 9 months ago

Hi Mikko, (I can compile

Hi Mikko, (I can compile "server.ino" without errors) but I can't to compile "client.ino" on Arduino IDE, I put the "src" and "include" into the sketch folder, but I obtain these errors:

sketch/src/gxget.c.o: In function `getLNAccessRights':
sketch/src/gxget.c:497: undefined reference to `svr_getAttributeAccess'
sketch/src/gxget.c:529: undefined reference to `svr_getMethodAccess'
sketch/src/gxget.c.o: In function `getSNAccessRights':
sketch/src/gxget.c:991: undefined reference to `svr_getAttributeAccess'
sketch/src/gxget.c:1012: undefined reference to `svr_getMethodAccess'
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board Arduino/Genuino Zero (Native USB Port).

Do you know which is the problem?
Thanks and regards
Alejandro

Profile picture for user Kurumi

Kurumi

6 years 8 months ago

Hi Alejandro,

Hi Alejandro,

#define DLMS_IGNORE_SERVER. You can add it if you uncomment #define DLMS_IGNORE_SERVER from the gxignore.h file.

We'll add empty sceletons for those methods, so you don't need to worry about DLMS_IGNORE_SERVER anymore.

BR,
Mikko

Prabhath

5 years 11 months ago

Hi Mikko,

Hi Mikko,

I have manually copied src & includes to the sketch folder.

I am getting the following error when compiling the client.ino program.

C:\Users\Dell\Downloads\GuruxDLMS.c-master (1)\GuruxDLMS.c-master\Arduino_IDE\client\client.ino: In function 'int com_close()':

client:185:3: error: 'mes_init' was not declared in this scope

mes_init(&msg);

^~~~~~~~

Any idea how to fix this?

Profile picture for user Kurumi

Kurumi

5 years 11 months ago

In reply to Hi Mikko, by Prabhath

Hi Prabhath,

Hi Prabhath,

Please, create a new topic if you have a new question. You need to comment on this line:
#define DLMS_IGNORE_MALLOC

You can't give compile parameters for Arduino IDE and that is causing problems. We'll try to find out how to solve this.

BR,

Mikko

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Tue, 06/09/2026 - 11:16
    gurux.dlms.java 4.0.95
  • Tue, 06/09/2026 - 10:03
    Gurux.DLMS.Python 1.0.199
  • Mon, 06/08/2026 - 13:39
    gurux.dlms.cpp 9.0.2606.0801
  • Mon, 06/01/2026 - 10:15
    gurux.dlms.cpp 9.0.2606.0101
  • Thu, 05/28/2026 - 16:06
    gurux.dlms.java 4.0.94

New forum topics

  • Error reading L&G Meter
  • Pass a TCP Client to GXNet
  • Australian EDMI Mk10D (Essential Energy area)
  • Strange mix of data notificiation vs get response
  • DLMS Connection
More

Who's new

  • Tuanhgg
  • Adel
  • charnon
  • Paddles
  • Miguel Ángel
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin