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

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

Home / 2014-04 MFD version
Name Modified Size InfoDownloads / Week
Parent folder
README.txt 2014-04-12 16.8 kB
PriiDash20140411.zip 2014-04-12 1.7 MB
Totals: 2 Items   1.7 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/
************************************************************************************************/

License for NirCmd v2.71 http://www.nirsoft.net/utils/nircmd.html
Copyright (c) 2003 - 2012 Nir Sofer 
This utility is released as freeware. You are allowed to freely distribute this utility via floppy disk, CD-ROM, Internet, or in any other way, as long as you don't charge anything for this. If you distribute this utility, you must include all files in the distribution package, without any modification ! 

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

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 2012/06 and 2013/07 releases. Windows native binary executable now included (2013/07).

•	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.) A Fujitsu Q702 tablet PC is used for recent development though I expect the old netbook to still work fine.
•	Operating System: The software is being actively developed under Cygwin, a Linux environment for Windows, and MinGW, which generates Windows native binary that can be run by double clicking or from a Windows cmd window. It is also possible to compile from source code and link with X11, FLTK, Boost, and muParserX libraries to produce Linux executables. The download zip file includes two precompiled executables: "\PriiDash3\PriiDash3_MinGW\dist\Release\MinGW-Windows\priidash3_mingw.exe" for Windows and "\PriiDash3\dist\Release\Cygwin_4.x-Windows\PriiDash3.exe" for Cygwin. To run "priidash3_mingw.exe", simply double-click it or run from the Windows command line. (Two text files command.txt and formula.txt need to be in the same directory; see below "Directories and Files:" for details.) To run "PriiDash3.exe", first set up Cygwin with X11 and then run from an Xterm. 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. 
•	Note to Contributors: To compile the project from source code, project files for the NetBeans IDE are included in the download zip file. In general, edit the "\PriiDash3\OSdep\xxx\OS.h" file according to your target operating system. The X11, FLTK and Boost libraries can be linked as is. The muParserX library needs a minor modification to add the "%" (modulo) operator and to change the default to non-complex. The files that need changing are included in the download in the "\Code\muparserx_v2_1_2\parser" sub-directory. The user interface is first constructed using Fluid which comes with FLTK. It is saved in Dash.fl. So please use Fluid to make any modification to Dash.fl. After that the two files "Dash.cxx" and "Dash.h" can be auto-generated by Fluid. Do not modify them directly. Please mark your changes to the code clearly before distributing any modified version. 
•	Directories and Files: The precompiled executables ("PriiDash3.exe" and "priidash3_mingw.exe") each 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 (tested on 2003 Honda Odyssey) are included in the download. Another set of text files for gen 2 Prius for "query only" mode is also included for slower OBD-USB devices. There are two optional run-time files: "setBrightness.bat" can be used to set screen brightness and "nircmdc.exe" can be used to save screenshots. A few mandatory data log files are 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.)
•	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, set its drive letter to "f:", and create the OBDLog folder under it.
•	Usage: To run "priidash3_mingw.exe", simply double-click it or run from the Windows command line. To run the program under Cygwin, first open an X terminal (Start | All Programs | Cygwin-X | XWin Server). Change directory (cd) to where the "PriiDash3.exe" file is and enter "./PriiDash3". 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 graphics 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, good for slow OBD-USB devices; 
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;	
o	"read DTC": Read DTC (Diagnostic Trouble Code).
•	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 been 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 or the "Quit" button in the "Gauges" 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.
•	Ian MacArthur, Greg Ercolano, and Albrecht Schlosser from the FLTK general discussion group, who helped to improve usage of FLTK.


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

CHANGELOG

	2013-10 Improve ODO input: prevent accidental reset to max value for touch interface, added up and down buttons. Add car PC battery indicator (updates every 2 sec).
	2013-09 Add PriiDash3MFD project for displaying on MFD. Expand gauge_digital graphic area. Position windows to upper left corner of screen at startup. Plot eff as value2 in ign_G; range 12 ~ 32%.
	2013-08 simulate all gauges, MG1 & MG2 kW gauges change to roll mode, add button and change log file path to text input to allow user setting of default log file path, revive Lite edition
	2013-07 add 2nd pair of accelerometer values, found the accelerometer values are differential signals, add roll mode gauge and add roll mode to thermometers - now can see easily transient T peaks and regen -> friction braking, add save screenshot button - need nircmdc.exe, add MPG roll mode gauge that shows MPG history of most recent 20 miles updated every mile
	2013-05 add num_redraws, move function defs from .h to .cpp, continue improving FLTK usage, revive Windows version using MinGW, add icon for Windows version, improve simulation, show compile date on window title
	2013-05 decode2() no longer check if frame ID is in formula.txt (check done in decodeDriveData), active frame header move up from 0x700 to 0x7E8, add DTC mode (only generic DTCs for now)
	2013-01 Add quit button (equivalent to main window "X"), ignore quit button press while running. Timing 100 iterations in simulation mode. Change Gauges Window to wide format.
	2012-12 Add brake light gauge
	2012-07-17~ Don't limit read error log to EBADF & EIO. Turn on all warnings and clean up code. Change all error log IDs to start with FF1.
	2012-07-13~ VC++2010 version: fix bug char dlm, increase read timeout from 1 ms (way too short) to 10 sec, fix uninitialized chksum, fix & -> && in FL_Gauge.cxx (value places). Add Lite version (fewer gauges displayed) courtesy of nh7o @ PriusChat.
	2012-06-27~ Refine gph update in fn_rpm() for slower mlpr measurements. Add ATMA loop time and read B/s. Add timestamp to error log in readATMAdata(). Change from checking n>0 to msgptr<logptr in readATMAdata(). Add COM port read error log and stop running if read error.
    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 2014-04-12