================================================================================ 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. ================================================================================ ================================================================================ 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.