================================================================================ GWv4 Revision History ================================================================================ All modifications to GWv4 are recorded by the developer in this file. Modification labels in this file correspond to version tags in the source control repository. Try to retain the general formatting of version sections as this file is parsed by the Gwv4Releaser tool. ================================================================================ ================================================================================ 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 ObjectCollection 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 transport thread due to it making the UI unusable. Fixed error when destroying transport thread 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 transport thread. 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.