Current Released Version

Release 5.2.2 - October 2017
The following ARs were resolved in this release:
AR Number 
Added get_dd_version() convenience function.
Added support for TEMPLATEs.
Added type checking around upcalls to retrieve_param_value() to eliminate a potential crash.
Fix a failure to load FF5 files that do NOT contain a TEMPLATE table.
Bug fix related to loading of TEMPLATEs.
Bug fix related to loading DD5's that don't have a TEMPLATE table.
Closed some memory leaks related to freeing TEMPLATEs.
Added support for BOOLEAN variables in conditionals.
Fixes related to decoding certain types of TEMPLATE.DEFAULT_VALUES (OCTET_STRING, BITSTRING, and TIME_DIFFERENCE).
Fixed a DDS crash that occurred when a host asked for a TEMPLATE table from a DD4.
Added 64-bit integer support to expressions involving VARIABLE MIN and MAX values.
Changed decoding of DEFAULT_VALUE type TIME_VALUE from 4 bytes to 8 bytes.
Allow DD's with unrecognized Device Table types to still load, ignoring those new tables.
Added new DDS constructs to FD-110 and FD-116 (documentation).
Source requires Microsoft Visual C++ (MSVC) 2013

Previous Versions

DD Services Kit Enhancements
Release 5.2.1 - July 2012
  • Add full support for TEMPLATE to TOK/DDS 5.2.1 as per IEC 61804-3 w/ old binary format
  • fixed error decoding expanded attributes
  • able to read long definition in symbol file
Release 5.2.0  - December 2010
  • Unicode enhancements for multi-language support
  • Source updated to be compliant to Microsoft Visual C++ (MSVC) 9
  • added callback to have dd services notify dds client application of the file DDS actually loaded
  • enhanced API for host to easily find blocks that have conditional items
  • corrected calculation when counting number-of-points in waveform
  • no longer defaults menu style if none defined
  • corrected heap allocaion size when deleting comm_value list
  • corrected errors related to graph cycle time
  • now compliant with MSVC 9.0
  • editorial in FD-110
  • created a new section of FD-116 describing the method interpreter interface
  • method_error_upcall() now provides context information
  • method_error_upcall() now invoked by all error() methods
  • cleaned up subheap size allocation in app_sup\rmalloc.c
  • corrected buffer over-read
  • fixed bug in out-of-memory check
  • fixed bugs in get_adt_dd_device_id() and get_adt_dd_handle()
  • method interpreter enhanced to allow such syntax: e.g. display_message("The Resource Block is in Auto.\n", 0, 0, 0)
  • fixed memory leaks in resolve_ref()
  • DDS now indicates binary is UTF-8
  • enhanced API for host to easily find blocks that have conditional items
  • fixed error with reading grid when validity is defined
  • fixed memory leak for conditional graph cycle-time
Release 5.1.2 - March 2009
  • integrated view of devices through DD Menus
  • backwards compatible with all existing DD implementations
  • cross block referencing
  • new built-ins for device level menus
  • UTF-8 encoding support
  • enhanced support for grid interface
  • updated for list.ELEMENT[i] reference
  • corrected Japanese-SI unit suppression flag code as per FF-900/901
  • Updated FD-112 (and regenerated Table of Contents) & updated source code comments as per new List2 builtins
  • corrected parameter types for delayfor2 builtin
  • corrected parameter types for select_from_menu2 builtin
  • corrected bltin_format_string2 to use app_info correctly
  • fixed edit_local_value2 builtin
  • added parameter cache function for long strings
  • memset moved; it was overwriting the val.s.len field
  • corrected bltin_format_string2 to handle '%'
  • fixed uninitialized variable 'days'
  • increased buffer size for strings
  • support for LISTS block attribute (FF-900 FS 5.1)
  • corrected ddl_do_eval_expr() when sending list.rec.elem call to return proper value
  • added support for CYCLE_TIME to FLAT_GRAPH