PowerTune is a Modern Gauge Display for written in QT5.8 and supports the following ECU's:
Testet Platforms :
Ubuntu 17.04 Raspbian Jessie 2017-04-10 Raspbian Stretch
Tested Vehicles Apexi PFC : | ECU Variant: | FC Hako: | FC Datalogit: | Confirmed by : |
---|---|---|---|---|
Mazda RX7 FD3S | (13B-REW) | ✓ | Markus Ippy | |
Toyota MR2 | (3S-GTE3) | ✓ | Tolis Kofoglou | |
Toyota MR2 | (3S-GTE ) | ✓ | Juan Pena | |
Nissan Skyline R33 GTST ENR33 | (RB25DETT) | ✓ | Michael Kwaaitaal | |
Nissan Skyline R32 GT-R BNR32 | (RB26DETT) | ✓ | Alpheus Booth | |
Toyota Soarer | (1JZ-GTE3) | ✓ | Kieron Sandhu | |
(SR20DET1) | ✓ | Damian James Holmes |
Tested Vehicles Adaptronic: | ECU Variant: | Interface: | Confirmed: | Confirmed by : |
---|---|---|---|---|
Mazda RX7 FD3S | (13B-REW) Select Plugin S8* | Serial | ✓ | Bastian Gschrey |
Mazda RX7 FD3S | (13B-REW) Modular | CAN (PICAN2) | ✓ | Bastian Gschrey |
Soon to be tested : | ECU Variant: | Variant: | Confirmed: | Confirmed by : |
---|---|---|---|---|
Nissan Silvia S14 | (SR20DET1) | Nistune |
Tested Vehicles : | ECU Variant: | Interface: | Confirmed: | Confirmed by : |
---|---|---|---|---|
Mazda RX7 FD3S | Haltech Elite 2000 | CAN (PICAN2) | ✓ | Bastian Gschrey |
Implemented Features :
Build a Raspberry Pi image with Buildroot:
This was tested on Ubuntu 17.04
$ git clone https://github.com/MarkusIppy/buildroot.git
$ cd buildroot
$ make powertune_rpi3_defconfig
If you use another screen than the official pi Screen , edit the following file
$ nano /buildroot/board/powertune/rpi3/rootfs/profile.d/qt5-env.sh
Press "Ctrl+x" when you finished modifing the file and plress "y" to save
$ make
This will download all required sourcecode into a seperate folder called "dl" Once the compilation has finished it will create a pi image called "powertune.img" in the folder /buildroot/output/images
Flash the image to your SD card ( you can user Etcher or do it via command Line ) Etcher can be downloaded her https://etcher.io/
The image currently has a boot time of approx 17 seconds until PowerTune is starting ( i am still working on optimization )
About the image : The username and password are :
user: pi pw: raspberry
Not all linux commands are supported and there is no need to use sudo
Should you wish to use Wlan :
quit PowerTune
Log in with user and password from above
Switch to root user
$ sudo su root
Type the following:
$ wpa_passphrase "YourSSIDHere" "YourPasswordHere" >> /etc/wpa_supplicant/wpa_supplicant.conf
Pro-tip: edit the file and delete the line: #psk=YourPasswordHere
$ reboot
Now your pi will always log into WLAN at boot
Build your own Debian Stretch image:
On a fresh Debian Stretch image build QT5.8 I made some scripts here :
https://github.com/MarkusIppy/QT5.x-raspbian-stretch
Now download the sourcecode for PowerTune
$ git clone https://github.com/BastianGschrey/PowerTune.git
Your source code is now available in /home/pi/PowerTune
Now creade a directory where we compile and start PowerTune from :
$ sudo mkdir /opt/PowerTune
$ sudo chown pi:pi /opt/PowerTune
Compile PowerTune:
$ cd /opt/PowerTune
$ qmake /home/pi/PowerTune/PowerTuneQMLGui.pro
$ make -j4
now PowerTune is installed in /opt/PowerTune
Create a start script for PowerTune :
$ sudo nano /home/pi/startPowerTune.sh
Insert the following text into startPowerTune.sh
export QT_QPA_EGLFS_PHYSICAL_WIDTH=155
export QT_QPA_EGLFS_PHYSICAL_HEIGHT=86
/opt/PowerTune/PowerTuneQMLGui
save the file by pressing "ctrl"+"x" and then press "y"
Make the script executable :
$ sudo chmod +x /home/pi/startPowerTune.sh
Test the script
$ ./startPowerTune.sh
Now we can build ourselfs a update script for PowerTune
$ sudo nano /home/pi/update.sh
Insert the following into the file
cd /home/pi/PowerTune
git pull
cd /opt/PowerTune
qmake /home/pi/PowerTune/PowerTuneQMLGui.pro
make -j4
save the file by pressing "ctrl"+"x" and then press "y"
Make the script executable :
$ sudo chmod +x /home/pi/update.sh
Making PowerTune Autostart at Boot
Create a sercive to launch the startPowerTune.sh script at boot
$ sudo nano /etc/systemd/system/PowerTune.service
Insert the following text into PowerTune.service
[Unit]
Description=PowerTune
[Service]
Type=simple
ExecStart=/home/pi/startPowerTune.sh
[Install]
WantedBy=multi-user.target
Test if the script works:
$ sudo systemctl start PowerTune.service
If PowerTune is launching, quit PowerTune
Now enable the script
$ sudo systemctl enable PowerTune.service
Reboot your pi and you should see PowerTune starting at boot
$ sudo reboot
12.Launch a custom video at boot with OMXPlayer
$ sudo nano /etc/systemd/system/bootsplash.service
Copy the following content into the file and save it ( this example assumes you have a video called "bootvideo.mp4" in the folder: "/home/pi/" :
[Unit]
Description=BootSplash
DefaultDependencies=no
After=local-fs.target
Before=basic.target
[Service]
Type=simple
ExecStart=/usr/bin/omxplayer -b /home/pi/bootvideo.mp4
[Install]
WantedBy=getty.target
Test if the script works:
$ sudo systemctl start bootsplash.service
If the video is playing , then enable the script:
$ sudo systemctl enable bootsplash.service
Reboot your pi and you should see your video at boot
$ sudo reboot
QML Sensor Inputs: | Description |
---|---|
Dashboard.revs | RPM |
Dashboard.Intakepress | |
Dashboard.PressureV | MAP Sensor Voltage |
Dashboard.ThrottleV | Throttle Voltage |
Dashboard.Primaryinp | |
Dashboard.Fuelc | |
Dashboard.Leadingign | Leading ignition degree |
Dashboard.Trailingign | Trailing ignition degree |
Dashboard.Fueltemp | Fueltemp |
Dashboard.Moilp | Oil pump |
Dashboard.Boosttp | Precontrol Duty % |
Dashboard.Boostwg | Wastegate Duty % |
Dashboard.Watertemp | Water temperature |
Dashboard.Intaketemp | Intake temperature |
Dashboard.Knock | Knock |
Dashboard.BatteryV | Battery Voltage |
Dashboard.speed | Vehicle Speed |
Dashboard.Iscvduty | |
Dashboard.O2volt | O2 Sensor Voltage |
Dashboard.O2volt_2 | O2 Sensor2 Voltage |
Dashboard.Secinjpulse | Secondary injector pulse width |
Dashboard.InjDuty | Injector duty % |
Dashboard.pim | |
Dashboard.EngLoad | Engine Load % |
Dashboard.MAF1V | MAF 1 voltage |
Dashboard.MAF2V | MAF 2 voltage |
Dashboard.injms | |
Dashboard.Inj | |
Dashboard.Ign | |
Dashboard.Dwell | |
Dashboard.BoostPres | |
Dashboard.BoostDuty | |
Dashboard.MAFactivity |