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.
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.
hi
error in compiliing server.ino
Arduino: 1.8.15 (Windows 10), Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"
GXDLMSServer.cpp:175:50: error: no 'void GXDLMSServer::setDefaultClock(gxClock*)' member function declared in class 'GXDLMSServer'
void GXDLMSServer::setDefaultClock(gxClock* clock)
^
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp: In member function 'void GXDLMSServer::assingBlockCipherKey(dlmsVARIANT*)':
GXDLMSServer.cpp:205:3: error: 'GX_OCTET_STRING' was not declared in this scope
GX_OCTET_STRING(*value, settings.base.cipher.blockCipherKey, 16);
^~~~~~~~~~~~~~~
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp:205:3: note: suggested alternative: 'SET_OCTET_STRING'
GX_OCTET_STRING(*value, settings.base.cipher.blockCipherKey, 16);
^~~~~~~~~~~~~~~
SET_OCTET_STRING
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp: In member function 'void GXDLMSServer::assingAuthenticationKey(dlmsVARIANT*)':
GXDLMSServer.cpp:210:3: error: 'GX_OCTET_STRING' was not declared in this scope
GX_OCTET_STRING(*value, settings.base.cipher.authenticationKey, 16);
^~~~~~~~~~~~~~~
server:139:3: error: 'gxSapItem' does not name a type; did you mean 'gxListItem'?
gxSapItem values[5];
^~~~~~~~~
gxListItem
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp:210:3: note: suggested alternative: 'SET_OCTET_STRING'
GX_OCTET_STRING(*value, settings.base.cipher.authenticationKey, 16);
^~~~~~~~~~~~~~~
SET_OCTET_STRING
server:199:8: error: 'gxSapAssignment' does not name a type; did you mean 'cosem_getSapAssignment'?
static gxSapAssignment sapAssignment;
^~~~~~~~~~~~~~~
cosem_getSapAssignment
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp: In member function 'void GXDLMSServer::assingKek(dlmsVARIANT*)':
GXDLMSServer.cpp:215:3: error: 'GX_OCTET_STRING' was not declared in this scope
GX_OCTET_STRING(*value, settings.base.kek, 16);
^~~~~~~~~~~~~~~
In file included from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\objectarray.h:41:0,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\dlmssettings.h:42,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\serverevents.h:38,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.h:38,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:35:
server:206:52: error: 'sapAssignment' was not declared in this scope
BASE(ldn), BASE(sapAssignment), BASE(eventCode),
^
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:3684:18: note: in definition of macro 'BASE'
#define BASE(X) &X.base
^
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp:215:3: note: suggested alternative: 'SET_OCTET_STRING'
GX_OCTET_STRING(*value, settings.base.kek, 16);
^~~~~~~~~~~~~~~
SET_OCTET_STRING
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addAssociationHigh(short unsigned int)':
server:430:10: error: 'gxUser' does not name a type; did you mean 'gxKey'?
static gxUser USER_LIST[10] = { 0 };
^~~~~~
gxKey
In file included from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:50:0,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\objectarray.h:41,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\dlmssettings.h:42,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\serverevents.h:38,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.h:38,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:35:
server:440:42: error: 'USER_LIST' was not declared in this scope
ARR_ATTACH(associationHigh.userList, USER_LIST, 0);
^
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'
#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))
^
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:440:42: note: suggested alternative: '_VA_LIST'
ARR_ATTACH(associationHigh.userList, USER_LIST, 0);
^
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'
#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))
^
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addAssociationHighGMac(short unsigned int)':
server:475:10: error: 'gxUser' does not name a type; did you mean 'gxKey'?
static gxUser USER_LIST[10] = { 0 };
^~~~~~
gxKey
In file included from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:50:0,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\objectarray.h:41,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\dlmssettings.h:42,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\serverevents.h:38,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.h:38,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:35:
server:490:46: error: 'USER_LIST' was not declared in this scope
ARR_ATTACH(associationHighGMac.userList, USER_LIST, 0);
^
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'
#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))
^
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:490:46: note: suggested alternative: '_VA_LIST'
ARR_ATTACH(associationHighGMac.userList, USER_LIST, 0);
^
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'
#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))
^
In file included from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\objectarray.h:41:0,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\dlmssettings.h:42,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\serverevents.h:38,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.h:38,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:35:
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addSapAssignment(short unsigned int)':
server:556:26: error: 'sapAssignment' was not declared in this scope
if ((ret = INIT_OBJECT(sapAssignment, DLMS_OBJECT_TYPE_SAP_ASSIGNMENT, ln)) == 0)
^
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:3685:43: note: in definition of macro 'INIT_OBJECT'
#define INIT_OBJECT(X, Y, Z) cosem_init4(&X.base, sizeof(X), Y, Z)
^
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:556:26: note: suggested alternative: 'addSapAssignment'
if ((ret = INIT_OBJECT(sapAssignment, DLMS_OBJECT_TYPE_SAP_ASSIGNMENT, ln)) == 0)
^
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:3685:43: note: in definition of macro 'INIT_OBJECT'
#define INIT_OBJECT(X, Y, Z) cosem_init4(&X.base, sizeof(X), Y, Z)
^
server:560:51: error: 'struct GXSapList' has no member named 'values'
sprintf((char*) meterData.sapAssignmentList.values[0].name.value, "%s%.13lu", FLAG_ID, meterData.SERIAL_NUMBER);
^~~~~~
server:561:35: error: 'struct GXSapList' has no member named 'values'
meterData.sapAssignmentList.values[0].name.size = 16;
^~~~~~
server:562:35: error: 'struct GXSapList' has no member named 'values'
meterData.sapAssignmentList.values[0].id = 1;
^~~~~~
In file included from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:50:0,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\objectarray.h:41,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\dlmssettings.h:42,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\serverevents.h:38,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.h:38,
from C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:35:
server:565:77: error: 'struct GXSapList' has no member named 'values'
ARR_ATTACH(sapAssignment.sapAssignmentList, meterData.sapAssignmentList.values, meterData.sapAssignmentList.count);
^
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'
#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))
^
server:565:77: error: 'struct GXSapList' has no member named 'values'
ARR_ATTACH(sapAssignment.sapAssignmentList, meterData.sapAssignmentList.values, meterData.sapAssignmentList.count);
^
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:57: note: in definition of macro 'ARR_ATTACH'
#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))
^
server:565:77: error: 'struct GXSapList' has no member named 'values'
ARR_ATTACH(sapAssignment.sapAssignmentList, meterData.sapAssignmentList.values, meterData.sapAssignmentList.count);
^
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:67: note: in definition of macro 'ARR_ATTACH'
#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))
^
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addLogicalDeviceName()':
server:585:5: error: 'GX_OCTET_STRING' was not declared in this scope
GX_OCTET_STRING(ldn.value, meterData.LDN, sizeof(meterData.LDN));
^~~~~~~~~~~~~~~
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:585:5: note: suggested alternative: 'SET_OCTET_STRING'
GX_OCTET_STRING(ldn.value, meterData.LDN, sizeof(meterData.LDN));
^~~~~~~~~~~~~~~
SET_OCTET_STRING
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int loadTargets(GXPushObjects*, gxTarget*, short unsigned int*)':
server:620:18: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?
objects[pos].target = it;
^~~~~~
gxTarget
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int saveTargets(GXPushObjects*, gxTarget*, short unsigned int)':
server:633:64: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?
memcpy(savedObjects->values[pos].logicalName, objects[pos].target->logicalName, 6);
^~~~~~
gxTarget
server:634:57: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?
savedObjects->values[pos].objectType = objects[pos].target->objectType;
^~~~~~
gxTarget
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addLoadProfileProfileGeneric()':
server:837:23: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?
CAPTURE_OBJECT[0].target = BASE(meterData.clock1);
^~~~~~
gxTarget
server:841:23: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?
CAPTURE_OBJECT[1].target = BASE(activePowerL1);
^~~~~~
gxTarget
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addEventLogProfileGeneric()':
server:873:23: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?
CAPTURE_OBJECT[0].target = BASE(meterData.clock1);
^~~~~~
gxTarget
server:877:23: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?
CAPTURE_OBJECT[1].target = BASE(eventCode);
^~~~~~
gxTarget
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'void setup()':
server:1172:10: error: 'class GXDLMSServer' has no member named 'setDefaultClock'
Server.setDefaultClock(&meterData.clock1);
^~~~~~~~~~~~~~~
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int sendPush(dlmsSettings*, gxPushSetup*)':
server:1587:13: error: 'struct dlmsSettings' has no member named 'serializedPdu'
settings->serializedPdu = &pdu;
^~~~~~~~~~~~~
server:1592:3: error: 'mes_attach' was not declared in this scope
mes_attach(&messages, tmp, 1);
^~~~~~~~~~
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:1592:3: note: suggested alternative: 'oa_attach'
mes_attach(&messages, tmp, 1);
^~~~~~~~~~
oa_attach
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'unsigned char svr_isTarget(dlmsSettings*, long unsigned int, long unsigned int)':
server:1910:7: error: 'gxSapAssignment' was not declared in this scope
gxSapAssignment* sap;
^~~~~~~~~~~~~~~
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:1910:7: note: suggested alternative: 'addSapAssignment'
gxSapAssignment* sap;
^~~~~~~~~~~~~~~
addSapAssignment
server:1910:24: error: 'sap' was not declared in this scope
gxSapAssignment* sap;
^~~
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:1910:24: note: suggested alternative: 'map'
gxSapAssignment* sap;
^~~
map
server:1914:9: error: 'gxSapItem' was not declared in this scope
gxSapItem* it;
^~~~~~~~~
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:1914:9: note: suggested alternative: 'gxListItem'
gxSapItem* it;
^~~~~~~~~
gxListItem
server:1914:20: error: 'it' was not declared in this scope
gxSapItem* it;
^~
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:1914:20: note: suggested alternative: 'bit'
gxSapItem* it;
^~
bit
exit status 1
no 'void GXDLMSServer::setDefaultClock(gxClock*)' member function declared in class 'GXDLMSServer'
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Hi,
Hi,
Have you copy include and src folders from development to
C:\Users\Benyamin\Documents\dlms director\v22\GuruxDLMS.c-master\Arduino_IDE\server?
BR,
Mikko
yes im copy in server file
yes im copy in server file
client.ino and pushlistener.ino compiling good but server.ino not working not compling
Hi,
Hi,
Can you select "File" and "Preferences". What is your "Additional Boards Manager Urls:"? Can you paste it here?
BR,
Mikko
im using arduine mega2560
im using arduine mega2560
Hi,
Hi,
Get the latest version. GitHub version was ignored SAP assignment in ArduinoIgnore.h file.
BR,
Mikko
tnx for reply.
tnx for reply.
Hello
Hello
When I comment on this part
//Arduino server doesn't use malloc.
//#define DLMS_IGNORE_MALLOC
error compilling happen
Arduino: 1.8.15 (Windows 10), Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp: In member function 'void GXDLMSServer::assingBlockCipherKey(dlmsVARIANT*)':
GXDLMSServer.cpp:202:3: error: 'GX_OCTET_STRING' was not declared in this scope
GX_OCTET_STRING(*value, settings.base.cipher.blockCipherKey, 16);
^~~~~~~~~~~~~~~
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp:202:3: note: suggested alternative: 'SET_OCTET_STRING'
GX_OCTET_STRING(*value, settings.base.cipher.blockCipherKey, 16);
^~~~~~~~~~~~~~~
SET_OCTET_STRING
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp: In member function 'void GXDLMSServer::assingAuthenticationKey(dlmsVARIANT*)':
GXDLMSServer.cpp:207:3: error: 'GX_OCTET_STRING' was not declared in this scope
GX_OCTET_STRING(*value, settings.base.cipher.authenticationKey, 16);
^~~~~~~~~~~~~~~
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addAssociationHigh(short unsigned int)':
server:430:10: error: 'gxUser' does not name a type; did you mean 'gxKey'?
static gxUser USER_LIST[10] = { 0 };
^~~~~~
gxKey
In file included from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:50:0,
from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\objectarray.h:41,
from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\dlmssettings.h:42,
from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\serverevents.h:38,
from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.h:38,
from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:35:
server:440:42: error: 'USER_LIST' was not declared in this scope
ARR_ATTACH(associationHigh.userList, USER_LIST, 0);
^
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'
#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))
^
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:440:42: note: suggested alternative: '_VA_LIST'
ARR_ATTACH(associationHigh.userList, USER_LIST, 0);
^
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'
#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))
^
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addAssociationHighGMac(short unsigned int)':
server:475:10: error: 'gxUser' does not name a type; did you mean 'gxKey'?
static gxUser USER_LIST[10] = { 0 };
^~~~~~
gxKey
In file included from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:50:0,
from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\objectarray.h:41,
from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\dlmssettings.h:42,
from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\serverevents.h:38,
from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.h:38,
from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:35:
server:490:46: error: 'USER_LIST' was not declared in this scope
ARR_ATTACH(associationHighGMac.userList, USER_LIST, 0);
^
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'
#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))
^
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp:207:3: note: suggested alternative: 'SET_OCTET_STRING'
GX_OCTET_STRING(*value, settings.base.cipher.authenticationKey, 16);
^~~~~~~~~~~~~~~
SET_OCTET_STRING
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp: In member function 'void GXDLMSServer::assingKek(dlmsVARIANT*)':
GXDLMSServer.cpp:212:3: error: 'GX_OCTET_STRING' was not declared in this scope
GX_OCTET_STRING(*value, settings.base.kek, 16);
^~~~~~~~~~~~~~~
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:490:46: note: suggested alternative: '_VA_LIST'
ARR_ATTACH(associationHighGMac.userList, USER_LIST, 0);
^
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:157:44: note: in definition of macro 'ARR_ATTACH'
#define ARR_ATTACH(X, V, S) arr_attach(&X, V, S, sizeof(V)/sizeof(V[0]))
^
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addSapAssignment(short unsigned int)':
server:560:66: error: 'struct gxByteBuffer' has no member named 'value'
sprintf((char*) meterData.sapAssignmentList.values[0].name.value, "%s%.13lu", FLAG_ID, meterData.SERIAL_NUMBER);
^~~~~
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addLogicalDeviceName()':
server:585:5: error: 'GX_OCTET_STRING' was not declared in this scope
GX_OCTET_STRING(ldn.value, meterData.LDN, sizeof(meterData.LDN));
^~~~~~~~~~~~~~~
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:585:5: note: suggested alternative: 'SET_OCTET_STRING'
GX_OCTET_STRING(ldn.value, meterData.LDN, sizeof(meterData.LDN));
^~~~~~~~~~~~~~~
SET_OCTET_STRING
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.cpp:212:3: note: suggested alternative: 'SET_OCTET_STRING'
GX_OCTET_STRING(*value, settings.base.kek, 16);
^~~~~~~~~~~~~~~
SET_OCTET_STRING
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int loadTargets(GXPushObjects*, gxTarget*, short unsigned int*)':
server:620:18: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?
objects[pos].target = it;
^~~~~~
gxTarget
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int saveTargets(GXPushObjects*, gxTarget*, short unsigned int)':
server:633:64: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?
memcpy(savedObjects->values[pos].logicalName, objects[pos].target->logicalName, 6);
^~~~~~
gxTarget
server:634:57: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?
savedObjects->values[pos].objectType = objects[pos].target->objectType;
^~~~~~
gxTarget
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addLoadProfileProfileGeneric()':
server:837:23: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?
CAPTURE_OBJECT[0].target = BASE(meterData.clock1);
^~~~~~
gxTarget
server:841:23: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?
CAPTURE_OBJECT[1].target = BASE(activePowerL1);
^~~~~~
gxTarget
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int addEventLogProfileGeneric()':
server:873:23: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?
CAPTURE_OBJECT[0].target = BASE(meterData.clock1);
^~~~~~
gxTarget
server:877:23: error: 'struct gxTarget' has no member named 'target'; did you mean 'gxTarget'?
CAPTURE_OBJECT[1].target = BASE(eventCode);
^~~~~~
gxTarget
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'int sendPush(dlmsSettings*, gxPushSetup*)':
server:1587:13: error: 'struct dlmsSettings' has no member named 'serializedPdu'
settings->serializedPdu = &pdu;
^~~~~~~~~~~~~
server:1592:3: error: 'mes_attach' was not declared in this scope
mes_attach(&messages, tmp, 1);
^~~~~~~~~~
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:1592:3: note: suggested alternative: 'oa_attach'
mes_attach(&messages, tmp, 1);
^~~~~~~~~~
oa_attach
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino: In function 'unsigned char svr_isTarget(dlmsSettings*, long unsigned int, long unsigned int)':
server:1922:94: error: too many arguments to function 'int arr_getByIndex(gxArray*, short unsigned int, void**)'
if (arr_getByIndex(&sap->sapAssignmentList, pos, (void**)&it, sizeof(gxSapItem)) == 0)
^
In file included from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\gxobjects.h:50:0,
from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\objectarray.h:41,
from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\dlmssettings.h:42,
from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\serverevents.h:38,
from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\GXDLMSServer.h:38,
from C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\server.ino:35:
C:\Users\Benyamin\Documents\dlms director\GuruxDLMS.c-master\GuruxDLMS.c-master\Arduino_IDE\server\include\gxarray.h:103:9: note: declared here
int arr_getByIndex(
^~~~~~~~~~~~~~
exit status 1
'GX_OCTET_STRING' was not declared in this scope
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
I'm really confused
I'm really confused
I want to read the data of ten electricity meters, which example should I use?
client
server
push listener
Thank you very much for your help
Hi,
Hi,
Use the client to read the meter. Server is used if you create the meter and Push listener is an example that handles push messages that the meter sends.
http://gurux.fi/Gurux.DLMS
I believe that the best way to start is if you download the GXDLMSDirector and read your meter with it. Then you have a better idea from DLMS meters and what they can do.
BR,
Mikko
im reading meter with dlms
im reading meter with dlms director .
im success reading data
Hi,
Hi,
Then there are no problems. Change client and server address, authentication level and set block and authentication keys and connect to the meter.
BR,
Mikko
Why is there a problem !!!
tnx
Hi,
Hi,
First, make sure that you read the correct invocation counter. There might be several invocation counters.
The invocation counter should be possible to read without authentication. I know that there are a few meters that allow invocation counter read only with the authenticated connection.
That makes no sense because the password has to be sent between the client and the meter and it's a security risk. Some meters are also using the same static invocation counter value.
If your meter expects authenticated connection to read the invocation counter and invocation counter is increasing you can update com_updateInvocationCounter so you read it using the authenticated connection.
BR,
Mikko