Table of Contents
The OOBD tool set contains a wide range of features and functionality. Some of it is part of the main applications, some others are done with additional software. All these functions are in permanent development, so some of them are still in beta state.
Web based User Interface
With the upcoming 1.0 release OOBD is controlled through the web browser. This gives nearly unlimited flexibly in the look & feel of the user interface
You can create your own theme and choose between.
The default theme already includes the standard functions, so you can write simple scripts without the need of writing any HTML colde
By including other popular libraries like e.g. jQuery, you can make simple responsive UIs like this
or use pretty graphical elements like gauges and meters
Or you can create your own custom style like this 3D three.js sample
Just with a Google Chrome Browser + the OOBD Chrome Add-on or the Kadaver Android App you can connect to a dongle everywhere in the world via internet and do the diagnostics comfortable from your home desk.
UDS compatible Telegram Support
In opposite to many other dongles, OOBD support the full module address range and the full 4095 Byte data length. All the protocol handshake is done by the dongle itself, only the final answer of the communication with the module is reported back to the application.
No Real Time Requirements
The dongle does all the real time data handling by itself. The finished result can be then picked also by e.g. slow mobile devices without the hassle of strong real time requirements.
Full Programmable With Loadable Lua Scripts
Reading the VIN number:
function vin(oldvalue,id) echoWrite("0902\r\n") udsLen=receive() if udsLen>0 then if udsBuffer==73 then local pos=4 local res="" while pos <= udsLen and pos < 36 do if udsBuffer[pos]>31 then res=res..string.char(udsBuffer[pos]) end pos= pos +1 end return res else return "Error" end else return "NO DATA" end end
For easy integration into other projects the dongle command syntax is powerful, but simple and easy to parse
Graphical Programming Interface
Simple Diagnostic programs and command sequences can be generated just in minutes with OOBD QuickScript and it's graphical programming Interface, fully running in a Web Browser
openXC Data Source
OOBD can also act as Data Source for openXC and so for any application which uses the openXC interface.
PGP Script Protection
OOBD supports this with optional strong PGP encryption, where through its unique two-level group encryption you can give fine grained control without the pain of encrypt for each user separately.
Some ODX dialects can be automatically translated into lua scripts, ready to use - helpful when transforming module specifications. If your input format is different, just adapt the xslt transformation
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template name="trim4"> <xsl:param name="string" select="'left'" /> <xsl:value-of select="substring(concat('0000',normalize-space($string)), (string-length(normalize-space($string))+1))"/> </xsl:template> <xsl:template match="/"> <xsl:apply-templates/> dofile("../../tools/lib_lua/serial_dxm.lua") dofile("../../tools/lib_lua/lua_utils.lua") dofile("../../tools/lib_lua/luabit/bit.lua") dofile("../lib_protocol/standard-uds.lua") dofile("../lib_protocol/secaccess.lua") dofile("../lib_protocol/module-uds.lua") </xsl:template> <xsl:template match="oobdobx"> moduleName = '<xsl:value-of select="./Name"/>' shortName = '<xsl:value-of select="./ShortName"/>'
Monitoring Real Time Data
OOBD offers several possibilities to monitor the CAN real time data. In the RTD mode the received data is stored in the dongle to be picked up later, while in the CAN raw mode the data is directly dumped on the serial line. This, together with the socketCANd emulator, allows to view the data in real time e.g. in Kayak
During bus transfer the dongle also monitor the occurrence of error frames, so it can be used also to measure the error rate, means the bus quality.
If needed, the dongle can send long can data sequences to inject simulation data onto the CAN bus.
Python Library for automated task
To use the dongle also for automatic testing, a python library exist to send command sequences from a dos shell or within a batch file