SDC Version 1.55 Release notes

Version 1.55 Enhancements

Datalogging of definitions

It is now possible to datalog a definition. To achieve this, create the definition in the SDC Tools GUI and then edit the .ini file. In the [datalog] section add the name of the definition to the comma separated list in the attributes entry.

New double datatype for definitions

Definitions can now be created with a datatype of ‘double’. This enables floating point values to be calculated inside scripts.

When accessing a definition whose type is defined as ‘double’ from within a script, the Pascal type of the definition will also be ‘Double’. Definitions whose datatype is defined as double have a maximum resolution of 2 decimal places.

Gauges displaying definitions can use the DecimalPlaces and NumDigits attributes, but Modulo, DivideBy, and Delta are ignored and you must perform these calculations in a script.

New Data Row Script

A new script type has been added, called the ‘Data Row Script’. This script is, like all others, optional and written in PascalScript. It is executed after every new row of data is processed.

This script enables the calculation of values you might want to display on screen or include in a datalog. It is effectively a way of generating ‘maths channels’ as well as performing manuipulations for display purposes. Note that the frequency and timing of when the Data Row Script is executed is datasource dependent. For canbus for example, where messages contain small chunks of data, the script is executed at 25hz. Whereas for a serial connection, the script is executed after every serial message because each serial message contains a full dataset.

Execution of the Data Row Script is distinct from Page Scripts and the Global Script. They all effectively execute in a random order as their timing is based on different parameters. The key is to nominate the best place for a specific calculation and only do it there:

  • Global Script - 2hz frequency by default. Only suitable for slow moving variables and defined on a per SDC installation basis
  • Page Script - executed before each frame of the currently displayed page is drawn but is defined on a per page basis so more suited to things only needed for a specific page.
  • Data Row Script - executed after a data row has been formed. Is defined on a per SDC installation basis. More suited to data manipulation that you want to apply across all pages and in the datalog.

The name of the Data Row Script is stored as part of the pageset as it may reference definitions or other pageset specific items.

Other changes

The ‘attr’ console command now supports a ‘startswith’ test which is automatically used if the specified attribute is not foud. This command now partially supports definitions. The limitation is you can’t update the value of a definition.

The SDC Tools protocol version has been changed. This mandates an upgrade to SDC Tools if upgrading to this release.

Relevant to script developers only: The set of global variables available to scripts, representing engine data, have been updated from ‘byte’ datatypes (range 0-255) to ‘longint’ (signed 32bit integer). This is to enable their use in calculations without having to typecast them first. Note that some typecasting may still be necessary in some less common scenarios.

A new string global variable, filesizestr is now accessible to scripts. It contains a string value representing the current size of the datalog, in megabytes (2 decimal places).

SDC Tools

Enhancements

The Global Script and Startup Script buttons have been moved to a new “Scripts…” button which opens up a small menu so that the additional ‘Data Row Script…’ entry can be included.

Capabilities have been added to edit the new Data Row script.

A new data type of ‘double’ has been added to the definitions GUI datatype drop down list.

When any of the Global Script, Startup Script, or Data Row Script are edited: If there is no script present then a boilerplate script is included in the editor for you to start working with.

Fixes

The Global Script is now properly recompiled after being saved. In earlier versions the script was recompiled before it had been saved which resulted in the previous version being used until the SDC instance was rebooted.

Upgrading from SDC 1.50

To perform an upgrade from SDC 1.50 you can download the upgrade zip file, extract it to a temporary folder, and use the SDC Tools ‘Software Update’ feature.

SDC 1.55 has a minimum requirement of SDC Tools version 1.55 so you will need to upgrade the tools. First use the tools to upgrade SDC, then upgrade the tools afterwards.