OBDLink SX ChangeLog
ScanTool.net LLC


v3.3.0 - 2012/09/26
-------------------

- NEW: STIX (print extended FW version info)
- NEW: STDICPO (report POR count)
- NEW: STDITPO (report time since POR)
- NEW: STDICES (report engine start count)
- NEW: STDBGM (set debug message level)
- NEW: Implemented engine crank/start detection
- NEW: Added engine crank counter output to STDIX command
- NEW: Implemented cumulative run time timer (returned via STDIX)
- NEW: Added UART RX OVERFLOW error to report UART Rx buffer overflow
- NEW: Added reset and sleep/wakeup trigger messages in debug message level 1 or above
- NEW: Added support for hardware r3.0
- CHG: Improved voltage measurement precision to 3 decimal places for better accuracy at lower ANALOG_IN voltages
- CHG: Added optional voltage offset parameter to STVCAL command
- CHG: STVCAL command now accepts voltage down to 3 decimal point (1 millivolt) precision
- CHG: Added optional precision parameter to STVR command
- CHG: Maximum value for all voltage measurement-related commands is now 65.534V
- CHG: STVR command will now print --.-- when the calibrated voltage exceeds 65.534V
- CHG: Improved voltage calibration (STVCAL/ATCV commands) accuracy by sampling and averaging readings over about 500 ms
- CHG: Renamed STCAFCP/STCCFCP commands to STCFCPA/STCFCPC (old ones still available, but deprecated)
- CHG: STCSWM command now takes mode values from 0 to 8, which independently encode the high speed tool load output
- CHG: Zero length frames that generated "<DATA ERROR" will now generate "DATA ERROR" instead
- CHG: Improved CR+LF handling (ignore only the first LF after CR)
- CHG: Any fatal errors will now be printed again after a reset, to make sure they are not missed
- CHG: Improved accuracy of all timeouts from -1/+0 ms to -0/+0.5 ms precision
- CHG: Removed the possibility of device lockup, while handling a fatal error
- CHG: STSLUIT command will not accept a setting below 5 sec to prevent bricking
- CHG: Updated STDIX command output to include the new device status info
- CHG: Command cancellation via UART character is now much more responsive
- CHG: Device will no longer get stuck receiving OBD messages indefinitely during protocol detection or while handling keep-alives, if connected in parallel with another tester or if message filters are improperly configured
- BUG: UART inactivity sleep timer was not being reset if only CRs were being received
- BUG: UART Rx could lock up or start receiving corrupted data
- BUG: UART Tx could lock up or transmit corrupted data due to silicon erratum and race conditions
- BUG: Rarely, under very unusual conditions, UART inactivity sleep or other timeouts could get triggered prematurely
- BUG: After resetting voltage sense calibration to defaults (ATCV 0000, STVCAL), voltage-based sleep/wakeup triggers would fail to recalibrate until the next device reset
- BUG: ATCV 0000 and STVCAL commands ignored factory calibration saved via STSAVCAL until the next device reset
- BUG: STDIX command printed init month off by one
- BUG: There was a small chance of device lockup after finishing CAN message reception
- BUG: Waiting for CAN responses was not cancellable via UART character
- BUG: STSLUIT command was erroneously accepting 0 as a parameter
- BUG: Some commands that require one parameter would erroneously accept no parameters
- BUG: Protocol was not being saved after being detected via a monitoring command
- BUG: ISO 9141 protocol is now properly detected while monitoring (instead of being detected as KWP)
- BUG: There was a small chance that EEPROM would get corrupted if a device reset interrupted a specific write cycle
- BUG: CAN frame retransmissions would not stop if message transmission was canceled via a UART character



v3.1.0 - 2012/05/16
-------------------

- NEW: STCMM (set CAN monitoring mode)
- NEW: STFA (enable automatic filtering mode)
- NEW: STP (set protocol)
- NEW: STPR (report current protocol number)
- NEW: STPRS (report current protocol string)
- NEW: STPO (open protocol)
- NEW: STPC (close protocol)
- NEW: STPTO (set OBD response timeout)
- NEW: STPCB (set automatic check byte calculation/checking)
- NEW: STVCAL [no param] (reset voltage calibration to factory defaults)
- NEW: ATCRA [no param] (set CAN hardware filters to defaults)
- NEW: ATJHF (set J1939 header formatting)
- NEW: ATJTM (set J1939 response timeout multiplier)
- NEW: ATBD (compatibility only - NOP)
- NEW: Renamed filtering commands to fit the new naming convention (old ones still available, but deprecated)
- NEW: Renamed STPRBR to STPBRR (STPRBR still available, but deprecated)
- NEW: Added ability to turn off J1850 CRC calculation and checking
- NEW: Implemented CAN ERROR detection during monitoring
- NEW: Added capability to receive invalid CAN frames (STCMM 2 only)
- NEW: STDIX (factory use only, extended device ID information)
- CHG: Implemented new default J1939 timeouts
- CHG: Added CAN transmitter "Bus Off" mode indication to ATCS command
- CHG: Changed ATST and PP 03 default to 0x19 (102 ms)
- CHG: Removed length limitation on custom keep alive messages (ATWM command)
- CHG: Removed 8-byte Tx data length limitation for J1850 protocols (ATAL only)
- CHG: Increased CAN FIFO size from 23 to 31 frames
- CHG: Increased UART Tx buffer size from 512 bytes to 1k
- CHG: STRSTNVM command now also resets the device
- CHG: ISO 5-baud init will now not complete initialization if the key byte validation fails
- CHG: Increased ISO feedback settling wait time from 10% to 33% of bit time
- CHG: Now all filtering commands turn off automatic filtering mode
- CHG: ATAL is now forced on, when CAN auto formatting is off (ATCAF 0)
- CHG: UART Rx now ignores LF characters for the purpose of cancelling a command (CR+LF EOL handling)
- BUG: ATTA command was changing headers even if the protocol was already open
- BUG: KWP fast init was not properly using user-set headers
- BUG: With protocol A5 set, autodetect would potentially not work properly with non-default headers set
- BUG: CAN Rx would sometimes lockup the IC during busy CAN bus monitoring due to FIFO corruption
- BUG: <RX ERROR was being printed on the next good frame (invalid frames could not be received)
- BUG: There could be erroneous <RX ERRORs after CAN FIFO overflow
- BUG: SRR bit was being incorrectly set when transmitting 29-bit CAN frames
- BUG: J1939 TP sessions would not time out if no CAN frames are coming in
- BUG: Entering monitoring mode would reset CAN settings to the protocol defaults
- BUG: Due to a race condition, heavy UART Tx traffic sometimes would generate FATAL ERROR 0x0101 [5, ...]
- BUG: Sleep triggers were not working if ATMA on startup was enabled (PP 00), until ATMA was terminated
- BUG: Protocol would not get properly saved if ATSP set it to the same protocol that was autodetected or set via ATTP
- BUG: STIBR command would not correctly set baud rates above 32767 baud



v2.1.1 - 2011/06/23
-------------------

- NEW: Updated firmware to work with hardware revisions 2.x
- NEW: Implemented VBAT and host status monitoring for tri-color Status LED control
- NEW: Implemented ELM327 PP 11 (J1850 Break Signal monitor enable)
- NEW: Implemented ATCSM command (CAN silent monitoring)
- NEW: Implemented ELM327 PP 21 (ATCSM default setting)
- CHG: Now ISO key bytes will be reset to '--' if init fails or is canceled (ELM327 v1.4 behavior)
- CHG: Relaxed some J1850 PWM timing settings to work better with slightly non-compliant ECUs
- CHG: Removed STCMM command (replaced by ATCSM command)
- CHG: Renamed STRPBR command to STPRBR (report OBD protocol baud rate)
- CHG: STFAPG command now accepts PGNs 4 to 6 characters long
- BUG: Actual default values for the PowerSave voltage triggers were different from those reported by the STSLCS command
- BUG: KWP2000 fast init did not work reliably with vehicles that have multiple ECUs responding to StartCommunication message
- BUG: Some sleep triggers could glitch after about 24 days of continuous operation



v2.0.1 - 2011/01/07
-------------------

- NEW: Initial release
