PALMLOG
Looking for the latest PalmLog (V2.7) for your handheld? DOWNLOAD HERE
For those interested, PalmLog was developed using HB++, which is available free for non-commercial applications. PalmLog source code is available here.
PALMLOG USER GUIDE:
PalmLog is a data-logging program which includes real-time
display screens, and is configurable for a wide variety of code bases, MS1, MSnS-E
and MS2. It can datalog at two different rates (standard and burst mode) in up
to three separate files. File size is limited only to the free storage
space in the Palm handheld. PalmLog does NOT support logging to external
memory cards.
The Palm reads in the raw real-time string of bytes returned by MS, and writes
them to an internal database. This is the reason it is so easy to use PalmLog
for a wide variety of different code variants. As long as the length of the
real-time data string is properly configured, all is well from a logging
standpoint. Maximum logging time depends on the embedded code being used,
and the free memory in the Palm device. Running standard MS1 V3.0 embedded
code, the real-time data string is 22 bytes in length, giving about 2hrs per Mb
of free memory at the standard logging rate of about 6 records per second.
Displaying the real-time data variables in PalmLog is a bit more difficult, as
the type (8bit vs 16 bit), and location within the data stream varies from code
to code. These aspects are hard-coded into PalmLog.
INSTALLING THE FILES:
You must install both the .prc and .pdb files for the program to function
properly. Use the "HotSync Manager" within the free Palm Desktop software to
install the files into the Palm. Perform a Hot-Sync with your Palm device first
to make sure the connection between the PC and the Palm is working properly.
PALMLOG SETUP:

For PalmLog to datalog the information from the MS it needs to know what code
you are running in your MS. You can access the setup screen by touching the
stylus on the word "PalmLog" at the top LHS of the screen. There will be a
dropdown config menu, press on "setup". This page is for editing values to make
PalmLog read your MS correctly. At the bottom RHS of the screen there are two
values - "RTU Char" and "Bytes". Set these two values according to this table:
| Code | RTU Char | Bytes |
| MS1 V3.0 | A | 22 |
| MSnS-E 021 | R | 35 |
| MSnS-E 024 | R | 38 |
| MSnS-E 029 | R | 39 |
| MS2 v2.3 to v2.8 | a | 112 |
| MS2Extra-2.0 | A | 152 |
If using MS2 or MS2Extra, you also need to tick the "MS2 v2.3+" box, which will properly
format the MS2 run-time data for display.
If you are using a code variant that is not covered in the table above, you can
find the values for RTU Char and Bytes in the msns-extra.ini or
megasquirt-II.ini file by opening the .ini file with notepad/wordpad and doing a
search for [OutputChannels]. You will see something similar to this:
[OutputChannels]deadValue = { 0 } ; Convenient unchanging value.
ochGetCommand = "R" ; was "a" and before that "A"
ochBlockSize = 41 ; was 38
Enter the ochGetCommand value for RTU Char, and the ochBlockSize value for
Bytes.
At this stage PalmLog will now have enough info to do data-logging, so if you're
bursting at the seams to do some logging then go to the "USING PALMLOG" section.
The rest of the setup procedure below is to ensure that PalmLog displays the
real-time values correctly, and does not affect data-logging, as the log file is
stored as raw data, and converted on your desktop machine using MegaTune.
Starting at the top LHS is "MAP-Off" (MAP-Offset) and "MAP-Sc" (MAP-Scale).
Values for the MS standard shipped MPX4250 MAP sensor are 9.0 and 0.984
respectively. This allows users with map sensors other than the standard MPX4250
to configure PalmLog to display properly. Read the section below on setting up a
wideband 02 to better understand how the offset and scale factors work.
If you use non-standard coolant and/or mat sensors then you need to fill in the
rest of the info on the LHS of the setup screen by opening up your current
matfactor.inc and/or thermfactor.inc files using notepad, and writing in the
values for the bias resistor and co-efficients A/B/C. Matfactor.inc is for
manifold AIR temp, and shown below is the beginning of a non-standard
matfactor.inc file. The "A-Bias" in PalmLog is the value of the bias resistor
used, in this case it is the standard value of 2490. The coefficients
"Air-A/B/C" are filled in to 3 decimal places, so for example, Air-A would be
written in as 1.435E-3 (rounding up 1.434554 to 1.435). Air-B would be written
as 2.360E-4 and Air-C as 1.111E-7.
; Generated using EasyTherm4.exe,
;
; Air Temp Thermistor Comment Field
;
; File generated for use with stock 2490 ohm resistor at R4
;
; Steinhart-Hart coefficients: A= 1.434554E-03 B=2.360052E-04 C= 1.110723E-07
In the same way the thermfactor.inc file is opened to get the "C-bias" coolant
bias resistor value, and the "Cool-A/B/C" coolant coefficients A,B and C.
For your 02 sensor tick either the "EGO Volts", "diy wb" or "other wb" box. PalmLog
is already preconfigured if you tick the EGO Volts or diy wb box, otherwise tick the
"other wb" box and configure the settings at the top RHS of the screen with the
WB-Off (wideband offset) and WB-Sc (wideband scale) settings. PalmLog then
presumes you are running a WB 02 that outputs a 0 to 5V output to MS. Because a
lot of WB manufacturers have different or programmable outputs you need to tell
PalmLog what AFR is represented by 0V and 5V. So if your WB output from 0V to 5V
represents 9 to 19 AFR then the PalmLog setting for WB-Off (WB offset) is 9
because 0V = 9:1 AFR. To determine the WB-Sc (WB scale) the highest AFR is
subtracted from the lowest AFR and divided by 5. In this case, 19 - 9 = 10, 10
divided by 5 = 2, so we set 2 as the WB-Sc. If using a narrow band EGO
sensor, select EGO Volts, as this option forces voltage to be displayed instead
of AFR. Note all these settings only affect
the palm displayed values and do not influence logged values, those are
processed by MegaTune during the upload.
Tick the 'Boost in psi' box to allow boost to be displayed in psi instead of kPa,
and same for the "Fahr" box to display *F instead of *C.
*** After making changes to setup, be sure to exit and
re-start PalmLog. ***
USING PALMLOG:
Connect the Palm to the MS using a serial hot-sync cable fitted with a
null-modem adaptor or a custom-made equivalent cable, power up the MS and launch
PalmLog. When PalmLog is opened the first real-time display screen is shown with
its 16 runtime variables. In the lower right hand side of the screen the word
"Connected!" will appear to indicate a successful connection, otherwise "No
Connect" will be displayed. To start logging press the word "LOG" at the bottom
left hand side of the screen, and "STOP" to stop logging. Alternatively you can
use the scroll-up button to start logging, and the scroll-down button to stop
logging (this is the 2-way rocker button at the bottom of the Palm in the
middle). If you press the scroll-up button again it simply continues logging on
the same file which is useful if you want to do a series of short logs that will
be recorded on the same file. The word "LOG" at the bottom of the screen changes
to "STOP" for the duration of the log.
There are three files you can datalog to. These are accessible by using the
"Files" soft button (use the stylus on the screen) and tick the box
corresponding to the file you wish the datalog to be recorded in. From this page
you can also see the recording date and number of logged lines in each of the
three files, upload datalog files to MegaTune or manually delete files so you
can record new datalogs.
PalmLog includes a burst logging mode, that does no real-time display screen
updates, and very little error checking, in order to record the maximum number
of samples per second. This gives a much faster sampling rate than the standard
logging mode, and can be used to obtain more detail or for logging transients,
otherwise standard mode is recommended. To start burst logging press the "Burst"
soft button on the screen, and again to stop it. The standard logging speed is
around 5 or 6 samples per second, and burst mode is approx 20 samples per second
(logging speed can vary slightly depending on the MS code and Palm model).
There are also two alternative "BigFont" real-time display screens, the first one
displays just two variables (e.g. MAP and RPM) in very large numbers, the second
displays four large variables. By tapping on the screen where each variable is
displayed you can cycle the display through all available variables, in other
words, you can choose what you wish to see displayed. PalmLog will remember what
variables were last displayed in any particular screen so you only have to set
it up once. To cycle through the three real-time display screens use the button
at the bottom far RHS of the Palm. These large font displays will be completely
blank unless you are connected to MS. At this stage MS2 is not supported on the
"BigFont" screens.If you are using MSnS-E "hi-res" code the pulse width will not
be correct on the PalmLog display, but will be correct in the datalog.
TIP: You can turn on the Palm and launch PalmLog simply by pressing one of the
four lower buttons. To enable this go to "Preferences" and press in the top
right hand corner of the screen and select "Buttons" from the drop-down menu.
Then assign PalmLog to one of the buttons. This way you can record a datalog
without having to use the stylus.
UPLOADING THE DATALOG FROM PALM TO
PC:
1) Use the standard Palm cradle or standard Palm serial hot-sync cable to
connect the Palm to the PC. Note that you cannot use the exact same cable that
connects the Palm to the MS, as the receive and transmit wires are swapped over,
unless you have a null-modem adaptor on the cable and you remove it. Make sure
on your PC that the Palm Hot-Sync Manager is turned off, otherwise it will block
the serial port and prevent the upload.
2) Open up Megatune on the PC. MegaTune doesn't know your setup unless you open
an .msq file for your vehicle prior to uploading the datalog. If an .msq isn't
opened first, then the code default values are used, which can result in duty
cycle and rpm values being incorrect.
3) In MegaTune, click on File/Datalogging/Burst mode and then save the file. The
window will say "static" as MT is waiting for some serial data from the Palm. In
PalmLog, go to the Files page, tick the box next to the log to be uploaded, and
start the upload process by selecting 'Upload' from the drop-down menu. You'll
then see activity in the Burst window of MegaTune, as it digests the data being
sent over from the Palm. Once activity stops in MegaTune, click on the cancel
button in the MegaTune window. Your datalog is now on the PC, formatted the same
as if it were logged directly via MegaTune.
After you have uploaded the files from the Palm to the PC, you need to manually
delete the log files from the Palm before you can log new fresh ones. If you
don't delete them and start logging again, the new data will be added to the end
of the existing old files.
If you are having problems connecting and you happen to use a serial port for
uploading files to Megatune that is different to the one that MegaTune normally
uses to connect to your MS, then edit the file called 'custom.ini' located in
the Megasquirt/car1/mtCfg folder, and assign the proper serial port to Burst
Mode. That section of the custom.ini file looks like this:
Code:
; Uncomment this section if you wish to change the defaults. The commPort
; used for burst mode is normally the same as used for MS, but if you have
; your Palm hooked to a different port, then change it here.
; Set initialDeltaT to the value at which the datalog was recorded. In
; MT, this would correspond to the Communications -> Settings -> Timer
; Interval value.
#set ALTERNATE_BURST_MODE_SETTINGS
#if ALTERNATE_BURST_MODE_SETTINGS
[BurstMode]
commPort = 1
commRate = 115200
getCommand = "A"
initialDeltaT = 0.100 ; seconds
#endif
For more information or help visit the Palm Software sub-forum at
msefi forum.
Many thanks to Ian (newtyres1) for his help in documenting this application.
Updated: Apr. 30/2007