Download Latest Version PriiDash20170106.zip (1.9 MB)
Email in envelope

Get an email when there's a new version of PriiDash

Home / 2012-06 Major Update
Name Modified Size InfoDownloads / Week
Parent folder
formula - updated for gen2 Prius.txt 2012-06-27 4.5 kB
README.txt 2012-06-25 12.2 kB
priidash2_20120622.zip 2012-06-25 2.0 MB
Totals: 3 Items   2.0 MB 0
/**********************************************************************************************
    This file is part of PriiDash(TM), an enhanced instrument panel and
    data logger for the Prius and more. 
    Copyright (C) 2011 by TeamPrii at sourceforge.net

    PriiDash(TM) is provided "AS IS" under the terms of 
    the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version, WITH ADDITIONAL TERMS in 
    paragraphs below.

    This program is distributed in the hope that it will be useful,
    but Without Any Warranty; without even the implied warranty of
    Merchantability or Fitness For A Particular Purpose.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

    ADDITIONAL TERMS
    
    IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY
    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    (INCLUDING, BUT NOT LIMITED TO, DEATH; INJURY; COLLISION AND/OR DAMAGE TO VEHICLES;
    LIABILITY FOR ACCIDENTS AND/OR TRAFFIC VIOLATIONS; PROCUREMENT OF SUBSTITUTE GOODS OR
    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE OR
    INABILITY TO USE THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

    THE AUTHOR RESERVES ALL RIGHTS OF OWNERSHIP OF THE NAME OF THE SOFTWARE, PriiDash(TM).
    ALL MODIFIED VERSIONS MUST BE CLEARLY MARKED AS BEING DIFFERENT FROM THE ORIGINAL,
    AND MUST CARRY ACKNOWLEDGEMENT TO THE ORIGINAL AUTHOR, TeamPrii at sourceforge.net. 
    ALL ADVERTISING MATERIALS MENTIONING FEATURES OR USE OF THIS SOFTWARE
    MUST DISPLAY THE FOLLOWING ACKNOWLEDGEMENT:
    This product includes the software PriiDash(TM) developed by 
    TeamPrii at sourceforge.net.
    
    To contact the author: look up TeamPrii at sourceforge.net.
    Project home page: http://priidash.sourceforge.net/
************************************************************************************************/

===============================================================================

SAFETY - READ ME FIRST!

Drive safely and responsibly.

Keep your eyes on the road at all times while driving.

===============================================================================

INTRO

PriiDash(TM) is an enhanced instrument panel and data logger for the Prius and more.
Display and record real time data on your car PC via an ELM327 compatible OBD-USB device. 

Project Home Page: http://priidash.sourceforge.net/
PriusChat sub-Forum: http://priuschat.com/forums/priidash-tm/

===============================================================================

HARDWARE AND SOFTWARE SETUP - PLEASE READ THOROUGHLY! Many changes in this (2012/06) release.

