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.
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.
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.
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.
Reading the VIN number:
function vin(oldvalue,id) echoWrite("0902\r\n") udsLen=receive() if udsLen>0 then if udsBuffer[1]==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
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
OOBD can also act as Data Source for openXC and so for any application which uses the openXC interface.
If your scripts do contain your intellectual property, you don't want your scripts been used by anybody who is not authorized.
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"/>'
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.
Through the robust flash loader design, the firmware can be updated in the field directly via bluetooth with a simple java app without the need of any special cables or device dismantling.
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