iLightMyShift Changelog =============================================================================== v2016-01-09: * Minor update to the handling of the "test light" button (if you had pressed the "Turn Light ON" button it would not revert to "Turn Light OFF" if the COM port was closed) * Slight improvements to the error messages when opening COM ports (different error messages will now be shown for "com port does not exist" and "com port already open") * The COM port selection drop down list will now re-populate every time you click on it. This means that iLightMyShift is now able to "find" new COM ports simply by clicking on the COM port drop down list instead of requiring a restart. The same mechanism will also detect when COM ports are removed so that COM ports that are no longer available in the system are not shown. v2015-08-10: * Made the COM port "Open" button and "Open selected COM port automatically" checkbox inactive when no COM ports are available * Fixed iLightMyShift using A LOT of CPU power and refusing to close properly in some situations. (The GUI would close but a stray thread would still be running in the background hogging the CPU and keeping iLightMyShift visible in the task manager) v2015-04-29: * Made the "Use light for yellow flags" option look at both yellow flags and caution flags from telemetry. I'm hoping this will fix the "light not working for cautions" bug but I haven't had time to test it. v2015-04-13: * Implemented a change in the third-party irSdk to use uint instead of int to represent bit fields. Solves at least one case of telemetry-related crashes involving bit fields such as flags. * Also fixed a potential start-up crash on systems without any serial ports at all * Renamed the "Save" menu item to "Save Settings" * The date shown in the program info should now be displayed in yyyy-MM-dd format on all systems * Changed the GUI layout to be wider and not so tall (it was too tall to even fit on smaller displays) v2014-03-05: * Did some more changes and workarounds to telemetry handling in an attempt to fix continued telemetry-related crashes v2014-01-26: * Reworked most of the telemetry handling (removed SDKWrapper and is now using iRSDKSharp directly instead). Also did some minor changes to iRSDKSharp itself. * On occasion the SerialPort class would throw an IOException that I couldn't figure out the cause for. Then I found this site: http://zachsaw.blogspot.se/2010/07/net-serialport-woes.html Apparently there's a bug in the .NET SerialPort implementation. I have added a workaround according to the blog post above. Hopefully that IOException will now be a thing of the past. * Added the .pdb files to the releases to help pinpoint errors from exceptions * All writes to the error log now appends data instead of overwriting the file * Removed the pop-up for when cars are automatically added. It's now a completely silent operation. I found the pop-up annoying. * Minor code cleanups v2013-12-08: * Changed the settings handling from using the .NET standard User Settings to using an XML file of my own (Resources/settings.xml). Makes it easier to share settings and keeps you from having to reconfigure when updating. Also makes it possible for me to add new settings that are rarely used but allow for them to be changed without cluttering up the GUI too much. * Added a new setting for whether or not to use the hysteresis feature for the shift tone * Added a new setting (available from the new settings.xml only): ToneHysteresisRpm. Default value is 200 and it is used for setting the hysteresis point for the tone (if used). * Updated from .NET framework 4.0 Client Profile to the "real" .NET framework 4.0 * Improved the error message for COM port access exceptions * Added a simplistic error log. All uncaught exceptions will be caught and the error will be printed to the file "errorLog.txt" in the same directory as the main iLightMyShift.exe. Will hopefully help to debug errors that I'm unable to reproduce for one reason or another. v2013-07-24: * The app will now automatically add any new cars that are added to the sim. This means no more waiting for updates from me to get support for new cars as they are added! It will use the DriverCarSLShiftRPM from the game as default shift points (might not be optimal), but you can of course change the shiftpoints yourself if you want to use other values. In order for it to recognize a new car, you must first launch iLightMyShift together with iRacing while using the new car. After one such initial launch, the new car will be added to the car list and you can change shift points manually as usual. * Reduced telemetry frequency from 20 Hz to 10 Hz. * Fixed a potential crash bug v2013-05-27: * Fixed some minor light flash instabilities * Disabled the COM port selection combobox when a COM port has been opened * Added support for the Kia Optima v2013-03-08: * Added support for the Ford Fusion Gen6 * Added option to use light for blue flags (untested) v2013-03-02: * Added support for the Chevrolet SS Gen6 * Added a pop-up with information to let the user know which new cars that have been added when an existing cars.xml file is updated with new cars * Fixed a bug where the app would crash if closed while iRacing was running v2013-02-01: * Add some hysteresis (200 rpm) to the audio beep to keep it from double-beeping so often * Changed the default audio beep volume from max (10) to 2 v2013-01-03: * Removed the "dim light" functionality * Fixed a bug where the app would crash in some rare cases when handling session info v2013-01-01: * Added the possibillity to select which audio device to use for playing audio files Unfortunately, this feature currently comes with the restriction of only being able to use PCM-coded WAV files as audio source. v2012-12-26: * Added possibillity to play an audio file (tone) when a shiftpoint is hit (audiofile courtesy of www.wavtones.com) * As "official" support for new cars is added, the user is no longer required to delete the cars.xml file to get support for the new cars * Set the defaults to NOT use the light for pit lane speed limit warning * Rearranged the GUI a bit after adding new functionality v2012-12-23: * Added support for the McLaren MP4-12C GT3 v2012-12-01: * Tried some tweaks (that probably won't help) to stop the issue with the light flashing even with the dim light option OFF as reported by two users * Minor tweaks to some error message pop-ups that shouldn't be popping up anyway :-) v2012-11-07: * Fixed the nasty crash bug that started occuring in the last release if iLightMyShift was started before iRacing. I hope this is fixed for real this time. * Fixed a potential bug where UI elements was in risk of being handled from the wrong thread * Made sure that the flashlight icon in the systray is removed when the program closes (it used to stay until mouse-overed) v2012-11-03: * Fixed a bug where iLightMyShift would fail to connect to the iRacing telemetry if iLightMyShift was started before iRacing * Some more info in the about dialog to make it abundantly clear that this is not an official M-SPEC driver v2012-08-18: * Changed the name of the app to iLightMyShift * Made sure that the file "cars.xml" is always created in the same directory as the main .exe, even if the main .exe has been started by another program 2012-08-17: * Added option to make it start minimized * Added option to make it minimize to systray * Updated the homesite URL so that all the links to the homesite actually work * Renamed the groupboxes in the GUI a bit 2012-08-16: * Added option for dimming the light (though it does cause blinking) * Added option to use light for pit speed limit warning * Added option to use light for pit limit active * Added option to use light for yellow flags * Made the light turn on briefly when the correct COM port is opened 2012-08-15: * Initial release