-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This project is the result of necessity. It is built to be modular, gathering telemetry from available sources and sending useful output where desired.
Please feel free to edit this wiki, add pages, etc to make the documentation more clear.
- Inputs
- Innovate LC-2 oxygen sensor controller
- Ignitech WB-2 oxygen sensor (CAN)
- Ignitech TCIP-4 ignition module
- Custom input via micro-controllers connected to USB or i2c. There are separate projects that cover these.
- Any CAN device via DBC Files
- Outputs
- Log files (the original purpose)
- Dashboard App on a mobile device (Android Only)
- OBD-II compatible diagnostics. Use with any OBD2 reader or app.
-
Get Hardware
-
Raspberry Pi
- Easier to setup with full-size USB ports.
-
Raspberry Pi Zero W
- Smaller, uses less power. Requires use of an adapter to use USB ports.
-
Raspberry Pi
-
Setup Hardware
- Eg. Connect Ignitech ignition with a USB to serial converter
-
Install Raspberry Pi OS
-
Download EngineDataLogger
git clone https://github.com/techie66/EngineDataLogger.git cd EngineDataLogger
-
Install Pre-requisites
There is a script in the main folder of the code that will run the commands to install the current version of each dependency that you may need. The script is simple and assumes Raspberry Pi OS.-
You must have a C/C++ compiler installed, as well as basic development headers.
./install-deps.sh build-essential
-
make sure, autoreconf and cmake command work. If not, install them
sudo apt install dh-autoreconf cmake
-
libIgnitech is needed to talk to a TCIP-4 from Ignitech. Skip this if you don't need it and pass
--without-ignitech
to configure../install-deps.sh ignitech
-
bcm2835 and libISP are needed to talk to an Innovate Motorsports sensor controller. Skip this if you don't need it and pass
--without-isp2
and--without-bcm2835
to configure../install-deps.sh isp
-
Bluetooth development headers and flatbuffers are necessary to communicate with the dashboard companion app. Skip this if you don't need it and pass
--without-flatbuffers
and--without-bluetooth
to configure../install-deps.sh bluetooth ./install-deps.sh flatbuffers
-
-
Install this software
./configure make sudo make install
-
Setup configuration
cd /usr/local/etc/enginedatalogger mv enginedatalogger.conf.dist enginedatalogger.conf nano enginedatalogger.conf
Take a look at the provided conf file for a quick explanation. All command line options can be set in the config file.
Usage: enginedatalogger [OPTION]...
-h, --help Print help and exit
--detailed-help Print help, including all details and hidden
options, and exit
--full-help Print help, including hidden options, and exit
-V, --version Print version and exit
-c, --config-file=filename Configuration file.
-o, --output-file=filename Output file for CSV logging
(default=`/dev/null')
-G, --gpx-file=filename Output file for GPX logging
(default=`/dev/null')
-d, --output-file-date Insert date and time into output filename.
--output-file-format=format
Format string of output CSV file
Comma-separated list of loggable values. Valid items are:
rpm, ig_rpm, alt_rpm, speed, map_kpa, tps_percent, odometer, trip,
systemvoltage, batteryvoltage, oil_temp, oil_pres, lambda,
enginerunning(bool), blink_left(bool), blink_right(bool), advance1,
advance2, advance3, advance4, yaw, pitch, roll, acc_forward, acc_side,
acc_vert, power, latitude, longitude, altitude, gps_speed, gps_heading,
gpsfix, pdop, hdop, vdop, satellitesInView, satellitesInUse, gpstime(UTC),
and time(current date/time)
-g, --gear-ratios=STRING RPM/Speed ratios. Comma separated. (Eg. -g
"175,122,95,78,67")
-W, --weight=kg Weight of vehicle, in kg, to use for
calculations. (default=`300')
-v, --v Verbose output. Specify multiple times for
increasing verbosity.
--verbose=VERBOSITY Set level of verbosity explicitly.
(Overrides -v)
(possible values="NONE", "ERROR",
"WARN", "INFO", "DEBUG"
default=`ERROR')
-q, --quiet Suppress output. Same as --verbose=NONE
(Overrides both -v and --verbose)
Device Interfaces:
-f, --front-controls=device Front controls device
-s, --sleepy=device I2C device to communicate with Sleepy Pi.
--sleepy-addr=0xXX Address for Sleepy Pi. (default=`0x04')
--can=device CAN device to bind to. CAN disabled if not set.
CAN device tweaks:
--mount-offset-roll=FLOAT Offset to zero imu reading
--mount-offset-pitch=FLOAT
Offset to zero imu reading
--roll-pitch-swap Swap roll and pitch. Used depending on physical
sensor orientation. (default=off)