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. Node
  3. Hardfault Issue With DLMS_SCRIPT_ACTION_TYPE_WRITE Command

hardfault Issue with DLMS_SCRIPT_ACTION_TYPE_WRITE command

By ideafix , 13 July, 2023
Forums
General discussion

Hello,

I am facing a weird issue with the execution of a script (from a script table) of type DLMS_SCRIPT_ACTION_TYPE_WRITE.

Here is a code snippet showing how the action is initialized:
/* define action(s) for script 1 */
diconnectControl_ACTIONS[0][0].type = DLMS_SCRIPT_ACTION_TYPE_WRITE;
diconnectControl_ACTIONS[0][0].target = (gxObject *)pdisc_ctrl;
diconnectControl_ACTIONS[0][0].index = 3; /* attribute index 3 = control state */
var_init(&diconnectControl_ACTIONS[0][0].parameter);
var_setEnum(&diconnectControl_ACTIONS[0][0].parameter, DLMS_CONTROL_STATE_READY_FOR_RECONNECTION);
/* link action array to script */
diconnectControl_SCRIPTS[0].id = 1;
ARR_ATTACH(diconnectControl_SCRIPTS[0].actions, diconnectControl_ACTIONS[0], 1);

As soon as the script is executed, the function cosem_setValue (called by invoke_ScriptTable) is run and calls cosem_setDisconnectControl (as expected).
cosem_setDisconnectControl, in turn, calls cosem_getEnum which eventually leads to a hard fault while running bb_getUInt8.

I changed the initialization of the parameter field of the script in order to overcome the issue.
For instance, I applied the following change:
GX_INT8(diconnectControl_ACTIONS[0][0].parameter) = DLMS_CONTROL_STATE_READY_FOR_RECONNECTION;
instead of
var_setEnum(&diconnectControl_ACTIONS[0][0].parameter, DLMS_CONTROL_STATE_READY_FOR_RECONNECTION);
but the issue still occurred.

Any help would be highly appreciated.

Thanks in advance for your support and best regards.

Profile picture for user Administrator

Administrator

3 years ago

Hi, DLMS_SCRIPT_ACTION_TYPE…

Hi,

DLMS_SCRIPT_ACTION_TYPE_WRITE is implemented for the latest version.

BR,
Mikko

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Wed, 08/26/2026 - 09:04
    Gurux.DLMS.Python 1.0.203
  • Mon, 08/17/2026 - 11:28
    Gurux.DLMS.Python 1.0.202
  • Mon, 08/17/2026 - 09:47
    gurux.dlms.cpp 9.0.2608.1701
  • Mon, 08/17/2026 - 09:25
    gurux.dlms.c 9.0.2608.1701
  • Mon, 07/27/2026 - 12:37
    gurux.dlms.cpp 9.0.2607.2701

New forum topics

  • Security vulnerability report — request for a private contact (GuruxDLMS.c / ANSI C)
  • Topic: Insufficient Memory Error When Reading Class 7 Profile Generic Objects
  • SN ReadResponse returns all-null values when response spans multiple HDLC frames
  • Gurux.Serial.Android 3.0.6 – CH340 (HL-340) USB-Serial Adapter Not Working,
  • Trying to talk to a L&G E360 meter (Using Python Gurux)
More
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin