Introduction
Overview
This section takes you through installing and licensing GWv4 and getting started with the software.
This section takes you through installing and licensing GWv4 and getting started with the software.
Some common notation is used throughout this documentation:
Menu commands are signified in bold type with a pipe symbol | between each level of the menu.
For example,
indicates that you should click on the ‘Undo’ item in the ‘Edit’ menu.This Font
is used to indicate text that should be typed in by the user.
Working on tractive systems (which includes but is not limited to engine(s), motor(s),
inverter(s), high voltage battery packs and high voltage cables) requires special
experience and training.
Incorrect installation or use of GEMS Electronic Control units (ECUs) or software
may lead to electrical / mechanical damage, injury or even death.
As such, installation must only be performed by users with experience with electronic
control systems and a competence of Windows based computer software.
All accompanying documentation must be read thoroughly before installation is attempted.
If you are in any doubts regarding the fitting and use of this product, please contact
your reseller or GEMS directly at tech.support@gems.co.uk
General Engine Management Systems (GEMS) Ltd shall not be held responsible for any
mechanical or electrical damage or personal injury occurring whilst using this product.
Neither shall GEMS be held responsible for damage, injury or death caused by the misuse,
misunderstanding or miscalibration of this product.
Download and run the installer from gems.co.uk/downloads/software. For more details, see Installation.
A license is required for useful operation of the software. There are different types of license that will allow different types of ECU to be used with GWv4.
Software licenses are installed via
.For more details on software licenses and Dongles, see Licensing the Software.
Upon starting GWv4 for the first time, the Quick Start window will be shown which offers some convenient links for commonly used features:
The Quick Start page automatic popup can be suppressed by unchecking Show Quick Start At Startup. You can show the start page again at any time from
.Interaction with an ECU or Calibration file requires and ECU Definition File to be installed.
The easiest way to install ECU definition files (*.ecudef / *.gin / *.a2l) is to drag & drop the file from Windows File explorer onto the application. Alternatively when connecting to an ECU or opening a Calibration file the software will guide you through the process of installing one.
For more details, see ECU Definition Files.
A calibration file contains a copy of the ECU configuration memory - this contains all the values to which tables / maps / options have been calibrated. From the main menu select
and select the calibration you wish to open, or to start a new calibration.Starting from a blank calibration will typically be a lot of work to get up-and-running with. We would therefore recommend that a base calibration is used as a starting point rather than a blank calibration, depending upon your application. Many base calibrations are available online (gems.co.uk/downloads). Alternatively, contact GEMS.
Calibration files are sometimes referred to as ‘map’ or ‘mapping’ files. This terminology could be confused with ‘map’ objects (e.g. The Fuel Map), so the term ‘calibration’ is used in the GWv4 software.
Calibrations are conceptually made up of the following objects:
Maps - ‘Matrix’ objects with 2 input axes and a 3rd output value axis. This allows a value to be produced based on two other variables via a look-up table.
For example, the Fuel Map maps Engine Speed and Engine Load onto an injection pulsewidth value. A map can be viewed as a 3D Map Graph, Map Grid, or Map Slice.
Tables - ‘Vector’ objects with a single input axis and an output axis. This allows one value to be produced based on the value of another via a look-up table.
For example Boost limit outputs the channel Boost Limit, based on an input Engine Speed. Tables can be viewed as a Table Graph or a Table Grid.
Options - ‘Scalar’ objects - options represent a single values that can be changed by the user - for example Fuel Cut.
Options can be displayed in a Option Full List or a Option Selection List.
The values of all these objects collectively defines the calibration.
All the available objects for the ECU that is currently loaded into the workspace are displayed in the Views.
To upload the current calibration to the ECU from the main menu select: ECU | Upload Current Calibration, or click the ‘Upload Current Calibration’ button on the tool bar. This will connect to the currently connected ECU and upload the calibration into it.
For more please read the Calibrations section.
Channels can also be viewed in GWv4. Channels are updated in real-time by the ECU and are not stored within the ECU’s configuration. So channels are not part of the Calibration; rather they are readings / measurements of current values - for example Engine Speed.
Channels can be viewed as:
In prior versions of GWv4, Channels were known as Parameters. Since this has overlap with the semantically different Simulink.Parameter, the naming was changed to Channels. Scalar (single-valued) Simulink.Signal values map onto Channel, as do scalar A2L MEASUREMENTs. Channels are always scalar values. However, it is possible to have Table or Map objects that are not stored in the Calibration and are essentially Measurements.
GWv4 has a very flexible workspace with many objects for displaying and edit your calibration in the best possible way. See the Workspace and Tabs sections for more details.
If you are having problems connecting, refer to Connection Troubleshooting.
Depending upon the ECU type / configuration, changes made to the Calibration whilst ‘online’ to the ECU may not be ‘saved’ in the ECU immediately.
Either use
to turn on automatic storage, or manually store changes using .See Storing Calibration Changes Permanently for more details and a discussion on why this is optional.
GWv4 requires either a software license or a hardware dongle to be installed to edit GEMS calibrations and connect to GEMS ECUs (apart from the demo calibration).
To purchase a license key for GWv4, please contact GEMS.
Once your order has been placed and payment cleared, you will receive an email with your license key from licencing@gems.co.uk.
In order to use the software to connect to XCP / A2L (ASAM Standard) based ECUs, a separate license is required. In order to use XCP features you do not also need a license to support GEMS ECUs.
If you would like to purchase an XCP license, please contact GEMS.
You can use the same license key twice so that you can have a copy of GWv4 activated on both your laptop and your desktop PC at the same time.
If you are having issues connecting to our license server (it may be blocked by some network firewall software), click ‘Activate Offline’. Your machine key will be shown. Contact GEMS with your machine key and your license key - we’ll be able to provide you with a unlock code. Enter the code in the Unlock Code box and click ‘Activate’.
Once activated your license is locked to the computer it was first activated on. If you wish to move your license, you must first de-activate your license on your current computer before activating it on a new one.
To do this select the Deactivate License from the Licenses window. On confirmation, the license will be removed from the current computer. If your computer has been damaged, lost or stolen, please contact our support team via tech.support@gems.co.uk with your license key.
The preferred option for licensing GWv4 is via software licensing. This section is for reference for customers who are still using USB dongles.
The USB dongle is a copy protection device. Certain software features are not available if the dongle is not present or if they have not been enabled in the dongle.
Dongles are available as a USB dongle which plugs into the USB port.
Some dongles require additional drivers to be installed for it to work with your operating system. These drivers are not installed automatically when installing GWv4.
Hardware Dongle drivers can be downloaded separately from gems.co.uk/downloads/drivers.
To install the dongle drivers, run the dongle installation program - the installer will walk you through the process.
The installer does not include drivers for USB products or the GEMS dongle. These files and must be downloaded separately if required from gems.co.uk/downloads/drivers.
GWv4 will check for updates when started. If a new version is available, a notification will be displayed with a link to download and install the update from within GWv4 itself.
Updates can be checked for manually from Help | Check for Update.
Some anti-virus / security products will block connections to the internet from GWv4. You will need to ensure that GWv4 is allowed through your firewall.
If using Windows 7, checking for updates may fail with WinHTTP error code 12175. If this occurs, you’ll need to enable TLS 1.2 support. See the Easy Fix section at microsoft.com.
If you would like to use the beta version of GWv4, you can select the Help | Update: Use Beta Channel option. Beta versions of software are released much more frequently but may not be stable. Using the beta version helps us to detect unexpected problems with the software before making it a public release.
================================================================================ Version 4.05.27 - 21 May 2025 ================================================================================ #5039: Injection Angles / Firing Order wizard Scripting: IncludeWizardScript function now prevents multiple inclusion of the same script. Added 'Grid View' control for scriptable grid views (unlike ECU table grid views). Added 'Show Label' property to Button view. Added 'customize' button properties to ComboBox view (as-per Aspect Selector). Fixed background colour on Engine History Log dialog. Performance improvement by avoiding CPU core locking on threads requiring high precision timestamps. Avoid XCP ECU installation flow running a second time if cancelled on the first attempt. XCP over TCP: Improved handling of remote socket closure and connection failure. Fixed excessive CPU usage for XCP over Ethernet connections (both TCP and UDP). ================================================================================ Version 4.05.26 - 22 April 2025 ================================================================================ T#5797: Branded build: Replace gwpkg file extension. Aspect selector: group calibration changes into a single undo command. Fixed update of Aspect selector pattern matchers following update to requirements list. Tentative fix for issue resulting in change of colour of drop arrow on toolbar buttons. Fix crash when application closed after being launched with /license-manager option. AEMcal: Fixed display of installed licenses with /license-manager option. Prevent application abort if an exception occurs when applying Aspect Selector patterns. Added visible line number to script error messages. Auto-filename when saving wizards to file. T#5725: EDX update reassigned Ign to Coil, depending on ECU version. Added version, version_raw, version_extension functions to 'formula' evaluator for use in EDX files for version-specific logic. Added 'exists' keyword to 'formula' evaluator - e.g. 'exists option("Coil 1")' Added top-level "conditional" section to EDX, with version / version_raw / version_extension / "epk" / "condition" expressions, with epk being treated as a version expression. Version expressions have their own sub-language. e.g. ">=02?01 & <02?08" means version 02x01 to 02x07. version expressions support grouping with parenthesis, logical operators & (and), | (or). Comparison operators are: <, <=, >, >=, =, !. numeric / non-numeric sequences may be ignored using '?' and the tail may be ignored using '*' (e.g. 1.2*). Fixed: if undo history window was restored from workspace, and the menu command was used to open it again, it would be shown twice. Fixed possible crash in layout hierarchy if switching calibrations and wizard editor is open. Fixed engine speed calculation table in help file & modified information about the calculation. Fixed up/down buttons on scope view configuration dialog. Fixed possible issue in v8 scripting engine exception handler that could lead to a crash. Updated release process to now put build artifacts into sharepoint document libraries. ================================================================================ Version 4.05.25 - 20 March 2025 ================================================================================ B#5736: Fixed License activation request failure. Updated to use windows SChannel for license server https requests. ================================================================================ Version 4.05.24 - 10 March 2025 ================================================================================ Updated compiler to 17.13.2. Updated CRT to 14.42.34433. B#5675: Fixed pinout in EDX file for EM80 - left hand connector had the rows inverted on the diagram. Asepct files: use numerical values for e.g. A2D or output pin selections in aspect files. Aspect Selector: Improved handling of requirements; ask for extra values when new requirements are added & modify aspects to match the list of requirements. Aspect Selector: Added 'flexible' requirements for e.g. options that get set by the aspect but may vary and not considered for aspect matching. Aspect Selector: Added 'No Match Text' option to display some default text when no aspects match the current requirements (e.g. 'User Defined'). Fixed bug leading to loss of items stored in Aspect selector view & possibly the whole layout (general XML serializer issue). Scripting: Added IncludeWizardScript function so that wizard scripts can include scripts from other wizards as a simple way to share common code. ComCode options: show 'Not Set' instead of 'Empty'. Fixed crash adding signal generator view. Added many new icons from Data Analysis and Dash Design software. Fixed position of drop hint when dragging items in wizard manager dialog and the list is scrolled. Pinout view: diagram can now be clicked to select the corresponding pin in the list. T#4015: Search feature (initial basic version). ================================================================================ Version 4.05.23 - 13/02/2025 ================================================================================ T#5621: Add support for Vector CAN interfaces (alpha - needs testing). Fixed crash setting layout property on view within a group view. Start page: do not add date to tooltips for recent files as this can be very slow on disconnected network drive. ================================================================================ Version 4.05.22 - 26/01/2025 ================================================================================ T#5438: Calibration Compare: Display/edit values for items in the 'not in current ecu' / only in current ecu grids. Installed EDX: Fixed Lambda Heater PWM options which should be a PWM channel selector instead of an output pin selector. B#5427: Investigated multiplier sign for Oxygen Feedback log map. Added new default settings for corrections in log maps 'Oxygen Feedback' and those beginning 'Lambda'. Layout serialization now uses a different name for corrections since v4.05.21, meanining old corrections will be lost. Log map corrections settings defaults may be specified in GIN files using the following attributes: - "correction_mul" - "error_as_percentage" - "enable_error_as_percentage" - "adjust_by_percentage" Log Map may specify a physical map for the target value using the "target_map" attribute. The target map axes must match the log map. Pinout View: Store column widths in layout file. Fixed theming on some combobox popup lists. CAN Telemetry and CAN Rx setup views can now be added to layouts. Added weather icons. Added DisplayName field to ECU identity. B#5413: Fixed ungrouping of group deletes the contents. Grouping of views now retains original title bar / border settings and size; new group views are not set to stretch mode by default to prevent unusal results. When opening layout hierarchy view, select the originally focused window in the tree. Fixed crash viewing properties of group view from layout hierarchy view. B#5433: Fixed issue where properties window would show its own properties if attempting to scroll the view, in case where layout hierarchy view was open and then clicking title bar of non-selected view in main layout area. B#5431: Fixed issue where switching tab could clear log map grid. T#5430: Set Defaults button in template for Apply Corrections Dialog. T#5522: Rain Light Wizard (available on request). Added documentation on Rain Light + Limp mode calibration options in manual. B#5545: Fixed crash when trying to edit scripts on some computers (if VS code does not happen to be installed). Clear Selection -> Deselect from layout context menu to make it clear that the windows will not be deleted. T#5424: Display more information in 'Install ECU Definition' dialog when connecting to XCP ECUs to include all GET_ID values received during the ECU identification process. ================================================================================ Version 4.05.21 - 13 December 2024 ================================================================================ B#5425: De-optimized some functions that appeared to be giving incorrect results when compiled with optimizations enabled (VS2022). Fixes release-build only bug where font size fitting on grids would change for table grid "Accel Coolant Extra" when resizing or dragging the window. Grid - setting default font-size should re-layout the grid. Lambda mapping: Share correction settings between views of the same object. Fixed issue where site interpolation could generate excessive (extrapolated) corrections on partially covered sites. Added option to convert target error to a percentage. Changes to correction settings are now reflected in the log map view (e.g. when showing CorrectionPercent). Correction calculator apply now uses an undo macro to group the changes into a single undo command. ================================================================================ Version 4.05.20 - 12 December 2024 ================================================================================ B#5327: Fixed issue where connecting to Simulink based ECUs (e,g, EM80_M) may load base ECU definition file instead of the Simulink build specific one. B#5329: Fixed lock-up if loading malformed A2L that repeats already created named blocks (e.g. READ_ONLY or FORMAT). B#5360: Some ECU versions have switch selector but only allow Always ON / Always OFF selection. Allow 'Switches group N' in addition to 'Switches#N' for generating switch pin metadata. All 127 switches are now generated regardless of this association. Added internal pin functions in e.g. switch selector. B#5358: Fixed blank first cell in grid axis for tables/maps with a fixed physical starting value. B#5371: Fixed regression loading calibration files from several versions back, due to changes to support loading memory segment data by address range. Fixed loading of nested top-level tabs when using horizontal tab control (e.g. GWv4). Fixed possible infinite loop in jsonx parser. Fixed ECU simulator not able to create internal log file for v01 log format. T#5415: Enable addition of Wizards to tabs. T#3228: Enable/Disable options etc based upon 'function' hierarchy / enable_if expressions in EDX files. Added "includes" section to EDX files to include other EDX files, using paths relative to the containing EDX file. Inclusion occurs when the "includes" section is encountered in the EDX file, parsing the file top-to-bottom. T#5364: Enable / Disable tabs based upon an expression (extended A2L formula). Note that A2L formulas are not the same as general scripting with Javascript, but are much lighter-weight for simple expressions like these. A2L syntax formula editor with syntax highlighting, error list, call tips etc. Fixed false positives in A2L formula parsing of invalid numeric literals. Fixed some potential crashes when executing invalid A2L formulas. T#5362: Set password: Add warning message to make sure you back up the calibration in case you lose it you cannot recover the password. Reworked password dialog. Changed decimal places calculation to track the multiplier precision if it has a limited number of decimals. Fixes e.g. "Log Size" on Lancer+9, which should be displayed in 0.25 MB increments. T#5363: Rework map / table grids. Improved preferred size calculation. Axis font + contents font are now the same. Resizing performace is improved. Memory usage for double-buffering is reduced. Grids no longer show traditional scrollbars since they can adversly affect the layout & require changes to preferred size when shown / hidden. Layout style for grids is now set to disable grow/shrink when added to sizers, by default. This means that grids in a vertical layout will now occupy their optimal size for the default font size. Layouts: Take into account border / caption / tab strip when laying out views in sizers. Work Page now shows scrollbar if (e.g.) a VBox sizer has items that can't shrink smaller than their preferred size and the contents of the sizer do not fit in the view. ================================================================================ Version 4.05.19 - 04 November 2024 ================================================================================ B#5218: Updated platform.iss to use latest VC Runtime DLLs (prevents crash since updating compiler). Branded build: Allow opening of cal files that have been edited with GWv4. B#5222: Fixed crash when calibration file pointer changed in some cases. When there are comms errors, do not 'grey out' channel measurement views; Only do so if it appears that the ECU went off-line to avoid flickering. GEMSCOM protocol: Comms errors are now latched for a timeout period to avoid flickering of the connection status in the status bar. B#5219: Fixed: GWv4 reports "cannot open ''" when programming EM80 CoPro firmware. Added extension to A2L formulas to support C-style ternary (conditional) operator (a? b : c). Fixed a grammar issue with handling of parenthesis in A2L formulas. Branded build: build separate help for local disk / online (clear URLs) and include in release bundle. Branded build: build PDF version of help and include in release bundle. When setting/clearing security password, update cal to reflect the change. Fixed 'clear secure calibration' in simulator. Fixed issue with small text on splash screen on high-dpi for some builds. T#5187: Pinout View should show pull-up / pull-down and take into account software selectable pullups: EDX: Allow an expression to be specified for pin / A2D pullup values. A negative pullup value now indicates pull-down. Pin A2D is copied over A2D pullup, if provided. If not then the pin is set to the corresponding A2D configuration. Updated EM80.gemsedx to include software selectable pullup handling in pinout view. Added PU/PD to pin selector grids. B#5239: Fixed: If baud rate switched for Log Download, then revert it upon cancellation / failure. Fixed log erase following log download. Made XML parser slightly less strict with attribute values (allows unquoted values / tag characters in attribute values). ================================================================================ Version 4.05.18 - 18 October 2024 ================================================================================ Fixed crash opening 'additional port settings' dialog. Fixed poor performance when adding an item from view explorer representing a large number of options. Improved performance of reading A2L files that are Latin1 encoded (missing UTF-8 BOM). For fastest load times, ensure that A2L files are UTF-8 encoded with a Byte Order Mark as-per ASAM spec. Now using a much faster algorithm for looking up items in the ECU definition file based upon address range. B#5206: Fixed issue where initial tab / work page could be blank until a different tab is selected. B#5104: Fixed sorted lists in numerous places due to bug in VS2022 compiler for 32-bit release builds affecting std::sort on std::deque. B#3924: Fixed issue with baud rate being reset to default when changing port settings. Also enable setting custom rate on 'basic' port settings page with editable combobox on applicable builds. B#5181: Adjusted decimal places calculation for items with scalars that are exact powers of 10. B#5201: Disallow drag of tabbed views or option/channel selections to other views when layout is locked. B#5202: Allow any version calibration to be selected for programming if calibration convert is available. T#5204: Branded build: Integrate tuning guide from GWv4 manual into generated help. T#5207: For XCP ECUs, added slow polling of options that are not within a MEMORY_SEGMENT considered as 'calibration file data'. When polling XCP values, if an irrecoverable error occurs, polling of that address range will now be stopped. For non-measurement tables / maps that are not in the calibration file, poll them at a slow rate instead of the default rate. T#5156: Internal: Moved SDB (DBC signal database) library to package manager. ================================================================================ Version 4.05.17 - 27 September 2024 ================================================================================ T#5040: When automapping wizard is hidden and associated log maps are not shown by any other views, then pause log map capture. Changed show/hide behaviour of items in vertical tabs view to avoid loading of hidden items. Improves startup time with complex layouts. Sort wizard IDs in button action selector dialog. Show scrollbars when using sizer-based layouts and the minimum size constraint is violated. T#5076: Added 'configure' button to log playback view as when floated it was not possible to configure the view. B#5077: Branded build: Fixed incorrect file exension for downloaded internal log files. Fixed possible long delay + crash if loading log file into log playback before prior log had loaded fully. T#5078: Handle drag/drop of log files to open in Log Playback. Added new switch selector for switch number options, rather than specifying switches as integer values. Where possible switch numbers are given a description based upon aliases and in future from additional metadata. GIN files can specify "swt_in" attribute to indicate that the option is a switch number. Added selectors for PWMs, A2Ds and output pins in a similar way to switches. Branded build: Include 'license' menu item in non-admin mode. Branded build: Fixed license error at startup due to missing configuration in installer. T#5143: Implement missing steps in serial number programming procedure. Switched to new XML archiver for layout files etc for significant loading performance improvement (4x in some cases). Fixed issue that was preventing tab page unloading from working. Import SYSTEM_CONSTANT list from A2L file into GIN structure. Fixed build of COM automation interface documentation. Fixed XML structure for serialization of 'invalid' colour on gradients. Branded build: show ECU calibration password protection menus. Branded build: added in Live Trim Control menu. Renamed 'Virtual Pot Box' to 'Live Trim Control'. Added "ECU Definition Extension" file support, to enhance ECU definition file functionality (e.g. adds connector pinout). Extension files may be added to Ecudef files (packaged with GIN or ECUDEF) and additionally imported into the calibration file. T#5125: Pinout View: Display ECU connector pinout information, including functional connections & conflicts. Currently only editable via ECU Definition Extension files. Increased scroll rate within work pages (tabs) since each scroll event requires a full redraw of the page which can be slow for busy layouts. Fixed cancel button on Validate Log List dialog during log download. T#5034: Allow log download to continue even if some blocks fail at high baud rate. T#5151: Branded build allow custom baudrates to be set on serial ports. Log download now offers log erase at the end of the download process. Log download: if baud rate switch is available, software now offers baudrate switch manually at start of download. T#5081: If an ECU Definition Extension file is loaded, Options that edit PWMs, A2Ds, Switches and Output Pins will now offer an enhanced selector control. Fixed regression: crash opening calibration file that contains empty regions. B#5089: AEMcal not always copying option values in compare view. This was due to some enumeration-based items resulting in a floating point number for an underlying integer raw value. Numbers from verbal COMPU_METHOD are now passed though the option object so that they are cast to the appropriate underlying type. ================================================================================ Version 4.05.16 - 19 July 2024 ================================================================================ T#5036: Automapping wizard: Apply Corrections should also reset selected sites (option added to the Apply Corrections dialog). Resolved some issues with some screenshots generated for the manual. Added additional crash protection to menu/toolbar action handling system, for tentative crash report fix. COM interface now supports GetProperty and SetProperty for docked window types. COM interface - hide caret on windows when taking screenshots. Installer now deletes software OpenGL MESA dlls if they were previously installed. Build is not longer compiling in any references to OpenGL. Ethernet ECU simulator: Full reset of ethernet layer on restart to avoid stale state (e.g. ECU identity file). Fixed crash if staring PC logging but there are missing channels in the PC logging list. Added 'Reset Cal States to Unchanged' action. Fixed issue with property editor using inherited/computed value would disable the editor entirely rather than just greying the value. Log download: check if a file with same name as target directory exists and report error if so. Added basic internal log creation to ECU simulator. Fixed calibration copy routine from simulator calibration. Improvements to manual. Adding 'Tuning/Setup Guide' section with information more relevant to configuring ECUs over simply providing a user-interface feature reference. ================================================================================ Version 4.05.15 - 24 June 2024 ================================================================================ B#4803: Fixed: After installing new A2L file for a new ECU version, the connecting to ECU dialog stays on screen showing ECU definitions error. T#4833: Replaced 3D map rendering with a new software implementation that does not use OpenGL or Mesa3D. Resolves some issues where some systems crash when using OpenGL and some crash with Mesa3D. Mesa3D required an old version of the visual studio runtime (2013) to be installed so this unwanted dependency is now removed. Changed the way the mouse rotates the 3D view. Updated manual to use new theme. Improved search feature + themeable apperance. Fixed crash relating to signal generator view. T#5027: A2L: Added support for FIX_AXIS_PAR_LIST. T#2730: Moved PCAN depdendency to package manager. Support GEMS IF_DATA extensions for A2L files (hex value display). Fixed issue with limits / extended limits validation; Limits should be checked in physical values rather than internal (raw) values. Converting to raw values for bit values will now take into account mask. Related to limits validation issue. Sequencer: Fixed conversion of hexadecimal property value in some cases (e.g. for CAN Command CAN IDs). Sequencer: Fixed CAN Rx only CAN commands. Added CAN Rx message type property. Sequencer: Added options to CAN commands for slicing the result + converting to string + appending to result variable. GCP: Fixed issue where comms layer may issue normal commands during block transfer operations. GCP: Avoid issuing channel reads when negotiating high-baud rate for log download (which would result in baud rate reversions). Log download: If aborted via cancel button, offer to process any data that was already downloaded. Added additional protocol type to comms monitor for block transfer operations to avoid incorrect decode. Fixed auto-range calculation for gradient colour on maps / tables. Updated to C++20 standard. Updated to cryptopp 8.9.0. ================================================================================ Version 4.05.14 - 05 April 2024 ================================================================================ T#4183: Reflash Recovery Mode improvements - detect bootloader connection and added additional guidance for users. B#4825: Fixed issue with XCP channel updates not occurring in some cases. Added button to Sensor Calibration View to pop up table grid/graph for raw calibration settings. Fixed issue where option editor views were not being updated following a calibration download in some cases. Sensor Calibration View: Added input / output channel readouts. Sensor Calibration View: Added pullup label when showing resistance option. Sensor Calibration View: Fixed some issues relating to scaling and range optimization when applying sensor calibration. Number view: only allow a value height % to prevent font height fitting if a max height is set. Now defaults to 100%. Table Graph: Update when unit selections changed. Scripting: For icon properties, convert to string when retrieving value. Scripting: Added app.getDisplayUnits function to convert script unit IDs to units suitable for display on the UI. Added 'air' icon. Fixed crash loading layout if wizard manager defined sub-folders. Fixed issue updating Y-axis of table graph when changing unit preferences. Avoid occasionally marginally cut off units label on Option Editor view. Fixed bug in saving selected object for some views (e.g. Dial). Fixes loss of selected object in e.g. VVC Target wizard VVC mod. Branded build - added missing measurement rate button from toolbar. Changes to wizards (distributed separately): Pedal calibration wizard: Show error if pedal raw is not valid when clicking 'Set Minimum'. Oil Pressure wizard: Added unit preference selector. Oil Pressure wizard: Added filtering hint (typically 5%). Oil Pressure wizard: Added button to clear limp table. MAP sensor wizard. Includes presets. MAF sensor wizard. Load Selector Wizard. Timing wizard - Timing Diagnostics button. Fixed update of Sync Strategy following selection of Crank Wheel. Display speed multiplier hint as a warning if Speed mul is zero. Timing Diagnostics Wizard. ================================================================================ Version 4.05.13 - 13 March 2024 ================================================================================ Updated to emerald 5.5.7. Fixes critical issue that could lead to data log viewer not showing some channels correctly. Branded Build: Updated raptorflash to 1.3.7. Raptor reflash XCP request set to be fully exclusive of any other comms whilst in progress. Raptor reflash: Ensure message queue is fully drained before completing the request. Comms monitor: Added ID field for CAN messages and extended gcap to support packet metadata. B#4762: Display units on map/table axes correctly instead of showing the unit identifier, which in some cases does not match the display text for the unit. ================================================================================ Version 4.05.12 - 06 March 2024 ================================================================================ Branded Build: Updated raptorflash to 1.3.6 and include missing dependencies in installer. Fixed polling rate for XCP measurements when channel rate is set to '0' (fastest) in channel lists (would otherwise read poll ASAP). Fixed firmware recovery mode for GCM111. For future ECUs, the ecu identity may now include RaptorRecoveryToolID and RaptorRecoveryEcuID. When running custom protocols during firmware update, do not display messages as XCP in comms monitor. Tentative fix for crash report relating to notification popups, possibly following main window being closed. Fixed benign GetWindowRect failed error messages in application log. Tentative fix for crash report from 4.05.11 during application shutdown. Fixed handling of LOGTBL for gemscom channel reads. When partial reads occur on serial ports, output what was actually read in comms monitor. ================================================================================ Version 4.05.11 - 04 March 2024 ================================================================================ T#1590: XCP Measurements: honour selected rates in e.g. Channel List. Changed the way that GEMSCOM measurement rates work to honour global rate settings. Added global fastest measurement rate setting. B#4790: Fixed XCP PROGRAM_CLEAR command: 2 reserved bytes before 'range' instead of 1. B#4791: Fixed: XCP: Do not service measurement listeners while running PGM commands. B#4792: Fixed disconnect of XCP connection in some cases leaving it impossible to reconnect. B#4793: Display progress information during XCP firmware update (PGM). Fixed lock up when hovering comms monitor view when running gemscom protocol. XCP Firmware update: do not offer 'check engine stopped' or 'clear calibration' options. XCP PGM: Use correct timeout values for PGM commands. XCP PGM: Warn about files that are not matched to PGM sectors. XCP PGM: Honour MIN_ST for block xfers and avoid waiting on RX. Added some missing error texts for comms errors. ================================================================================ Version 4.05.10 - 23 February 2024 ================================================================================ If trying to clear Engine History Log from ECU and an EHL file could not be loaded for some reason, the the option to select an EHL version is now offered. Fixed error unpacking A2L from ECUDEF file when not encrypted. Fixed possible crash when shutting down XCP connection. Made EPK Verification Failure dialog non-modal to avoid problems if EPK verification error occurs mutiple times. Improved UI flow when connecting to unidentifiable ECUs. There is still some room for improvement but UI is less confusing now. Changed ECU Identity matching algorithm slighly for XCP based ECUs to allow match on EPK alone. Comms monitor: Added basic protocol decoding for XCP messages in tool tips. Comms monitor: Added additional columns + resizeable columns via header control. A2L: handle NO_PHYSICAL_QTY correctly. A2L: Handle REF_UNIT in COMPU_METHOD. If the UNIT LongIdentifier looks like a gems unit ID and that has a display unit that is the same as specified in the UNIT, then the full unit ID is used to select the item unit. ================================================================================ Version 4.05.09 - 20 February 2024 ================================================================================ Added module load information to application log. RaptorFlash 1.3.5 adds information on loaded assemblies following reflash process. ================================================================================ Version 4.05.08 - 12 February 2024 ================================================================================ B4757: Fixed file extensions and file dialog filters for ECU types that do not have a version number, which can occur for some A2L (XCP) based ECU definitions. T4551: Updated to RaptorFlash 1.2.1. Added method of specifying Tool/ECU ID in ecudef file for use when re-flashing to add support for wider range of ECU types. Fixed display of Identifier / Long Identifier / Description / Display Identifier in Channel list grids for A2L based ECU definitions. When scanning for ECU definition files, if an exception occurred when scanning a file, the search will now continue rather than sliently aborting. Fixed issue with some views not displaying width/height properties in the property grid. Added X & Y properties to views. Update selection in layout hierarchy view when selecting views in the main window. Fixed layout issue when a horizontal/vertical sizer is added to a workpage and the workpage has stretchable layout enabled. Fixed update of layout hierarchy view when adding/removing views from sidebars (if enabled in build). Multiple selection of views on main window now updates properties view with multi-properties. Tentative fix for crash relating to map grid views from crash report. Added some additional memory safety checks w.r.t. property system for view properties. Honour orthogonal max size in sizer layouts. Added "AFR (Lambda)" unit so that ECUs that have AFR units specified in units of "AFR" will be interpreted as Lambda instead of requiring setting of base units. T4758: Implement XCP_STORE_CAL_REQ command. ================================================================================ Version 4.05.07 - 02 February 2024 ================================================================================ T4698: File handler for XCP PGM files (*.finx). XCP Flashing (PGM): T4700: Implement GET_PGM_PROCESSOR_INFO command. T4701: Implement GET_SECTOR_INFO command. T4702: Implement PROGRAM_PREPARE command. T4703: Implement PROGRAM_START command. T4704: Implement PROGRAM_CLEAR command. T4705: Implement PROGRAM_FORMAT command. T4706: Implement PROGRAM/PROGRAM_NEXT/PROGRAM_MAX commands. T4707: Implement PROGRAM_RESET command. T4708: Implement XCP PGM Request handler. T4709: Implement PROGRAM_VERIFY command. ================================================================================ Version 4.05.06 - 11 January 2024 ================================================================================ T4650: Update Descriptions View when selecting items in calibration compare. T4424: Added Log playback zoom screenshots. T4426: Added table graph selection via drag screenshot. T4425: Replaced legacy screenshots in manipulating views documentation. T4462: Added Lambda feedback learning documentation. #4415: Sensor wizard development (branded build). Wizard list: Display icons. Wizard list: Sort by name. Added temperature + fuel-temperature icons. Added button to table grid title bar to pop up graph view in a floating window. ECU detected notification: Added option to set the ECU as the selected port instead of connecting to it. Fixed crash if a map overlay is used that does not match the size of the map it is overlaid on. Object selector dialog: Remember prior search text. Fixed crash when aborting log download in some cases. Added properties for centering tacho gauge in center of view. Added divider line property for Label view. Added properties to number view to control value font height. Added property to number view to show units on label instead of value. Now using property form instead of grid for view properties. View hierarchy will now show merged/multi-properties for selected views. Download internal log: Ensure target folder exists before moving file + added additional error information if move fails. T4671: Improvements to automated help generator (screenshot approval process). T3149: Generate PDF from new help system. T4253: Changed warning about legacy copro to 'normal' severity. ================================================================================ Version 4.05.05 - 22 November 2023 ================================================================================ Added additional crash defenses - tentative fix for crash report rendering map graph. #4599: Changed auto decimal places calculation for channels. Options still show enough decimal places to capture the full precision of underlying raw value. Improved auto decimal places calculation on tacho labels. Fixed issue with potbox / midi controllers could result in value wrapping if adjusted beyond the raw limits. ================================================================================ Version 4.05.04 - 16 November 2023 ================================================================================ T4585: Import log data into log maps. T4584: Alternate view modes for log maps to show e.g. correction values. B4520: Layouts with many tabs could run into GDI resource limits if switching through all the tabs. Implemented un-loading of least recently used tabs to avoid this. This new behaviour can be switched off in the preferences. T4422: Added Signal Generator screenshot to manual. Branded build: Enable calibration clear action. Branded build: Enable menu in user mode. Calibration clear: Ask user to save current calibration if it has been modified + reset filename. Fixed colourization of map graph view when an overlay map is selected. Added overlays on map/table grid views. Map grid/graph: Added property to set overlay object (makes overlay scriptable). Fixed crash if preview updated on map while 3D view is open. Log Maps: do not display site values where capture weight is zero. Log Maps: Added Corrections dialog for applying log map values as corrections to fuel map. Log Maps: Added alternate view mode for displaying weight / target / target error / corrections. Scripting: Added functions to show corrections dialog and reset values on Log Map views. Peformance enhancement relating to update of calibration map/table views when on-line. Changed triangulation algorithm for delaunay sparse fill. Fixed application lock up when resizing map/table grids in some cases. Fixed another issue leading to flickering tooltips if application is configured to use HTML tooltips. Updated build to use C++17 standard. ================================================================================ Version 4.05.03 - 23 October 2023 ================================================================================ T4330: Improved repeatability of screenshot generation. Fixed high CPU usage when modifying multiple items at once in wizard editor (e.g. drag/drop of sizers containing multiple child items). Branded Build: Enabled HTML tooltips. Fixed issue with flickering HTML tooltips after show time expired. Wizard editor: reorder page indexes to avoid issues with Layout Hierarchy view if pages were re-ordered in the wizard configuration. Wizard manager: Import now allows selection of multiple files and options to replace existing items with the same ID. Wizard manager: Import now does not open wizard editor. Wizard manager: Enable multi-select for easier drag/drop and delete of multiple items. Object Selector dialog: Added Search box for filtering the list of items. Sensor Calibration View: Fixed initial update from calibration if selected preset does not match the calibration. Fixed erase of presets. Added rename preset function. Honour 'Optimize Scaling' property. Changed allowable percentage error bo be a percentage of the total input/output range rather than a percentage difference in the value being set from what the table can represent. Added 'Reload from Calibration' context menu option + button on the UI. Use an undo scope when applying sensor calibration changes. Fixed issue with finding matching presets. Fixed drawing issue of function table graph for extrapolated values. Added option to enable conversion from resistance values to voltage input. Added script binding for setting pullup resistor value. Added property for defining option that selects the analog input channel for the sensor table. This is used to automatically set the pullup resistor value, if that information is available from the ECU definition file. Fixed script class binding for Signal Generator view. Fixed script binding for EcuObject.getAttribute method. Scripting: Added ecu.analogPullupValue function. Fixed hang in Calibration Aspect screenshot generation. Update to emerald 5.5.3. Gin file version 3.34 (supports identifier, long_identifier, long_description). ================================================================================ Version 4.05.02 - 16 October 2023 ================================================================================ T4330: Improved repeatability of screenshot generation by adding a few deferred calls when clicking buttons. T4460: Updated log map and auto mapping documentation. T4401: Improved theme, content, formatting and grammar in help manual. T4456, T4457, T4458, T4459: Added static and web-based HTML help to GWv4 and included in installer. Removed delays from Ethernet ECU simulator to speed up help generator. Added way of specifying requirements for aspect files added to AspectSelector view. In general, aspect files should all operate on the exact same set of ECU objects - this provides some checking that this is the case. Scripting: ComboBox: Fixed crash when emitting change signal if combo box selection is not valid. Scripting: Fixed crash if an object bound to internal data is incorrectly assigned to and then accessed. Script editors: Added 'Open in VS Code' option if VS Code is installed. Script editors: persist window geometry. Label View: Added Word Wrap property. Number Gauge View: Fixed storage of Left-align property. Resolved some issues with minimum font size global setting not being applied in various circumstances. Changed default font size for option/channel lists. Default size is now 0 to indicate system default. Old layouts will not load their old setting. Performance optimizations. Fixed crash relating to cloning xml archiver state. ================================================================================ Version 4.05.01 - 04 October 2023 ================================================================================ B4440: Critical: Fixed bug in XML escaping that could create invalid XML files. Affects many things - layout files + ecu installation manifest. Fixed crash clicking empty item in channel list. Fixed issue when starting a wizard could occasionally show some controls with a greyed out appearance. T4437: Do not display lock icon for channel / option lists if layout locked. Fixed issue in Wizard editor where items that are added that automatically generate a script ID would not be findable by the script until the wizard was saved and reloaded. Improve appearance of Wizard steps sidebar. Added scripting class for Option Editor View (provides "change" event + value property). Fixed spin control for slice number on map slice view. Fixed: Log Map Controller was not storing some of its settings in layouts. Dial view: Honour user min/max properties if a channel has not been set on the dial and it does not have a script assigned. This enables dial views to be used in wizards where they are externally scripted. Added scripting functions to get axis channel(s), position value(s) and output value for maps / tables. Fixed crash saving calibrations with log maps in some cases. Fixed potential crash when loading new calibration of same ECU type after being on-line to ECU. Inherit keyboard shortcuts in floating docked windows from main application window so that they work when the floating frame is focused. Changed wizards to be Frame type windows and inherit shortcuts from main application window. Prefer input channel name over table name for map/table grid axes. Scripting: Added window.setRefreshTimer function, for periodic callbacks. Fixed crash in layout hierarchy due to delayed deletion of Wizard views. PC based automapping: Use fastest polling rate for PC-based automapping channels. Avoid having multiple log map handlers for the same log map, generated by target / mod maps. Dont run log mapping when log map / controller is not visible. Respond to changes to base map axes (e.g. changing from Pedal to Throttle on the Fuel map). When uploading current cal to ECU, avoid reloading the layout unless the ECU version has changed. When connecting to an ECU, if the loaded calibration data exactly matches the ECU data, do not reload the layout or scan for matching calibration. Reset log map weighting values when starting automapping. Limit log map weighting values to the weight before change value. This essentially changes the non-automapping behaviour to be close to a rolling average rather than being a cumulative average. The actual calculation here subtracts the residual weight * the mean so is really an IIR type filter. Log map controller: Changes to UI. 'Weight' has been converted to a 'confidence' percentage which is the percentage of the logged weight vs weight before change. Removed weight damping parameter. Changed 'Enabled Automapping' from a checkbox to a button that toggles the automapping state. Error Modifier => Target Error. Change => Map Adjustment. Added context menu for changing colour mode on map/table grids. Fix issue with mouse capture on scrollbars if the scrollbar was deleted while dragging. Fixed "Follow ECU" selection handling on grids with swapped axes. Fixed cursor position on map graphs when using swapped axes. T4441: Allow reprogramming of serial. Fixed tooltip on grid axis header labels. Added 'icon' property for label views. Added optional 'custom' button for Wizards. Branded build: updated keys. Fix issue in some builds where layout file was always being requested when it shouldn't be. T4329: Added support for encrypted definitions in ecudef files. T4472: Added app.beginUndoScope / app.endUndoScope functions for scripting to group multiple changes into a single undo action. T4476: Option to hide Wizards from menus. T4475: Buttons using an action will get label from the action name + shortcut if the button label property is empty. Added dialog for creating buttons to pick from action instead of just assigning a label. Hide SERIAL_OEM/UNIQUE_ID from ECU information dialog. Branded build: Added dropshadow to splash screen. T4473: Branded build: sidebar buttons. T4473: Branded build: wizards can specify if they appear on buttons sidebar. Branded build: include undo history on toolbar due to lack of menu bar. ================================================================================ Version 4.05.00 - 24 September 2023 ================================================================================ B4298: Fixed rendered icon colour differences by loading the icon directly rather than using the shell. Changed terminology in layout menu: Tabs => Layout, Cached Tabs => Working Layout. This affects scripting action names. Dropped thumbnails for layouts. Layout selection now uses a list. Layout selection dialog now includes a details panel with an overview of layout contents. Added feature for builds that use Working Layouts to offer to switch the working layout to the last saved layout for a given ECU type. T4406: Branded build: use installed layout files. Multiple, versioned layout variants are supported. T4408: Branded build: Installation of layout files via layout selection dialog and by drag/drop. Fixed issue with help generator automation of mouse/keyboard events. Help generator: fixed a screenshot that had an overwrite message box appearing. Fixed some possible crashes relating to property view. T4335: Fixed a screenshot and made improvements to help generation run. T4351: Added a script to automate help manual generation. T4331: Select text in channel picker in Internal Logging Setup dialog to reduce keystrokes required to enter channel name. T4310: Fixed copy/paste behaviour on maps/tables to take into account orientation properties on the view. Copying/pasting data is now always done in the same orientation as presented in the view. T4350: Add COM Automation support to branded builds. Performance enhancement rendering autohide strips in docking framework. Fixed colours on 'View Duty Cycle' dialog in dark mode. Fixed bug with layout hierarchy view not updating due to layout changes to workpages that were loaded from a layout file. Fixed repositioning of items within sizers when breaking layout. Fixed crash selecting 'Layout Horizontally' on a dock area from the Layout Hierarchy view. T4418: Fixed issues with sizer based layouts and calculation of maximum size constraints. Show implicit defaults for best_width and best_height layout properties. Display computed / inherited property values with grey text. T3460: Branded build: Minimal HTML based manual with autogenerated screenshots etc. T3461: Branded build: Integrate HTML based manual into application. Fixed: When adding a new view, ensure it is raised in the z-order. If not loading views with missing objects, do not load gauges that were configured to show a channel but the channel is not available. Fixed issue where loading a layout with a missing view would not load any more views on a given workpage (if not loading missing views). Fixed crash setting working layout auto-save preference. Fixed: select-all text for tab name on new tab dialog. Added option in General Preferences to use a single Working Layout for all versions of a given ECU type. Installers can place a file working_layout_per_version.txt containing '1' or 'true' to enable this option by default on first run. This setting will then only be controllable withing the application preferences. Added folder Folder Preferences for the location of non-versioned Working Layouts. Changed the way that layouts are loaded so that missing items are retained. This makes non-versioned Working Layouts possible. Builds that use predefined layouts will hide missing items. ================================================================================ Version 4.04.26 - 08 September 2023 ================================================================================ T3776: Added automapping guide to manual. T4279: Wizard List View. T1735: ComboBox control for scriptable wizards. Fixed a window bug where modal dialogs would be appear hidden on screen. Added a maximum size for map graph views to prevent crashes. Improved limits in descriptions view to avoid many decimal places for some objects. Fix possible context menu crash on vertical tabs view. Added scriptable combobox view. Added option to display units next to option editors (on by default). Label view now renders grey text when disabled. AEMcal: Auto-install ECU definition files from ECU Definition Store. Uninstall will now always delete permanently from ECU Definition Store. Fix Uninstall ECU - in some cases where definition was installed in older versions, the ECU would not be removed from the installation manifest. Dock area: fix border snapping to avoid scrollbar when snapping to bottom / right of dock area. Fix performance issue drawing toolbars (default wxAuiToolBar implementation results in high overhead when blitting icons with alpha channel). Fix issue with stretchable layout in some cases where fractional sizes could result in scrollbars repeatedly showing and hiding. B4272: Fixed some issues with taking screenshots of individual windows since wxWidgets 3.2.2.1 update. ================================================================================ Version 4.04.25 - 28 July 2023 ================================================================================ COM interface ProgramFirmware - case insensitive check of firmware file extension. Prior versions would only work it file extension was all lower case (.fin or .bin). Added example script for loading firmware. COM jobs now report messages from transactions. Fix regression with GIN files installation folder since adding integration testing override. ================================================================================ Version 4.04.24 - 24 July 2023 ================================================================================ For builds that support it, changed default setting for 'find matching cal on connect' to ON. The key for this setting has changed so this setting is not backwards compatible. B4257: Fixed Flashing / font weight changes to log map target grid while automapping. B4258: Fixed Poor resize performance of map grids / flashing of scrollbars. T4289: Branded build: always attempt to open matching cal on connect. B4921: Fixed crash right-clicking on Group view. T4290: Sensor Calibration View: reverse engineer settings / preset from raw calibration data (without stored user settings). Wizard editor property form - uncategorized properties are now included. Fixed crash applying sensor calibration in non-interpolated mode. Modify some settings and override user documents/appdata folders when running help / screenshot generator. Audit view: sizes/positions are now stored in Device Pixels so that they scale correctly on high DPI displays. Always draw button accelerator keys for help generator. Fixed font size on dock auto-hide strips since wxWidgets update. Fix default size of object selector dialog (HighDPI). Fix default size of function dialog (HighDPI) + simplify variable/function list to 1 column. Freeze map grid when resizing to avoid flicker. Open Calibration Aspect: Save user geometry + improve initial size. Added access to ECU objects via COM automation interface. Fixed appearance of frame when dragging from view explorer. Fixed rendering of mouse cursor when requested for screenshot from COM automation. Remove border from table/map grids. Also fixes issue with cell alignment and sizing of axis grids. Use same sizing algorithm for axis grids when grid is set to auto-size mode. Reworked grid sizing algorithm to be more efficient and avoid deferred axis updates. Simplify map/table grid axis names and use full name including table name in tooltip. Added menu option to load GCAP trace into comms monitor. Comms monitor: fixed load/save of GCAP format. Comms monitor: added way to load GCAP traces. Modified resize handling for docked windows when resized via COM interface. Fake dates in sequencer for helpgen. Sequencer prompt is now parented to sequencer view so popups are cetered on the view. Dialogs are also now modeless. Hide caret in calibration notes view when running help generator. Fixed conflict on calbrowser / calscanner settings file. ================================================================================ Version 4.04.23 - 11 July 2023 ================================================================================ B4195: Updated to wxWidgets 3.2.2.1, which works around a compiler bug in MSVC17.5.4+ relating to downsampling of images. B4169: Fixed: "ECU | Reset RTC to Current Time" crash. Menu item also no longer enabled if ECU does have RTC channels. T3449: New notification system. T3451: New notification popup window design. T3452: Change existing toaster notifications over to new notification system. T3450: Added scripting API for showing notifications. Fixed issue with notification popups not closing correctly in some cases. T4139: Branded build: use much larger logo for splash screen image based upon screen size. Scripting: Run v8 message loop at idle time - causes garbage collector to run. Scripting: Fixed ecu.option(name) function which was looking up tables instead. Scripting: Added app.confirm(message), app.warning(message), app.error(message) and app.information(message) functions. Scripting: added app.isDarkTheme property. Scripting: added app.convertUnits, app.setUnitPreference, app.getUserPreference functions. Added UnitSelectorView and UnitPreferenceView. Made lookup of units slighlty more permissive (e.g. units can be looked up by name (e.g. Bar instead of bar)). Script editor: Use fixed width font & turn off word wrap. Script editor: Changed 'Compile' button label to 'Apply'. T4071: Scripting: support access of View properties directly instead of requiring getViewProperty / setViewProperty. e.g. view.title = "Hello"; instead of view.setViewProperty("title, "Hello"); T4069: Scripting: Support window.<id> to get windows as alternative to window.findViewByID(). Added Diagnostics report UI. Diagnostics report: option to include calibration in archive. Diagnostics report: Fixed zip file header warning due to invalid date for some files. Diagnostics report: Screenshot: include screen grab in addition to window print. T4131: Fixed some issues with window screenshots taken using 'print' message. Fixed crash in some cases on New Calibration if ECU definition file was deleted from the ECU Definition Store. T2525: Completed views section content in new help system (pending integration into public release). T3443: Log Map Controller: separate options for showing target / modifier / maximum controls. Added properties for log map controller settings to allow setting from scripts. Fixed possible crash in layout hierarchy view when changing view title. Added padding property for sizer layouts. Disable work page "Lock Layout" context menu item if the layout is globally locked. Disable work page stretchable layout menu item if layout locked. Reworked property system to better support multiple selections (currently used by Wizard editor). Branded build: fixed drag/drop of ecu definition file. Reworked Work Page menu to put all 'add view' items in an Add View submenu since the list of possibilities has expanded. Very common items have been retained in the top level context menu. Fixed 'Aborted' message that could be posted in ECU status when closing connection. This is not indicating an error and now will be less alarming. Improvements to MIDI controller functionality. T4152: Added specific support for Behringer X-Touch Mini as an alternative to GEMS pot box. T4143: Link to MIDI Controller from virtual pot pox view if no GEMS pot boxes are attached. T4144: Fixed MIDI devices only showing first character of name. T4145: Add Link to Controller menu to Dial view. T4146: Link MIDI buttons to emulate pot-box press functionality. T4147: Perist MIDI/PotBox configuration. Moved portmidi dependency to package manager & updated to version 2.0.4. Added support for Contour ShuttleXpress controller. T4228: Added OEM serial number programming support. Adjusted axis monotonicity check to allow adjacent sites to be the same without triggering a warning. R3966: Wizards system. Wizards are configurable pop-up dialogs that can be used to guide the user through a series of steps to perform a task. Wizards can be launched from the menu, or from scripts. Wizards can either have a single page, or multiple pages with standard wizard buttons (back / next / finish etc). A list of steps can also be shown in a sidebar. T4070: Enable setting event handlers on objects (e.g. buttons) from other scripts. e.g. view.on("click", function() { ... }); Refactored scripting classes to separate radio/check/toggle buttons to distinct classes in the documentation. Added event listeners for 'ecu' object. T4068: Launch wizards in modeless dialogs. T4072: Button property to select wizard / action to execute instead of requiring a script. T3944: Made WorkPage (and Wizard) scriptable itself. T3946: Script accessible key value store for storing settings in calibration / user settings. Button view now defaults to 'strectch' mode. Added 'Clear' button to script editor. Top-level layouts set on workpages (or wizards) now stretch to fill the view when the view is not in stretch mode. UI control views (button, number edit, option editor, checkbox, radiobutton, toggle button, aspect selector) now set some sensible default layout styles for use in sizer based layouts. Added Sensor Calibration View, mainly for use in wizards to more easily configure sensors from datasheets (e.g. Fuel Pressure Sensor table + associated scalar/offset). Update to gtest 1.13.0. Added NewCalibration(identity, options) to COM interface. ================================================================================ Version 4.04.22 - 26 April 2023 ================================================================================ B4076: Fixed directory name having trailing space in convert calibration wizard if name/version folders are used in the calibration file browser and the source calibration is untitled (or conversion is via Program Firmware). T4022: Rewrote automated screenshot generator using NUnit. Fixed some screenshots. Added Dialog HelpIds. T4073: Preferentially show icon name / filename / empty text for icon properties rather than {icon} in all cases. Added [none] item in icon selection dialog so that icon properties can be cleared. Fixed issue detaching pages from vertical tab views that could lead to crashes e.g. when deleting pages from the Layout Hierarchy window. Fixed cleanup of nested vertical tab views - child windows were not being destroyed in some cases, which could lead to later crash. Fixed clearing of sidebars (for builds that use them) when clearing the layout, which could otherwise lead to undefined behaviour in some cases. Also this could lead to duplication of views within the sidebars and eventually long load times and poor performance. Button View: Added 'action' property to allow choosing an application menu action to execute when clicked rather than using up scripting resources. Fixed issue regarding expansion state in properties grid. If a property value was equal to the name of a property group then when swithing to view the properties of another object the group would be collapsed. Layout hierarchy view now responds to changes to view titles. Fixed splash screen not showing on same display as main window in some cases. Fixed issue with button view icon disappearing if the script was changed. Fixed loss of sidebar background colour following change to settings. Added preference colour for sidebar background. T3427: Branded build: auto install ECU definitions in ECU Definition store folder. R3386: Branded Build: Help | Diagnostics: T3389: Compressed archive of various diagnostic files (app log, comms log, screenshot, ecu info, status log). T3387: Dialog to select which files to add to diagnostic report. T3388: Link to open email client. Update Layout Hierarchy tree when workpage is lazy loaded. T3418: Branded build: Changed splash screen to just show logo + remove start page. Updated to Visual Studio 2022. Updated to boost 1.81.00. Updated to zlib 1.2.13. ================================================================================ Version 4.04.21 - 05 April 2023 ================================================================================ Added automation properties to COM interface: applicationDpiPercent, expand_all. T3782: Window geometry - match parent display index if changed when restoring. F3984: Allow user to specify installation location in installer. B4024: Reverted change that could result in selected GIN files not being included in firmware update packages. Comms: Added an additional message upon EE commit completion, following 'Waiting for ECU to commit data to non-volatile memory". Fixed NotesView 'show calibration notes' property was undefined and could lead to the text in notes view being lost when loading tabs. Fixed a couple of crashes relating to having map grid open when reloading layout. Various fixes to data log viewing from shared libraries. T3376: Added 'Drag Target' property to label view to enable the label to be used to drag-adjust number edits and option editors. T3373: Optional Dial control on Channel / Option Editor. T3374: Optional Spin Buttons on Channel / Option Editor. B4028: Fixed restoration of column widths in channel list views. Changed settings option 'Show "Getting Started" at Startup' to 'Show "Quick Start" at Startup'. B3943: Update data pattern matchers for aspect selectors when associated dynamic scalars / offsets are changed. When aspect files use physical values, changes to scaling can result in different raw value patterns. T3611: Branded build: Save/restore PC logging configuration separately to the layout file. T3379: Added Radio Button view and Toggle Button view. T3381: Mutual exclusion group for radio buttons, checkboxes and toggle buttons. T4067: User-settable colours for toggle button states. Fixed issue with hover colour of buttons getting stuck in some cases for owner-drawn buttons. ================================================================================ Version 4.04.20 - 10 March 2023 ================================================================================ B3901: Fixed poor main window resizing performance. F3491: New Layout System. T3352, T3353, T3354, T3356, T3357, T3358, T3489, T3490: Sizer based layouts. Resolved issue with controls showing incorrectly for sub-vertical tab views when switching the parent tab. T3488: Refactoring of docking system. Reduced window nesting levels to avoid issues with resizing when windows internal nesting limit is reached. Group view now directly inherits WorkPage to reduce window nesting level and improve resizing performance. T3309, T3310: Layout Hierarchy view. Renamed 'Tabs/Windows' menu item "Layout Hierarchy...". Moved to top of the Layout menu + added to Layout context menu. Complete rework of Layout Hierarchy model - now supports drag & drop of components into sizers etc + supports nested vertical tab views. Changed Layout Hierarchy to a dockable view but float it by default. Branded build: changed fixed sidebar background colour. Branded build: added sidebars to layout hierarchy editor. Fixed issue with serialization of built-in resource icons in layout files. Support floating of any docked view. Added context menu item to float / un-float docked windows. Adjusted default outline colour for tab strips on MDI views, added BaseOutline and ThemeOutline preference colours. Adjusted default background colour for workspace (system scheme). Adjusted default background colour for audit view. Adjusted default line colour and use this for gauge axis colour. Added auto-colourization for dark-mode icons that do not have an explicit override rather than colourizing the icon to the current text colour. Tab icons selection: added option to use auto-theming (or not). Added applicationDpiPercent property to COM interface. T3468: Add 'Apply' button to Log Map Controller. Log Map Controller: added property to show/hide advanced controls. T3372: Added Option Editor View. ================================================================================ Version 4.04.19 - 20 February 2023 ================================================================================ Fixed crash shortly after startup in some build variants. Added automation functions: ClearEcuStatus AppendEcuStatus Added "useDefaultSettings" to SetProperty. Added internal scripting functions to automate clear / data input for Scope view, for purposes of screenshot generation for new help system. ================================================================================ Version 4.04.18 - 17 February 2023 ================================================================================ Behavioural change: Aspect files when applied to differing ECUs will no longer interpolate maps / tables that do not match in size. T3321: New View type for selecting calibration aspect files. T3517: Select Aspect in aspect selector that corresponds to loaded calibration. T2491, T1709: Text based (XML) format for aspect files. Values are stored in physical units in XML aspects. XML Aspect files are more portable, hand editable and also do not require that the original ECU definition file is installed. Added support for ROW_DIR (in addition to existing COLUMN_DIR) maps in A2L files and warn if other modes not supported for FNC_VALUES. Row based format also used for text based aspect file export. T3921: Implemented drag/drop of tabs on vertical tab view to re-order them. Avoid emitting baud rate changed message when identifying ECU if not really changed. Fixed text colour on drop-down menu of file explorer in dark mode. Added additional icons: aspect brake brake-park brake-problem engine-load flame gear throttle pedal Added keyboard search to icon dialog. Added help IDs to icon dialog. Consolidated 'add' menus on workpage context menu & ensure alphabetical. Vertical tabs: modifying tab label will now update size constraints. Use separate help ID for openCalibrationDropdown to avoid lookup conflicts with openCalibration when used from scriptable buttons. Branded build: Added fixed right / bottom sidebars that can be configured like any other work page. Set default shortcut key for openCalibration to Ctrl-O. Button view: added icon property. Consolidate title / border menus into 'Frame'. Added menu items to prevent x/y scroll-bars being displayed for individual work pages (useful for sidebars). ================================================================================ Version 4.04.17 - 10 February 2023 ================================================================================ Modified the way the installer is signed to include the embedded executables, dlls etc, in line with how this is done in DashDesign now. T3433, T3436: Instructions for 3rd party installer builds. T2504, 2525, 3760: Improved reliability of screenshot generator, Added new screenshots and tidied up content in help manual. Fixed closing of docked windows via automation interface. Log Playback - changing log file name property will now load the log file. T3832: Include ECU status output in application log. Update trails icon to multi-resolution. Added top-level keyboard shortcuts for "Select Row" and "Select Column". Added Quick Keys submenu to context menu for map / table views to make this feature more discoverable. Fixed select column feature. Reworked context menu for map grid etc for faster operation with keyboard. Added Selection Tools submenu for easier discovery of built-in keyboard shortcuts for selection modifiers / copying tools. T3399: Add property to make Notes view display / edit Calibration Notes. B3856: Fixed regression loading calibration notes from cal files. T3307: Branded Build: floating View Explorer for layout authoring. Added missing Audit, Notes, Sequencer, Signal Generator to View Explorer. Fixed: (Branded Build) If properties window was shown in a floating frame, the menu command to show properties was creating a new float frame and moving the properties view to the new frame. Refactor serial telemetry and SDLM code to use modern emerald interface. B3762: Reciprocal scaled items in ECU internal logs are now exported to log files using a new scaling type (TID_RATIONAL) to enable correct display in GDA. This also supports reciprocal user scalars. Requires GDA 4.2.16+, otherwise the channels will show up as raw values. Fixed: If ECU definition failed to open when doing multi-file search, the failure is now passed to the calling thread instead of resulting in an unhandled exception. T3456: Add scripting functions to change object (e.g. map / table) displayed by a View. This is now possible using view.setViewProperty("object", "<object name>"); Changed default solid grid colour to ButtonFace instead of White so that under dark mode the unchanged text in StateText mode is readable. B3779: Fixed colour of string tokens in code editor. Internal scripting: Added InvokeAction function to run any menu action. T3405: pop-up ECU internal logging from button. T3406: pop-up PC Logging from button. T3419: pop-up Log Playback from button. T3421: pop-up Ethernet Diagnostics from button. T3447: pop-up ECU Information from button. T3360: Popup comms setup / preferences from button. Branded build: hide colour settings in non-admin mode. T3383: Include X,Y axis values on Set Value popup when entering numbers into grids. Use 'Set Value' popup window for editing single cells on map / table grids since it provides more information and is consistently sized. Improved positioning of 'Set Value' popup window so that the grid cell(s) it applies to are visible where possible. Adjust default colours for map graph axis in dark mode. T3391: Branded Build: Changed default for display of toolbar on grid views. If 'View: Slice' menu is selected on a map grid with an axis selection then configure the slice to view that slice. Fixed bug in CommonGridPanel::getAxisGrid failing to get 'y' axis grid. T3898: Map Grid: View Slice: Display slice for selected axis cell. T3392: It should be possible to pop up 3D map graph from button at grid X/Y intersection. T3393: Branded build: 3D Map Popup: display in floated window. Fixed issue with vertical centering of labels on buttons. Reworked tab control to enable sizer based items to be inserted. T3715: Add sub-grouping view to tabs / subgrouping views. T3369: Property to show/hide expand/contract buttons on vertical tabs views. T3366: Added General preferences to control the default for 'Show Borders' and 'Show Titles' on new Tabs. T3493: Icon: Spark Plug. T3494: Icon: Steering Wheel. T3496: Icon: Test. T3495: Icon: Corrections. T3497: Icon: Diagnostics. T3498: Icon: Fuel. (+ Oil) T3499: Icon: Pump / Fuel Pump. T3502: Icon: Lambda. T3503: Icon: Ellipsis (more-vertical and more-horizontal). T3504: Icon: Sensor. T3500: Icon: Valve. T3501: Icon: Timing Wheel. T3505: Icon: Engine. T3506: Icon: Battery. T3508: Icon: Exhaust. T3509: Icon: Manifold. T3510: Icon: Cam / Camshaft. T3511: Icon: Barometer. T3512: Icon: Fan. T3513: Icon: Idle. T3514: Icon: Water. T3515: Icon: Traction Control. Icon: Coil / Ignition Coil / Glow Plug Icon: Turbo T3364: Vertical tab view icons should be selectable from predefined list. T2433: Reworked tab icon selector to use the newer multi-resolution icons. Importing of icons now also supports .ico and .svg. Improved internal SVG renderer to correct a number of rendering issues. Image view: Added stretch / align options. Image view: Added SVG support. Image view: Added drag/drop from filesystem. Optimized dark mode arrow icon rendering. B3902: Use FunctionString type instead of BitStrings for exported Enumeration types. Fixes incorrect conversion for A2L enumerations whose underlying values are floating point. B3759: Fixed: Firmware upgrade: If bin + fin were specified and then fin subsequently removed from the procedure then an error saing that the firmware could not be verified was shown. Reworked the way that the firmware images are verified and the flows through this part of the firmware programming procedure. Firmware upgrade will also not warn if the fin + bin both use ECU definition files and the fin is not the 'base' version that is compatible with the bin. Install button also now will not allow the 'base' ECU to be selected for the bin file - the full ECU definition file must be installed when performing firmware upgrade. B3821: Fixed auto detect baudrate for serial ports. GW: Allow custom baudrates to be specified in 'Set Baud Rate' dialog. Added very basic auto-complete for JavaScript editors. Needs extending with more contextual information (object properties), built-ins and local identifiers. GIN files: Fixed bug in deserialization of (rarely used) values that use type specifiers when initial value is non-zero and the type is less than 8 bytes. ================================================================================ Version 4.04.16 - 02 December 2022 ================================================================================ T3487: DockSizer (will enable sizer based layouts). T3377: Update Number view to provide Status Light features (added additional properties for labels, colours, alignment, font etc). T1485: Add decimal places option to number gauge. UT: Made file filter more generic for unit configuration file dialog. #3475: Added about / help menu items to application system menu. #3331: User settings are now first loaded from ProgramData/.../settings.xml so that application installers can install default user settings. Branded build R3482: New branded build variant. R3401: Feature removal from branded build. R3478: (branded build) Artwork. R3311: (branded build) ECU type restriction. R3423: (branded build) Configuration Options. T3476: (branded build) Map layout defaults. T3601: Refactoring/Unification of cal file filter generation code. (branded build) Altered calibration name/version space padding policy. UT: Added command line option "/license-manager" to only show the license manager dialog. Other branded build tasks: T3318, T3317, T3403, T3324, T3446, T3473, T3316, T3323, T3303. UT: Changed program firmware icon. UT: Include keyboard shortcut in default toolbar item tooltip. GW: Menu option to compare calibration with defaults. Added 0x4000 for strong name/version check in FIN. If ECU identity not found in known address list but through manual scan then check if the ECU definition was installed. Adjusted behaviour of determining if 'Program Calibration' is included in ISP procedure in case that there was not a 'strong' name/version check in the FIN. If the ISP block size cannot be determined from the ECU header then fail ISP with an error message (previous versions would result in integer division by zero). Close package installation dislog prior to ISP to avoid some modality problems (apparently frozen UI). ISP of bin + fin from package: display bin name correctly on UI. Fixed issue when recreating ethernet comms port that could lead to continual multiple errors. Ethernet ECU simulator: update serial number if CoPro reflashed. Delay disconnection following ISP from package. Only auto-disconnect after ISP of package if the ECU was not initially connected. Drop support for ancient calibration file format that would mean that loading random cal files would ask for unusual ECU types. Suppress ECU Offline popup when doing ISP from a package instead of via 'Program Firmware' menu. Prevent package install firmware + Program Firmware wizards from being open at the same time. B3264: Fixed conversion template prompt when creating a package. B3686: Fixed Windows version definiton that caused boost asio issue. B3681: Fixed file save as bug where folder was not found. B3682: Fixed GW asking to install already installed packages. Increased font size on Map Graph on HighDPI displays. T1710: Added a global minimum font size to Preferences. Enabled for grid cells, notes, dock captions and bar gauges. Update emerald version to 5.5.2. ================================================================================ Version 4.04.15 - 24 August 2022 ================================================================================ COM Automation: avoid navigation / changes during screenshots. ================================================================================ Version 4.04.14 - 23 August 2022 ================================================================================ Fixed close of Log Playback config dialog in some cases where channel mappings were not valid. Added Close Log context menu action for Log Playback. Updated to Emerald 5.4.6 (performance enhancements). COM Automation: Added options to Click function: move_only, press, double. COM Automation: Trigger change following setting of 'identity' property on ECU Definition pickers. COM Automation: Added some additional virtual properties to GetProperty for grid cells. Conversion template builder: supress save prompt when closing dialog during automation. Dark mode styling for Function editor. Changed colour settings for window captions - these are now just a solid colour. Added additional colour gradients (now shared with GDA). ================================================================================ Version 4.04.13 - 08 August 2022 ================================================================================ B3287: Fixed restoration of grid columns on 'New Calibration' dialog. Tab T3289: Automation: option to draw mouse cursor in screenshots. T3286: Added global action / helpid to invoke configuration dialog for views where applicable. Automation: Added 'identity' property for InstalledEcuPicker, to enable automation of ECU selection pickers (e.g. conversion template builder). T3285: Automation: fixed keyboard traversal of user scalar config grid. Added button with help-id for opening advanced editor. ================================================================================ Version 4.04.12 - 03 August 2022 ================================================================================ B3278: Reworked Calibration Template Builder to make ECU definition file selection clearer. Fixed a potential crash. B3284: Allow customer GIN files to be used to create conversion templates following user confirmation. B3256: Fixed Log Playback feature. The log view is now shared with the data analysis software and supports a wider range of logging formats. T3285: Improved UI for log view configuration. Fixed issue where if an ECU transaction succeeds but completes immediately, it would be left on the transaction list making it appear the there were still outstanding transactions. COM: Enable 'path' property to be set for AbstractFileBrowseEdit based controls. Fixed possible delayed crash relating to use of alternative fuel map scaling. Fixed some issues relating to help screenshot automation. ================================================================================ Version 4.04.11 - 29 June 2022 ================================================================================ B3191: Corrected ECU simulator region checksum calculator (16bit Additive). UT: Possible issue identified & fixed for 8bit additive region checksums. UT: Calibration Convert: suppress overwrite popup when the application is automated if the silent overwrite option is used. UT: Added 'Keyboard' function to COM interface for simulating keyboard actions. UT: Fixed help info generation for context menu actions. ================================================================================ Version 4.04.10 - 16 June 2022 ================================================================================ UT : Updated to Emerald 5.4.5 and emerald_id 1.2.12. B3144: Reset calibration & file name if reconnecting. B1996: Handle 'bool' channels / options like On/Off bit options. B2875: Fixed issues with Tacho view configuration dialog not showing the current configuration in some cases (e.g. after reload of layout). For example the gauge thresholds. UT : Automation: Added ecu_reset_supress_popup property. UT : Automation: Implement gethernet file transfer commands. UT : Automation: Added Context menu help generation. UT : Ethernet simulator: simulate GLD based loggers. UT : Support file drag/drop on file browse fields in simulator. UT : Added hasAttibute / getAttribute to scripting (EcuItem). UT : Prevent command line options (e.g. for COM) being interpreted as files and avoid popping up any error boxes during startup when automated to prevent leaving headless background processes left running in some cases. ================================================================================ Version 4.04.09 - 16 March 2022 ================================================================================ UT : Tentative fix for possible uninitialized variable resulting in unexpected offline detection. ================================================================================ Version 4.04.08 - 15 March 2022 ================================================================================ B2866: Fixed crash setting gradient twice in Tacho thresholds without dismissing the gradient picker in the grid. UT : Descriptions view: added menu option for copy. B2865: XCP: Do not log "XCP: Connected" in comms monitor following recovery from an error. UT : XCP: log timeout errors in comms monitor & update connection error status. T2873: If ECU name can't be verified following ISP, request that the user power cycles the ECU and retry. UT : Firmware Programming: If successful, show a tick on 'Finish' button - in case of confusion now that ECU status log is displayed. Shows a cross on the finish button if failed. Additionally the 'Cancel' button is hidden. Add error to status log if user aborted ISP. ================================================================================ Version 4.04.07 - 10 March 2022 ================================================================================ B2864: Tentative fix for crash when connecting to ECU via FTDI serial connection possibly during hotplugging check. Addressed race condition bug in comms layer. Added some additional logging of possible failures during initialization of device change notification handler. ================================================================================ Version 4.04.06 - 03 March 2022 ================================================================================ B2827: ECU Reset detection was not working on GDI80 01X version ECUs. Changed to check for 500ms offline timeout. UT : Made ECU Reset Popup modeless. T2861: Program Firmware can now reprogram both CoPro + Main processor together This process checks if the main processor firmware version has changed - if not then the main processor update is skipped. Programming CoPro + MainPro is now also possible using GWv4 Package files. Added 'Verify ECU Information' step. Allows users to sanity check the connected ECU prior to programming. This option is persisted in user settings but overridden by firmware Package installs. UT : Allow Program Firmware menu item when not connected (GWv4). UT : Added connection port selector to ISP sequence page. T2558: Added 'Change Connection...' button to Connect dialog. When connecting to an ECU if the incorrect port was selected then this allows a more streamlined resolution to that problem. B2842: Reset per-channel decimal places on Channels grid if changing the channel on a given row. Ensure that if DP setting is changed that layout get saved. T2834: Modify LogMap calibration data mismatch warning behaviour. B2843: EM80_M log processing error: EcuCommCode::fromDataRef: Invalid size. Due to address / size mismatches in imported log setup from different ECU version. Modified Log setup file to include original ECU information + additional alias information. Added improved import errors dialog. Items that can't be resolved are cleared in the logging list. In future, additional error resolution can be added via this dialog. When processing logs, if aliases that intersect a logged address end up with >8 byte footprint, those items that cause it are not included in the processed log file. B2845: Image view: erase background, fixes display of transparent PNGs. UT : Automation: Support string channel values in SetSimulationProperty. UT : If user decides to use base ECU definition file for an ECU then continue to do that by default until the correct ECU definition file is installed or if the application is restarted - instead of asking multiple times. UT : Fixed second firmware image not being added to firmware packages. UT : Added selection properties to view objects for automation purposes. This also means that grid selections are now stored in layout files. UT : Added internal scripting functions for getting/setting/listing view properties: getViewProperty, setViewProperty, getViewProperties. UT : Automation: added lastCreatedView option for obtaining last created View in various automation functions involving windows. ================================================================================ Version 4.04.05 - 21 February 2022 ================================================================================ B2812: EM80_M log processing fixes: Do not include aliased channels in the log whos bit patterns do not intersect the logged data due to masking. Corrected the way that values are unpacked from packed samples - e.g. if logging only byte 2 of an 8 byte CAN RX frame, the 64bit 'data' alias channel would show an incorrect value. B2811: Use same auto-decimal places calculation used for grids on other value formatting for tables/options/maps etc. T2809: Amortize cost of auto decimal places calculation for tables / maps. T2810: Properties to set user decimal places for axes on map graphs. T2810: Properties to set user decimal places for axes on table graphs. UT : Per-channel decimal places property on channel grids. UT : Continue to display selection in option / channel lists when focus is lost to properties panel. UT : Auto close ISP flow if ECU is manually reset following ISP. UT : Reworked comms notification processing slightly to avoid situation where disconnecting the ECU could result in the disconnected state not being seen. UT : If showing a new ECU transaction progress dialog, close any completed ones first. UT : Auto-close start dialog if starting an ECU comms operation. UT : Added 'Connection closed' message to comms log when comms thread has finished. UT : If the clear calibration checkbox is hidden in ISP flow, also hide the label underneath. UT : Increase EM80 CoPro read optimization version to 03x00. UT : Added Modified Date column to ECU installations list. UT : Enable column sorting in ECU installations right-hand list. UT : Fixed maximum raw calculation for bitmasked signed values. T2792: Modified detection of legacy CoPro as missed some EM80 variants from the list. This will now apply to anything that has CoPro version. EM80_M is handled slightly differently. ================================================================================ Version 4.04.04 - 15 Feburary 2022 ================================================================================ Disable multi-command packets with legacy CoPro firmware and during initial ethernet ECU identification process. Resolves comms issues to RX80 running CoPro 00x37. Known working CoPro versions are: EM80 CoPro 01x07 EM80_M CoPro 04S01 ================================================================================ Version 4.04.03 - 14 February 2022 ================================================================================ T2794: Detect is ECU was reset and alert user with option to re-read cal. T2792: Implement workaround for data transfer issues with EM80 variants (not EM80_M). If GW detects that there are issues with using various data transfer optimizations then the optimizations will be disabled at the cost of less efficient bandwidth usage and multiple writes to the same locations being serialized by write barriers. Added support for override META strings in GIN file: MIN_COPRO_VERSION, COMMS_READ_OPTIMIZE, COMMS_WRITE_OPTIMIZE Miniumum CoPro version can be specified to issue a warning when connecting if the CoPro should ideally be upgraded. UT : Include RX/TX IDs and rate in CAN connection comms trace. B2793: Workarounds for comms issues with SL1: LOGTBL reads always return 8 bytes from SL1, leading to verify errors. LOGTBL reads are now prevented from exceeding the max transfer size of the port. SL1 incorrectly specified protocol read/write sizes in the ECU definition file, leading to undesired effects. Added some additional information to application log to report PCAN result codes during port initialization. Handle new PCAN_ERROR_CAUTION initialization result code which means the port was still initialized (and would have undesirable knock-on effects). 2793: Fixed issue with incorrect settings in GIN file that exceed comms protocol limits from causing major comms issues. e.g. SL1. Notifications are now be added to the comms trace to indicate the ECU definition file issue. UT : Fixed auto-reconnect to Ethernet ECU simulator following ISP due to serial number being reset to default. ================================================================================ Version 4.04.02 - 08 February 2022 ================================================================================ B2780: Fixed crash setting font size property on Channel list view. UT : Use fractional point sizes for font size properties. UT : Improved smooth adjustment of some 'stepped' properties via dial controls. B2773: Fixed crash in Compare tab when multi-differences report is shown and then a new compare is loaded that cleared it. UT : Automation: fixed 'y' coordinate in Click function. UT : Automation: Added to SetProperty: path, for CalBrowser dialogs. UT : Fixed height of toolbar on Descriptions view. UT : Updated gems library - some restructuring of unit tests + bugfix to SmartColour. UT : Removed 'manual' unit tests that are already covered by automated tests. T2757: Rename JS classes for scripting of EcuDefinition based objects. T2776: Assign Help IDs to buttons etc in UI for help system. UT : Compare Calibration: If source file was in temp folder (e.g. if it was opened from an e-mail client), offer to store in base calibration folder instead. UT : Modified semantics of 'IsPathSame' and 'IsPathAncestorOrSame' to check for path equivalence. UT : Support Drag/Drop of firmware files (fin / bin) on applicable builds. T2715: Added theme default colours + editable base colours & inherit some colours from these. The non-dark colour theme now has stronger border outline by default. UT : Adjusted colour of description area of properties grid on non-dark theme. UT : Adjusted colours on zoom scroll-bar on non-dark theme. UT : Better initial gauge/view sizes on HighDPI screens. UT : Fixed small layout issue on signal generator view. UT : Fixed bug with some docked window / tab icons getting 'lost' when switching dark/light theme. UT : Include 'size' field in file dialogs (cal / layout etc). C2387: Added method to clear duplicates from internal logging list. UT : Added method to set rate on multiple selection in internal logging list on EM80_M. UT : Added additional menu options to internal logging list setup: - cut - copy - paste - select all - select none - insert channels - remove duplicates ================================================================================ Version 4.04.01 - 28 January 2022 ================================================================================ B2732: Fixed connect following selection of a CAN port from 'basic' port settings page on new installations of the software. T2731: Changed install location of default layouts so that they are picked up without requiring user selection. Some builds already used the correct location - this fixes GWv4 and AEMcal. UT : Installer: Removed user info page. UT : Installer: Changed text relating to Non-Accelerated 3D to guide best choice. UT : Port Settings: Fixed default page to basic settings for some builds. UT : Updated Freeze icon. UT : Fixed: Status panel not showing any information in some cases. UT : Store/restore virtual pot box frame size + improve initial size on HighDPI. UT : Adjusted default workspace layout slightly for help generator. UT : Automation: Added matte to top level screenshots for drop-shadow. UT : Automation: Avoid pop-up when closing internal logging setup if discard file option specified. UT : Automation: Fixed SetProperty when applied to non-docked windows. UT : Automation: Added to SetProperty: maximized, width_dp, height_dp, pos_x_dp, pos_y_dp, width_px, height_px, pos_x_px, pos_y_px, pinned. UT : Automation: Added to GetProperty: focusedWindowID, currentWorkPageID, focusedViewID, parentViewID. UT : Automation: Do not prompt to confirm workspace reset command. ================================================================================ Version 4.04.00 - 26 January 2022 ================================================================================ Release Candidate ================================================================================ Version 4.03.47 - 25 January 2022 ================================================================================ UT : Updated to PCAN-Basic API V4.6.0.600. T2722: Re-instate offline calibration editing. UT : Enable sorting of columns in Configure Units / Scaling. Store/restore grid columns & sorting. UT : Changed naming convention for UserScalars imported from A2L files. Unit group names generated from A2L now include source unit instead of being numbered & drop the ' Units' suffix. This will avoid issues with unit preferences for differing A2L files where the numbered groups may not correspond to units of similar intent (i.e. Power2 Units vs Power [W]). Internal (generally hidden) scalar suffixed 'Scalar'. UT : Do not include 'ECU / VERSION / CAL' base unit options in non-gems builds to simplify unit configuration. UT : Change Edit... label to Info... for units that are readonly. UT : Added option to store base unit overrides in the project/layout file. UT : PCAN ports: output API + Driver versions in comms monitor + application log. R2273: Added units config to branded build. ================================================================================ Version 4.03.46 - 21 January 2022 ================================================================================ B2703: EM80M - trying to connect to a an ECU where the full GIN is not installed, select base GIN and connection is immediately dropped. UT : If re-connecting to ECU without full GIN file, of the base gin is re-selected then do not re-load the tabs unless the GIN file SHA hash changed. UT : Packages: Set flag for the 'convert cal' option in firmware update packages. UT : Unit Configuration: load/save will now only save/apply units that are present in the currently loaded ECU definition file. UT : Fixed application of display units to user scalars that do not use fully-qualified unit IDs. UT : Do not show 'Calibration Option' item in user scalar base unit selection UI if there is no such option in the ECU definition file. Clarified Calibration to Calibration (External). UT : Fixed crash in file browsers if 'folder tree' is hidden. ================================================================================ Version 4.03.45 - 20 January 2022 ================================================================================ UT : Auto-configure firewall from installer script. UT : Support GIN file version 3.33. Supports attributes + hidden flag on User Scalars + additional GinItem fields (identifier, long identifier, description etc). Enumeration types now also support additional GinItem fields (attributes, identifier, long identifoer, description). Supports custom units & unit quantities to be defined in the ECU definition file. This system will also become the basis for supporting custom units in A2L files. UT : Resolve display unit for units throughout the UI e.g. on option / channel grids. B2695: Options and conditions not showing for Internal Logging Setup: Fixed general issue with object search following copy of ECU definition. B2676: Improve error message if ECU not supported. If installing a license would allow access then state the applicable license(s). Prefer the DEMO calibration file on new installations since this ECU type does not require a license for offline access. B2679: Fixed WorkPage contents scrollbar overlap issue. B2584: File dialog: Fixed lock-up when deleting a newly created folder. B2583: File dialog: Creating a new folder should just select the new folder instead of trying to open the folder. Units: fixed regression in handling of default units in units config dialog. B2619: Do not fail loading of user units if a quantity with an blank ID is encountered - instead trace a warning in the status window. T2706: Base unit definitions on UnitSystem in the GIN file. T2705: Unit configuration: If a dynamic unit option is available, add an option selector to the UI for it. UT : User units: do not allow quantity to be changed when creating a unit from the 'Configure Units' dialog. In order to change the quantity of a value, a base unit override must be selected. UT : Changed "Co-Processor firmware mismatch" error to a warning. UT : Fixed background colour of units text in grid axis headers. UT : Added option to disable the display of value bars on individual channel list grids. UT : Fixed clipboard format for name lists - pasting into Notepad would drop the last character since it expects a null (unlike MS Word / Excel). UT : Include product name in version description to make related firewall rules clearer. UT : Package dialog: store/restore window geometry. T2682 (partial): Package Dialog: Added secondary firmware for CoPro + Base ECU upgrades. Added force verify ecu info option to packages for gems Reflash. Store extended ECU identity in package. ================================================================================ Version 4.03.44 - 26 November 2021 ================================================================================ Note: If user defined units have been specified then these will be upgraded but archives are not backwards compatible with older versions of GWv4. B2556: Scrollbars on map grids could hide the last row/column. Reworked scrolled windows to resolve scrollbar flicker issues when running dark theme. B2557: Channel and Option default number of decimal places either too high or too low in some cases and are calculated differently for Channels compared to Options. T2513: Refactor Units system; unifies unit system implementation across multiple products, increases flexibility, and makes user units support in all apps a step closer. T2514: Units that use relative scaling will now avoid scaling to the base unit first, if possible, depending upon the scaling graph for that unit quantity. T2270: XCP/A2L: Create UserScalars for units and unit groups. Enables user units configuration. Rework of ECU definition file object collections and search indexes - changes affect a large amount of code. T2269: Read unit groups from A2L annotations, e.g. \begin ANNOTATION ANNOTATION_ORIGIN "UnitGroup" ANNOTATION_LABEL "Pressure" \end \begin ANNOTATION ANNOTATION_ORIGIN "UnitQuantity" ANNOTATION_LABEL "pressure" \end T2524: Themed message boxes. UT : Persist geometry of units/scaling dialogs + improved HighDPI initial size. UT : Create Unit dialog: do not use spin box for multipler / offset values & allow larger values. UT : Find dialog: also support ecudef files in addition to Gin when doing multi-file search. UT : Fixed crash calculating bit operations on unusually sized ECU definition items (e.g. 6 byte values). B2497: Activating an expired license will now report an error instead of succeeding (but silently failing). T2585: Warn user if license expiring. UT : Licensing: store original machine key with license activations. When deactivating licenses, use the original machine key, where possible. UT : Display expired licenses in License Manager view. B2509: In commands/logging section of manual "Log Playback" gets its own invoke action. UT : Changed some HelpIDs. UT : COM: Added 'deferred' option to 'options' for InvokeAction to defer action invocation via the event loop - resolves problems with invoking actions that display modal dialogs and never return. UT : COM: added way to set selections on windows. UT : COM: added way to simulate mouse clicks. UT : COM: added way to move windows. ================================================================================ Version 4.03.43 - 08 November 2021 ================================================================================ UT : Clear build folder to ensure that COM TLB gets regenerated. T2268: Parse group name from units definition (quantity:unit:group). ================================================================================ Version 4.03.42 - 08 November 2021 ================================================================================ UT : Fixed typo for Channel List item in View Explorer. UT : Altered name of Send Calibration drop-down action to avoid conflict with the related menu item. T2419: Rename 'Pot' View to 'Dial'. T2274: Units configuration file serialization. T2396: Changed actions: actions/addPot to actions/addDial. action IDs (upload > send/program, download => receive) programChecksum => ecuStoreChanges Extended COM interface: FocusWindow, SetProperties, GetProperties, SetProperty, GetProperty, LoadLayout, SaveLayout Assign helpIDs to fuel map specific context menu items. Output additional helpId info via COM. Added scripting functions / types to HelpID system. Changed the types of maps/tables/objects etc reflected in JavaScript. Added some convenience functions to the 'Ecu' script object for looking up tables/options/maps etc. Scripting: added Category, Region, ChannelTable, EcuString objects. Scripting: added properties to Channel and Option: real, raw, value, text. Equivalent to getReal/setReal/getRaw/setRaw etc. Updated default Function Object script to use terser lookup and ES6 features. Added control of ECU simulator to COM interface. Fixed usage of JavaScript object literals that have boolean properties. Fixed enumeration of ethernet ports in COM interface. ================================================================================ Version 4.03.41 - 29 October 2021 ================================================================================ T2396: Extended COM interface. Added InvokeAction, IGWv4OptionsMap, CreateOptionsMap, GenerateHelpInfo, EnumerateWindows, TakeScreenShot, CloseWindow. UT : Fixed typo in "Serial Telemetry Logging / Monitoring" menu item. UT : Fixed clear Calibration - selecting 'no' / canceling dialog should not continue & clear the ECU. UT : Fixed bug where PCTL operation would be issued when PCTL does not have a valid address in the ECU definition file. UT : Avoid 'Setting Auto Store' popup at the end of ISP in some cases. B2441: Reworked ISP: Make it clear that the 'Clear Calibration' item in the ISP procedure is performed before re-flashing the ECU. Added additional clear to defaults step when a calibration is not also being programmed but the ECU is cleared. Added option to convert the calibration file that is already in the ECU during ISP. ================================================================================ Version 4.03.40 - 19 October 2021 ================================================================================ UT : Fixed some regressions in map/table models that could result in maps not being shown or unhandled exceptions. UT : Fixed regression handling spaces in xml archives in some cases. Fixes recent files list issue. B2438: Reworked ECU definition file handling. Since the tabs etc are now kept open if possible when connecting to an ECU, if the ECU definition file was manually re-installed then reconnecting to the ECU would not re-load it. This case is now detected and reconnect / reload of calibration will be offered. Additionally. when connecting to an ECU, the ECU definition file will be checked for updates and if changed, a re-install will be offered. Successful installation will now pop up a notifcation toaster that is automatically dismissed after 5 seconds rather than requiring a click to close the a dialog box. ================================================================================ Version 4.03.39 - 19 October 2021 ================================================================================ Fixed issue with 4.03.38 release. B2356: Fixed calling of script functions via COM interface that do not have any function arguments. B2356: Fixed crash when exiting application whilst an XCP connection was active. B0167: Fixed crash in JS engine when adding custom columns to compare tab. B0169: Fixed crash if attempting to program a firmware image that is opened for exclusive access by another application. B0185: Removed Auto-Arrange tab feature. B0205: Fixed option steps for Table/Map objects. B0176: If protocol definition in GIN file claims that it can read/write more bytes than are physically possible on the connection (e.g. CAN) then it should override the size limit. UT : Fixed start option / offset option for Table objects. B2410: Re-fit grid headers when there are dimensional changes to underlying map/table. Partial fix for issues with axis header sizing. A rework of grids is planned for a future version. B2409: Fixed Re-install GIN while loading a GIN would install the file but actually load the prior version. UT : Drag/drop of category groups from view explorer now works. Fixed crash if selecting "add to current tab" for such items. T2350: Changed update mechanism of ECU definition file installation manifest to reduce risk of corruption. UT : Updated to boost 1.77.0. Updated to lzma 5.2.5. Updated to bzip2 1.0.8. UT : Modified ECU Simulator to allow CAN ports to be selected as external port in addition to serial ports (for comms testing). B0168: Slow CAN log download. Made a couple of tentative changes to avoid suspending comms thread when reading from CAN ports - could not see any 800ms delays when testing with modified ECU simulator. Removed code to pre-empt possible transmit buffer queue full error. Testing of gemscom ISP via CAN recommended. T1760: Use SVG for GIN editor icon. UT : Added option to check for updates on the Beta Channel (GW only) & automate deployment during release. ================================================================================ Version 4.03.38 - 18 October 2021 ================================================================================ B2356: Fixed calling of script functions via COM interface that do not have any function arguments. B2356: Fixed crash when exiting application whilst an XCP connection was active. B0167: Fixed crash in JS engine when adding custom columns to compare tab. B0169: Fixed crash if attempting to program a firmware image that is opened for exclusive access by another application. B0185: Removed Auto-Arrange tab feature. B0205: Fixed option steps for Table/Map objects. B0176: If protocol definition in GIN file claims that it can read/write more bytes than are physically possible on the connection (e.g. CAN) then it should override the size limit. UT : Fixed start option / offset option for Table objects. B2410: Re-fit grid headers when there are dimensional changes to underlying map/table. Partial fix for issues with axis header sizing. A rework of grids is planned for a future version. B2409: Fixed Re-install GIN while loading a GIN would install the file but actually load the prior version. UT : Drag/drop of category groups from view explorer now works. Fixed crash if selecting "add to current tab" for such items. T2350: Changed update mechanism of ECU definition file installation manifest to reduce risk of corruption. UT : Updated to boost 1.77.0. Updated to lzma 5.2.5. Updated to bzip2 1.0.8. UT : Modified ECU Simulator to allow CAN ports to be selected as external port in addition to serial ports (for comms testing). B0168: Slow CAN log download. Made a couple of tentative changes to avoid suspending comms thread when reading from CAN ports - could not see any 800ms delays when testing with modified ECU simulator. Removed code to pre-empt possible transmit buffer queue full error. Testing of gemscom ISP via CAN recommended. T1760: Use SVG for GIN editor icon. UT : Added option to check for updates on the Beta Channel (GW only) & automate deployment during release. ================================================================================ Version 4.03.37 - 22 September 2021 ================================================================================ T2204: XCP: If GET_ID not supported by the ECU, continue the connect operation to allow the ECU definition file to be selected manually. T2209: XCP: Manual selection UI flow for ECUs that can't be identified automatically. B2262: A2L files that specified negative length / layout fields in format strings would result in the A2L file being silently not loaded. Messages will now be issued for format strings that are invalid in this way or if an unexpected exception occurred during A2L processing. B2180: If the ECU installation manifest is corrupted then move the file to a backup and display a better error message instead of an unhandled exception box. UT : Pluralize single differences model names in compare panel to make it clearer that the selection will reveal multiple items. UT : Fixed failure when opening CAN over UDP connection. UT : ECU Definition File search results: enable sorting + order by date descending by default. ================================================================================ Version 4.03.36 - 03 August 2021 ================================================================================ Fixed some issues regarding Simulink Virtual Versions on GIN files. In some cases, it is important that the base GIN version is used. Fixed uninitialized flag for forcing 13bit protocol that could lead to unexpected behaviour when dealing with extended address space. If virtual version is used for Simulink ECUs, compare the base version in the extended identity with the base version in the ECU to avoid getting an error message during connect. ECU Simulator now also reports base version in ECU header. Fixed possible crash closing application whilst ECU simulator running. Performance and stability enhancements. Faster GIN file loading. Support can_id in ATTRIBUTES from ginmake. Displays a CAN ID editor for CAN ID options etc. Fixed: Multi-part file writes to ethernet ECUs were not being fully reported in comms monitor. ================================================================================ Version 4.03.35 - 30 June 2021 ================================================================================ #4919: Fixed crash when selecting firmware update, depending upon installed license. Fixed handling of COPRO_ISP_MAX_SIZE_BYTES. Installed ECU list - GW was stripping multi-part file extensions from the file name column. This column will now use the original file name, if available. Otherwise, GW will now reconstruct the file extension without losing the additional parts. ================================================================================ Version 4.03.34 - 24 June 2021 ================================================================================ EM80_M large firmware support. There is now the concept of resetting the GIN file on comms connections and updating of the ECU identity. #4859: Firmware upload of EM80 CoPro: A GIN file is not required in this case - the UI will no longer ask for one. Also the clear / program calibration steps are hidden in that case. Detected firmware version is displayed in the title bar. Only enable Program Firmware menu item if connected to ECU to help avoid situations where multiple ECUs are connected to the PC and the configured connection is not the expected one. Changed 'Waiting for EE...' message to something more descriptive: 'Waiting for ECU to commit data to non-volatile storage...'. #4720: Update firmware wizard - auto-advance if GIN installed via drag & drop. #2521: EHL extraction issue. #3835: Object selector for ComCodes: moved byte selector to its own row in the layout to avoid size changes overlapping the dialog buttons. #4875: 16bit checksum mode for EM80 was not calculated correctly. ================================================================================ Version 4.03.33 - 11 June 2021 ================================================================================ Updated compiler to VS2019 16.10. Fixed crash when parameter (channel) table is used and cal file uploaded to ECU. #3784: crash on compare fixed. Compare tab: if there is no selection in the left hand list, select the first item by default. Avoid flicker when changing tabs and the tab is lazy-loaded. #1954: Fixed hex formatting of axes to use integer value when appropriate. #2773: Log download - add extension if not present in user edited save filename. #4840: PCLogging: Fixed bug when reading GLO files that could read to errors in GLO => STF rate detection and export. Changed resampling rate calculation for STF export. Fixed peristence of 'Export STF' option. #4843: Fixed calculation of region checksum for EM80_M in EEROM2 - the checksum size used in EEROM2 was not being used for the prior region, leading to incorrect calculation. Fixes the 'Open Matching Cal' feature. #4718: After selecting a channel / option in a grid, the Description view should update to reflect the newly selected item. ================================================================================ Version 4.03.32 - 07 June 2021 ================================================================================ #4809: Fixed some issues with decoding of EM80_M logs and added regression tests. Fixed issue connecting to Simulink ECU with the base GIN - the changed identity could result in the workspace being closed. If connecting to a Simulink ECU that did not have Virtual Version defined in its embedded identity but the ModelBuildID matches then load that GIN file. Fixed crash programming firmware into unit with virtual version defined. Fix for possible error when processing EM80_M logs leading to an end-of-stream error. #4518: Fixed bug that only allowed CoPro firmware to be programmed once per GWv4 session in some cases. ================================================================================ Version 4.03.31 - 25 May 2021 ================================================================================ Added additional information to application log (OS version, SSE support). Emit warning when deserializing tabs files to identify missing channels / options in tab layouts. #4723: Adjusted default / minimum timeouts for serial ports to avoid errors during identification of MINIZETA ECU. #4723 (part 2): Fixed issue with LOGTBL on big-endian ECUs leading to errors following connect and eventual reversion to individually polled channel reads. #4727: XCP: Ethernet Transport Layer (TCP and UDP). ================================================================================ Version 4.03.30 - 23 April 2021 ================================================================================ Avoid exception at startup on Windows7 relating to WinHTTP used for checking for updates. ================================================================================ Version 4.03.29 - 22 April 2021 ================================================================================ #4630: Log processing: fixed issue where hex format would be applied to all aliased channels if the first alias at the address in the log is hex. Resolved major performance issue when displaying comms monitor due to issue in wxWidgets auto double buffering. Also affects themed scrollbars and a few other controls. #3922: CAN telemetry stream: display fixed byte value in description. #3673: GDA/GDApro: Added check for updates. ================================================================================ Version 4.03.28 - 18 March 2021 ================================================================================ Updated to wxWidgets 3.1.4. Updated splash screen style. #4581: Show all ECU installs if XCP license is installed. #4517: ECU menu item 'Program Firmware...' now defaults to searching for .bin as well as .fin files for firmware file uploads. #2269: Add ECU menu item: 'Reset RTC to Current Time'. EHL: Do not dislay v0.01 filter values for v0.02 logs. EHL: Added some additional description to the EHL configration properties. EHL: Use assigned parameter name for histogram name so that on GDI80 the Fuel Pressure histogram is called HPP Pressure. #4519: Fixed erroneous "Could not find ECU name in FIN" during ISP procedure. #3730: Add a window property to allow the display of the Description field in a channel or option window. ================================================================================ Version 4.03.27 - 13 January 2021 ================================================================================ Altered ECU identity matching for XCP to enable definition file to be found for some ECUs. Fixed potential crash relating to install ECU search flow. ================================================================================ Version 4.03.26 - 13 January 2021 ================================================================================ Avoid crash if installing A2L via drag & drop that has a syntax error in it. ECU Simulator: fixed file browser fields. #4351: Fixed bug with rendering of scope view Y axis. Convert Calibration: use square brackets instead of curly braces to indicate item units as per convention. Populate advanced port settings page correctly if gCAN-UDP port selected. Implement gemscom over gCAN-UDP for testing gcp client simulator. Fixed problem with skinned scrollbar calculation when it has a very large range. Fixed value column in Ecu Simulator grid. Made the appearance not greyed out. #3207: File dialog: Fixed drag/drop over empty row would remove file. Allow copro write of serial number if SERIAL not set in GIN. #4320: Combine Program Firmware + Program CoPro firmware into 'Program Firmware' menu option. #4450: Add option to force-load A2L file for XCP ECUs. #4451: Match EPK to other A2L identifiers when connecting via XCP. Recommend disconnection from ECU if EPK verification fails. ================================================================================ Version 4.03.25 - 30 November 2020 ================================================================================ #4341: Fixed display of CAN Telemetry Setup info. #4259: Fixed bug in property grid auto column sizing that could make the value column invisible. Fixed crash using grid drop-down boxes in units/scaling dialog. Units/scaling dialog: persist geometry. Units/scaling dialog: UI tweak to improve dark theme appearance. Updated V8 JavaScript engine to 2.7.220.24 and switched to cmake based build system for v8 (more reliable). ================================================================================ Version 4.03.24 - 10 November 2020 ================================================================================ Fixed: Refresh of ports in port settings was clearing out ethernet ECUs. Bar gauge: Fixed clipping of value text. Bar Gauge: Added label decimals property. #4251: Changes to licensing model. This also means that calibration files can no longer be edited offline without a license. Telemetry setup grids: display aliases (if any) in tooltip for grid cells. Fixed XCP over CAN port selection regression. XCP: added gCAN-UDP port type option for XCP client driver simulator connection. XCP: Avoid recursive installation of ECU definition file when connecting to an unknown ECU. XCP: Made some download (ecu write) errors fatal to a given operation rather than continue to retry an operation that will never succeed (e.g. access denied). A2L: Use EPK for installation version key. If an A2L has an identical EPK to another one then it is considered as being for the same ECU & will overwrite any matching installations. This is preferable to using the file hash when developing A2L files. #4256: EHL: Some ECU definition files were specifying reference scaling channels / options surrounded by single quotes, breaking lookup & therefore scaling (e.g. for Oil Temperature histograms). Fixed distance scaling (multiply by road speed scalar value). EHL: Improved appearance with dark theme. Fixed layout of histogram chart on high DPI screens. Improved layout of report on right hand side of EHL view. ================================================================================ Version 4.03.23 - 10 October 2020 ================================================================================ #4000: Fixed update of Audit view for writable channels. #4196: Tachometer min/max values were not being stored in tabs if equal to zero. The min/max values are now using a new multi-typed editor with drag adjustment + reset to default option. #4260: Fixed crash loading A2L files with COM_AXIS definitions that do not have an input quantity. #4257: Use value limits in pot view if available. Added option to use extended limits. And an additional option to display extended limits in the new Gauge limit colour preference. #3992: Pot view: can now specify custom limits. #4187: CAN Telemetry: Export to DBC now 'un-applies' bit shifting multipliers on ECU channels for bit shifted signals. #4188: Opt-out instead of opt-in for fixed value support in CAN telemetry. Made fixed value button more legible on comcode selector in telemetry grids. #3986: Option List => Enumeration. #4256: Engine History Log: Take into account road speed scalar for distance calculation. #4273: Fixed crash that could occur when adding channel views during a channel data callback. #4274: Fixed crash using 'upload current cal' when displaying a map that has dynamic table axes / axis input channel. Added support for Kvaser CAN ports for gems comms protocol connections. Combine CAN port configuration pages into one for gems comms configuration. Auto update ethernet ecu list on basic port settings page. Reworked port settings archive format. May lose data if going back to an older version. Reworked port settings UI to enable sharing with other GEMS applications. ================================================================================ Version 4.03.22 - 10 June 2020 ================================================================================ #4027: Start Page: fixed website link. #3752, #4028: Updated safety warning upon first connect. Now using scrollable text which is more readable on high-dpi displays. Use dark theme scrollbars on descriptions view, ecu info etc. ================================================================================ Version 4.03.21 - 05 June 2020 ================================================================================ #4004: Fixed issue with file extensions for ecudef expecting two dots in some places. #4002: Fixed category tree in object selector popup dialog. Fixed display of items within selected categories. Fixed html escaping routine. Fixed display of some items in descriptions view. Fixed layout issue on main tab control. Adjusted default grid line colour. #4003: Performance enhancements. ================================================================================ Version 4.03.20 - 27 May 2020 ================================================================================ #3406: Rename GEMS "Parameter" => Channel in user interface due to major conceptual differences with simulink / xcp nomenclature. #3979: Display error in status bar when XCP connections experiencing errors. Branded build: functional configuration changes. Language translator fix. CAN telemetry setup: fixed 'open' icon to use dpi-aware icon. CAN telemetry setup: "Channel" => "CAN". CAN RX telemetry: persist window geometry. #3406: scripting aliases gin => def, parameters => channels etc. #3406: A2L place measurements, axis_pts, characteristics into categories. #3977: When drag/dropping a channel / option list from view explorer, hide selector control. #3978: When drag/dropping a channel / option list from view explorer, pick a better initial size. #3780: Improved limits handling: pop up message if limits have been violated & prevent editing out of range. Added Extended Limits mode that must be enabled in order to set values outside of their typical range (up to either their extended limits or full-scale if extended limits were not specified in the definition file). #3984: Fixed - gauge axis colour was the same as background colour in light theme. Fixed right/bottom lines on map size target view not being rendered. #3988: Branded build: changed file extensions for cal, aspect, gxt, gxu, gcs, ecudef, glo. Comms monitor: hide timestamp field if the view is thin. use full line for information messages. #3931: Fixed update of controls linked to volatile values (e.g. switch in audit view). #3980: Tacho config dialog: Fixed size constraints. #3980: Tacho config dialog: Persist geometry. #3980: Tacho config dialog: Use edit with buddy instead of spinbox for min/max due to issues with range. #3980: Tacho: Improved auto decimal places calculation for dial labels. Tacho - flat background. Tacho - Round initial range to 2 s.f. Some values have calculated min/max values that have many decimal places and would otherwise result in an unusual looking range. Fixed bug in decimal places calculation for very large floating point values. #3981: Map Slice control bar: Fixed UI sizing issues on high-dpi displays. #3376: Get value ranges from A2L => soft / hard limits. Display limits in descriptions view. ================================================================================ Version 4.03.19 - 14 May 2020 ================================================================================ Updated to v8 version 8.1.310 (javascript engine). Sequencer: Support Kvaser CAN ports. This may affect existing sequencer configurations that use CAN ports. Sequencer: Enable CAN ports to be attached to comms monitor. Sequencer: CAN command: fixed 'enable read' property. Fix LSF (logging setup) import due to address range intersection bug. Internal logging setup dialog - fixed white line under menu when running dark mode. Fixed issue with scrollbar range when running dark theme. #3028: Move toaster popup when main window moves / resizes. #3925: Fixed Reset Workspace Layout function. Improved default sizes of workspace windows running on HighDPI. Added throttling of status error notifications to avoid locking up UI in some cases where ECU is misbehaving. Stopped posting 'Checking COMOK' messages. Added error code protocols to gcap and display in comms monitor. When opening comms monitor and the log is not empty, auto scroll to the end. Comms monitor - indication that full packet does not fit on screen. Dont show reset ECU dialog for GEMS build following ISP. New cal dialog: store window geometry in settings. #3923: Branded build: Reflash recovery mode. Branded build - updated reflash dependencies (fixes missing DLL issue). Installed ECU lists: display original file basename in an additional column to aid in disambiguating similar looking installations in some cases. Added virtual version & access level ID internals for future use. ================================================================================ Version 4.03.18 - 08 April 2020 ================================================================================ #3686,#3687,#3712: Branded build: firmware update procedure improvements. #3688: Branded build: modified calibration conversion algorithm. Fixed: Task dialog button - draw as normal when alt key pressed. Branded build: altered XCP port config page to remove Load From A2L button. Branded build: Fixed language translator. Fixed corruption of V1 ecudef files. Fixed extraction of ecudef in some cases. ECU Info => ECU Information Install ECU => Installations Upload calibration can now upload a different version and convert. #3518: XCP: lock for MTA transactions to avoid command ordering problems. #3912: Send current calibration: connect if not connected. Modified copro firmware mismatch error message slightly. #2507: Also search last conversion templates folder in conversion ui flow. #3914: Calibration conversion flow: fix issues with default filename. #3913: File->Convert unhandled exception if the file cannot be opened. #3821: EM80M: Closing internal log setup dialog would always prompt to apply changes even if no changes were made. #3782: convert: if alias conversion did not modify the calibration then do not emit warning. #3877: If ethernet ECU name changes for the same serial number then update its name so that connecting to the ECU gives the correct status message. Ethernet ECU simulator: fixed serial number. ================================================================================ Version 4.03.17 - 26 March 2020 ================================================================================ #3427,#3691: Branded build licensing changes. #3684: Branded build: remove offline cal conversion menu options. 3D maps: Removed cross-hair at the end of the site selection. Naming changes - GIN => ECU definition where appropriate. Branded build: Changed ECU definition/installation folder. ================================================================================ Version 4.03.16 - 09 March 2020 ================================================================================ Fixed bug processing EM80M log. ================================================================================ Version 4.03.15 - 03 March 2020 ================================================================================ #3828: Futher tweaks to EM80M log processing (CAN RX). ================================================================================ Version 4.03.14 - 02 March 2020 ================================================================================ Alterations to EM80M Log Processing (should fix some byte ordering issues). Comms monitor panel - fixed tooltip indexing. ================================================================================ Version 4.03.13 - 27 February 2020 ================================================================================ #3741: UI for setting up EM80M internal logging. #3743: EM80M log download / processing. View explorer config: fixed row height under high-dpi. View explorer config: persist window geometry. #2499: Made the text of the notes views available by scripting (.text property). Fixed 'print' function from scripts (now pops up a box rather than silently writing to application log. Major internal refactoring. Changed property system over to shared gems lib. Changed property grid sizing policy to avoid editor column getting truncated if scrollbar becomes present. Default values (ECU Object): take into account mask. Raw log procesing - option to open in analysis s/w. ================================================================================ Version 4.03.12 - 07 February 2020 ================================================================================ WIP extended ecudef format (multi-embed, encryption). WIP reflash procedure for branded build. #3709: Added Reset to default value context menu command for selected options. Fixed Fixed bug in glo file reader - fixes PC logging export for data analysis. A2L: load units from COMPU_METHOD. Switched over PC logging file handling to glo lib (shared with data analysis s/w). XCP Connect: Clear CAN buffers when opening transport. Modified connect sequence to send a SYNC packet following an initial CONNECT packet, followed by the original connect sequence. These steps prevent connection failures in some circumstances. gems lib: don't allocate object guards unless needed. #3519: Complete rework of comms capture mechanism for comms monitor. Comms is always logged to disk now so that comms monitor can be opened after the connection started and will contain all info since connection start. #3130: Fixed crash in Comms Monitor Panel. #1988: Improved ordering of comms data and info messages in comms monitor (particularly for XCP). #3727: Fixed error r.e. CoPro firmware GIN file name. Removed static scrollbar from Calibration Checker view. Descriptions view - code root selection for those with access. Descriptions view - open code links in Visual Studio Code if available. ================================================================================ Version 4.03.11 - 17 Jan 2020 ================================================================================ Reduced timeout for copro isp commands to avoid blocking for a long time in some cases - was seeing a 20 second wait at the end of CoPro ISP. Future CoPro will have option for timeout extension. CoPro ISP: Do not offer conversion if in bootloader. CoPro ISP: Offer to reset calibration to defaults. Branded build temporary usability mod. ================================================================================ Version 4.03.10 - 16 Jan 2020 ================================================================================ More extensive use of extended ECU identity: - Firmware inspection - Conversion templates (now works between different simulink model versions). Calibration conversion: fixed directory lists so that templates are picked up from "Documents/<vendor>/<app>/conversion templates". Fixed issue saving conversion templates with more recent GIN file versions. Fixed conversion of values used with COMPU_VTAB items in A2L files. #3588: Following ISP of EM80-M, unit can identify as the bootloader. The ECU will now be re-identified until the name matches what is expected or fail. #3595: Do not report error if extended ECU identity is empty. #3585: Prevent connect operation getting stuck if the unit does not contain any calibration data. #3554: Fixed: stop reading map/table axis parameters from ECU after tab hidden. #3523: Add support for enhanced CoPro ISP (bootloader reset). #1889: Audit view: Editable parameters should have option to display as pot / edit box, with the default being an edit box. #2245: Include application version in titlebar caption. #3458: Convert simulink ECU calibration file when uploading new CoPro. Update port display name if connecting via ethernet toaster popup. Fixes incorrect 'Opening connection on <port>...' message. Application configuration changes for branded build. If model-specific ecu definition file is not available, offer to use base definition if available. Removed popup asking if you would like to "run the Install ECU wizard" and just run it anyway - it can still be canceled. Change ECU definition file installation UI flow. Made ECU definition file installation asynchronous. Changed text colour on virtual potbox view in dark mode. Fixed loading of ECU identities from ECU installation store - some ECUs were showing up with incorrect names or suggesting they had simulink models. Fixed lock-up scanning for matching A2L. #3674: Text in Manage Licenses window is clipped. #3676: Licenses window: Added extra column for license status. #3681: Per-object reset to defaults (if available). ECU installations: display modified time of installed file in tooltip. ECU uninstall: offer option to delete installed file. ECU installations: Fixed case where "show installed only" == false. ECU installations: Asynchronously scan ECU definitions. Reworked ECU Info box - now generates HTML & handles A2L/XCP much better. #1513: ECU Info box: Display Product ID if available. XCP comms - fixed notifications to array read transactions Debug: Support JS function ecu.rawWrite for gemscom Workaround for undefined file size returned by copro for unsupported file types. Compare: do not display 'Undefined' for axes if they are not named. #3705: map grid: fixed flickering of Y axis when moving the view + empty area. Fixed unit test failure of ecu installation handler on fast machines in some cases. Now using a hash to detect changes. ================================================================================ Version 4.03.09 - 20 December 2019 ================================================================================ #3578: Fixed issue with upload of main processor firmware due to bug in padding algorithm. Fixed possible failure to load GIN files in some areas (e.g. conversion template builder, ISP baud change etc). #3579: Report error if extended identity does not match base ECU name/version and do not load extended GIN. ECU progress dialog: display messages in a text area and do not automatically close if there were any errors. Byte selector for comcode options - fixed text colour in dark mode. #3318: Comcode selector: add an endian swap button (enabled for items with associated 'bigend' option). Can telemetry setup dialog theming changes. #3346: Audit: allow configuration of IO ports on Object modules. ================================================================================ Version 4.03.08 - 19 December 2019 ================================================================================ #3479: PC logging export: Fixed export of floating point channels. #3572: Fixed timeout handling. Fixes block transfer issues (e.g. copro ISP). Branded build - open PC log in companion analysis software. PC logging export: "open in" selector now works for 64bit analysis software. Ethernet error: fixed handling of 'do not show again' on popup. Fixed new Wizard implementation which had broken the ISP procedure. Added file history drop-downs to ISP UI. Loading overlay tweaks. Dark mode: fixed toolbar drop indicator colour. Fixed issue with ecu installation checking routine that was preventing uninstall of ecu definition files working in some cases. Fixed loss of ECU name selection when ECU installations changed. #3325: For tables/maps etc with floating point raw values that have a very wide view range, display 2 decimal places by default. ================================================================================ Version 4.03.07 - 12 December 2019 ================================================================================ Enabled ecu identity download code - fixed a couple of minor issues. Updated icon for branded build. Compare panel - defer compare so that view updates before running the compare algorithm. Fixed some icons, particularly with light theme - some icons were still using the old icon set. Fixed theme on menu in conversion template builder. Fixed theme on package dialog. Fixed theme on multi-line text editors. Improved clipping behaviour + rendering of dark mode scrollbar arrows. Fixed slight rendering glitch on internally padded text edit control. New tab - do not convert icon to a bitmap to retain references to built in resources. Modified theme colours slightly. It is worth resetting the colour settings. Toggling the theme will now reset the colour settings. ================================================================================ Version 4.03.06 - 06 December 2019 ================================================================================ Ethernet ECU - do not use 13bit commands to resolve issue with some versions of the CoPro. Implemented extended ecu identity download for etherenet ECUs to enable matching of installed ECUs against Simulink model build identifier. For older versions of CoPro firmware that do not support this download, the build ID will not be checked - so it is still possible that the wrong gin file would be picked up in that case. Fixed abort of calibration transfer during connect sequence. Install simulink GIN files under build ID key instead of base GIN version. Added additional info to tooltips for ecu versions in installed ECU picker. Improved ecu simulator appearance in dark mode. ================================================================================ Version 4.03.05 - 04 December 2019 ================================================================================ #3400/#3264: tentative seed&key implementation. ================================================================================ Version 4.03.04 - 04 December 2019 ================================================================================ XCP: Modified error handling. Write failure error was not being translated to text in status window. Fixed bug in display of verification differences - source values were always 0. Added 'Copy to clipboard' menu option to ecu status pane. #3531: XCP: Poll ECU with GET_STATUS. Added some unit tests to verify xcp address translation. ================================================================================ Version 4.03.03 - 29 November 2019 ================================================================================ Status messages are now stored separately from the status panel. Added some additional status information from XCP connnect. Crash reporting: only take screenshots of in-process windows. XCP: Changes to command sequencing. Branded build: set segment BSW_Cals type to RAM to avoid download. Do not download RAM segments. Added segment name checking in calibration file serialization. #3530: Hide Auto Store in status bar if ECU does not support it. ================================================================================ Version 4.03.02 - 27 November 2019 ================================================================================ A2L: Support VAL_BLK CHARACTERISTIC where some MATRIX_DIM arguments are 1. A2L: Import multidimensional MEASUREMENT objects as maps/tables. A2L: Don't hide axis tables (AXIS_PTS). Do not show grid axis label(s) if not defined. Do not show grid axis position gauge if there is no axis parameter. #3477: Implemented handling of block mode transfers from slave. This is optional as it appears that for some ECUs it is slower than without it. ================================================================================ Version 4.03.01 - 26 November 2019 ================================================================================ Updated to Emerald 5.01.03. Fixed handling of A2L BYTE_ORDER - BIG_ENDIAN and MSB_FIRST have distinct values even though they mean the same thing. Fixed handling of datatype for AXIS_PTS where the record layout must be interpreted differently. Descriptions: open code reference in code viewer (super user). Descriptions: show additional details (super user). Find dialog: support addresses above 0x7FFFFFFF. Find dialog: fixed tab traversal. Map/table grid: honour formatter if default decimal places specified. A2L: import format string from COMPU_METHOD. A2L format conversion: leading digits length should not be zero padded. ================================================================================ Version 4.03.00 - 22 November 2019 ================================================================================ *** ECU INSTALLATION MECHANISM CHANGED *** GIN files are now compressed and installed as .ecudef files. This will mean that new installations made with this version will not be usable by other products that use GIN files until they are also upgraded. Existing GIN file installations will still work. #3397: Implemented write cache for XCP comms. #3490: Pass segment & timeout info to xcp protocol layer. Implemented XCP address translation. Use source file hash in ecu definition installation filename to avoid incorrect overwrites - particularly a problem for A2L files. Fixed manual install of A2L files via 'Install ECU' menu option. Fixed cancel button behaviour for Install ECU. Use compressed ecudef format for installation of GIN files and A2L files. Use docked window for A2L warnings/errors instead of the more intrusive pop-up that would normally cover the connection progress dialog. Changed colours for docking tab strips that would otherwise be unreadable with dark theme. Removed absolute gin install path option for branded build. Added command line command: --pack-ecudef src dst Allow checking for updated GIN files for all users (useful for simulink ecus). Fixed sequencer since refactoring of testing project (could not add items). Tidied up Port Settings. The numerous additional (usually best left as default) options have been moved into a dialog accessible via "Additional Settings...". XCP port settings: If no port selected, then populate all possible rates so that "Load From A2L" is able to set the rate even if a port is not selected yet. XCP: Honour MAX_DLC_REQUIRED. Display port selection dialog if connecting without a valid port configured. Flag to default branded build port settings to XCPonCAN. Set the default port type to 'undefined' so that on a first install, clicking 'connect' will request setup of the port. Fixed issue with editor column on some grids e.g. Property Grid. Modified autocompletion algorithm for e.g. option selectors so that it will also match text within strings and not just at the start. Excluded a few non-required features from branded build. Improve sizing of name/version combo boxes in cal file browser esp on high dpi. Improve naming of .cal files etc with interpreted A2L version string. A2L messages + descriptions views: remove path from filenames. #3455: Fixed possible crash if application is closed with comms running. #3520: XCP: Verify EPK following connect if it was not read with GET_ID. #3492: XCP: Implemented write calibration to ECU. #3403: XCP: Graceful Disconnect. ================================================================================ Version 4.02.62 - 15 November 2019 ================================================================================ Store extended ECU identity information in calibration files so that A2L file can be located when loading cal files. Chnged version string seen in ECU installations box for A2L files to show most appropriate identifier rather than the file hash (unless nothing else is available). Fixed axis parameter fix-up on imported A2L axes. Added object long identifier to descriptions view, if available. FileListGrid: increase hysteresis to avoid accidental drag/drop. Moved most icons over to multi-resolution icons. TabBar: handle high DPI + dark theme for arrow icons etc. Dark Theme: Numerous visual changes. Reworked the appearance of many gauges and views. Reworked all 'wizard' (stepwize) dialogs. Removed calibration compare wizard for the time being - if profiles are used again then this will be requiring a redesign. Improve radio button appearance under dark mode. Use custom tab control throughout. Adjustments to About Box. Added button to view licenses of source code dependencies. Disallow loading/saving/editing of tabs when no ECU definition file has been loaded. ================================================================================ Version 4.02.61 - 11 November 2019 ================================================================================ Experimental version. Dark Mode (incomplete). #3384: Upgraded to VS2019 compiler. Upgraded v8 javascript engine to 7.8.285. Fixed build packaging of portaudio DLL. #3377: Fixed: Entering single digit numbers for parameters/options via keyboard only does not work. #3407: Fixed Log download: Ethernet ECU could get stuck repeatedly reporting 'nothing to download'. Fixed background colour of throbber on license activation dialog. #3428: XCP license. #3390: Rebrand. Fixed possible crash if "open in new tab" selected for a category in the view explorer. Fixed command ID for GPS beacon programming. Persist geometry of ECU Info Dialog. #3169: Display simulink model information in ECU info dialog if available. Refactoring work in progress of comms layer (possible breakages). #3391,#3394: XCP CAN setup with option to load from an A2L file. #1701: Ported unit tests to googletest. #3429: XCP: Kvaser CAN port support. #3476: XCP Timeout handling: handle EV_CMD_PENDING event. #3478: XCP timeout handling - SYNCH packet. #3074: XCP CAN Transport Layer. #3402: XCP CONNECT / GET_COMM_MODE_INFO. #3399: XCP ECU Identification. #3398: XCP Receive cal from ECU. Partial #3395/3396/3397/3414/3403 (xcp comms). Modified ECU installation mechanism to accommodate A2L files which can't simply be matched on name + version like gems ECUs. Implemented command aggregation to data listener list builder to optimize bandwidth slighly on parameter reads where possible. Reworked start page - removed background image as contents would overflow on high dpi displays. Some changes to tacho defaults. Changed resource system for icons in preparation for improved high-dpi support. Some icons may be a bit blurry at the moment if the display is scaled 100%. ================================================================================ Version 4.02.60 - 25 September 2019 ================================================================================ #3371: Fixed regression in update of tables placed in NVM. WIP A2L support, extended addressing. ================================================================================ Version 4.02.59 - 23 September 2019 ================================================================================ Fixed row height in Find grid. Fixed issue with sign extension of raw values. ================================================================================ Version 4.02.58 - 19 September 2019 ================================================================================ Support GIN v3.32. Major internal changes with potential for wide ranging effects (e.g. PC logging, Serial Telemetry etc) ================================================================================ Version 4.02.57 - 13 September 2019 ================================================================================ #3326: Interpolate on table/map grids that are placed in RAM did not update the view correctly. Tentative fix for crash in grid mouse handling code where event handlers could continue executing code after grid itself may have been destroyed. ================================================================================ Version 4.02.56 - 07 August 2019 ================================================================================ Build fixes due to shared code changes. Fixed regression in serialization code. Moved over to Emerald v5 exclusively. Testing of log download recommended. ================================================================================ Version 4.02.55 - 04 April 2019 ================================================================================ Tentative fix for crash during clear calibration if GIN file is closed by another interleaved event. Updated internal libraries - various fixes. Numerous consequential changes. Changes to threading in gemscom transport layer (various changes picked up from gcmapi). Fixed crash in log playback view. Show an error if log playback fails to load file. ================================================================================ Version 4.02.54 - 07 December 2018 ================================================================================ #2623: Tentative fix for occasional crash following reconnect of EM80 following failed copro update (via double click of basic port settings grid item in comms setup dialog). Update to wxWidgets 3.0.4. ================================================================================ Version 4.02.53 - 25 October 2018 ================================================================================ #2530: Conversion of GLO to STF would have incorrect endian-ness in GDA. For 16bit channels, big-endian is used for backwards compatibility with legacy gda/dlog where possible. #2528: Fixed continual loop when writing EHL. Fixed multiple payload size requests at atart of ethernet file xfers. Fail on multiple retry failure / invalid password. Ethernet ECU Simulator: Fixed erroneous 'Busy' error at the end of streamed file writes. EHL Dialog: Persist window geometry. EHL Dialog: Fixed size of histogram selector on high dpi displays. Update to latest gems lib. ================================================================================ Version 4.02.52 - 24 September 2018 ================================================================================ Fixed crash setting layout lock. Build changes, updated crypto library. ================================================================================ Version 4.02.51 - 19 September 2018 ================================================================================ #2527: Added mutex to block transfer handler - possible fix for Ethernet ISP issues. Increased timeout for block transfers. Ecu simulator now stores a copy of the uploaded fin file under user appdata. ================================================================================ Version 4.02.50 - 13 September 2018 ================================================================================ #2111: Use PCTL operation after calibration upload/clear to commit NVM. Fixed regression of default expansion state on property grids. #2509: Enable drag/drop of conversion template files onto GW to install them. #2511: Crash when attempting to set table site values following load of conversion template in CT builder. #2512: Fixed assignment of values from conversion templates. #2510: Set more appropriate default folder for saving conversion templates. #2513: set assigned state of maps/tables that have had specific site values set. Forward accelerator keys to tables/maps in conversion template builder. Better initial size for table/map site value editor in conversion template builder. Persist size of map/table site value editors in conversion template builder. Update to latest gems lib. ================================================================================ Version 4.02.49 - 10 August 2018 ================================================================================ Fixed a couple of issues with file filtering in file browsers. Added unit config to branded build. ================================================================================ Version 4.02.48 - 01 August 2018 ================================================================================ Log ethernet debug info to log file instead of system debug output. ================================================================================ Version 4.02.47 - 27 July 2018 ================================================================================ Fixed: ISP would report failure if the ECU has a zero sized calibration. ================================================================================ Version 4.02.46 - 26 July 2018 ================================================================================ Fixed crash setting auto store state. Optimization of string decode from GIN archive. Pad firmware images that re not a multiple of transfer block size. ================================================================================ Version 4.02.45 - 29 June 2018 ================================================================================ Fix issue in branded build installer r.e. software licensing. Fixed issue loading very small calibration files. ================================================================================ Version 4.02.44 - 02 May 2018 ================================================================================ #2306: Fixed issue with keyboard shortcut keys where initially disabled shortcuts may not work once they were enabled (e.g. Ctrl-Shift-PgUp). #2133: Display mask information for selected object in super-user info. ================================================================================ Version 4.02.43 - 09 April 2018 ================================================================================ #2143: Fixed: Enable/disable user scalars had no effect in display of axis columns in calibration compare. #2123: Boostrap/build/release automation. Report more detailed information in ethernet diagnostics (ipconfig /all). GIN version 3.31 support. ================================================================================ Version 4.02.42 - 08 March 2018 ================================================================================ #2060: Fix issue where installing some legacy GIN files can result in a corrupted ecu_installations.xml file. #2118: Prevent HighDPI scaling of icons for the time-being. #1526: Extend Description to include "Code Name" of bits (requires GIN to be built with ginmake v1.70). ================================================================================ Version 4.02.41- 16/01/2018 ================================================================================ #2025: Fixed compare/convert of fixed byte value commcodes in compare/convert. Compare tab: always enable refresh button if auto refresh is off. Small optimization to calibration load time (view explorer icons). ================================================================================ Version 4.02.40 - 03/01/2018 ================================================================================ Avoid crashing if user log map does not have a base map due to loading of modified/customer gin. Fixed thread safety issue relating to baudrate change messages. Restrict High Baud to FTDI ports only by default with opt-in for stanard COM ports (the reliability of standard COM ports unknown). Fixed display of fixed value bytes in CAN telemetry grid. ================================================================================ Version 4.02.39 - 29/11/17 ================================================================================ #1866: Fixed handling of ieee floating point ECU values in scope view. Scope view: use default view range for parameters for axis limits when available. #1940: Fixed crash as a result of destroying a grid during its double-click handler. #1938: Fix regeression of display of fixed byte value comcodes (e.g. with value 0x7F00) in Telemetry Setup grids. Persist geometry of CAN Telemetry Setup dialog. Persist geometry of Serial Telemetry Setup dialog. #1964: Store prior application version number in registry/settings. #1939: Remove preference for AutoStore warning as no longer used. #1963: High-baud - only allow for log download by default and add META tag in GIN to enable on normal comms. Note: High baud rate establishment now requires the GwBaudEx parameter instead of GwBaud. Ecu simulator: simulate high-baud mechanism for testing. Persist window geometry for preferences dialog. Fixed bug in all grid views where scrolling selection with keyboard off bottom of grid may not make row visible. ================================================================================ Version 4.02.38 - 23/10/17 ================================================================================ Fixed possible crash involving virtual potbox window & change of loaded ECU type. Fixed possible crash resulting from invalid object axes. ================================================================================ Version 4.02.37 - 20/10/2017 ================================================================================ #1549: Upload Firmware Wizard - Filter for *.gin file type for Re-install GIN file browser. #1910: Fixed missing min/max ticks on parameter grid. #1909: PC log not decoding bits. #1908: Calibration Convert: Tooth Control table should not be interpolated if its size changes. Added option to override conversion behaviour via attributes in the GIN file. Fixed failure to detect secured status of EvoX ECU & subsequent failure to connect. #1921: Fixed concurrency error in a core library component that could lead to crashes. GEN Tuner: GEN128 support. #1871: GENTuner Pro: Enable editing of PC logging list. ================================================================================ Version 4.02.36 - 08/09/2017 ================================================================================ Fixed crash deleting tabs from tab group that is not currently selected via tab windows dialog. Display comms text messages in status window when comms monitor is closed. #1888: Detect if application is being blocked by Windows Firewall. #1901: Parameter selector for comcode options: typing name and pressing 'enter' was not committing the selection. Also fixed a few other keyboard control issues in this area. #1902: Fixed import of STS files that use truncated comcodes. #1867: GWv4 DBC Export - Detect if dword, qword, floating point etc raw values are aliased on the frame and export them. ================================================================================ Version 4.02.35 - 24/08/2017 ================================================================================ ComCode options: Added ability to select specific bytes of the source. #1355: SDLM integration (Serial Telemetry Data Logging / Monitoring). #1820: SDLM integration: enable decoding of word / 24bit / dword / qword parameters. #1818: Log file name builder: added %serial%. #1821: Fixed max logging time reported in Internal Logging Setup for GDI90. #1633: Fix issues with large fonts: * Fixed sizing & rendering of tabs in Calibration Aspect dialog & removed wxFlatNotebook dependency. * Improved sizing of group selector on main tab strip. * Changed save/saveas/save new version/discard/cancel message box into a task dialog - this also resolves issues with large fonts and this originally excessively wide message box. * Fixed sizing & rendering of internally docked tab strips. * Fixed sizing & rendering of docking auto-hide strips. * Use small font on start page checkboxes. * Fixed vertical size of grid header views - e.g. conversion template builder. * Fixed sizing of virtual potbox and in some cases extremely wide window. * Fixed sizing of status bar widgets. #1682: Save changes messagebox => task dialog (see #1633). Fixed description of 'Close Serial Port' items in sequencer. Fixed: Sequencer was not doing macro replacement on serial command/reply mask. Fixed: Sequencer 'wait' was often not giving better than seconds resolution. Sequencer: Added JS sequencer.clearTrace() - if trace gets full it slows down. Flush log if the application crashes. PCLogging export - provisional support for STF export of types larger than 16bit. #1684: ECU logs: Generate BITSTRING sensor types for parameters with option lists. Support BITSTRING sensor types in GLO format log files. ================================================================================ Version 4.02.34 - 23/06/2017 ================================================================================ Read CoPro version in a bytewise manner for legacy workaround. Avoid getting stuck if reading CoPro version fails for the first time. Added runtime check for signals using event queue postage being destroyed in threads other than the main thread. Fixed occasional crash following closure of port preferences dialog due to thread race. ================================================================================ Version 4.02.33 - 22/06/2017 ================================================================================ Fixed problem setting ISP enable code following read of CoPro Version. Fixed ISP of ECU simulator (due to incorrect serial number following reset). Modified approach for dealing ad-hoc read commands. Fixed autostore popup not turning on autostore when requested. ================================================================================ Version 4.02.32 - 16/06/2017 ================================================================================ #1769: Restriction of ISP / CoPro programming to require that EM80/GDI80 02x00+ is running at least CoPro version 00x35 to avoid incompatibility issues. #1744: Add application logging to GWv4. Added ability to edit ECU strings to ECU simulator. Fixed issue where an ad-hoc read command would give bad data for a 5-byte read. Added a new generic protocol format to avoid breaking the semantics of the gemscom API as a result of these changes. ================================================================================ Version 4.02.31 - 12/05/2017 ================================================================================ #1703 fixed: Editing label view text from context menu - invisible modal dialog. #1706 fixed: Crash closing settings before async port enumeration completed. #1668: Ethernet diagnostics. Fixed issue with capture of process output streams. Fixed crash when using log map with invalid axes. Fixed issue with axis lookups on axes where multiple sites have the same value. Defend against crash when aborting connection whilst programming checksums. Defend against crash when aborting connection whilst inhibiting telemetry. Defend against crash when closing application. Defend against crash when loading sequencer view from saved tabs. Defend against crash when saving calibration aspect with tab file. Defend against crash when loading user log map if somehow gin is not loaded. Display new license feature in license dialog. #1675: Fixed build of re-branded version - adds support for software licenses. ================================================================================ Version 4.02.30 - 28/04/2017 ================================================================================ Enable sequencer view in Map4000. Added new license flag for serial number write. Prevent crash when autostore popup occurs as a result of keyboard entry. Made autostore popup less intrusive by making it non-modal, not taking keyboard focus and positioning it at the bottom corner of the main window. ================================================================================ Version 4.02.29 - 07/04/2017 ================================================================================ #1625: actually fixed. Added 115200 to baud list in map4000. ================================================================================ Version 4.02.28 - 31/03/2017 ================================================================================ #1625: Fixed: Map site cursor wraps to start of axis if input parameter value is greater than the last axis cell value and the last 2 axis cells are equal in value. #1629: Do not display license error when displaying EHL dialog. #1627: Added 'program' method to Pot view scripting interface. Added access for "OMEX 961" and "B O O T " to MAP-4000. #1342: Change the way Auto Store (AutoEE) is handled - warn if off when modifying calibration. Fixed wait for object sequencer items when used with parameters. Fixed issue with timers used in sequencer that could lead to a shorter timeout in a sequencer item being upset by a preceeding long timeout. #1654: Fixed license activation 403 error due to a change in server policy. Fixed crash if log file name is generated after gin is closed. #1657: Fixed anomaly in Ethernet traffic when starting up connection. Avoid re-opening ethernet port when connecting in some cases due to address change. Added clear button for EHL. ================================================================================ Version 4.02.27 - 24/02/2017 ================================================================================ #1538: CAN Rx Dialog - Remove Mask edit boxes and check boxes. #1556: Remove option to display CAN IDs in left-justified format. #1557: Added global option to display CAN IDs in either decimal or hex formats. #1593: Fixed: program serial dialog. #1616: Fixed: Floating point displaying incorrectly in gauges. #1341: Fixed: Inverted bit parameters do not display correctly in parameter list. #1253: Fixed: Log Download: Auto file name format string should be persisted. #1618: Fixed: Log Download: Auto filename should trim spaces from ecu name / version. ================================================================================ Version 4.02.26 - 10/02/2017 ================================================================================ Added software based copy protection option (dongle free). #1554,#1337: Support EHL version 0.02. Added EHL calibration editing & passcode requirement to upload. Fixed EHL write. Sign installer with GEMS certificate to make it trusted when downloaded. #965 - Generated code for Checkbox has misplaced } at end of onGetValue function. #960 - store image view image data in the tab file itself. DBC export - ensure that network names and sending nodes are valid DBC identifiers. DBC export - set 'null' receiving node for CAN signals. DBC export - Export frame transmit rates. #1336,#933: High baudrate establishment on capable ECUs / comms cables. ================================================================================ Version 4.02.24 - 26/08/2016 ================================================================================ Fixed issue with 'dongle not enabled for this feature' popup at startup. Store ECU serial number and application version in meta notes of downloaded ECU logs. Internal: Added generic KVP storage to user settings. ================================================================================ Version 4.02.23 - 29/07/2016 ================================================================================ Engine History Log Feature. Added fake file write handling to Ethernet ECU simulator for testing purposes. Fixed crash if async port enumeration still in progress when closing port setup. Performance optimizations. ================================================================================ Version 4.02.22 - 19/07/2016 ================================================================================ Use Log Rate option value instead of log rate in log file for v0.6 log files if available. This is a workaround for firmware that does not report the value and may not work if downloading a log from a secured ECU. ================================================================================ Version 4.02.21 - 27/06/2016 ================================================================================ #952 - Take into account Log Rate in v0.06 log files [tentative fix] - Test data required. #948 - [Embed scaling data in log files]. Changes to spinbox handling of enter key (changes from GDA). ================================================================================ Version 4.02.20 - 03 June 2016 ================================================================================ Asynchronous port enumeration. Prevents connection setup dialog from locking up user interface, particularly with slow to respond devices attached. Fixed excessive slowness when pressing 'cancel' on preferences dialog. ================================================================================ Version 4.02.19 - 27 May 2016 ================================================================================ Fixed issue with update of original base map value in log map controller when map is adjusted by the user. #941: Checkbox on compare tab to close when a new comparison is done. Define 'window' object in sequencer scripts. Define 'view' object in sequencer scripts. Define 'window' object in signal generator scripts. Fixed crash building telemetry info when including parameters that are aliased with built-in ECU registers. ================================================================================ Version 4.02.18 - 01 April 2016 ================================================================================ Fixed issue with some dialogs having their geometry restored to an off-screen location when used via remote desktop. Fixed crash following cancellation of a script followed by creation of a new script context object. Fixed issue with random initial baudrate for serial connections. ================================================================================ Version 4.02.17 - 25 March 2016 ================================================================================ #902: State colours on map graph option. #926: Display user scalars dependent options in descriptions view. #927: Signal Generator - output to parameter / option etc. Tentative fix for crash following ISP as seen in crash report. Fixed issue with initiation of clear password request resulting in an non-progressing progress box. Improve UX when clearing cal due to secured ECU. Added methods to internal ECU object and externally automated GWv4Application for getting/setting the current connected baudrate to enable scripts that negotiate a higher ECU baudrate for e.g. faster log download. Changed scriptable buttons to use async scripts. Allows use of the 'sleep' global function in button scripts. Added scripting function to query if writes are pending to an ECU address. Display dialog for cancelling long running async scripts and avoid issue with recursive yield if multiple long running scripts are executed concurrently. ================================================================================ Version 4.02.16 - 19 February 2016 ================================================================================ Updated to boost v1.60. Fixed possible freeze when loading signal generator view. Update installer to include audio dll for signal generator to work. When loading tab files at startup (double clicked in Windows), load the tabs file after loading the last calibration etc as otherwise the tabs are never loaded. Sequencer: Fixed crash using undefined variables in macro expressions. Sequencer: Modified buffering strategy for async serial ports to avoid missing responses when dealing with them in separated items. Sequencer: CAN ports & commands. Sequencer: Added dialog for serial port selection. Disabled thumbnail on navigation popup (ctrl-tab) as this was causing focus changes and resulting in dismissal of the popup. #930: Alpha sort of differences in file compare. #932: CAN Telemetry DBC export - fixed network node so that setup can be loaded into Vector CANdb++. Bind Gin/Ecu object to scripts exposed via the automation interface. Added some documentation regarding script objects used in the Sequencer. Fix build of some branded versions of v4. ================================================================================ Version 4.02.15 - 22 January 2016 ================================================================================ Updated to v8 4.7.80.29. Fixed bug in Xml parser for CDATA sections ending with ']' or '>'. Preview of Sequencer View - Highly flexible automated command sequencing tool for ECU testing and more. Currently can execute scripted commands, adjust option/parameter values, run external processes + batch files, delay execution, popup customizable dialogs. Custom variables can be get/set and can have aggregate/array structures. Macro processing in many fields to insert variable values. Flow control and grouping of items. Scriptable conditions for sequence item execution. ================================================================================ Version 4.02.14 ================================================================================ New Feature: Signal Generator, outputs arbitrary waveforms from PC sound card, which can be used to simulate timing patterns etc. Fixed handling of update UI events in a few places. Was resulting in incorrect enable/disable of menu items & toolbar buttons. Fixed issue incrementing values in grids if the raw type is floating point. ================================================================================ Version 4.02.13 - 13 November 2015 ================================================================================ Fixed setting of raw hex values in com code editors. Performance enhancements. ================================================================================ Version 4.02.12 - 06 November 2015 ================================================================================ Fixed display of autohide strips. Fixed an error dealing with strings passed in through the automation interface. PC logging via automation interface. Basic execution of scripts within GWv4 via automation interface. Made export of PC logging to STF asynchronous + added a progress dialog. Fixed bug in change notification code that would cause continual reads of calibration values (e.g. AutoEE) to cause continual notifications. Improved performance of Audit view due changes to update notifications. Made some modifications to event handling that should generally improve performance & reduce CPU usage. Added COM interface documentation to the installer and example scripts. See the GEMS/GWv4/automation folder under your Documents folder following installation. ================================================================================ Version 4.02.11 - 30 October 2015 ================================================================================ Fixed incremental find on object picker lists. Fixed flickering performance info on PC logging tab. Partial implementation of COM automation interface. ================================================================================ Version 4.02.10 - 1 October 2015 ================================================================================ Fixed issue with export+import of fixed byte values in CTS files. Fixed issue entering negative numbers in option / parameter lists. Improved keyboard navigation on option / parameter lists with arrow keys. Modified build flags to generate richer debug information for crash report post-mortems. #696: Option/Parameter Grids: Make copy & paste context menu items operate on the value editor, if shown. Smooth / Fill functions - made undo operate on the entire operation. Smooth / Fill functions - removed OK button as it was very easy to double-apply the operation. #920: Use toolbar for import/export instead of menu and move show info button to the toolbar. #746: CAN Telemetry: Warning if >1 CAN ID the same. #747: CAN Telemetry: Warning if only partially uses extended ID's. #695: CAN Telemetry info: display option list values if available. #548: CTS import: Set byte count to 8 if file does not specify one. #335: Fix keyboard TAB navigation in CAN telemetry and Serial telemetry dialogs. #476: Confirm loss of changes when cancelling log playback configuration. #820: Convert calibration - populate save dialog with file name. #618: CAN RX setup, mask was always set to the value of the ID after editing. #857: Fixed slow scrolling when using scrollbar buttons on table/map grids. #294: Improve message if user has duplicate parameter mappings in log playback. ================================================================================ Version 4.02.09 - 17 September 2015 ================================================================================ Fixed map site target and map slice not handling change to map axes (e.g. switching between throttle and engine load). Modified patch to wxWidgets to fix issue with painting combo boxes. Resolved a couple of issues with sizing of axis headers on map/table grids. Fixed issue with headers when switching orientation of table grid views. Fixed function dialog when in 'advanced' mode. #901: Added option to smooth function to 'lock' the corner values of the selection. Modified the way that smoothing parameters are translated into filter coefficients. #377: Preview of smooth & fill functions. Fix possible crashes resulting from smooth/fill box being open and attached view being destroyed. Hide/show smooth/fill views if tab changed. #622: GEMS staff option to create cal filled with FF. #669: re-enabled dragging of list elements in parameter/option grids and fixed issues with editor not opening when clicking on selected cells + not dragging. #580: Option / parameter lists can now be dragged and merged into other lists. Options/parameters may now be dragged out of lists to create a new selection list. Inhibit autoscroll of View Explorer when dragging items and positioned over the tabs area. Removed Alpha Sort property for Option Select List and Parameter List. This is due to confusing behaviour when inserting items into sorted lists. It is possible to permanently sort lists via the context menu. Lists that were previously sorted in tab files will be converted to permanently sorted lists. #918: Add selectable sorting to calibration convert unassigned lists. #838: Serial telemetry setup: LSB column for ECUs that support it. #832: Development workflow feature; If original source GIN file changed after installing it, prompt to re-install the GIN file. This feature can be disabled in the general preferences. ================================================================================ Version 4.02.08 - 03 September 2015 ================================================================================ Fixed #916: Import of LSB settings from CAN Telemetry Setup (.cts) files. Added firmware debugging aid to descriptions view for finding original variable names/file. Fixed spelling of Celsius. Store units in stf log files downloaded from ECUs. Fixed taking screenshots of windows (required wxwidgets patch). Adjusted algorithm for calculating decimal places to display on maps. If the derivative is > 1 but when divided by 0.5 gives an odd result then a single decimal place will be displayed. Fix applied to wxWidgets for issues taking window screenshots. Fixed issue of scrollbars under axis header on map/table grids when taking screenshots. Fixed regression in log map controller which would result in large error values. Added method of resetting weighting values in log maps. Modified state information in log map controller to display error residual and change values. ================================================================================ Version 4.02.07 - 30 July 2015 ================================================================================ Updated to Visual Studio 2013. Updated to wxWidgets 3.0.2. Updated to boost 1.57. Updated to CrashRpt 1.4.3. Updated to v8 (JavaScript) version 3.30.10. Major API change. Updated portmidi version (no longer required pm_dll). Updated to mesa 7.8.2. Fixed issue with scope grid lines drawing outside of plot area. Disabled support for piccolo telemetry until an updated SDK can be obtained. Removed "Enabled" property for views. If a view is disabled then it is not possible to re-enable it. Many fixes / changes due to wxWidgets update. Fixed unusual behaviour when comparing a byte option with a commcode option. Fixed crash saving colour scheme if folder does not already exist or if the save fails. Fixed some timebase issues with GLO format log playback / display. Enabled opening of STF files in log playback that previously could not be opened. #813 Fixed: CAN RX dialog - labels showing input parameter values flickers. #911 Fixed: multi-select in options grid was causing multiple inc/dec via +/- keys. #912 Added: multi-select in options grid - can now enter values to set all selected items. #910 Added: double click on item in basic port settings page will select it and connect to it. #913 Added: CAN message copy and paste in CAN telemetry setup. Added incremental find to object selection popup dialogs (i.e. type to search list of names). #915 Fixed: enabling user scalars in cal compare was not rescaling source values. Changed toolbar and tab bar appearance to a more windows8/10 flat style. Don't auto-close ecu progress dialog if an error results in failure of the comms operation. e.g. failing to send a new calibration to the wrong version of ECU. Tentative fix for re-requesting ecu strings if ecuinfo dialog is open during copro firmware upgrade. ================================================================================ Version 4.02.06 - 09/07/15 ================================================================================ Fixed memory/resource leak following log download / ISP. Fixed problem with log download dialog not correctly closing and when re-shown, appearing to start here you last left off. Modified button text on log download dialog. Handle abort of log download better. ================================================================================ Version 4.02.05 - 19/06/15 ================================================================================ Fix applied for issue with ethernet ECU (EM80) log download that could result in spikes in the data. Fixed occasional repaint issue when switching sub module view in the Audit view. Improved log download UI flow. Also now does not appear to process the log twice. ================================================================================ Version 4.02.04 - 11/06/15 ================================================================================ Fixed handling of ECC in EM80 log downloads. Fixed abort if downloading the log and the binary file is locked by another application. ================================================================================ Version 4.02.03 - 29/05/15 ================================================================================ Resolved some issues with timeouts and port resets for ethernet ECUs; Fixed dealing with out of sequence responses from Ethernet ECUs. Fixed handling of malformed reset packet number responses. If recreating an ethernet port, use the old sequence number + and offset rather than resetting to zero. Do not recreate the ethernet port every time the ECU is offline. ================================================================================ Version 4.02.02 - 15/05/15 ================================================================================ #895: Added temperature difference units: temperature_diff:dC temperature_diff:dF temperature_diff:dK #837: CAN Telemetry window: add byte numbering next to each line. Fixed error in processing of v0.06 log files when no data could be read from the file due to incorrect log markers at every frame. The error message will now say that there was zero run-time rather than saying that allocation of a buffer larger than the file was requested and resulted in log processing being stopped. #897: Disable internal logging setup on ECUs that don't support it. Fixed crash editing table/map value in conversion template builder. Fixed issue with broken menu bars on child dialogs. Switch meaning of interpolate rows/cols when map grid orientation is swapped, also fixed this for map Y axis grids. Fixed map trails on orientation swapped grids. Fixed handling of additive checksums that are wider than a single byte. Fixed problem where comms monitor could stop updating after comms port was re-opened. Detect changes to ethernet address and reconnect to device with the same serial number. If a new unique broadcast occurs when ethernet ECU is offline (i.e. a new serial # is seen) then pop up the ethernet ecu discovered toaster. Only show ethernet toaster popup for Auto-IP assigned addresses and localhost. Option to display ethernet toaster popup for LAN based ECUs (see general settings). Show ECU name/version in port settings for ethernet ECUs and hide port number. Added ability to change IP address and serial number in Ethernet ECU simulator. Use localhost (127.0.0.1) by default in ethernet ECU simulator. Fix applied for corruption during burst mode ethernet log downloads. #886: Added checking of NO_LOG_DOWNLOAD_NRF_CHECK meta-flag from GIN file to suppress not-running flag check for log download. If port fails to open when connecting and hotplugging is disabled, say so on connect dialog rather than saying that GW is retrying. Added double click to program action on Pot View. Fixed detection of onProgramButton script function on Pot View (program button could be hidden when it shouldn't be). Orientation options for map target view. Track map grid orientation from target view setting. #905: Implemented wait for "Stat Prog EE" following calibration write / clear / store changes in ECU. #903: Set state of map sites programmed with potbox even when change is 0. #900: Add Serial number in Title bar. Made group selector on tab bar have a slightly darker appearance to distinguish it more from the other tabs as being special. Tentative fix for map graph not repainting when toggling 'view session changes'. #891: load/save position/size etc of open/save cal and tab dialogs. Added option to disable asking for store changes in ECU. Added fields to specify raw log/setup to the ecu simulator + download these files during log download procedure (useful for testing). ================================================================================ Version 4.02.01 - 16 January 2015 ================================================================================ #894 - Ctrl-Shift-Tab to pop up group menu on tabs bar. Turn off dongle protection in simtek tuner build. ================================================================================ Version 4.02.00 - 08 January 2015 ================================================================================ Include floating point / reciprocal flag in radio telemetry exported GIN files. ================================================================================ Version 4.01.58 - 27 November 2014 ================================================================================ EM80 log download: Reliability improvements - now using a thread to keep a read handler constantly active on the network socket - now missing less packets. Fixed some issues with downloading logs from legacy EM80s (would not quite get to the end and may have a corrupted log). Fixed issue downloading empty log from EM80. Avoid overhead of updating progress bar with high speed log downloads. Include formatter string in radio telemetry exported GIN files. ================================================================================ Version 4.01.57 - 20 November 2014 ================================================================================ Changes to increase EM80 download speed: 1) Prevent use of rate throttling when downloading log. 2) Burst mode download. Reset rate throttling value following load of tabs etc. ================================================================================ Version 4.01.56 - 14 November 2014 ================================================================================ Updated compiler to SP1 Updated to latest 2.8 branch of wxWidgets (2.8.12). #836: Add support for driverless keylock dongle - KL3 #882: New log download dialog (while waiting for log to download fill in notes). ISP wizard - fixed issue where fin file name in wizard was not being populated on next run of ISP (convenient for development or commissioning of multiple units). Added scriptable checkbox. Added 'enabled' property for scripted controls. Display syntax errors in scripts. Resolved issue connecting to EvoX 00V44 due to the way in which comcodes were written to the logbuffer. Asynchronously determine if folders have subfolders in filesystem tree views and hide '+' sign in tree if they don't. Added export of radio telemetry to CAN telemetry setup. ================================================================================ Version 4.01.55 - 09 October 2014 ================================================================================ Fixed crash connecting to ECU. ================================================================================ Version 4.01.54 - 03 October 2014 ================================================================================ Fixed crash in release build when adding audit view. Changed appearance of back/forward/up buttons on Audit view. Added tooltips to back/forward/up buttons. Change cursor when hovering buttons on audit view. ================================================================================ Version 4.01.53 - 03 October 2014 ================================================================================ New Feature: Node based Audit View. Gemscom library: Fixed sign extension bug when deserializing signed integer discriminated values. Could result in unexpected large values being displayed for some options/parameters etc. #880: Don't allow firmware files without '.fin' extension to be selected for firmware upload. #880: Don't allow supposed 'fin' files to be uploaded that look like they are GIN or emerald files. Tentative fix for crash report that occurred when ethernet broadcast received and ecu object was destroyed. Fix applied for comms getting stuck following ISP in some cases. Fixed: If a view failed to load then all subsequent views in the same container would also fail to load. Pot View: Display value. Added co-processor firmware upload feature for EM80. Fixed: Import of CTS mesasages >= 10. ================================================================================ Version 4.01.52 - 27 June 2014 ================================================================================ Internal log processing: Rather than fail, insert channels with unrecognised comcodes in the output STF file with generic names & unity scalars. Fixed bug converting GLO to STF that could result in only part of the data being exported. ================================================================================ Version 4.01.51 - 18 June 2014 ================================================================================ #93: Added object description view. #874: Ethernet ECUs were not showing up in connection config in some conditions. #873: If Ethernet ECU name is ERROR IPC, show ECU is in error in connection dialog. Added bootloader ECU names to relevant branded builds. Fixed issue with display of values in Log Map objects. ================================================================================ Version 4.01.50 - 06 June 2014 ================================================================================ Comms: If duplicate reads of the same address are encountered in a block read, split the block read at that point to avoid reading lots of duplicate values with the same timestamp. Reduces CPU load. Added timeout adjustment value for ethernet comms. Additionally implemented a basic scheme to avoid very short timeouts from locking up the computer. ================================================================================ Version 4.01.49 - 29 May 2014 ================================================================================ #16, #864: Add knob/potbox control for use in tabs (Add|Other|Pot). Support signed bitmasked values in GIN files. Fixed bug converting PC logs to STF format. Implemented Ethernet ECU download. Enabled Ethernet ECU in main-line build. Implemented smoother rate throttling of comms if PC can't keep up due to screen refresh time. Added commsOpsPerSec property to Ecu script object for comms performance analysis. Updated internal logging dialog to support EM80 setup. Internal logging dialog now works on its own set of data which is then applied to the ECU. Added local undo/redo to internal logging setup dialog. Added menu/toolbar to internal logging setup dialog. Modified layout of internal logging setup dialog slightly. Use task dialogs in internal logging setup instead of less intuitive message boxes. Modified rate picker in internal dialog to indicate direction it operates in. Display 'Not Logged' in grey text instead on 0x0000 in logging setup. Fixed crash if the new file wizard is used and the tab selection dialog is subsequently required. Got rid of "You cannot drop files of type ''" message if restarted due to a crash. MAP4000: Default to ON for match calname + filename. Fixed error in internal Var comparison function comparing signed with unsigned. (Fixes negative parameter indexing unsigned table axis). Changed capitailization of some automatically created directories for consistency. MAP4000: auto create directories in installer. Fixed issue with non-linear axes on some table graphs (e.g. Brake Pressure Table on evoxacd 00v16). Fixed subtle coding error in link to controller code. Unlikely to have any observable effect. Fix for error in serialization of 'valid max' in GIN files prior to GIN version 3.30. Fixed possible unhandled exception adding cal validators. Improvements to algorithm for finding ecu name/version in FIN files. Some ecu names were not being detected. Additionally, since some ECUs now have bootloaders, if the bootloader GIN was already installed then this could have be matched in preference. Standard name addresses are now used to further refine the choice. Added topic about grid/graph trails to manual. Added topic about Pot view to manual. Added method of inserting write cache barriers for ecu instruction ordering. Fixed possible access violation from crash report. Fixed issue decrementing some options that are == 0 and are specified as having an integer value but are in fact of higher resolution. ================================================================================ Version 4.01.48 - 14 January 2014. ================================================================================ TC82 access mod. Fixed issue with comms notifications from FTDI ports. Branded manual changes. Tentative fix for crash report when closing. Tentative fix for crash report during connect. Fixed crash programming map sites with modifier parameters. Changed potbox config to be stored on a per-ecu basis rather than in the tabs file. Upgraded to CrashRpt 1.4.2r1609. Fixes HTTP crash reporting. Fixed possible crash when installing GIN as part of ISP procedure. Fixed crash if GIN is installed when ECU Simulator is ISP'd. ================================================================================ Version 4.01.47 - 07 January 2014 ================================================================================ Fixed automated build of branded manual. Fixed pot-box encoder assignment when GIN file changes and the pot box dialog is displayed. #855: ECU | Verify - grey out if not connected. Added table aliases for change injectors algorithm: Crank Fuel Table => Start Fuel Throttle Table Crank Pulse Table => Start Fuel Pulse Table Fixed issue making last selected cell visible on map/table grids. Fixed auto-scrolling on grids when dragging a selection (now uses a timer). Fixed - Cancelling ISP wizard no longer leaves ISP disabled in menu. Fixed loading of validation limits from older GIN archives - was causing the calibration checker (if displayed) to read all parameters from the ECU. ================================================================================ Version 4.01.46 - 31 January 2014 ================================================================================ Omex build: don't display view explorer or properties window in default workspace. Omex build: auto-install all gins included by installer at program startup. Fixed manual vendor/product strings for some branded builds. ================================================================================ Version 4.01.45 - 30 January 2014 ================================================================================ Updated branded build default preferences/colours. ================================================================================ Version 4.01.44 - 23 January 2014 ================================================================================ Display additional large/small real value increment properties for tables/maps. Added potential fix for unreproducible docked tab dragging issue. Added potential fix for a crash from crash report. Fixed: Occasionally incorrect repainting of table grids when linked selection changes and the view scrolls as a result. Fixed: Configuring a scope that was loaded from a tabs file (including default tabs) would reset the title of the view. Added ability to configure font size/policy on a per-axis basis for grids. Fixed increment/decrement with partial selections on maps/tables. Fixed getRaw/setRaw in scripts (and potentially more generally). Fixed possible crash when disposing button scripts. Fixed branded build log export. Fixed serial telemetry info dialog title. Fixed gain of values in serial telemetry export (values were being interpreted as 16bit when they are 8bit). ================================================================================ Version 4.01.43 - 03 January 2014 ================================================================================ #851 - Prevent multiple Firmware upgrade windows. #840 - ECU Upload Firmware: A more prominent warning at the beginning of the process. #833 - Fixed delete button in tab list window (layout|tabs/windows). #719 - Use default values from GIN for unassigned values in calibration convert. #796 - Fixed: Pressing HOME then MINUS in option editor on a positive number would decrement the value AND add the sign. Fixed: don't set option value to zero if conversion from text fails. Fixed possible incorrect display of autostore state in status bar after connecting to ECU. Fixes to bar gauge. Fixed issue with 'Erase Log' button in Internal Logging Setup dialog - if the Log Reset parameter was not displayed on a tab, then the value would not be read back from the ECU and the button would only work once and possibly unintentionally modify other bits at the same address. #657 - [developer feature] Tick box to re-install .gin on Firmware update. #780 - Reload GIN file always (reloads tabs) when reconnecting following ISP. Addressed issue with font sizes on some controls due to something going awry with default font size. This property is now always stored in tab files even if it is not the default value. ================================================================================ Version 4.01.42 - 19 December 2013 ================================================================================ Fixed crash when using CAN telemetry setup window. Removed auto-store warning from branded build. #854: Don't check indiviual bits when generating alias list tool tips. Fixed incorrect cache invalidation of internal logging setup tool tips. ================================================================================ Version 4.01.41 - 13 December 2013 ================================================================================ Interim Release for customer test. Shiftec CAN port mods. Implemented message filter. ================================================================================ Version 4.01.40 - 13 December 2013 ================================================================================ Interim Release for customer test. Fixed alpha sorting on parameter grid. Fixed Var::typeFromEmerald_DS_TYPE - this was returning the incorrect sign for the given DS_TYPE if it was big endian. Fixes to GLO writing issues. Added units config to branded build. Added 'Stretch' property to button view. Added 'App' object (global 'app' variable) to scripts for control of application features. Fixed a possible crash when destroying scriptable buttons. Tentative fix for possible crashes following reset of the current GIN file in use. Added Shiftec CAN adaptor port type. Added options to full screen mode, allowing various things to be hidden: * menu bar * tool bar * status bar * edge-docked windows Implemented grouping in table/map menus when there are a large number of items to reduce problems encountered with the use of such menus. ================================================================================ Version 4.01.39 - 01 November 2013 ================================================================================ Fix for map graphs sometimes being displayed completely black. Fixed cursor position in table/map grids under some situations. [crashreport] Fixed potential problem in convert wizard called from ISP wizard. #852 - Fixed incorrect bar gauge value for non-bipolar values. ================================================================================ Version 4.01.38 - 25 October 2013 ================================================================================ In response to crash report, added some further checks when creating openGL views. Branded build changes. ================================================================================ Version 4.01.37 - 18 October 2013 ================================================================================ #708: Take into account custom user scalar overrides when comparing cals (for example pulsewidth/duty cycle on the fuel map. Fixed massive lock icon in group context menu. Fixed checked background appearance for menu items. Tentative fix applied for incorrectly sized checkboxes in grids. Fixed an issue with scope axis min/max values. Moving to a version after 4.01.30 would cause any negative values to become very large positive ones. If this has happened to your tabs, you should reset the limits in this version to fix them. Moving to this version from 4.01.30 or earlier should now work ok. Resolved an issue with overlapping labels on scope y-axis. Prevent scope axis labels from being drawn if they go off-screen. Added ability to set bar gauge font size in points (to match scope). Condensed Right-Click menus. Separate Right-Click menu for the tabs bar. Implemented possible workaround for scrollbar issue on table grids. Modifications to branded builds. Fixed bug setting slice number on map slice views. ================================================================================ Version 4.01.36 - 03 September 2013 ================================================================================ Branded build configuration changes. ================================================================================ Version 4.01.35 - 19 September 2013 ================================================================================ Fixed incorrect retrieval of cached string values on grids if the map/table data type is not a byte. Fixed retrieval of cell state in grids when a cached string is available. Fixed crash saving comms monitor output to a file. Fixed crash during ISP procedure. Fixed a window focus issue - clicking on e.g. the comms monitor would not focus the window. Fixed crash opening preferences for some builds. Fixed an issue modifying properties of scope and tacho views. When sorting files in file dialogs, sort date columns in descending order first rather than ascending order first as this is what people usually want. Renamed 'Upload Calibration' menu option to 'Send Calibration'. Renamed 'Download Calibration' menu option to 'Read Calibration'. Changed the working of the various locking menu options for global layout lock, tab-specific layout locking and group specific layout locking. Fixed strange resizing behaviour if using a stretchable layout and the tab has scrollbars. Remove 'Close All Tabs' menu option. Removed option to add icon to quicklaunch in installer. ================================================================================ Version 4.01.34 - 22 Aug 2013 ================================================================================ Bugfixes: Fixed an issue with sign extension of signed raw values. Fixed crash setting min/max property of scope views. Fixed issue processing GLO files that was broken since version 4.01.30. Fixed bug writing GLO files (GLO FAT corruption) that could occur when there are a lot of output streams. Fixed Log Reset button in internal logging setup dialog. Fixed decrement key on grids etc (broken since version 4.01.30). Fixed Optimize Fuel Map function. Implemented workaround for bug where scrollbars could be incorrectly calculated after creating a new grid (e.g. table/map). Fixed sizing of windows to 1 pixel below their minimum size that would cause the bottom inner border to disappear. Fixed subtle window resizing issue where moving the right/bottom border to the minimum size and then moving the top/left border would move that border up/left by 1 pixel. For parameters with negative scalars, the bar in parameter grids is now displayed the other way around so that the bar goes from low->high as with other parameters. Fixed pop-up toaster window sizing and hyperlink positioning. Fixed: don't update notes panel when selecting files in the SAVE calibration file dialog. #847: Save File Dialog: When opening a folder in the right window, if there was a file with the same index as the folder selected in the previous view, it would be selected. Fixed a slightly odd resizing behaviour on chromeless windows (i.e. windows with no title bar or border, being resized from the right to be smaller than is allowed). Fixed some issues with user scalars using divided multipler/offset options. Features: Ethernet comms (GEMS internal use only, currently). Ethernet ECU simulator (GEMS internal use only, currently). Ethernet ECU autodetection (GEMS internal use only, currently). Converting GLO to STF will now use the hard disk if memory usage gets high. Added text alignment properties to Label View. Added bold property to Label View. Added prefix/postfix text options to Number View. Optimizations: Various optimizations/caching when handling parameters/axes/userscalars etc. Caching of option user scalar option values for faster value scaling in the general case. Pre-calculation of raw->real and real->raw conversion chain for options/ parameters/tables etc to avoid lots of unnecessary checks & branches. The real/raw conversion code is frequently executed and is now over 2x as fast on average. Grid rendering optimizations: caching of string values caching of state values more optimal cell colour calculation brush/pen recycling Notes: Updated to boost version 1.54. Added more extensive unit tests for real/raw value scaling. ================================================================================ Version 4.01.33 - 20 June 2013 ================================================================================ Fixed: Changing maximum value on tacho would sometimes not work. Fixed problem incrementing/decrementing raw values that have a mask with >1 bit. Fixed error with serialization of limit values leading to lots of items in the calibration checker and major performance loss if calibration checker panel displayed. #842: Removed 56000 Baud option. #843: Fixed crash opening internal logging setup dialog. ================================================================================ Version 4.01.32 - 23 May 2013 ================================================================================ Fixed error in GIN serialization affecting GINS from version 2.28+. ================================================================================ Version 4.01.31 - 17 May 2013 ================================================================================ Fail ISP if ECU returns an invalid control character. 24/32/64 bit raw ECU value support. float/double raw ECU value support. This is a major change to the inner workings of the software and could have some side effects. ================================================================================ Version 4.01.30 - 14 March 2013 ================================================================================ Always update calibration file checksum when uploading or saving. Always write calibration checksum with the exact address of the checksum. This will resolve an issue on many ECUs that will not otherwise write the calibration data to EEPROM following a write unless the checksum is word-aligned. When uploading firmware and a GIN file is required to be installed, following install of the correct GIN, the wizard now indicates that the GIN is now installed. ================================================================================ Version 4.01.29 - 28 Feb 2013 ================================================================================ Fixed crash if another operation such as 'verify' is selected from the menu whilst a connection is part-way through being established. Correct telemetry info scaling equation offset values. Log processing: take into account user scalars/sign for bitmasked values. ================================================================================ Version 4.01.28 - 01 Feb 1023 ================================================================================ Updated v8 JavaScript engine to version 3.16.1. Fixed extended protocol reads of 256 bytes or more. Implemented improved display of internal logging setup for ECUs that have v0.06 log files. Made some modifications to CTS file format. Modified CTS export. Implemented DBC export from CAN telemetry setup. Added "CTele? M?? Disable" to CAN telemetry setup (CTS) dialog. Added "CTele? M?? Rate" to CAN telemetry setup dialog. "CTele? Rate?" was available but inconsistent. Adjusted sizes of CTS and STS dialogs. Display LSB selector column in CTS dialog. Added HAS_SERIAL_TELE_FIXED_VALS and HAS_CAN_TELE_FIXED_VALS Added method of entering fixed values in CAN telemetry setup. Display bitmask on parameters from comcode selector. ================================================================================ Version 4.01.27 - 03/01/2012 ================================================================================ Internal logging setup: display channels and rates correctly for ECUs that have 'linear' internal log format. Add some additional info to the clear security message to say that the ECU may require power cycling. Implemented Gemscom connection over CAN (using PCAN hardware). Fixed: When tabs are cleared, reset the selected tab group name. Ensure that the first default tab is selected when tabs are reset. ================================================================================ Version 4.01.26 - 13/12/2012 ================================================================================ Enable direct FTDI comms ports in branded builds. ================================================================================ Version 4.01.25 - 01/11/2012 ================================================================================ #18: Multiple traces on Scope view, added scope configuration dialog. Added option to draw scope values from the right hand side of the scope and scroll the trace as new data is added. #827: Fixed axis gauge parameter not being re-bound when dynamic table axis changed. #824: Option to display modified map/table/option values in BOLD text. Fixed problem reading tab (gxt) files in some cases due to failure to convert the character set used by the file. Applies to all archives. If writing ECU security fails, retest rather than disconnecting. Removed unused scope 'buffer size' property. Resolved issue in some branded builds loading ftdi driver stub dll when not included in install (or required) and there is an incompatible version installed in system32. Fixed bug causing incorrect addressing when using option-list dropdown boxes on table grids. This bug was due to some low level code that could have had more widespread problems. Fixed bug when using option-list dropdown boxes in table/map grids that caused the dropdown box to be populated with the text from the first cell rather than the selected cell. Fixed crash exporting serial telemetry sts file with hex values in the list. Don't display cal name in title bar for builds that don't have it enabled. Log processor - add guard against huge allocations due to incorrect run-time calculation. Fixed processing of v0.06 internal log files. ================================================================================ Version 4.01.24 - 05 October 2012 ================================================================================ Modification to remove index based handling of tabs when saving current tab. Also fixes saving of tabs in aspect files if the tab is in a group. Fixed some issues moving tabs using windows/manage tabs dialog. Made calibration aspect dialog non-modal. #825: Option to build calibration aspect from calibration comparison. Fixed erroneous dongle message. Implemented v0.06 internal log format processing. ================================================================================ Version 4.01.23 - 27 September 2012 ================================================================================ #22: Tab groups. Implemented new tab control with better visual feedback when moving tabs. Added ability to pick tab icon from the new tab dialog. Fixed some errors drawing tab thumbnails in ctrl-tab popup view. Added keyboard shortcuts for switching between tab groups by index. Added menus for tab and group switching for discoverability. Implemented drag/drop of tabs and tab groups in windows list window. Implemented autoscroll when dragging/dropping in windows list. #63: Auto-scroll in 'view explorer' tree when dragging items. #807: Gin file for demo setup is not installed on first install giving error message on very first start. Added scripting to NumberView control. Added scripting to Label control. Added getString and setString functions to object script bindings. Changed label property Label.Label to Appearance.Text. Implemented visibility flag for properties in grids. Added delete key handling when editing group views with borderless windows. Added more icons for use by tabs. Added check for corrupted strings (in excess of 128MB length) in archiver. Avoids crash when loading corrupted GIN files in some cases. ================================================================================ Version 4.01.22 - 31 August 2012 ================================================================================ Fixed some potential crashes arising from window modality when errors are issued by the ISP wizard and closed after the ISP wizard is closed. Fixed crash opening ECU connection setup on some builds. #798 Fixed: Switching to a tab with a map and trails enabled can show an erroneous site in the trail history. Updated branded build tab files. ================================================================================ Version 4.01.21 - 03 August 2012 ================================================================================ Changed "Save Calibration Aspect..." to "Create Calibration Aspect...". Moved Open and Create calibration aspect menu items in the file menu so that they are together. Added ability to generate aspect files based upon the items on the current tab. Added ability to store the current tab layout in aspect files and load it when applying an aspect file. Changed file dialog for aspect files to the same one used for calibrations so that notes may be specified and viewed. Set/Select state in map/table menus now have user-assignable keyboard shortcuts. Added option to change the opacity of grid selections. Selection opacity now defaults to 0.75 rather than fully opaque. Fixed a few bugs in dial editors for real value properties (range constraints). ================================================================================ Version 4.01.20 - 02 August 2012 ================================================================================ #803: Map grid does not display gradient correctly unless graph is also shown. Fixed some issues with empty calibrations. Implemented UTF8 encoding in xml archives (allows the use of unicode in tabs). Added Parameter Freeze. Added Parameter Hold. Added Maths Quick Keys. Added Option Quick Keys. Added Selection Quick Keys. Arbitrary COM port baudrate selection for testing. Firmware upgrade requests for branded build. ================================================================================ Version 4.01.19 - 21 May 2012 ================================================================================ Updated to Emerald version 4.28. Use UTF-8 for calibration notes - allows unicode characters to be used in calibration notes. Flag PC log exported to STF format as ECU logs with the ECU name/version. Fixed potential stack corruption CAN telemetry import/export. Moved all code to use Emerald4 rather than the old emerald dll. ================================================================================ Version 4.01.18 - 15 May 2012 ================================================================================ #801: Fixed some OpenGL rendering issues on 3D maps. Fixes rendering on Intel GMA 3100 graphics. Accelerated OpenGL map rendering no longer does pixel readback when DWM (Windows Aero) is NOT enabled. This improves performance on non-aero systems. When Aero is enabled you will otherwise get severe flickering when resizing windows. This workaround can be disabled in the application preferences. Slightly reduced batch count when rendering maps. Fixed toggling of some on/off options. Scripting: Fixed critical bug that could cause crashes. Scripting: Fixed getRaw() and getReal() so that you do not have to specify axes. (would result in 'Invalid Object' errors). Fixed: expanding selection left on grid (shift-left arrow) would wrap. Fixed slight map grid rendering issue when selection changed and grid scrolls. ================================================================================ Version 4.01.17 - 01 May 2012 ================================================================================ Added PC logging to a branded build. #794: Double clicking EE status pane now programs the checksum. Removed requirement for scripts to define axes for setRaw and setReal calls. Removed power cycle request at end of programming serial number. Performance enhancement to function objects. Fixed text rendering on 3d maps in non-accelerated 3d mode. 3D map: draw wireframe in a single batch. (performance enhancement). Updated to v8 scripting engine to version 3.10.7. ================================================================================ Version 4.01.16 - 03 April 2012 ================================================================================ Fixed bug in FTR_ACK handling. ================================================================================ Version 4.01.15 - 03 April 2012 ================================================================================ Change the way FTR_ACK works. ================================================================================ Version 4.01.14 - 03 April 2012 ================================================================================ Implemented FTR_ACK, added to ECU simulator for testing purposes. Updated to v8 scripting engine to version 3.9.24.7. ================================================================================ Version 4.01.13 - 27 March 2012 ================================================================================ #782: Changed scripting engine to use Google v8. The engine is of higher performance compared to the old one. It should resolve some issues with garbage collection slowing down the application at some points. Added new script error window with 'goto error' (displays script editor at the position of the error). #793: Improve feature upgrade dialog. ================================================================================ Version 4.01.12 - 09 March 2012 ================================================================================ Support GIN file version 3.29. #612: Handle extended CAN ID's in CAN Telemetry. Fixed extended CAN ID's in CAN RX setup. Fixed potential crash when closing calibration file browser with the tree view shown. Don't serialize function objects / user log maps if disabled in branded build. Fixed 'Manage User Objects' dialog (list was empty). #792: Remove duplicate FxObject and UserLogMap instances resulting from loading of tabs. This is a particular issue when loading tabs into other tabs files and can escalate to a situation where the user interface takes a long time to open and close tabs files (slow to open cals, connect or close the app). Lazy instantiation of FxObject script object (prevents JS garbage collection of duplicate objects when serializing user objects. Remember user selection in install gin dialog for manual install. Use Axis table formatting if the axis uses a table as an axis. Use user scalar formatting for non-table axes. Axes may now specify value formatters for gin versions 3.29+. User scalars may now specify value formatters for gin versions 3.29+. Fix font size on FxObject grids. SA BOOST support. Changed terminology of 'Default Tabs' to 'Cached Tabs' when referring to automatically saved tabs that have been previously been viewed, rather than those that the user has manually saved - it is more descriptive of the concept. #688: Revert to cached tabs menu option. Added menu option to delete the currently cached tabs, since user management these files is difficult. Prevent changes to FxObject scripts from making the calibration appear modified. Added display of current time position on scope view. Compare commcode options by raw value if they are not assigned to parameters. ================================================================================ Version 4.01.11 - 01 March 2012 ================================================================================ Branded build configuration changes. Fixed potential crash using arrow keys on map graph if the keyboard focus was somehow moved to an unexpected control (rare). Fixed erroneous handling of home/end keys when setting selections on 3D maps. Fixed bug that prevented log download from secure ECUs that allow it. Password dialog is now customized based upon the reason for connecting (e.g. it does not offer 'clear' if downloading a log file). Added download of data from specified unsecure areas of the gin when secured. Display empty map/table grid cells if containing secure data (when ECU secured). Fix for bug in xml parser. ================================================================================ Version 4.01.10 - 23 Feb 2012 ================================================================================ Fixed object finder. Caused ISP enable code not to be found when uploading firmware. ================================================================================ Version 4.01.09 - 22 Feb 2012 ================================================================================ Support GIN file version 3.28. Fixed memory leak in file browser if the folder tree view is used. Fixed crash following a change to the loaded GIN file. Fixed crash following drag/drop over a tab that causes a reload of the tabs. Fixed some bizarre number formatting when decimal places specified on axes. Auto decimal places on maps/tables now gives a consistent number of decimal places on all cells. Modified auto font size algorithm on maps/tables so that the size is consistent regardless of the magnitude of the values in the cells (now based upon maximum range). Added early-out optimization for auto font size calculation now possible due to modified font size fitting algorithm. #773: Support Table and Map objects in RAM. #790: Decimal places property was not stored for table based map/table axes in the tabs archive. #791: Dynamic Table/Parameter names based upon an option. #727: CAN Telemetry: Show Info: Fixed gain column. #541: Virtual potbox: don't show blank form when no modifiers available. Added workaround for long-standing issue with running timer and exit of modal dialog event loops. Could cause a crash when pressing a button on e.g. a parameter list item selector if it had already been used but appeared to fail to add anything to the list (typically when under high CPU load). Allow trimmed file extensions in cal file filters e.g. "evox.00v01.cal" as well as "evox .00v01.cal". We may move to this format by default one day, so it is handy to have the support for it now for backwards compatibilty in the future. Additionally, some email clients strip spaces from file extensions in this way, leading to confusion. Display items with raw codes in CAN telemetry info. Added option for branded builds to also see ".cal" files in the cal browser. Branded dongle check now offers dongle update. Fixed help files not being found in branded builds. Added optimization to Ecu Simulator. Added a couple of optimizations to some commonly used code. Applied some optimizations to some string handling routines. Optimized painting of table/map grids. Added some optimizations to painting of parameter grids. Optimizations for getting string values for options/maps etc (less allocations). Made axis size calculation stable for map grids when auto stretch axes enabled. Fixed unstable parameter/option grid auto font size calculation. Optimized parsing of archives. Should result in slightly faster tab loading. Added a couple of optimizations to writing of archives. Don't update real cache for all data models if they are not in use. Reduces tab load time significantly when there are unused function objects (scripted). Optimized lookup of objects in the Gin by name (orders of magnitude faster). Many archives are now written in a slightly more compact format that is faster to write and parse. Fixed a possible crash accessing zero length ECU strings in old gin files. Text on 3D maps is now drawn in a single batch to improve rendering speed now that hardware accelerated rendering is used. This also means that the entire text rendering system for 3d views has changed and fonts are also antialiased. Fixed a 3d map rendering issue with non-accelerated renderer. Fixed crash converting glo files to stf when converted source channels are empty. Default to showing '(All)' versions in the tabs file browser. Workaround for PCs that don't support high resolution timers. Reduced log playback clock rate as it was hammering the CPU. ================================================================================ Version 4.01.08 - 31 Jan 2012 ================================================================================ Fixed crash in Cal/Tab file browsers. ================================================================================ Version 4.01.07 - 27 Jan 2012 ================================================================================ Supports GIN file version 3.27. Crash report: Tentative fix for when connecting to an ECU after loading GIN file. ISP: Change baudrate after upload of FIN file, if required. Fixed crash when constructing JS Gin object (due to JS garbage collector). Setup new branded build. Fixed a couple of issues with path handling in the calibration an tab file browsers that could lead to unusual empty paths showing up in the address bar. Convert cal: same ECU type as source cal now highlighted automatically for manual convert to save mouse clicks in the most common case. Convert cal: double click of version in manual convert selection goes to the next page in the wizard. Update ECU simulator display from timer. Added parameter scripts feature to ECU simulator. Removed bias value from multiplicative map modifiers when programming map sites. Scripting: replaced Array objects used to hold maps/options/tables etc in the 'gin' object with EcuItemCollection objects. This drastically reduces the cost of instatiating Gin objects in the script context and also reduces the performance hit associated with running the JS garbage collector. Close views panel config dialog if Gin file closed to prevent later crashes. #784: Store/restore raw comcodes in cts files in addition to parameter names. Fixed bug in change detection for object models that could lead to a high number of false-positives. #785: Dynamic User Scalar Units. #786: Dynamic axis tables/parameters for tables and maps. Implemented hidden items (as specified in 3.27 gin files). Potential for infinte loops in a couple of places ShellPath should now generate a crash report rather than hang. There has been a situation out in the field where the cal browser hangs - perhaps this will help identify the cause. Implemented HTTP crash report server, since existing SMTP method appears to fail on many machines. Fix crash in internal logging setup dialog if the GIN file does not define the correct number of log codes. #776: Loading in a tabs layout, parameter list locks are not remembered. ================================================================================ Version 4.01.06 - 20 Dec 2011 ================================================================================ Fixed major handle leak in map/table grids. Fix possible crash due to drawing scope with a small size. Added property to draw scope with no axes. Draw scope with no axes when it is small. Fixed issue with item selector in ecu simulator not being updated. Added oscillators to ECU simulator. Ecu simulator now remembers parameter setup and calibration data. Infinite trails setting was not stored correctly in tabs archives. Added drop-down menu to trails tool in grid/graph toolbars. #350: Should have min and max zoom sizes for 3D maps. Added switch between rotation mode and selection mode on map graph toolbar. Added action to allow custom shortcut to toggle rotation mode. ================================================================================ Version 4.01.05 - 13 Dec 2011 ================================================================================ Trails on map graph on wireframe rather than fill. Ignore invalid blocks in v0.4 log files. Improved comms performance (at the expense of timestamp accuracy). Further optimizations to comms. Optimized painting of cursor on map grid. Cached user scalar pointer optimization. Removed unnecessary gin check when reading values from ECU object. Optimizations applied for accessing calibration memory. Parse 'CTele1 Extended01' as equivalent to 'CTele1 id1 ext'. Avoid axis lookups on 3d graphs when follow ecu is off. 3D Map: Fixed getting stuck rotating the when ctrl released before mouse button. Made hardware accelerated map rendering work. Made hardware/software 3d rendering an option in the installer. Use a single OpenGL context across all 3D map renderers. Use 1D textures where appropriate to avoid issues on some gfx hardware that require square 2D textures. Make rendering trails on the wireframe/fill of 3d graphs selectable. #772: Failed command - address is actually in decimal even though it is displayed as a hex number. Added label view. Fixed some focus issues with borderless windows. Make individual tabs have a lockable layout. Scripts can now find buttons and labels on the current tab. Scripts can now change the text of buttons and labels. Made it possible to group a layout into a sub-window (like a dash in GWv3, but any views can go in there). Fixed some problems with the selection overlay not tracking the movement of the parent window. Views may also specify an ID that can be used to find them, not just the title. Added findWindowByID js function. Added Number Edit view. #515: fixed a lock-up bug in 'find' function when using a filter script. Fix drag/drop of files from Thunderbird 3 email client. When pasting components, select them. Added ability to set tooltips on views. Fixed some issues unlocking security on multi-command capable ECUs. #489: Detect if ECU becomes secured whilst online. Performance optimization to XML archiver. Defer construction of gin/ecu in button scripts to speed tab serialization. Defer construction of gin/ecu in function object scripts. Fixed potential crash post-ISP when no default tabs set up. Improvements to Auto ISP procedure (ISP from package install). #775: Error EE Checksum indicator in status bar. Adjusted statusbar layout slightly. Updated to boost 1.48. Implemented 'linear' internal log file format processing for TC90. Made reset map trails on 3d maps work. #71: Make map graph controls hide-able. #72: Add control strip to map/table grid. Tentative fix involving sorted gin item models [from several crash reports]. Added large text overlay for percent change with RMB on map graph. Show soft selection when map grid is in state text colour mode. ================================================================================ Version 4.01.04 - 18 Aug 2011 ================================================================================ Fix crash when downloading an internal log with no calibration open. Use correct temporary file name for log download if not yet connected to ECU. Abort log download procedure if wizard is closed using the 'X' button. When clearing calibration with default values, calculate the checksum of the empty data. Fixed parameter limits. #777: Keyboard shortcuts: some shortcuts are not remembered between sessions. ================================================================================ Version 4.01.03 - 13 Sept 2011 ================================================================================ Fixed crash opening view explorer configuration on some builds. Fixed user folder handling problem in some builds. Fixed an issue with keyboard shortcut conflict checks. Tentative fix for crash populating parameter limits dialog (from crash report). Tentative fix involving object selector popup & categories(from crash report). Tentative fix for crash opening potbox config. #734, #758. #697: Implemented serial number programming. #761: Fixed: Setting map grid to follow mode freezes parameter updates. Optimization to update of partial selections when variance==0. Optimized a few commonly executed sections of code. #765: Dialog to display values of serial number and other ECU strings. #766: Zoom keys on map graph should be configurable. Made zoom out key 'A' / 'Shift-A' because previous key 'X' was in conflict with interpolate-X. Adjusted keyboard zoom resolution slightly for finer control and more useful coarse zoom level. #769: If an option write fails, read from the ECU and restore the calibration state. #735: Toggle coarse/fine mode for edits to maps. #759: Position indicator disappears if moving selection with keyboard on 3d map. Fixed issues with position indicator disappearing on 3d map when setting selection from a map grid. Ctrl-HOME/Ctrl-END now move to home/end in the Y axis of map views. #762: If grid axis selected, 'Switch graph/grid' menu item was disabled. ================================================================================ Version 4.01.01 - 11 Aug 2011 ================================================================================ #757 - Does not have CAN telemetry menu enabled for any ECU types. ================================================================================ Version 4.01.00 - 10 Aug 2011 ================================================================================ User node in view explorer is now saved under a different entry in the tabs archive. This is to prevent tabs files containing user items from crashing older GWv4 versions. It does mean that any user views saved with this version onwards will not be displayed on older versions of GWv4. #54: User defined log maps. #733: Internal log download: take into account scaling options when calculating min/max values for the output scaling sensors. Prevent invalid log_start in downloaded internal logs from causing allocation failure and aborting the application. Fixed some issues restoring shortcut keys since 'all' view added to shortcuts. Shortcuts: moved items from 'layout' to 'view' that were in the wrong place. Added 'User Objects' menu to 'View' menu for managing function objects and user log maps. Fix editing of FxObject's when it has a setRaw function. Update FxObject values in response to changes elsewhere in the calibration. Fixed some errors in constructing scripting wrappers, leading to undefined properties. Function objects can now define realFromRaw and rawFromReal. Function objects can now define getMinRaw and getMaxRaw. #656: Generic incremental search algorithm for grids modified so that: a) Pressing the same letter multiple times cycles through values starting with the same letter. b) Incremental search starts from the start of the current selection. Manual GIN installation: remember last gin file path for the current session as an aid to firmware development. #645: Should not be able to delete root nodes from view explorer. View explorer: drag and drop incorrect when view scrolled. View Explorer: drag/drop of items in user folder now moves rather than copies. View Explorer: "add to current tab" option. View Explorer: group items with add to current/new tab options. View Explorer: user parameter/option items were not storing object reference in the tabs file, so would create empty views. View Explorer: can now drag folders into the tabs area. View Explorer: Prevent dragging of parent items into child items. View Explorer: Delete multiple items now works. View Explorer: Many items are now lazy-created to reduce load times. View Explorer: Edit function-object/user-log-map from right click menu. Just output warnings when objects not found during load of the views model. Avoid crash if potbox configuration dialog displayed with an empty session. Avoid crash if potbox configuration dialog if item selected with no port selected. #563: Added check box to compare window to configure user scalar policy. More granular control is still available via the properties window. #732: Extra columns in compare (e.g. % difference) are not sorted correctly. Prevent crash trying to set limits on an empty entry in the parameter list. Space bar to select nearest site now works in map graph as well as grid. Ecu simulator now less costly to instantiate. #739: Change 3d map site cursor again. Object name property added to table/map views - allows the user to find out what object is being referenced by the view as it may not be consistent with the view title if the tabs were converted from a different version of ecu. Implemented storage of user log map data in the calibration file. Show menu bar and status bar in fullscreen mode. #738: Add reset option [R] to hold mode dialog. General: Grids: If dragging a selection's bounds, allow single items to be selected. #644: Make View Explorer more configurable, like menus in GWv3. UUID search for user objects to avoid issues with lazy-loaded tabs after a user object name has been changed. Made keyboard shortcut to select nearest table/map site configurable. Implemented 'select nearest site' on table graph views. Added option to auto-popup status window to its context menu. #744: Tabs window list dialog. Smooth dialog - change default to have 'on selection' checked. Change default shortcut for hold mode to 'H' rather than Alt-H. Modified hold mode dialog to use a generic quick keys dialog. #736: Added Maths Quick Keys dialog. #742: Scroll map grid to make selection visible when changed. Change scroll step on map grid to avoid ugly areas when scrolled fully across. Improved error message when ISP fails due to missing ISP Enable Code. #731: Piccolo telemetry does not update view anymore. Refactored grid trail handling. #714: Map trails on 3d view. Use wireframe colour when drawing thick selection lines. #665: 3D Maps: Percent change by dragging right mouse button. Changed name of 'Fill' function to 'Sparse Fill' as it is more obvious as to the function of the algorithm. Changed Sparse Fill frame to a dialog and made the dialog accept when pressing Enter key. Also now populates fill algorithm. Changed Smooth frame to a dialog with ok/cancel buttons. Added copy-fill feature for tables/maps. Improved COMOK efficiency in ECU simulator. Comms Monitor: Improve timestamp->string efficiency. Comms Monitor: Refresh view in response to data updates via timer only. #600: Function dialog: make "Apply to selection" checked by default. #745: Function editor now displays a 'simple' view by default for quicker edits. 3D Map: Display crosshair at site selection cursor. 3D Map: Do not display hovered mouse position value, only show selection cursor value. 3D Map: Only draw 'shadow' when in 'Fill' mode. 3D Map: Antialias shadow rendering. 3D Map: Removed 'Projection' text. #728: Gradient legend on 3d map graphs incorrect when an overlay is used. Fixed 'clear' button in keyboard shortcuts dialog. Display shortcut keys in upper case in shortcuts dialog. Changed "Toggle Follow ECU [Hard]" shortcut to 'L' rather than Ctrl-E. Added 'Toggle Follow' and 'Select Site At Cursor' actions to Follow ECU context menus to make the shortcut keys more discoverable. Added options quick keys (currently allows control of trails). Trails now default to infinite time. Reduced View Explorer notifications when loading templates (improves speed). Moved fuel map functions to a sub menu in fuel map context menu. Grid orientation would not be stored in tabs file if all flip options disabled. #741: Axis flip options for map graphs (Orientation properties). #750: Setting flip of Y axis on map grid messes up width of Y axis. #748: Fixed an issue where selector button clicked while waiting for parameters to be added to a parameter list would crash. #751: Fixed: Adding several parameters at once is slow. #752: Fixed: Deleting a large number or parameters from a list is slow. Optimized creation of item selector in parameter/option lists. Optimized creation of popup dialog for item selectors. Optimized lookup of bitmap resources to generally speed up tab loading. Optimized Telemetry/internal logging parsers by reducing string allocations. #754: Calibration Name: stored setting for the checkbox not updated when creating the dialog. #749: 'Places' panel in cal/tab file browsers. #756: Range mode is now specific to the underlying object of a view - changing the mode will affect the gradient and drawing range on all views. This change will break old tab files slightly that had ranges configured for specific views. #427: Range mode for gradient now selectable for map/table grids. #33: Added basic stretchable layouts (disabled by default, can be enabled per-tab). #57: Display value of cells on map grids with tool tips. Min/Max ticks on parameter grids can be enabled/disabled. Added shortcut hint to tab tool tips. Fix potential crash closing the application when the help window is open. ================================================================================ Version 4.0.52 - 28/06/2011 ================================================================================ Fixed crash often occurring after log download on ECUs with GIN files that have value formatters defined. #724: Thick lines option around selected sites on 3d maps. Cursor cross option on 3d maps. Make expandable min/max on parameter grids optional. Defaults to OFF. #725: Min/Max parameter hold mode. Added min/max telltale ticks on parameter grid. Tentative fix for crash when closing CAN RX dialog whilst online. Tentative fix for blue screen when using ATEN adaptor with RTS pulse option off. Numer/Tacho/Bar gauges are now movable by dragging from anywhere in the window. ================================================================================ Version 4.0.51 - 22/06/2011 ================================================================================ Could not set LogMap target grid values. Store show/hide state of title bar and border in tabs archives. Added "Select Window" item to layout sub menu of view windows. Use tabs area background colour as thin border if thick border is hidden unless focused. Click in blank area of tabs to blur focus on view windows. Fix some issues setting colours and gradients from the properties editor. Resize/move handles for borderless windows. ================================================================================ Version 4.0.50 - 15/06/11 ================================================================================ Colour picker now uses a tabbed dialog box for selecting colours (apart from autocompletion drop-down). Gradient picker now uses a tabbed dialog box for selecting gradients. #711: Parameter min/max display. #199: Indicator that PC logging is active. #721: PC Logging: display time logged. #126: Tacho background should be part of the colour scheme not always black. #472: Tacho: Configurable red-line area. Now using a modified version of the GDA tacho. Adds nicer rendering and config dialog. Also adds global inherited properties. ================================================================================ Version 4.0.49 - 02/06/2011 ================================================================================ Use new crash reporter. ================================================================================ Version 4.0.48 - 31/05/2011 ================================================================================ Fix crash when 'Auto font size in Grids' is off. ================================================================================ Version 4.0.47 - 26/05/2011 ================================================================================ Fix problem with splitter sash in file dialogs when folders hidden. Fix address bar problem on Windows XP where the last folder would be incorrect when first showing a file dialog. #717: When trail mode on for a map, rest of application very slow to redraw. Tentative fix - trigger repaint from UI update timer. #716: Key Mode Shortcuts: Warning for unusable keys. Fixed crash using OS file dialog from calibration file dialog. #712: Menu to set calibration state of options. #715: Option to disable auto creation/popup of status window. ================================================================================ Version 4.0.46 - 24/05/2011 ================================================================================ Fixed setting up of parameter limits for single entries. Improved handling of multiple parameter limits in limits dialog. Automatically enable limits when value has been modified. #650: Set limits for parameters from properties grid. #475: Re-evaluate alarms on bar/number gauge after changing alarm limits. #643: Axes on scope control. #208: Units on scope. Fixed problems relating to the removal of scripted maps/tables. Fixed a few bugs that could cause crashes when editing properties. Use default view range that can be defined in gin file in parameter views. #713: Copy/Paste menu item of tables/maps should use axis if selected. Fixed issue with ecu simulator locking up UI. Disabled action shortcuts could still be active. #26: Key Mode. Prevent the status bar from showing across the screen at startup when maximised. 'All' group in keyboard shortcuts config. Added sorting with header click to keyboard shortcuts dialog. #566: Infinite time map/table trails, with manual user delete. Fixed keypress translation filter (some shortcuts were not working when the keyboard was focused in a text edit). #710: Parameter freeze feature. Folder tree in file browsers would not change the current folder when selected. Tentative performance enhancement to shell access. ================================================================================ Version 4.0.45 - Built on 13/05/2011 ================================================================================ #609 - Packages (similar to GTZ files in GWv3). Can create packages containing firmware upgrades, gin files, conversion templates, tab buttons, default tabs and colour schemes. It is also possible to create packages that backup all user settings. #692: Tab Buttons (user tab files may be loaded from configurable toolbar buttons). Added user selectable tab icons. New conversion templates now include encrypted gin files so that they work on systems that are using customer gin files. Fixed a couple of errors in conversion templates that could lead to raw assignments being ignored. Fixed #670. #671 - Setting keyboard shortcut for 'Show Raw Values' does not work. #531 - Slice object has no minimum size. left window borders beyond minimum window size = new Could resize top(options_page_); Sizes less than view minimum size loaded from tabs archives are now fixed up. #565 - Implement 'View Session changes' feature from GWv3. Fixed LogMap handling. #673 - Option to only download scaling options/view parameters when secured. #675 - Select site on table graph when clicked on line. Fixed abort button on progress dialog under some circumstances. Fix duty cycle/pulsewidth scaling when the fuel maps is already scaled in ms. #691. #683: CAN Rx setup: does not display id's in 11/29bit if setting restored when first displaying the dialog. #687: Load tabs should save as default. Added additional error information to final ISP wizard page, should the operation fail at any step. #679: Use combobox instead of tree in calibration file dialog. #704: CAN Telemetry - set Auto Byte Count from no to Yes - Byte count is updated appropriately in GW & cal but does not get programmed into the ECU. Fixed a potential re-entrancy issue in ECU writes. #703: Fixed issue calculating y-axis range on map slice graph view. #705: Sometimes entering option values do not get accepted. #694: Firmware Upload: cal for upload should not be for a different ECU type. #620: Honour disabling of not running check in ISP. #668: Sphere around 3d map cursor. #706: Parameter grid: Set limits on multiple selection not working. Don't offer to store changes in ECU if feature not compiled in or GIN does not specify PCTL. Added a little more information in the manual about scripting. ================================================================================ Version 4.0.44 - Built on 25/03/2011 ================================================================================ Fixed an issue resulting in comms stalling (noticed prior to ISP on a slow machine). Auto stretching of axes on map/table grids to match the cell size of axes to that of the main grid. #457: Reinstate 'M' key (GWv3) for showing context menu on maps etc. [Configurable]. #501: Remember CAN bus set-up option for 11/29 or 16/32. #529: Keyboard shortcuts for actions in object context menus (e.g. map grid). #542: Add configurable hotkeys to enable/disable follow-ecu modes. #557: Compare: erratic movement of selection when sorted & items copied. #586: Multithreaded retrieval of file list in calibration dialog. #597: Telemetry setups: gain should never be 8x1 in info display. #598: Limits disappear from parameter list when a new parameter is selected using the pop-up dialog. #634: Add 'Home' and 'End' key functionality to table/map grids. #636: Edit parameter value when offline not reflected after editor closed. #637: User selectable decimal places precision on tables and maps. #638: Text doesn't fit perfectly in cells on some tables/maps. #639: Selectable horizontal text alignment on map/table grids. Vertical center text alignment on map/table grids. #635: Option to discard changes to tabs layout. Added width and height properties for windows on tabs. Basic implementation of scriptable button view object. Fixed update of properties grid values after editing. Removed 'Save Current Tab' menu item as it is generally confusing. This feature is still available by checking 'save current tab' in the save tabs dialog. #640: 'non-linear' mode for table graph axis [+by default]. #641: Changing value in property grid: grid doesn't update when editor closed. #642: Percentage change: option for additive/absolute change. #646: Aspect files import - show option values being imported in the list. #647: Open aspect file - use check-list grid rather than the two list approach. Added warnings when inmporting aspect files and there are values that do not convert across. #655: tentative - prevent recursive crash report generation. #663: Fixed view pulsewidth/duty cycle on fuel map. #660: Show units of table on y axis of graph. #581: Can't discard calibration before convert wizard runs. #654: Remove email feature from crash report. #667: Default 3d maps to non-linear axes. Display warning on 3d maps that do not have monotonic axes. #669: New handling that enables drag/drop in parameter list is annoying. Feature disabled until a better way of handling it is found. Fixed some issues with keyboard shortcut schemes. Renamed "Selection Range" property to "Soft Selection Range". Implemented use of small_inc and large_inc attributes for gin file objects to allow GIN file to define default increment amounts for options, tables and maps. Added 'tiny' increment keyboard handling - holding CTRL when using +/- will increment an object by single raw increments, so setting a small increment that is greater than 1 does not lose the ability to croll values by single raw units. Fixed potential crash when displaying serial telemetry info. Added more configurable colours. Added "State Text" colour mode for grids (similar mode to GWv3). Grid axis menus are now sub menus of the main grid to avoid confusion. Keyboard handling when using table/map grids adjusted slightly so that the selection returns to a single selected item when the arrow keys are used, which prevents you being locked into an axis and also feels more natural. The old method of moving the same selection shape is possible by holding the ctrl key. ================================================================================ Version 4.0.43 - Built on 04 February 2011 ================================================================================ Fixed log marker handling in loop logs. ================================================================================ Version 4.0.42 - Built on 27 January 2011 ================================================================================ Implemented v0.05 log binary support. Fix to branded build. ================================================================================ Version 4.0.41 - Built on 19 January 2011 ================================================================================ #632 - Loading keyboard short-cuts does not clear items that need to be cleared. #500 - Add supported gin file version to about box. #535 - After ISP of a different version, tabs do not get loaded. #606 - Parameters grid cell does not resize when font size manually set. Auto-resize of font in parameter/option grids no longer takes the value column into account to avoid issues. #556 - autocomplete match should select closest choice in comcode selector. #579 - Check for store changes with reconnect. #520 - Scrub log playback when not playing. Implemented drag/drop of options/parameters between lists. Made disabling of RTS pulse of COM port optional. By default it is enabled again as in some cases it causes driver instability (but can improve performance considerably when switched off). Changes to branded build. Fix icon association in installer for aspect files. Fixed log playback. ================================================================================ Version 4.0.40 - Built on 10 December 2010 ================================================================================ Updated to latest gemscom (removes pulsed rts on com port). Added some performance enhancement to comms. Removed comms performance window. Fixed issue in log map controller that could potentially have lead to crashes or undefined behaviour. ================================================================================ Version 4.0.39 - Built on 09 December 2010 ================================================================================ Fix for crash in configure outputs when reconnecting. #629 - Fixed tab strip colours. The colours are now configurable. Workspace colour now configurable. ================================================================================ Version 4.0.38 - Built on 17 November 2010 ================================================================================ Added branded build details. Prevent crash if no items are selected to load from an aspect file. #593 - Fixed: Always prompts for a dongle on startup. #626 - Add inches of mercury unit. Added unlockable mode for lists. Only enable menu items for modifying parameters if the selection is editable (e.g. fuel mod). #627. Fixed bug in comms response length calculation for writes on non-extended protocol. User defined units enabled in GWv4 build. Updated to latest gemscom lib. Fixed a number of unsafe pointer conversions. ================================================================================ Version 4.0.37 - Built on 07 October 2010 ================================================================================ Fixed spelling mistake in manual + added more detail on the meaning of 'bipolar' scaling. Fixed 'Calibration Name' menu item. ================================================================================ Version 4.0.36 - Built on 05 October 2010 ================================================================================ Updated Manual to include PotBox details. ================================================================================ Version 4.0.35 - Built on 21 September 2010 ================================================================================ Fixed bug in emerald4 that was leading to corrupted calibrations if the GIN file contained log maps. Updated to Emerald 4.11. Fixed a slight issue with name/version restriction in file browser. ================================================================================ Version 4.0.34 - Built on 17 September 2010 ================================================================================ #530 - After download log, option to open in GEMS Data-analysis (requires GDA beta 0.00.41+). #616 - Dedicated pot box config + remember assignments. Don't select autocomplete item in option/parameter selector if the text has been deleted from the edit control. ================================================================================ Version 4.0.33 - Built on 14 September 2010 ================================================================================ Fixed v0.03 log processing. #592 - Internal logging: If same channel used >1 time, multiple emerald data sources are created with the same name. #605 - Upload Firmware: Warning message about unplugging coils/injectors etc. Upload firmware: warning if ECU name is different to that in the FIN. Fixed crashes pertaining to configure outputs dialog after gin file has been reloaded. #607 - Potbox: Does not work after first linking. Improved initialization procedure for potbox. Number potbox encoders from 1 to 4. Added new build configurations. Handle MSB gain in internal data logs. #528 - Handle loop logging in ProcessLog. ================================================================================ Version 4.0.32 - Built on 12 August 2010 ================================================================================ Altering STF output path in export STF from PC logging window can't be opened in DLOG due to incomplete path. #601 - Implemented extended log file processing (0.03). #602 - Dynamic table axis parameters from comcode / option list. Fixed view->automapping menu. Fix crash writing a parameter to a multiregion cal where it is the next address after the end of an NVM region. #595 - keyboard can edit non-writable parameters. ================================================================================ Version 4.0.31 - Built on 29 July 2010 ================================================================================ If comparing/converting calibrations that use GIN files of the same version, comcode options should be treated as raw values rather than using name lookup. ================================================================================ Version 4.0.30 - Built on 29 July 2010 ================================================================================ Added write stress test. Fixed program checksum operation when using extended protocol. ================================================================================ Version 4.0.29 - Built on 28 July 2010 ================================================================================ Implemented multi-region cal handling. Gin file v3.25 support. ================================================================================ Version 4.0.28 - Built on 21 July 2010 ================================================================================ Fixed multi command write size restriction. Fix registry access on Windows Vista/7 or limited access accounts. Brandable build mods (configurable cal extension). ================================================================================ Version 4.0.27 - Built on 20 July 2010 ================================================================================ #591 - Verification tab name mis-spelt. Brandable build mods. ================================================================================ Version 4.0.26 - Built on 20 July 2010 ================================================================================ Modified checksum calculation used by extended comms protocol. ================================================================================ Version 4.0.25 - Built on 08 July 2010 ================================================================================ #589 - F5 key should refresh custom file browser. Added copy HTML and save HTML options to can telemetry info. Fixed an issue with docked window minimum sizes in splitters. Added predefined default tabs to gin install that are now picked up by GWv4 if no tabs have been defined for a particular name/version of ECU. ================================================================================ Version 4.0.24 - Built on 17 June 2010 ================================================================================ CRITICAL: Fixed an error in comms processing that could lead to errors in downloaded log files. #582 - ECU Internal Logging setup list changes do not clear log. #554 - Can't enter binary as string into options e.g. 0b001010. #512 - Prevent addition of multiple file extensions when known extensions hidden in shell settings. #509 - Loading a default tabs file should not use its path when subsequently saving. #555 - Text should be selected in comcode editor of grid in telemetry setup. #504 - Add option to make the increment value in object view properties modify the real value rather than the raw value. #510 - Log Map Target inc/dec does not update view. #511 - Spin button on some options does not change value. #562 - Add enough space to default size for scrollbar on wide tables. #544 - Creating new folder in custom file view does not update list of files. #494 - Property grid keyboard improvements: Enter closes the current editor and allow keyboard navigation. Tab key tabs into/out of editor. Tab navigation now works in preferences dialog. Prevent HeaderView from blocking tab navigation events. Improved keyboard navigation in initial user scalar config dialog box. Fixed tab traversal of units config dialog. Fixed potential crash in unit selector control. ================================================================================ Version 4.0.23 - 09 June 2010 ================================================================================ Changed installer to use separate GIN setup exe. Fixed crash when running in Windows Classic mode. Fixed missing 'Clear Calibration' menu item. ================================================================================ Version 4.0.22 - 27 May 2010 ================================================================================ Fix issue with interpretation of protocols in legacy gin files - if connections were defined then they do not use the default protocol and therefore WORDWRITES stops working. (#584) When creating a new unit, the base units should be used as a source, rather than the selected unit. Make units editable. ================================================================================ Version 4.0.21 - 26 May 2010 ================================================================================ Gin File version 3.24. Handling of user selectable units has changed significantly in this release. Any existing unit configurations will no longer be valid and units will require reconfiguration. This is a small amount of initial pain for a much simpler system in the long run. #499 - Implemented extended protocol. Added some additional pointer checks. Added tooltip to display gin file location in GIN selector dialog. Add aliases to comms monitor. Added extended protocol to ECU simulator. Added toggle fullscreen mode. #558 - Improve sizing behaviour of object selector dialogs. Make categories tree display optional in object selectors. Improved default size of object selectors. Store size of object selector in settings archive so that it is restored. #343 - User interface lock. #575 - If a new base unit is selected for a user scalar, the units are not displayed in the main UI. #574 - kg/min wrong in Units/Scaling conversion. #551 - Make user units more user friendly. Added MIDI control option in Link To Controller. ================================================================================ Version 4.0.20 - Built on 22 March 2010 ================================================================================ #402 - Warning when converting calibrations using customer gin files. #487 - Adding Function Object serialization issues. #485 - Improve handling when region data has changed size. #561 - Handle invalid log maps better when loading calibrations. Access to ECU object is now provided from 'Function...' when applied to objects. Allows the values of other objects to be used when running a script. ================================================================================ Version 4.0.19 - Built on 24 February 2010 ================================================================================ Fix out-by-one error in output config summary. Fix up outputs using an option list reference from the gin file. ================================================================================ Version 4.0.18 - Built on 24 February 2010 ================================================================================ Ticket #434 - Configure Outputs as in AEMPro. Fix potential divide by zero in log playback view if channels have no logged data. Changed error message to a warning in the status panel when a comparison tab cannot find a calibration whilst restoring from a tabs file. Also improved message details. ================================================================================ Version 4.0.17 - Built on 09 February 2010 ================================================================================ Use self-throttling timer from Data Analysis. Should improve performance in many cases. Modified option list handling slightly to fix an issue with the EM90 CAN telemetry setup (Bit Rate option). Ticket #537 - User unit scaling error with inverted base conversion. Update to latest gems library. ================================================================================ Version 4.0.16 - Built on 13 January 2010 ================================================================================ Ticket #545 - Mouse wheel pot box mode. The mouse wheel can now be used like a pot box from the virtual pot box window. Fixed some issues opening the pot box device. ================================================================================ Version 4.0.15 - Built on 10 December 2009 ================================================================================ Tentative fix for a crash following entering of multiple site values using the popup value entry window. ================================================================================ Version 4.0.14 - Built on 08 December 2009 ================================================================================ Ticket #536 - Implement HID USB connectivity. Ticket #538 - "Set Rate" on Connecting... progress box should save the settings. Ticket #513 - Map grid - space bar select cell nearest current ECU site. Tentative fix for user interface slowdown when online. Added info about "cannot open port" message to help file. Added notes about installing drivers to help file. Added timer to status bar progress indicator so that it only hides after a delay to avoid flicker. Ticket #532 - Logging->Download Internal Log->Click Next - if dongle not enabled for GW -> Crash. Implemented Rotary Encoder handling with GSB device. Implemented Link to Controller dialog box. Remove dependency on portmidi as this was only used for demo purposes. We now have the GSB potbox, which replaces this functionality. Updated build to use common settings (vsprops). Avoid crash after ISP of a libusb device (or closing it after device removal). ================================================================================ Version 4.0.13 - Built on 14 October 2009 ================================================================================ Fixed an issue with the ATEN USB-serial adapter under Vista (getting spurious framing / parity errors). Could result in comms flashing online/offline. Fixed a problem when using a direct FTDI connection to the ECU which could also result in comms flashing online/offline. Adjusted comms timeout handling. Put errors/messages in the comms monitor window in addition to the status window. Port specific comms errors are also timestamped. Prevent unnecessary repeated checking of ISPEN in already in the desired state. Ticket #527 - Fixed auto-detect baud rate. Ticket #514 - Hide 'find' menu option unless user has GEMS dongle. Ticket #497 - Uploading new cal needs to repaint selected option lists. Ticket #517 - Reworked cell locking. Original method was causing problems when using automapping in conjunction with calibrated site locking because the automapping would set cells to the calibrated state. Cells now have a locked property that is (largely) separate from the state. Locked cells are now highlighted with a red border. The site cursor now uses a green border instead of read by default to avoid confusion. Site cursor is now configurable. Added menu items to select cells with different site states. Added sub menu to enable the setting of more site states. State colours are now displayed in context menus. Site locking now works on log maps in addition to regular maps. Ticket #522 - After download internal log, option to open in log-playback. Remember "Open in DLOG" choice in log download wizard. Ticket #359 - Disable 'back' button when downloading internal log. Ticket #483 - Auto naming of internal logs. Ticket #503 - Initial increment on 16bit numbers should be 1 and 16 raw units. Ticket #506 - Integer map values do not increment when increment is fractional. Added shortcut to switch between grid and graph (Ctrl-G). Ticket #518 - Display parameter value of map cell for current slice. Fixed problem with "Follow ECU" tracking slice incorrectly. Ticket #186 - Table grid - If you are editing a value in the axis, the control will not come out of edit mode when the grid loses focus. Fixed GSB initialization. ================================================================================ Version 4.0.12 - Built on 29 July 2009 ================================================================================ Ticket #491 Arrow keys broken in object selector. Starting to type in name cell without an editor on grids starts select/suggestion. Ticket #490 Log Reset Button Issue. Ticket #451 Object Selector: Accept tab key as a selection + move to next column. ================================================================================ Version 4.0.11 - Built on 23 July 2009 ================================================================================ Fixed problem processing internal log where bitmasked values are aliased with 16-bit quantities. The values would end up with 8-bit gain and the msb/lsb's would appear interleaved in DLOG. ================================================================================ Version 4.0.10 - Built on 20 July 2009 ================================================================================ Implemented new version of 14bit comms protocol. Fixed: If ACD goes offline, it would not be re-awoken from telemetry stream mode. ================================================================================ Version 4.0.9 - Built on 17 July 2009 ================================================================================ Fixed connection problem with ACD. Disabled the extended protocol which is not yet used until a better resolution can be found. Ticket #481: Table looses focus after entering multiple values values. Ticket #463: Typing value into options grid when online and no editor goes wrong. Ticket #455: Use ordinary combo box for option lists. Ticket #451: Tab key now tabs away from parameter option selectors in grids. Ticket #479: Fix title bar flicker when connecting etc. Ticket #486: Default password option. Ticket #482: Open Cal Dialog: After double clicking to open a folder in the right hand pane, the focus goes to the folder shortcuts dropdown box. Ticket #478: General thread safety concern. Ticket #469: Dialog informing user that there are no differences after verify halts comms until dialog is dismissed. Double click on autostore indicator in status bar to toggle. Fixed log processing - user scalar options were not being used. Improved robustness of logmap data serialization. When processing internal log files / PC logs, only insert the markers in to STF files once rather than on a per-channel basis. This drastically improves performance when there are a lot of markers. If log download fails or is cancelled, offer to process the partially downloaded log. Fix possible crash getting parameter pointer from an axis when its table has been removed. Added options for streaming directly to a text file from the comms monitor. Always display sub-folders in cal/tab file dialogs. ================================================================================ Version 4.0.8 - 03 July 2009 ================================================================================ Fixed multi commands on libusb for X25 to improve data rate. May also solve an issue where comms status flickers offline. Changed installer to add additional gins, cals and tabs to CD install. Changed installer to make it possible to include nx14/x25 drivers on CD install. ================================================================================ Version 4.0.7 - 22 June 2009 ================================================================================ Fixed issue with accelerator (shortcut) keys. With the keyboard set to US, it was possible for unassigned keys to invoke actions (e.g. 'new calibration'). Fixed issue in save tabs dialog where if a root directory is given as the save file name you could not save the file. Updated Emerald4 dll due to issue with thread local storage (occasionally was causing failure when opening workspace with a log playback window open). Ticket #461: Added d2xx dll to installer as this could cause problems on systems with ftdi drivers already installed for a different version. ================================================================================ Version 4.0.6 - 11 June 2009 ================================================================================ Fixed possible crash if the property grid is closed with an editor selected and then the user uses the 'page down' key in a parameter grid. Tentative fix for crash report received 2009-06-02. Added incremental search to grids in conversion template builder. Added column sorting to conversion template builder. Center conversion template builder dialog on parent. ================================================================================ Version 4.0.5 - 26 May 2009 ================================================================================ Updated Emerald4 dll due to problems with thread local storage. Ticket #460 - PC logging should be available with write enabled dongle. Ticket #456 - Have to detect dongle after dongle update, for changes to come into effect. Ticket #464 - Save comms monitor trace as txt or html. Ticket #454 - Need 57600 in set baud dialog. Also inconsistent with bauds in port config setup page. Ticket #465 - Crashes trying to create directory on non existant drive. Ticket #449 - Some parameters in lists do not display the bar when imported from gwv3. [due to limits not being converted from raw->real]. Ticket #450 - Resizing of units column in option and parameter lists resizes value column instead. Ticket #430 - Tab key should also tab between rows on param/option grids. Ticket #452 - Tabbing into the middle column in option selection list and parameter list, does not let you tab out again. Ticket #459 - Trail mode menu incorrect (enabled AND disabled are ticked). Ticket #453 - GWv3 template import: windows can get negative x/y positions. Ticket #438 - Scrollbar on tab file browser does not scroll all the way to the bottom of the list initially. Incorporated fixes to action classes in gems lib. Made some tentative fixes for crash reports: Possible crash when dismissing "Set Value" popup. Possible crash passing empty data to comms monitor. Possible crash moving cells in param/option grids. ================================================================================ Version 4.0.4 - 08 May 2009 ================================================================================ Updated Installer so that regressive installs are possible from now on. Also moved emerald and emerald4 dll installs from system32 to the app dir. Ticket #435 - Save Current Tab - Initial path incorrect. Ticket #437 - Don't add file extension on load if file already exists. Ticket #436 - Allow wildcard entry in cal/tab browsers (e.g. use *.* to set user file extension filter). Ticket #433 - Make it clearer that modifying an Offline ECU is not programming it. Added 'toaster' box to describe warning. Also flash 'offline' status to attract user attention. Ticket #278 - Padlock on caption bar of option/parameter lists to lock/unlock the view. Ticket #439 - Units not visible on table grid. Ticket #417 - Expanding item in object selector dialog - make as many children visible as possible. Ticket #442 - Retain expansion state in properties grid when switching view. Ticket #443 - Grey out parameter values in grid if offline. Ticket #444 - Grey out parameter values in number view if offline. Ticket #445 - Grey out parameter values in bar view if offline. Ticket #432 - Add end of block marker value to markers in log files. Ticket #167 - PC Logging - Log start should not be available when off-line. Ticket #446 - Add 'function' menu option for options and writable parameters. Ticket #448 - Add absolute and percentage change options to option/param grids. Ticket #306 - Change baudrate - Double click on an item to accept the dialog. Ticket #316 - Serial and CAN telemetry dialogs can be set to a very tiny size. Fixed endian issue in log processing leading to parameters not being found. Fixed some possible uncaught exceptions in calibration load handling. Fixed small/large increment properties on map and table grids. Only have 'link to controller' menu for the knob bit of a knob edit. Currently it is only of much use for development and demo purposes. ================================================================================ Version 4.0.3 - 1 May 09 ================================================================================ Ported emerald dll and created Emerald4.dll. This now allows sessions to be safely created by different threads. Ticket #400 - Progress indicator and cancel option for log processor. Log processing now runs in another thread. Ticket #17 - Run "Find matching Cal" an another thread. Ticket #420 - Tables / maps / options / parameters top level menus. Reworked layout and view menus - parameters/options etc menus are sub menus of the view menu, to avoid top-level clutter. Ticket #423 - Change 'convert' button to 'copy' in compare tabs. Ticket #422 - Select new file to compare directly from compare tab. Ticket #218 - Calibration Comparison Wizard has superfluous last page. Ticket #398 - Map trails selectable from context menu. Ticket #397 - More related views on right click menu of (e.g. maps). Ticket #418 - Range mode on table graph not serialized. Ticket #424 - Minor grid lines on table graph. Ticket #166 - 'Cut' option in context menu of map grid view makes no sense. Ticket #421 - Resize number in number gauge if too long. Ticket #426 - Change colour scaling range when z-axis range is changed on a 3d map. Ticket #416 - Table axis user scalar issue (X25 - boost fuel trim). Ticket #191 - Tentative: Resizing main window when log playback window shown and is fixed, is very slow. Added Multiple 'mip map' levels for peak data. The log file and peak data are now loaded in a secondary thread. Ticket #90 - Add colour properties to individual maps. Ticket #73 - Colouring options on grid axis grids. Ticket #375 - Import/Export calibration subset ("Calibration Aspects"). Added 'Quick Compare' menu option that allows you to do a compare directly without a wizard. Changes "Views" panel name to "View Explorer". Changed "The Log List appears to be valid" to "The Log List is valid". Log Playback: Peak data is now stored in a more compact form to reduce memory usage. Made CTele parser accept bit ranges where the values have 1 or 2 digits rather than explicity having 2 digits: CTele1 ID01 b15-0 is now accepted where CTele1 ID01 b15-00 whould only have been accepted before. Selecting "Default" in colour pickers now works. Fixed crash restoring cal/template after crash on previous run. ================================================================================ Version 4.0.2 ================================================================================ Ticket #27 - CAN RX setup. Ticket #391 - Cal Name Implementation. Ticket #370 - Optimize tab loading. Windows within tabs are now only instantiated when the tab is displayed (or thumbnail is required by ctrl-tab). Applied a number of optimizations to the xml parser and the xml archiver. This reduces load time on the advanced evo x template from 7.5 seconds to 0.4 seconds. Ticket #395 - Opening cal from chrome displayed startup box. Ticket #401 - Copy view as bitmap from context menu. Ticket #392 - Update Rate property on Number, Bar and Tacho gauges. Ticket #382 - At end of ISP, ecu is disconnected and progress gets stuck. Ticket #383 - Improve algorithm for finding name in FIN. Ticket #369 - Quick Jump between tables / maps / gauges (via button in caption). Ticket #403 - Close selection option in tab area. Ticket #28 - Copy/Paste between tabs. Ticket #29 - Resize selection in tab area. Ticket #280 - Un-optimize fuel map. Ticket #405 - Balloon tips remain on top when switching to another application. Ticket #408. Ticket #376 - Create backup of cal and template if application crashes. Ticket #372 - Grouping in views tree. Also added split option to split the view into two parts - the second part showing the children of the items in the first grid. Ticket #412 - Add a set value item to map / table context menu. Ticket #413 - Duplicate data listener exception in parameters grid. Ticket #411 - Tabs file extension filtering not working correctly for X25. Ticket #11 & Ticket #409 - Save tabs - remember last file name. Ticket #347 - Option list: can not delete an inserted row. Ticket #404 - Mouse wheel doesn't work on object selector suggestion popup. Ticket #371 - Drop options/parameters into existing options list. Ticket #393 - Alarm range on number gauge. Ticket #394 - Alarm Range on bar gauge. Ticket #410 - Many grids do not display correctly with large fonts. Ticket #233 - Bar gauge with value on it. Ticket #219 - Would be nice to be able to build an option or parameter list by mult selecting in the view area. Ticket #414 - Make calibration icon different to application icon. Ticket #406 - Make installer buildable from the raid. Prevent some window rollover effects from capturing the mouse and cancelling popup windows. Selection overlay would remain when switching between tabs. Move port retry code back into ProtocolHandler due to it making the UI unusable. Fixed error when destroying ProtocolHandler under some circumstances. Added tool tips to buttons in docked window caption bars. PageDn from selected parameter/option now updates selector box to last selection if you did not have the selector open already. Selecting 'open tab' from the menu defaults to the 'browse' tab of the dialog. Changed cancel button caption on the tab browser that displays when user connects/loads a cal for an ecu without a default template. Fixed mouse cursor type occasionally getting stuck on grids. ================================================================================ Version 4.0.1 - 27/03/09 ================================================================================ Ticket #367 - Tooltip in view grid to show option values. Ticket #379 - Add keyboard search controller to views tree. Ticket #156 - Take masks into account when displaying undo history. Ticket #303 - Refactor cal/tab dialogs. Now also using nicer toolbar. Ticket #352 - Using absolute path to a file in cal browser did not work. Ticket #384 - Conversion Template Builder. Ticket #387 - Crash report - tentative fix. Ticket #388 - Description of bytes in can telemetry. Ticket #374 - Crash opening tabs file from explorer. Ticket #385 - Reinstated +/- keys for incrementing/decrementing values. This has required reworking keyboard handling significantly on grids. They should now be much better with the keyboard now. This does not extend to property grids yet. Ticket #390 - Map / Table grid focus issue; Added keyboard navigation between grids and their axes. NX14 Driver reload if connection lost due to noise (experimental). Fixed potential crash delivering messages to log map handler. Cleaned up unguarded signal connections. ================================================================================ Version 4.0.0 - 23/03/09 ================================================================================ Alpha 58 - 23/03/09 ================================================================================ Ticket #365 - Thumbnail on factory tabs is wrong (was due to sorting order). Ticket #366 - Factory tabs folder is not cleared by installer. Added feature to ctrl-shift-pgup/pgdown through maps and tables (similar to the feature already in GWv3). ================================================================================ Alpha 57 - 20/03/09 ================================================================================ Ticket #357 - Add file name to factory tabs. Ticket #354 - 'Default Tabs' should be renamed to 'Last Viewed' or 'Last View'. Ticket #340 - Calibration Compare column sorting improvements. Ticket #362 - Load a tab with no calibration open -> crash. Put checks in to prevent the crash. Also disable layout menu items if there is no calibration. Disable layout menu items when the current tab is not a workpage (e.g. pc logging). Ticket #360 - Logging | Process raw internal log - if no calibration open get a "You must open an appropriate calibration" error. Why not just disable the menu item if no calibration open. Ticket #358 - File | Save As, Save New Version and Close Calibration should be disabled if no calibration open Put serialization warnings in the ECU status window. Added thread condition variable for performing waits in ProtocolHandler. Now using timeout on synchronous cross-thread signals to avoid the possibility of total deadlock. ================================================================================ Alpha 56 - 19/03/09 ================================================================================ Ticket #349 - GWv4 uses 50% of CPU when inactive. Ticket #348 - Renaming files in cal/tab browser fails. Ticket #346 - If are not default tabs then option button should be greyed out. ================================================================================ Alpha 55 - 18/03/09 ================================================================================ Ticket #329 - Error reading Log Playback channel config archive if there are missing channels (end up with duplicates in blank slots). Ticket #333 - Open Matching Calibration dialog - when scanning, Setup and OK buttons should be greyed out but cancel button should work - currently only cancels when scan has finished. Ticket #334 - Status window - can drag to zero size which stops auto show working. Ticket #332 - If no default tabs available, display factory tabs page. Ticket #336 - Connect Dialog - Selecting ECU | Disconnect should close the dialog. Ticket #337 - Store changes in ECU menu item should only be enabled after a succesful connection. Currently enabled immediately you do an ECU | Connect. Ticket #338 - ECU | Security | Set/ Clear password should not be enabled when disconnected. Could we disable these also when an ECU does not support passwords? Ticket #339 - Changing alpha sorting on options full list should move current selection into view. Ticket #341 - Calibration Compare - units in first column should not be shown if it is an axis table. Ticket #330 - InvalidCTeleSetup exceptions (fails unit test). Now drawing log playback cursor with a thicker XOR'ed line. Refresh toolbar when enable state changes. Put more robust bounds checks in setting of map/table values. Improved crash reporting. ================================================================================ Alpha 54 - 16/03/09 ================================================================================ Ticket #304 - Port Preferences COM Port dialog - Port name and baudrate are editable - you can type in what you like! Ticket #307 - Connect dialog currently has GWv4 as title - would be better titled "ECU Connection" or similar. Ticket #308 - Aborting connect etc requires second button click to close dialog. Ticket #319 - Crash in Units config. Ticket #322 - Unit scalars without a base unit should be able to be set up with a base conversion on a per-ECU basis. Ticket #325 - Should not be able to enter non unique names in unit conversions setup. Ticket #326 - Setup Unit Conversions button should be disabled when there is no selection. Ticket #139 - A dropdown list for selecting a based on unit when creating a new unit/scalar. Ticket #327 - After viewing Show Info in can tele setup, closing the setup window makes the app redraw (flashes). Ticket #320 - Comparison window - when first shown, select the first item in the comparison list by default. Ticket #311 - Log Transport - browse directory should default to last used directory for saving (eg PC logging or log download). Ticket #324 - CAN Telemetry setup - recreate editor when changing message. Ticket #321 - Signed parameter display - show zero at center of bar by default. Ticket #318 - Cancelling comms operation shows auto store dialog if calibration open and ECU has not been identified. Ticket #312 - Clicking in the path for log-transport does not release focus. Ticket #328 - Map does not restrict axis based on site count in GIN. Ticket #315 - Prompt save calibration before convert. Added validator to property editors handling real numbers. Display items with invalid conversions with a red background. Handle exceptions when importing GWv3 gin setup. Ticket #313 - Display units on number gauge by default. Updated batch for gin install script. Destroy preferences dialog if closed. ================================================================================ Alpha 53 - 12/03/09 ================================================================================ Modifications to log maps were not flagging the calibration as modified. Pressing 'Import' on internal logging setup dialog could cause comms monitor to be shown due to log reset message being written to monitor window. Don't insert duplicate entries in PC logging tab (unless user specificly does). Parameters of nested dependencies were not being added to PC logging. Adding parameters to PC logging whilst already running were not added to the log under some conditions. Added recent files menu dropdown to open calibration toolbar button. Fixed issue whereby double clicking item in an options option list dropdown could make a range selection in the underlying grid. Refactored Log Playback Parameter Mappings and lane config into one dialog. Lane config is now modeless and updates the view as you change it. File browse edit was emitting file selected signal twice. Added option to open downloaded log in DLOG. Colour gradient on horizontal zoomable scrollbar was in the wrong direction. ================================================================================ Alpha 52 - 11/03/09 ================================================================================ Ticket #299 - Alpha sort for ecu type in browse tab or calibration is incorrect. Ticket #300 - If you click play on log transport and you have no parameter mappings, warning shows, but transport buttons are still set to play when it is actually stopped. Fixed a possible crash in comms thread. Added filtering to comms trace pane. If read of checksums fails, connect procedure would get stuck polling the device and could not be aborted. Message when setting password was incorrect. Changed the message and added a password confirmation box. Disable set/clear password menu items when ECU is not securable. Set maximum character count for password box. Changed: "Are you sure you want to delete the current tab?" to "Are you sure you want to close the current tab?" Added option to use default values when clearing calibration. Enable / disable ECU simulator if it is not selected as the port. Fixed icons on togglable menu items. Update main progress dialog label instantly. ================================================================================ Alpha 51 - 10/03/09 ================================================================================ Ticket #295 - Parameter/Option list font size property problems. Ticket #297 - Browsing for tabs for first time (i.e. after new cal, or install ecu) can not select 'All' in ecu name or version. Ticket #298 - After ungrouping lists grey bar where tabs were is left at the bottom of the list. Ticket #296 - DA97 crash gw when trying to view a map. It is now possible to have maps/tables in volatile memory areas, with live updates. Readonly maps could be edited under some circumstances. Added demo cals on raid to install. Made Log Maps editable. Added property for playback rate to log transport. Prevent views panel updating whilst restoring expansion state. Prevent flicker on the top level window title bar when updating menus. Moved demo cals to "my documents\calibrations\demo". Set correct type name for Object class in function scripts. Update Real cache of meta object model before executing script. Fixed bug in rescale fuel map. ================================================================================ Alpha 50 - 05/03/09 ================================================================================ Ticket #284 - Click open when no tabs file selected in tabs browser causes 'loading' page to come to the front and black the app. Ticket #285 - When saving tabs file, if no files are in the right pane then get error message. Ticket #287 - Docking Log Transport top or bottom results in very small window. Ticket #286 - Tab preview when browsing for tabs is black. Ticket #288 - If trying to connect with out dongle, says invalid com port. Only happens first time of session. Ticket #292 - Grouping problem which crashes v4. Ticket #293 - Log Mapping - setting the map values manually does not update cache so automapping can write incorrect values. Fixed problems selecting items in the tab/cal browser due to drag drop handling. Fixed potential crash due to dangling pointer from Installed ECU panel. Fixed memory leak in shell tree control when refreshing the tree. Display name of port being opened in retrying message of connection dialog. Check if LibUSB and FTDI are available in basic port settings panel and don't attempt to enumerate them if not available to avoid crashing. Added better indication of selected port to basic port settings page. Fixed funny size of the weight damping box in the log map controller view. Added checks for duplicate entries in log playback parameter mappings. The user is warned if there are any anomalies. Delete key was not working in notes view. ================================================================================ Alpha 49 - 04/03/09 ================================================================================ Ticket #276 - Log Playback window - gets slower every time you open it again. Ticket #277 - New grid objects (map & tables) are created to small, i.e. with scroll bars showing. Ticket #184 - CalBrowser: ECU Directories Mode - make possible to have only ecu names not versions. Ticket #10 - Docking position / space allocation could be improved. Ticket #243 - Crash after ISP on x25 usb connection. Ticket #270 - After Comms Drop out attempt to set the inhibit telemetry value to isp enable code. Ticket #279 - Map position box not displayed when offline and playing back log. Ticket #189 - Auto Baud Rate. Features have been added to the connection dialog as a partial implementation of Ticket #6. Ticket #281 - Setting value in pulsewidth view with an LD0MPC value doesn't give expected result. Ticket #282 - Fuel map scaling mode is not stored in the template. Ticket #266 - Global setting for auto scaling on grids. Fixed display issues om fuel map graph when viewed in pulsewidth/duty cycle mode. Tentative fix for PC logging bug where no data gets recorded and ECU info is empty. (Ticket #252). Made regular flush to disk of PC logging work correctly. Fixed possible access violation in PCLoggingReaderStream. Fixed potentially incorrect display of data in log playback window when showing glo format files at the beginning or end of the trace. This was particularly problematic where files contained log channels that did not start at zero time. No values are displayed in such areas now. Implemented 'basic' page for port setup. Added file associations to installer. Changed colour scheme file extension from xml to gcs. Changed "Installing GIN File" to "Installing ECU Definition (GIN) File". Fixed some problems with internal logging setup on Subaru96 where Log Rate option is not defined. ================================================================================ Alpha 48 - 25/02/09 ================================================================================ Ticket #234 - Special GIN install mode with absolute paths. Ticket #236 - Scrollbar in property grid description if required. Ticket #239 - Failures after saving a calibration to program files under Vista. Ticket #235 - Add option in ISP wizard to skip requirement for having a GIN based on name in FIN. Ticket #242 - Make autohide instant when a pane loses focus. Ticket #243 - Crash after ISP of X25 with USB connection. Ticket #241 - Cant see checkboxes on Start Page on XP with themes disabled. Ticket #245 - Shortcut key for options selection list. Ticket #248 - Race condition in PortBase::notify. Ticket #207 - Evo X - cannot always immediately connect without using 'refresh' in connection setup. Ticket #250 - When displaying comms monitor for the first time it instantly hides. Ticket #65 - Auto font size option for grids. Ticket #254 - Start page sometimes fails getting dates and aborts GW. Ticket #256 - 'In System Programming' Wizard should be named 'Upload Firmware' wizard as per the menu item. Ticket #255 - Axis Header sizes are not remembered. Ticket #253 - Problem with two folder favourites with the same name. Ticket #42 - Import gin/cal settings from Gwv3. Ticket #259 - Save Tabs dialog gets extension wrong. Ticket #260 - Some combo boxes cannot be scrolled. Ticket #261 - GW crashes when the tab key is pressed whilst in the undo history window. Ticket #262 - Sometimes options do not update when undoing. Ticket #257 - Notes view scrolls to bottom. Ticket #264 - Expanding the tree view in Open Calibrations dialog requires a double click. Ticket #265 - Make tab icons larger in tabs browser. Ticket #263 - After changing ECU type from that opened when GW is started, opening then clicking in the Units setup, crashes GWv4. Added 'OS Dialog' button to CalBrowser. Fixed slight scaling issue on Load axis of Exo X 00X21 Fuel map. User scalar was being applied twice even though this was not represented by the string value. Second application of user scalar removed for now. Improved hotplugging on EvoX. Fixed crash when trying to edit values on table graphs with no selection. Show start page once splash screen has been destroyed. Favourites in tab/cal browsers can now be given a user defined name. Tab "Scroll Left" button is now on the left of the tab strip. New look to tab control buttons. Added Tool Tips to tab buttons. Fixed problem with ECU simulator when creating from a thread other than the main thread. Fixed crash inserting rows in pc logging grid. Fix issue displaying log files with a total time of zero. Fixed issue with times supplied to pc logging going in reverse. This can happen when doing log playback at the same time as being connected, which should really be prevented but there may be real world situations where this occurs. Fixed issue on table position lookup with a non-zero value in site zero but a zero parameter. ================================================================================ Alpha 47 - 19/02/09 ================================================================================ Ticket #196 - Changing units does not update grid axes. Ticket #214 - Recent Files list is reset to Demo every time GWv4 is started. Ticket #212 - Change 'Recent Files' to 'Open Recent' and move below 'Open'. Also changed 'close' item to 'Close Calibration'. Ticket #217 - Added an additional time constraint to the beginning of drag operations to avoid spurious drags when clicking items. Ticket #211 - Lambda symbol not drawn correctly on tacho controls. Ticket #220 - CAN telemetry was only enabled if Serial telemetry existed. Ticket #173 - Sometimes get an exception where the Gateway is already open when connecting. Ticket #222 - Selecting multiple options in the options list: make last selected item visible. Ticket #215 - Added 'Insert' option to context menu for option and parameter grids. Ticket #221 - Disappearing view menu. Ticket #228 - Hide views pane if it is in the AutoHide state and user has added an item. Ticket #216 - New Tabs Insert Between Function. This is a check box on the new tab dialog box. Ticket #232 - Status bar: Progress bar doesn't hide at 100%. Ticket #119 - Occasional crash when using combo box in compare columns frame. Ticket #190 - Change 'Program Checksum' to 'Store Changes in ECU', and 'Auto EE' to 'Auto Store'. Added menu option to toggle "Auto Store". Added "Auto Store" status bar indicator. Ticket #195 - Clear Calibration menu option. ================================================================================ Alpha 46 - 16/02/09 ================================================================================ Ticket #193 - Secure calibration issues on EM36. Null password is now tried as part of the security checking procedure. Ticket #31 - Start Page. Ticket #201 - VSS in internal ECU logging should be road speed. Ticket #206 - Changing the 'Tables' property for the Views window crashes GW. Ticket #140 - Add demo cal and gin to installer. Ticket #203 - The Folder icons in the right hand pane are missing in the tabs and calibrations browsers. Ticket #202 - Icon used for 'Rewind Log Playback' in the menu, is different to the one used in the log playback window. Ticket #198 - Issue saving/loading files to/from the desktop. Ticket #181 - Map site target should display a different colour when in an editable position. ================================================================================ Alpha 45 - 11/02/2009 ================================================================================ Ticket #170 - Should not be able to upload calibration when engine running. Ticket #160 - Ctrl+N does not add a new tab. Conflicted with Ctrl-N for 'Calibration Notes'. Changed to Ctrl-B. Ticket #175 - If calibration notes is selected from the menu and it it open but not shown in the workspace it is not focused or expanded. Ticket #165 - Internal Logging - Validate List button - Clicking Yes in the "Attempt to Fix" box doesn't do anything. Ticket #169 - Remember Firmware upload settings (only for application run). Ticket #174 - Put version number in help file automatically. Ticket #158 - Poor performance of cal browser with lots of files in folder. Optimized code in some areas to improve speed. Ticket #49 - Refactor EcuTransaction and move to gemscom namespace with mediator interface. Ticket #183 - Fix flicker in option/parameter editor. Ticket #161 - Colour gradient for horizontal bar gauge is in the wrong direction. Ticket #124 - CAN Telemetry info should not be available if ECU does not support it. Ticket #176 - Tabbed telemetry channels. Ticket #172 - Improve handling when writing a value that can't be written. Ticket #164 - Object select dialog can be resize to zero height and small width. Ticket #162 - Min size of Bar Gauge. Ticket #187 - Changed the default tacho font size to 12. Ticket #15 - Remember category selection in Object Select dialog. Ticket #180 - When on follow ECU map slice display the incorrect axis for its current position. Ticket #182 - When editing map slice using [ ] it does not edit the selected site when on follow ECU. Ticket #163 - Internal logging setup log rate - added spin box. Ticket #21 - PageUp/PageDn issue with scrollbar on table graph selected. Ticket #12 - Tab key does not correctly tab through controls in smooth and fill dialogs. Ticket #159 - Offser option in initial tab selection window to only show one ecu type. Ticket #81 - Check if program checksum is required by user when closing / disconnecting. Status bar now uses a green colour when online. Initial tab selection dialog now has a 'browser' tab. Arrow keys on selection of grid with swapped axes did not move in the correct direction. Table Graph: Only allow selection if offline or the selection is not following the ECU. Implemented undo menu enable/disable. Implemented save menu enable/disable. Wizards were not being destroyed after they were closed (resource leak). Fixed a memory leak in file browser code. Added grid lines to can and serial telemetry setup dialogs. Fixed potential crash with stream grids used in serial/can telemetry setup. Fixed serialization of table/map grid orientation. Position box on table/map grids was not taking into account inverted axes. Added Play/Pause/Stop to menu of media ctrl. Prevent possible infinite loop/crash if closing application before closing internal logging frame. Added tool tip to programable parameter editor on the program button. Specify threadsafe flag for xml parser. ================================================================================ Alpha 44 - 03/02/2009 ================================================================================ Ticket #157 - Using the find feature crashes GW. Ticket #150 - Move to Subversion source control. Ticket #171 - Connect dialog shows up twice. ================================================================================ Alpha 43 - 28/01/2009 ================================================================================ Ticket #2 - Don't delete original xml archive if serialization fails. Ticket #134 - Table graph position indicator is clipped at high values. Ticket #136 - Opening log play back stops log play back if is already open. Ticket #41 - Define an attribute in GIN files that can be used to make tables use inverted axis lookup. Attribute used is 'invert_lookup'. i.e. [Table,...][ATTRIBUTES,invert_lookup] Ticket #141 - Cannot copy text from telemetry info page. Was actually possible. Added a context menu option to make it more explicit. Ticket #137 - Keyboard shortcuts for start/stop of log playback. Ticket #133 - Marker for the zero point in a bi-polar bar gauge. Ticket #131 - Setting a multiplier for the Bar Gauge does not do anything. (removed the property). Ticket #132 - First time GW is started file path in log transport is not displayed fully. Insertion point is no longer set to the end of the control after setting the text. Ticket #144 - Selecting New Tab from the Layout Menu does not focus the tab when it has been created. Ticket #38 - Option to add all parameters on a given tab to PC logging, not just param view. Ticket #146 - When opening a folder in the right hand pane of the tab or cal browser the left pane does some weird stuff. Ticket #147 - A balloon type tip that shows when you first enter an option box or press +/- when on a map to indicate these have changed to [ ]. Ticket #135 - Keyboard shortcut is not displayed in the setup window if it does not have a modifier. Ticket #9 - Drag/Drop support in Cal / Tab file browsers. Ticket #149 - Fixed Map Site Target. Ticket #148 - Auto install from last / gwv3 gin folders. Ticket #145 - Virtual potbox now responds correctly to change of GIN. Ticket #142 - Upload calibration toolbutton now has dropdown for recent cals. Ticket #5 - Fixed unit test failure (failure due to rounding). Ticket #43 - Help file integration (added to app and installer). Ticket #153 - When ALT key is down on Table Graph, display pencil cursor. Ticket #152 - Improvements to table graph editing (can edit individual points without ALT key when the mouse is close to the line). Ticket #154 - Scaling issue on map graph. Ticket #155 - Zooming table graph hangs GW. Font size and major tick count now works on bar view. Fixed Ctrl-N shortcut for 'new tab'. Fixed race condition in comms transport. Changed timer handling to avoid constantly hitting the heap. ================================================================================ Alpha 42 - 21/01/2009 ================================================================================ Ticket #114: Multiple selection in compare feature (in left hand list) - allows the conversion of e.g. several tables in one go. Also the enable state of the conversion buttons is now set based upon whether those operations are possible. Ticket #118: If hidden, Log Playback window does not expand if selected from the menu. Ticket #121 - UpDown selector on map slice keeps increasing the slice past the actual number of slices. Ticket #122 - Clicking 'add' in Units, creates a new line but does not focus it. Ticket #113 - Shortcut for PC logging start and stop. Ticket #120 - Got rid of pause state in PC logging. This is now handled by the stop button. Ticket #14 - Error window from archiver displays on incorrect monitor. Ticket #98 - Problem clicking on view that is not entirely visible. Ticket #34 - Hide progress bar in status bar if there are no active operations. Ticket #8 - Title bar gradient of windows are sometimes incorrect on a new installation. Ticket #125 - Text labels on tacho dissapear when some numbers for major ticks is set. Ticket #99 - Consolidate toolbar icons for view creation into a dropdown tool button list. This implicity required changing toolbar implementation, which has resulted in a toolbar with a nicer look and feel. Ticket #127 - Selecting multiple windows (rubber band select) and clicking free area to deselect is broken. Ticket #128 - Dots after menu items which open a window are missing. Ticket #123 - Browse for tabs, setting filter to all and all does not show all tab. Ticket #129 - Suggest a warning before actioning 'Close all tabs'. Ticket #130 - Ctrl+T is set to both new tab and open virtual pot box. New tab is now Ctrl+N. Added a couple more stock gradients. Refactored some code. Fixed: Export PC log to STF whould display an error if user cancelled file dialog. Rearranged 'add' menus. ================================================================================ Alpha 41 - 19/01/2008 ================================================================================ Fixed: Could not see calibration files in browser. ================================================================================ Alpha 40 - 19/01/2008 ================================================================================ Fixed a stability issue. Changed minimum size of slice number control so that you can see the edit box since changing knob edits to also have a spin button. Fixed radio buttons in fill dialog. Added a couple of optimizations to PC Logging. Added queue size performance indicator to PC logging. Fixed issue in timestamp adjustment that could lead to incorrect times with back-logged data (and cause writing to the log file to be not only incorrect but incredibly slow due to sectorization). Generally observed when PC logging of data played back via the log transport. It is now possible to add parameters to PC logging when it is already recording. Changed unit config dialog 'import/export' buttons to 'load/save'. Fixed problem with non-negative offset in bar view. Sorted out a couple of initial folder issues in tab/cal browsers. Fixed possibility of undefined offset value from axis lookup algorithm. Resolved flickering of tabs when saving templates. Improved startup performance slightly. Delete menu option on option and parameter lists fixed when editor is shown. Fixed 'scalar' field of telemetry info when option scalar is zero. Fixed 'scalar' field of telemetry info when user scalar has a chained scalar. CAN telemetry info now displays channel name if it is defined in the GIN. CAN telemetry info now displays empty fields in messages. CAN telemetry info now displays aliases. Made some subtle changes to property grid: category children are no longer indented. Additionally, the button area is shaded like the .net control. Fixed a benign error that was appearing in the application log when displaying some forms of message box. Prevent multiple instances of the same ecu appearing in installed ECU panel when updating (e.g. post install/uninstall). Improved calibration conversion automatic save file name generation. Conversion wizard now prompts before creating output directory. Also prompts about overwriting existing files. Tacho: Addressed a labelling issue on tacho controls. Label normally used for units in tacho control is now customizable via properties. Added minor ticks property. Major ticks is now explicit rather than a hint. For implicit tick count, use a major tick value of 0. Integer quantities do not display floating point labels, as they tend to be non-sensical. Default tab selection page: Made factory default thumbnails smaller. Made splitter gravitate towards top of the dialog when resizing and made factory defaults area smaller, since there are commonly more user defaults available. Made user default display names have a new line in the label between the name and the version (looks much better). Automatically select the default tab that is a close match to the required ecu. Clicking in a blank area inside a tab will now re-focus the last focused sub-window. Handling for hotplugging of USB devices is now optional (see the port settings configuration). Some drivers cause problems (and can crash) but in some cases it is useful. The crash issues really need to be addressed properly, but for now it is optional so that users have a workaround if there are problems. Hotplugging code has improved slightly - busses are not re-enumerated if there are not any comms errors on the bus, which avoids crash problems in most cases and prevents stalling of comms when non-related devices are hotplugged. Ticket #13: Implemented "Find Matching Cal" feature. Implemented auto Find Calibration once connected (if enabled in the port settings). Ticket #100: Modify right click menu and main menu due to large number of 'add commands', which have now been put into an 'Add' sub menu. Ticket #35: Change 'value' to 'v' in function editor. Rather than add info label about variables, a grid has been used to outline all variables. Added some default templates to the installer, fetched from \\gemsraid. ================================================================================ Alpha 39 - 05 January 2009 ================================================================================ Disabled hot-plugging of devices for the time being due to occasional crashes. Changed visual styling of map grid site position box. Map/Table axes are now extrapolated when looking up their parameter value at the ends. This gives a little tolerance when programming sites at the end of an axis. Fixed drawing error introduced into map site target view due to refactoring. Changed rendering of tab strips for windows that are docked inside one another to make it more obvious which one is selected and look less like one string of text. Added spin buttons to knob editors. Added 'save current tab only' option to tab browser dialog. Removed now unneccesary items in layout menu. Fixed potential crash in tab file browser. Context menu in blank area in tab/cal browser windows improved. Copy/paste of multiple items in cal/tab browser now works. Opening a LibUSB port for the first time was not always working. ================================================================================ Alpha 38 - 19 December 2008 ================================================================================ Implemented tab browser dialog. Implemented initial tab setup dialog when there is currently no default for a given ECU. Implemented add/remove functionality for colour schemes. Implemented load/save of views tree expansion state. Added some colour schemes to the installer. Added category filtering to object selector dialog. Added cancel button to object selector dialog. Put switch grid/graph context menu item at the top of context menus. Default range mode is now set to 'fixed'. For auto scaling, user must select it. 'lock sites with calibrated state' moved from tool bar to context menu on suitable items. Added context menu item to parameter grid so that the parameters can be added to PC logging. PC Logging - added '%date%', '%time%' and '%datetime%' formatters. Table graph now clips out of range values. Sorted out some problems with horizontal bar gauges. Linked selection was not working on views that are docked inside one another. Added support for serializing bitmap data within xml based archives as base64. Did a bit of refactoring. Fixed default expansion state on views tree. ================================================================================ Alpha 37 - 10 December 2008 ================================================================================ Implemented user defined units selection / configuration. Added corner control to map grids that displays its units. Switch to grid from map graph was not focusing the window. CalBrowser: Default is now to show subfolders in files pane. Changing the ID style now updates the CANID view straight away. Calibration checker is now docked into the workspace by default. Fixed potential divide by zero in fuel map optimization function. Resize injectors now displays on the correct monitor with a multi-monitor setup. Ctrl-L accelerator key added for options full list (Ctrl-O is standard for 'open'). Ctrl-P accelerator key added for parameters. Ctrl-T accelerator key added for trim control. Ctrl-N accelerator key added for calibration notes. Fixed bug with minimum height and size calculation when caption is not shown. Notes view now has a smaller minimum height as a result. Context menu for bitmap control now displays the default menu. Ability to add image view was missing from layout menus. Fixed an issue with mouse handling and capture in map graph window (could get selections occuring hen double clicking in a file window that was over a map graph, among other problems). Enabled ellipsis text on property grid. Implemented View Range handling for Table Graphs. Partially implemented View Range handling for Map Graphs. ================================================================================ Alpha 36 - 03 December 2008 ================================================================================ Implemented Ctrl-TAB for switching between windows. Brings up a popup frame that lists all windows that can be focused, with a thumbnail hint. Added ctrl-number shortcuts for rapid switching between tabs. Delegated duplicated code for generating views in the main frame into the document area's code. Multiple map or table derived views can be added at once via the toolbar buttons or the menus by selecting multiple items in the popup selector. Same goes for parameter based windows such as tachos and bars. Option list, Parameter windows and notes views are now automatically positioned. Option list and parameter grids now focus to an object selector when initially created and focused. Parameter value editor now updates when the parameter changes, unless the user has started to edit the value. Calibration Checker window now works for parameters. Calibration Checker can now be configured to only display out of range values. Calibration Checker can now be configured to pop up if a value becomes invalid. Autohide timeout increased. If autohide frame is already visible and requested to be displayed again for the same window, it is not re-animated but the timout is extended. Fixed breakage to combo controls that prevented use of the scrollbar. When focusing object selector in e.g. options grid, the text edit is focused rather than the previously focused control (which could have been the button). Makes usage more fluid. Made splash screen work if user only has 16bit display depth set up. Got rid of border on splash frame in some circumstances. Modified About Box text slightly. Improved multi-select in tab area: Ctrl-Click on windows that are selected with 'rubber band' select in the tab area causes them to be individually deselected. Ctrl-Click on window border or caption bar will add it to the selection. Parameter and option list grids now support text on the clipboard when copying or pasting. This means that you can copy tab/comma/newline separated values from text documents and paste them into parameter / option grids. If the names exist, they will be placed in the list. Window position is no longer stored in the archive if the application is closed when minimized. This prevents it opening again with a silly size. Added ellipsis test algorithm to option and parameter grids (appends '...' to text that does not fit in the grid cell). Fixed scroll wheel in object selector on parameter and option grids. Fixed selection of expanding items in object selector. Also fixes incremental find when in grouped mode. If file does not exist when opening calibration, a warning box is displayed. The message also no longer has a question mark, since the only option to the user is 'Ok'. Recent files are loaded before attempting to restore previous file, so that should the restore fail, the user does not end up with an empty list. Added numbering of tabs as a hint to the new Ctrl-Number keyboard shortcuts for jumping between tabs. Tabs no longer change width when the selected tab changes (due to change of font). Made sure that partially visible tabs are still drawn so as to give a better indication that the tabs do not fit in the view. Added Left/Right tab buttons. Modified the appearance of tabs a little. Focus is now given to the property grid after it has been selected from a views context menu. Fixed a few other focus handling issues. Page up and Page down keys now change the current row in the property grid. The editor in the proprty grid is now destroyed when the grid loses focus. Shift and arrows on all appropriate grids now expand the selection. Fixed issue where grids taht do not require drag and drop of the selection were blocking drag-select if the user clicked on an already selected item. ComboBox popup is now dismissed on mouse up. Fixes an issue where clicking items in a dropdown box on a grid changes the grid selection underneath. Maximum values on the log transport traces were not handled correctly and were actually being processed as minimums, leading to visually incorrect results. Added a drawing optimization for large-ish logs in Log Transport. Could do with further optimizations to support huge log files. At present, it is likely that really large files will cause significant memory overhead - a 4Gb log file is likely to require 100Mb of memory just for the peak information (1/48th). ================================================================================ Alpha 35 - 25 November 2008 ================================================================================ Object model for option/parameter grids is now shared to reduce the expense of creating the underlying model multiple times. This should reduce the time it takes to load some tab layouts. No longer creating item editor every time a grid is instantiated. In many cases the editor was being destroyed again anyway. Applied a couple of other small optimizations to tab loading code. Time taken to load the tabs is now displayed in the status window. Made loading overlay optional in the user setings. Window position is now remembered. Changed 'Workspace' menu to 'View' menu, as it feels more natural. Added context menu to map grid/graph and table grid/graph to switch to the opposite type of view. Disabled gin installation watcher for the time being. ================================================================================ Alpha 34 - 24 November 2008 ================================================================================ Added a menu option for processing a raw internal log directly. Fixed error in log rate in STF files for slow channels. Copy and Paste now also supports tab-separated values. This allows copy/paste between maps in GW and programs such as Excel and OpenOffice. Pasting into a grid with only one cell selected and no partial selection pastes with the dimensions of the original data on the clipboard. Fixed some issues with the Map Slice view (hang when displaying, slice also not selectable until an edit made). Fixed a rare crash when closing map grids. ================================================================================ Alpha 33 - 20 November 2008 ================================================================================ Updated to wxWidgets 2.8.9. Updated GIN file version to v3.23. Improved tacho control styling. Added minor tick marks. Changing the channel selected in the CAN telemetry setup dialog was not updating the message bytes grid. Added 'Close' button to serial telemetry and can telemetry dialogs. Right aligned text in number view and vertically centered the text better. Added a property to enable display of the values units. Implemented Log Playback. Implemented Log View in log transport window. Implemented new zooming scroll bar for log view. Factored out generally useful drag handler code into gems lib. Fixed error in generated name of table graph views. Axis values would not display in floating point if using fixed steps. Also modified string conversion to give the most concise result. CalBrowser: Set the focus to the filename editor after dialog creation. Means that save filenames can be entered directly without additional mouse usage. Set a default file name for the convert calibration save file name (based on the source file name). Got rid of some now redundant code for file history handling. Fixed situation where cal file picker control could allow filenames with no file extension. Fixed error message in CalBrowser: "Couldn't retrieve information about list item -1". CalBrowser now refreshes after context menu invoked. Added 'new folder' context menu item in file list. Added 'new folder' tool button to CalBrowser. Implemented removeFavourite in CalBrowser. CalBrowser: if a folder is being viewed and it has a favourite, then the relevant item is selected in the favourites combo box. Numpad minus key now enters a minus in option editors when the text edit is blank as does the normal minus key, rather than decrementing the value. Fixed xml parser - text that contained extended unicode characters would break serialization. Modified serialization code to use child iterator rather than assuming that the state is held in the archive. Reduced flicker on title bar when opening new calibrations. If item grid is locked and user tries to delete, the operation is now blocked unless the user requests that the view is unlocked. If item grid is locked, the last row normally used for inserting new items is no longer displayed. Opening GW with a file as a parameter is now the same as dropping the file on the UI. GXT files (tabs) can now be dropped onto GW. CAN channels can now be named using the new features in version 3.23 GIN files. Bar view is now bipolar if the parameter it represents is bipolar. Fixed possibility of getting a really narrow colour combo box drop down. It was possible to move/resize the window underneath a colour combo popup without it being dismissed, leaving the drop down window in the same position. Solved a slight numerical problem in partial adjustment of maps and tables. Incrementing / decrementing partial selections is now smoother over successive adjustments. Fixed an occasional crash that could occur when closing map/table grids. Remember window position if not maximized. ================================================================================ Alpha 32 - 30 October 2008 ================================================================================ Made the 'Send To' menu work in the new calibration browser. Added version number to splash screen. Added 'Notes' view for use in tabs (effectively same as template notes in v3). Added Calibration Notes editor. Made Ctrl-Backspace delete previous word in text edit controls. Changed icon for selected list of options. Changed icon for map slice. Made map site target selectable from menu and toolbar. Update properties in CAN telemetry setup when channel number is changed. This fixes an issue whereby the bit rate property would not be pointing at the correct option leading to total confusion. Implemented log map and template notes import from v3 templates. Fixed a slight issue with the initial 'autohide' size when hiding docked windows. It should now feel more natural. Removed some unused images/icons to reduce bloat in the final exe. Got rid of bitmap in 'install gin' wizard. This is now more consistent across all wizards. Also reduces bloat a little. Changed the about box image. Fixed situation where 'state and gradient' mode is selected as the default mode for grids in the preferences, but is not manifest in the UI. Refactored piccolo telemetry handler slightly in preparation for log playback and sdlm implementation. Enumerating com ports could take some trime due to a delay-loaded dll. This is now loaded explicitly so that it does not reload for each check. Should improve performance on some systems. CalBrowser: Filter would not be set correctly when uploading a cal that requires a specific ecu type. Fixed issue whereby you could not connect to a secured ECU that does not define SECSTAT. Fixed file extension issues when user has explorer set up to hide extensions of known file types. Fixed automatic navigation to special folders in calbrowser in Windows Vista. Bar View did not update when its parameters' dependent object(s) had been modified. ================================================================================ Alpha 31 - 24 October 2008 ================================================================================ Fixed crash in calibration browser in release build. Fixed fade out of loading overlay. ================================================================================ Alpha 30 - 24 October 2008 ================================================================================ Set the focus to the selection overlay once a 'rubber band' selection has been completed. Use HAND markers rather than POWER markers in exported log files. Added Piccolo support. Tab area is now overlayed with a 'loading' frame to prevent it looking odd when template windows are created. Reduced flickering due to a slew of refocus messages when switching between parameter or option grids where the selector control is also focused. Hide selection on option and parameter grids when not focused. Added splash screen. Added new calibration selector dialog, replacing the system file dialog. Made it possible to drop link files. This also means it is possible to install gin files via shell links. Should solve RSA's problem of referencing gin files on another disk. Fixed security unlocking issue for ECU's locked with GWv3. Fixed problem with dock hints showing in the wrong position. Could not connect to ECUs that don't define COMOK. ================================================================================ Alpha 29 - 10 October 2008 ================================================================================ Changed serial port enumeration code to get round issue with some modem drivers that causes a blue screen or that try to connect to devices and hang. Turned off backface culling of 3d view. Custom user scalars for pulsewidth and duty cycle on fuel maps now declare their option dependencies so that the scaling updates when LD0MPC or MSPB change. Additionally, the scaling is declared as being non-uniform so that the minimum and maximum can be calculated correctly. Added additional PreTranslateMessage filters to combobox and textedit. These prevent (e.g) 'del' shortcut keys from overriding 'delete' in the text control. Fixed annoying issue where text is scrolled in a combobox when it doesn't need to be after creation with a minimum size smaller than the default. Put a longer wait in hotplug code for ftdi port. This may still need a bit of work to get it functioning correctly. Fixed crash opening non-existent GSB port (Now returns an error stating that the port is invalid). Fixed inverted setting of selection on map grids. Now also handles setting of soft selections. Refactored keyboard handling code for grids and other model view types. Now using a common set value dialog for map graphs, table graphs and grids. Numpad +/- now increments/decrements option editors. Fix z-order issue with dock-inside HUD hints. Implemented 'rubber band' select of multiple windows in tabs. Multiple selected windows may now be dragged together. Fixed issue where saving a template with the view scrolled would set negative logical positions for the child components. This would result in the template being loaded back in with components in inaccessible areas and incorrect scrollbars. Fixed some situations where focusing the properties grid would display properties for the properties grid itself (which is never wanted). Tab labels on internally docked windows are now updated when the window title is changed via its properties. Made windows renamable from the context menu. Moved interpolate sub-menu items into the main context menu for easier access since it is so commonly used. Don't offer 'interpolate rows' and 'interpolate cols' for objects with a single axis (i.e. table grids, table graphs, map slices) - 'interpolate' is sufficient. Moved "Show Title" and "Show Border" to layout sub-menu. Fixed crash when setting linked selection on a map slice under some circumstances. Update map slice selection when changing slice axis or slice number. Added "Use Raw Conversion" checkbox to compare tab. This causes the raw value for a given object to be copied rather than trying to try to do the most appropriate conversion based on the object type (e.g. if the object uses an option list, it normally tries to convert by using a name match). Added "Auto Refresh" option to compare tab. Added Map Site Target View. Update Virtual Pot Box control when session changes. Added "Percent Change" and "Absolute Change" to context menu for objects such as maps and tables. Fix spelling mistake in the safety warning option preference description. Numpad number keys now work in maps / tables etc. Fixed drag-select on map slice / table graph. Made shift and arrow keys work in map slice and table graph. Made shift-arrow select work in map graph. Fixed zoom keys in map graph. Added a power curve to the selection opacity on map graphs to make the visible partial selection closer to the modification radius. ================================================================================ Alpha 28 ================================================================================ BREAKING CHANGE: XML serialization was incorrect. Character data now has entities for cr/lf/tab/nbsp. Consecutive spaces are now stripped. This should fix the recent files list, but it breaks reading existing GIN installation files. GIN files will be automatically re-installed, so this should not be a huge issue. Strings in other XML based archives may also be incorrect. This change will need to be folded back into ginmake, but for the time being GIN files will be auto-installed by GW if there are any spaces in the name. Unfortunately it is not straightforward to make this change backwards compatible. Fixed conversion of PC logs with 8 bit values to STF (was getting zeros interleaved with the actual data). Bar Gauge: Flip aspect ratio when changing orientation property. PC Logging: use default log folder if it has not been set yet. Fix layout issue when error message from calculating free disk space has carriage returns / line feeds in it. Fixed crash when setting linked selection on a map grid with inverted axis orientations. Implemented Map Slice views. Made it possible to dock work page windows inside one another. Type name was not always used in title of views - e.g. "Fuel Graph" as opposed to "Fuel Map Graph". It depended on how the view was created. The offending code has been refactored to use a common code path. Center auto install gin file dialog of top level window. Implemented Log Map Controller. Implemented Log Map Target. Implemented Auto Mapping. ================================================================================ Alpha 27 ================================================================================ BREAKING CHANGE: File extension suffix for tab files now changed from 'xml' to 'gxt' (stands for "Gems Xml Template"). Your tab files will no longer show up by default in the tab selection dialog. To get round this, select 'xml files' from the filter box. The reason for this change is so that we will be able to set a file association so that template files can be given an icon/drag'n'dropped etc. Also, tab files now use the ecu name and version as part of the file extension. The name and version have trailing spaces trimmed off. Recent file list is now stored in an XML settings file. This will mean that your recent file list will be cleared. Tab files are now filtered based on ECU type in the file dialogs. Changed naming of menu items in Layout menu slighty to clarify. "Views" menu changed to "Workspace" to avoid ambiguity with "Views" panel. Reset Workspace menu item moved to the Workspace menu. Multiple tab files may now be selected when opening tabs. Multiple GWv3 templates may now be imported in one go. When importing GWv3 templates, the name of the file is used as the tab caption if there isn't a name stored in the template. Parameter reads are now disabled for windows in hidden tabs. Improve gradient key on maps (avoid gap between border and gradient). MESA libary updated to version 7.0.4. OpenGL is now explicilty only using software rendering. The view is drawn to a DIB and blitted to the window. This resolves the issue with trails being left on the screen when dragging windows in a way that requires a repaint of 3d map views. Axis grid header now correctly removes parameter listeners when destroyed. Custom message dialogs - if a null parent is used, always use top level window as the parameter so that the dialog box displays on the correct screen of a multi-display PC. XML entities were not being unescaped when reading from archives. This was causing the parameter "Stat Sync'd" not to reload from templates for example. Fixed GWv3 template import in release build. It appears that the excessive use of stack based arrays in the old template code caused problems with the exception epilog code generation by the compiler resulting in the emerald session being prematurely ended before completing and thrwoing an exception. The cleanup of the emerald dll was then also throwing an exception resulting in an abnormal program termination. Fixed infinite loop in drawing code for Bar Gauge control when the size is too small. Fixed error when stretching Bar Gauge in one direction only. Bar Gauge may now be set as a horizontal or vertical bar. Colour picker now initializes the custom colour dialog with the currently selected colour rather than black. Fixed tab highlight becoming stuck on auto hide tab strip. Zoom was not being stored for maps in templates. Updated menus to use generic actions. Added some items to the tool bar. Added 'add' functions to the layout menu. Implemented auto placement for items added through the menu. If GW crashes whilst opening a calibration at startup, it should now open up with a blank workspace the next time GW is launched. Position Pick Parameter/Map/Table box near the mouse when it is opened to reduce mouse movement required by the user. When a grid is not focused, set its default selection colour to one merged with the background colour (this includes list boxes). "Delete Tab" changed to "Close Tab" in context menu. Implemented keyboard action configuration (keyboard shortcuts). Implemented action scheme configuration. Apply button in preferences dialog is now only enabled after a change has been made. Only display FTDI and LIBUSB settings pages if the drivers are installed. (The DLL's for these are now delay-loaded). Keyboard rotation made to feel more natural. Arc-rotation is still used for the mouse where it is more appropriate. Ctrl-Left/Ctrl-Right rotates through the Z axis of the map object. Ctrl-Up/Ctrl-Down rotates through the X axis of the viewport. (shift is used in conjunction with Ctrl for larger steps). Multi-Select now possible in object picker for Option Selection Lists and Parameter Lists. And any other GinItemGrid derivatives. 3D Map was unneccesarially updating when online and the axis positions had not changed (slowing the UI down). Calibration comparison wizard: Changed labels on the first page to be more obvious to the user. Added a 'finished' page. Profile selection page is no longer displayed if the source and destination calibrations do not have any profiles (hence the 'finished' page). Added 'View Raw' option to map and table grids. User scalars are no longer loaded from calibration files. Loading of user scalars lead to a bit of confusion where trhe scaling represented by the gin file was not represented by the values seen in the UI. Scaling is going to be done differently in v4 to v3, so it seems reasonable to remove this. The current scaling will still be stored in the cal. Perhaps in the future it will be possible to load the information intop temporary scalars so that you can view the calibration with the scalingf that the user had selected. Suggestions are now in sorted order for the object picker. Implemented PC Logging Back-End. Implemented conversion of PC Log to 'stf' file for DLOG. Implemented Launch of DLog. Implented UI for PC Logging. Applied a workaround for button edit controls (e.g. file picker / dir picker) where the text is scrolled out of view even when there is plenty of space. Implemented new Splitter control to replace wxSplitterWindow which was causing problems with the layout of the properties window (it would sometimes incorrectly size the description panel). Prevent flicker due to update of menyus and toolbars when executing an accelerator when none of the actions have changed. Changed default caption gradient colours. Fixed some dialog boxes displaying on the incorrect monitor of a dual monitor setup. Changed icons for: Upload firmware Number Gauge Download Internal Log PC Logging Upload Current Calibration Upload New Calibration Download Calibration Verify Calibration Save New Version ================================================================================ Alpha 26 ================================================================================ Started re-organizing menu structure slightly (still more work to be done on this). Fixed COMOK checking on AEM25. Fixed ISP (was erroneously reporting that ISP had failed). Pageup/down in grids now selects all text in the object selector control. Fixed dongle not found warning with comms monitor frame. Updated ECU simulator to use the same parameter grid as the main application. Fixed focus issue when leaving the ecu simulator window with a value editor focused. Wrapping width fixed on custom message dialogs (avoids rediculously wide message dialogs). Button Alignment improved on custom message dialogs. GIN files can now be dropped onto work pages. Implemented verify calibration. Avoid situation where ECU cannot be connected because COMOK is not accessible when secured. Offer option to clear the secure calibration from the password dialog box. Added PulseWidth and DutyCycle view modes for the fuel map. 3D repaint optimization didn't work very well in some situations so it has been removed. Partially implemented import of GWv3 templates. Forward context menu event from window title bar and borders to the inner window for view windows. ================================================================================ Alpha 25 ================================================================================ Only display editor in parameter and option grids when the window is focused. ParameterTables now work without having to dial up all the parameters it uses in a parameter list. Propogate updates to parameter grids when offline. Added a couple of optimizations to model updates in response to changes to the calibration and parameters. Prevent crash when cancelling 'new calibration' wizard with an ECU group selected. Add warning message if user attempts to add a large number of views with "Open in new Tab". Made it possible to cancel opening items in a new tab whilst the layout algorithm is running. Sorting and Grouping state is now remembered for the object selection dialog. Fixed tab navigation from grid controls. Fixed error in LOGTBL handling, wich could lead to spurious values popping up in some parameters (the command byte was interpreted as parameter data!). Force COMOK check when LOGTBL is invalidated. Reset r/w handler when LOGTBL invalidated and check sequence number when as a guard against stale responses. Fixed an issue with fast cal transfer where it was adding an additional termination byte at the end of the transfer (causing errors). Prevent comms getting stuck if ECU does not have COMOK. Workspace file format changed slightly and code has not been added to make the change backwards compatible (due to app still being Alpha). This will mean that any current workspace layouts will be lost. This only applies to the layout of windows docked around the edge of the main window and not any tab layouts. Implemented Virtual PotBox (Trim Control) Made it possible to add maps, tables, parameters and options via the context menu. Made repaint of unmodified map graph windows much faster - reduces 'trails' across windows when moving them. ================================================================================ Alpha 24 ================================================================================ Connecting to the ECU will now explicitly disconnect if already connected before reconnecting. When the Gin can't be found when connecting and the user is prompted to run the Install ECU wizard, the wizard now actually runs. Added context menu items for main layout to sub menu of view context menus. Added title to context menus. Re-arranged views tree. Implemented Alt+Arrows for copy+move+paste selection on map/table grids. Device arrival/removal would incorrectly detect that a serial port was removed. Reconnecting to a port due to hot-plugging would not reconnect the comms monitoring interface, resulting in the comms trace halting. Automatically select all text in the object selector box of option / parameter windows when displaying it / changing the current cell. Category folders can now be added into a new tab in one go. Implemented genetic algorithm for window layout. Placing items on a work page will now snap its width to the grid. Load tab(s) menu item was not always working. If all tabs are closed by the user, an 'Untitled' tab will be added so that there is always a tab area to place items into (would otherwise be very confusing to the user). 'del' is no longer an accelerator key (it was causing problems when used in editors of option and parameter lists). Navigation of option/parameter lists improved (tab and shift-tab can move between columns). Also alt and arrows can be used for navigation. Double clicking an item in the views window no longer adds it to the current tab if it has children. If an ecu transaction caused a connect transaction to run (e.g. user selected 'upload calibration' whilst offline), the ECU is now disconnected if the transaction fails. If it succeeds, the ECU remains online. If the ecu was already connected then the ecu remains online. Multiple change events resulting from continuous edits on a knob editor of e.g. an option or parameter are compressed ionto one single undo entry. ================================================================================ Alpha 23 ================================================================================ Filename can now be specified when saving a single tab. Single (or multiple) tabs may now be loaded into the current layout. Centre Rename Tab dialog on its parent window. Now using InnoSetup based installer. Implemented minimum column size for grid views (e.g. parameters / options), to prevent the columns from being resized to zero width. Display grid/graph menu option in views panel was broken.