•	Hardware: We need a laptop or netbook, and an ELM327 compatible OBD-USB device. Connect the hardware and set the baud rate to 2M bps. (We need at least 500K bps and preferably 1 or 2M to fully utilize all data available for gen 2 Prius. For query only operation, updating fewer gauges and less frequently, the baud rate can be lower.) Just as an example and without any implied endorsement or promotion, I am currently using an Eee PC 1001PXD-EU17 10.1-inch netbook with Intel Atom N455 CPU, 1 GB RAM and Win7 Starter (as out of box without any upgrade), and an OBDLink device. (I have since upgraded to 2 GB RAM without any change in performance. OBDLink SX also works.)
•	Operating System: The software is being actively developed under Cygwin, a Linux environment for Windows. It is also possible to compile from source code and link with X11, FLTK, Boost, and muParserX libraries to produce native Windows and Linux executables. (Performance of native Windows executable is poorer than Cygwin or Ubuntu versions when I last tested them. See this post http://priuschat.com/threads/here-is-a-new-compiled-windows-version.98187/page-3#post-1438109 for details.) The download zip file include a precompiled "PriiDash2.exe" executable for Cygwin. To set up Cygwin, download and run the installer with the following components selected: 
1.	devel/cmake
2.	devel/gcc ("gcc-core" and "gcc-g++")
3.	devel/make
4.	devel/gdb
5.	devel/subversion (just "subversion")
6.	X11/xinit
7.	X11/libfltk-devel
8.	X11/libfltk1.1-gdi
9.	lib/boost
The installer will suggest some other dependent components - keep them selected. Then it will download and install all selected components. On my laptop Cygwin (with the components listed above) takes about 700 MB of disk space. 
•	Directories and Ports: The precompiled "PriiDash2.exe" file needs two text files "command.txt" and "formula.txt" in the same directory. A set of text files for gen 2 Prius and another set for generic OBD-2 equipped cars are included in the download. The data log is saved in the drive and directory "f:\OBDLog\" by default but can be changed. (To create the default directory, go to the Disk Management to either create a partition "f:" or change the drive letter of a disk to "f:", and then create a directory "OBDLog" under it.) The program needs to be executed from a cygwin xterm, not from a Windows cmd.exe window.
•	Disk Space: The data logs are plain text and csv files and can take a lot of disk space, about 160 MB per hour of driving. It is probably wise to use a solid state device as opposed to a hard disk unless it's shock proof. For example I use an 8 GB HDSC card and set its drive letter to "f:".
•	Usage: To run the program, first open an X terminal (Start | All Programs | Cygwin-X | XWin Server). Change directory (cd) to where the "PriiDash2.exe" file is and enter "./PriiDash2". If the program is run for the first time, then an "About" window will appear, displaying the license agreement. Please read the license agreement carefully and click the "Accept License" button. At a later time the "About" window can be opened by clicking the "About" button in the "Main Control" window. Select the OBD-USB port number and the baud rate to match your hardware settings. If you don't want to use the default "f:" drive and "OBDLog" directory, click "Set log filename" to navigate to your preferred directory and enter any dummy filename such as "foo.txt". Enter the fuel cost and initial Odometer reading and select desired units. Select car type and run type: 
o	"Normal": Alternates between passive listening and active querying;
o	"Simulation": Check graphic display and see what you are missing without a Prius; 
o	"ATMA log only": Only passive logging and no decoding; 
o	"ATMA only": Only passive logging and decoding, no active querying; 
o	"query only": Only active querying; 
o	"2 OBDUSB": Run 2 OBD-USB devices in parallel via a "Y" cable, one does active querying at max speed and the other does passive decoding to capture all the passive and active data - the ultimate setup within the limitation of the ELM chip.	
•	Click the "Go" button in either the "Main Control" window or the "Gauges" window to start data display and logging. Click the same button (text on the button should have changed to "Stop") to stop data display and logging. Click the "x" (close window) button at the upper right corner of the "Main Control" window to quit the program.




===============================================================================

ACKNOWLEDGEMENTS

•	Gary Briggs, author of obdgpslogger, who introduced me to FLTK and cygwin.
•	Michael Pearce, who started the Fl_Gauge program, upon which I have expanded functionality and added many new gauges.
•	Flyer at scantool.net, who came up with a brilliant method to toggle between passive and active CAN message handling.
•	Attila Vass, who pioneered in cracking the Prius CAN codes.
•	Planetaire at priuschat.com, and kinetik (kiki.netik at google.com) who provided many updated Prius CAN codes since Vass' work.
•	The PriusChat forum community, that inspired my interest in the Prius technology.
•	Many other forums that provided answers to various questions during the development of the software.
•	SteveDH at PriusChat, who made the native Windows version working.
•	Ingo Berg, author of muParserX, without which the customizable formula list won't be possible.


===============================================================================

CHANGELOG

    2012-06-14~ Initialize Values of FL gauge to 777.7 (not 0.0). Add maf. Add MPG estimate for generic car type in formula_generic.txt. Add choice of car type. Make log path selectable via setting log txt or csv filenames. Turn on fflush in readquerydata().
    2012-06-12~ Add command.txt to hold list of initialization and query commands, together with formula.txt which holds formulas to decode the CAN/OBD messages, the software now can be used in any car supporting standard OBD protocols "out of the box", as long as a proper combo of command.txt and formula.txt is supplied by the user.
    2012-05-29~ Add read error log in readandlogdata(). move tick back to 020. remove lpr-85 from efficiency calculations. fix evapP formula. Don't draw gauge until first value. change miletick for oaT recording from dtcdist to odoint.
    2012-05-18~ Start decode2(): separating str->data (check checksum) and decode data. Move tick from 0x020 to 022. Add gs pointer in cd so no longer need to pass gs among member functions. start adding muParserX. formula.txt file end of line character(s) needs to be consistent!
    2012-05-02~ Fix 0x348 torque: 10 bit signed. Add pointer for ICE power from 7EA 61C3 (+ MG1 + MG2) in psdpwr_G. Change speed to 0B4 and reset odo fudge factor to 1.0. Add lockup detection. Separate out ini.cpp. Statically link FLTK (Boost already), X11 still dynamic.
    2012-04-06~ Move iceNm and icekW from 0x039 to 0x348. Plot in psdpwr_G both icekW and kWreq. Add 53F odoint and change summary from DTCdist to ODOint. ODO fudge fac 1.0225->1.02267.
    2012-03-29~ ODO fudge factor 1.023 -> 1.0225. For 2 OBDUSB mode: Add queryOBD2(fd, fplog) to read reply right after sending query, also reduce loop time by 10^4 (basically no wait). Shorten logtime() message length. Add pointer to PSDPWR gauge. Add linepers & reqpers gauges.
    2012-03-21~ Adjust query priority: even more MGs. Add user entries for 2nd OBD-USB port name and baud rate. Put loop of query by 2nd OBDUSB device in a separate thread.
    2012-03 Add check for OBDUSB device resetting itself, adjust query priority: more MGs, less IGN, larger/safer buffer in readandlogdata() and readquerydata(), add 2nd log txt file for 2 OBD-USB mode, change "summary.csv" entry from wT2 (query) to iceT (passive), change ODO factor from 1.022 to 1.023, fix MG kW calculation off by 2 pi/60, add PSDPWR gauge,
    2012-01 Shorten RPM message length check (for older cars), some new colors, fix sqrt_gauge graphics for gas & brake pedal, add run modes for 2 OBD-USB devices running in parallel
    2011-12-20 Try take out wait(0.01) in ATMA loop (VC), Add workaround for T spirit models' cat Ts, Made PSD gauge vertical bar color same as corresponding RPM value box color, Foolproof LogToCSV step size, Fix line style issue due to poor FLTK implementation in W32, Fix missing gaspdlcount++;, add gas pedal and brake gauges, add regen kW etc., add Ubuntu version
    2011-12-02 Added extra delay in initOBD. Added VC_2010 binary. VC: fixed default COM port name and added back re-activation of main control window after stopping
    2011-11 Put some initialization parameters in INI_Settings.xml file (auto created; no longer need ODO.txt): odometer, serial (COM) port name and baud rate, fuel and distance units. Added some tool tips.

===============================================================================


===============================================================================




Source: README.txt, updated 2012-06-25