User avatar
mline
Posts: 1079
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Assetto Corsa

Wed Jul 16, 2014 1:48 pm

Gibts hier jemanden der Assetto Corsa besitzt und regelmässig spielt?
Mache grad ein Telemetriedisplay mit der Pi und könnte Unterstützung brauchen. Es wäre auch Vermarktung möglich (nur Hardware, Software komplett Open Source).

Bitte nur Leute die sich mit Linux/Kernel(+Module) im Allgemeinen, buildroot, mindestens einer Hochsprache auskennen und an Lernen sowie Mitarbeit interessiert sind.

Habe schon einiges Vorbereitet jedoch ist noch viel zu tun. Bei Interesse per PN melden. Mehr Infos gibts ebenfalls via PN.

Notwendiges:
  • Raspberry Pi Modell B oder B+ und notwendiges Zubehör
  • Watterott RPi-Display
  • Assetto Corsa (keine Raubkopie) (+Windows-System)
  • Linux-System (zum Programmieren)
  • github Account
<~~>

User avatar
mline
Posts: 1079
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Assetto Corsa

Sat Jul 19, 2014 7:58 pm

Hab nun buildroot fertig.
Quasi ohne Änderungen startet der Kernel (+ Netzwerk via dhcp) in etwa 5 Sekunden. Das Starten des X-Servers braucht dann nochmal etwa 2 Sekunden.
Geht also ähnlich schnell wie der Boardcomputer im Auto.

Jetzt arbeite ich erstmal auf Ubuntu weiter an der GUI für die Raspberry Pi. X wird wohl zu wenig sein denn das ganze soll ja fein aussehen. Mehr will ich aber eigentlich auch nicht sonst dauert das booten zu lange. Da muss ich mich noch einlesen

UDP Verbindung klappt auch. shared memory ist schon ne feine Sache ;)
<~~>

User avatar
mline
Posts: 1079
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Assetto Corsa

Wed Jul 23, 2014 5:58 am

Hab nochmal an der Verbindung gearbeitet. Es wird jetzt UDP Broadcast verwendet. Damit ist es möglich so viele LCDs anzusprechen wie es freie IP-Addressen im Netzwerk gibt. Traffic im Netzwerk ist dabei nicht spürbar (256+240+148 * 60Hz = 37,7kb/s theoretisches Maximum).

Außerdem wird die Struktur vom shared memory 1 zu 1 übernommen, zur Gegenstelle übertragen und dort wieder in diese Struktur gespeichert. Ist also als wäre da kein Netzwerk dazwischen.

WLAN ist möglich jedoch musste ich feststellen das die Latenzen einen unschönen Effekt bei den Anzeigen haben. Ist also nicht zu empfehlen.

Das Programm läuft bereits auf der Pi mit buildroot. Es fehlt nun nur mehr die GUI für die erste Version. Ich habe mich erstmal für QT entschieden. Mal sehen ob es das kann was ich will.
<~~>

User avatar
mline
Posts: 1079
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Assetto Corsa

Fri Aug 01, 2014 7:15 am

Da absolut kein Interesse besteht (auch von der AC Community) kann der Thread geschlossen und/oder gelöscht werden
<~~>

sumpfgottheit
Posts: 3
Joined: Mon Sep 29, 2014 9:30 pm

Re: Assetto Corsa

Mon Sep 29, 2014 9:32 pm

Hi,

Wie ist denn der Status Deines Projekts?

Lg
Florian

User avatar
mline
Posts: 1079
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Assetto Corsa

Tue Sep 30, 2014 12:17 pm

Da die Umstellung auf wchar Probleme bereitet hat (windows wchar 16 bit; linux wchar 32 bit) habe ich den eigenen Wrapper in die Tonne gekickt.
Inzwischen nutze ich ein Browser-only-System in Verbindung mit:
http://www.simracing-tools.de/simtools/ ... /dashboard

Hab mir dafür ein Style angepasst welches am RPi-Display mit Vollbild angezeigt wird.
https://vimeo.com/105427827
<~~>

User avatar
mline
Posts: 1079
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Assetto Corsa

Sat Oct 18, 2014 2:59 pm

Den Style für diese Dashboard-Software gibts hier:
http://www.simracing-tools.de/simtools/ ... rds/58-rpi
Der RPM-Balken oben hat einen Fehler. Muss das File noch updaten wenn ich dazu komm ;)

Änderungen an raspbian für eines der 2,8" TFT-Displays wären wie folgt (ab 3.18.8+ ist fbtft in staging):

Code: Select all

sudo rpi-update
Jetzt raspi-config starten und ic2 sowie spi aktivieren.
Folgendes am Ende der Datei /boot/config.txt einfügen:

Code: Select all

dtoverlay=rpi-display,speed=32000000,rotate=270
Beim watterott TFT folgendes in die Datei /etc/modules einfügen:

Code: Select all

ads7846_device model=7846 cs=1 gpio_pendown=25 speed=2000000 keep_vref_on=1 swap_xy=1 pressure_max=255 x_plate_ohms=60 x_min=200 x_max=3900 y_min=200 y_max=3900  swap_xy=1

Code: Select all

sudo reboot

Code: Select all

sudo apt-get install chromium x11-xserver-utils unclutter
In der Datei /etc/xdg/lxsession/LXDE/autostart alles auskommentieren und folgendes eintragen

Code: Select all

@xset s off
@xset -dpms
@xset s noblank
@chromium --kiosk --incognito http://ip:port/RPi
Für raspbian vom Dez 2014 verwende diese Pfad: /etc/xdg/lxsession/LXDE-pi/autostart

In der Datei /usr/share/X11/xorg.conf.d/99-fbturbo.conf folgendes ändern:

Code: Select all

#Option          "fbdev" "/dev/fb0"
Option          "fbdev" "/dev/fb1"
Wenn die Eingabe verdreht ist in der Datei /etc/X11/xinit/xinitrc folgendes ändern (die dritte Zeile ist in der Datei schon vorhanden):

Code: Select all

DISPLAY=:0 xinput --set-prop 'ADS7846 Touchscreen' 'Evdev Axes Swap' 1
DISPLAY=:0 xinput --set-prop 'ADS7846 Touchscreen' 'Evdev Axis Inversion' 0 1
. /etc/X11/Xsession
Für mich passts, muss aber je nachdem wie man den Screen gedreht hat ändern. Kalibrierung kann man ausführen und eintragen ist aber nicht notwendig.

Das Style hat außerdem vier Touch-Funktionen in den jeweiligen Ecken des Screens. Links oben kommt man zur Auswahlliste der Dashboard-Software. Links unten wird das System heruntergefahren. Rechts oben schaltet die Hintergrundbeleuchtung an/aus (funktioniert eventuell nur mit dem rpi-display von watterott). Rechts unten aktualisiert die Seite.
Man benötigt lighttpd und php5 für shutdown und backlight sowie einige Scripte.

Code: Select all

sudo apt-get install lighttpd php5-cgi
sudo lighty-enable-mod fastcgi-php
sudo service lighttpd restart
In die Datei /etc/sudoers folgendes eintragen:

Code: Select all

www-data ALL=(ALL) NOPASSWD: /sbin/halt, /usr/bin/tee
/usr/bin/backlighton

Code: Select all

#!/bin/sh
echo 0 | sudo tee /sys/class/backlight/*/bl_power
/usr/bin/backlightoff

Code: Select all

#!/bin/sh
echo 1 | sudo tee /sys/class/backlight/*/bl_power
/var/www/backlight.php

Code: Select all

<?php
exec("cat /sys/class/backlight/*/bl_power",$ret);
print_r($ret);
if($ret[0] == 0) {
	exec("/usr/bin/backlightoff");
} else {
	exec("/usr/bin/backlighton");
}
?>
/var/www/shutdown.php

Code: Select all

<?php
exec("sudo halt");
?>
Last edited by mline on Thu Mar 05, 2015 2:09 pm, edited 3 times in total.
<~~>

sumpfgottheit
Posts: 3
Joined: Mon Sep 29, 2014 9:30 pm

Re: Assetto Corsa

Sat Nov 08, 2014 10:49 pm

Hi,

Ich bin auch grad dabei sowas zu entwickeln. Ich verwende dabei eine AC-App als Server, weil ich via Lenkradbutton die Anzeige ändern möchte. Ich bau die Sachen mit pygame - allerdings hängt der pi bei der kommunikation über udp und wlan immer ein wenig nach - nur wenn ich nur bei jeder 10ten frame ein paket schicke dürfts einigermassen gehen....

Lgm
Floriann

User avatar
mline
Posts: 1079
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Assetto Corsa

Sat Nov 08, 2014 11:19 pm

sumpfgottheit wrote:nur wenn ich nur bei jeder 10ten frame ein paket schicke dürfts einigermassen gehen....
Das liegt einfach daran das InGameApps bei sowas zu wenig Zeit haben. Darum gibts ja auch die Shared Memory Schnittstelle. Da hat das Game selbst keine Probleme mit der Laufzeit anderer Programme
<~~>

User avatar
mline
Posts: 1079
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Assetto Corsa (Tutorial in English)

Sat Dec 13, 2014 4:00 pm

You can get the style for the Dashboard-Software here:
http://www.simracing-tools.de/simtools/ ... rds/58-rpi
There is a bug in the RPM-Indicatior routine. I would update this if i found time ;)

Changes for the raspbian system to use a 2.8" TFT-Display (since 3.18.8+ fbtft is in staging):

Code: Select all

sudo rpi-update
Run raspi-config and enable i2c and spi.
At end of file /boot/config.txt add:

Code: Select all

dtoverlay=rpi-display,speed=32000000,rotate=270
For the watterott TFT add in file /etc/modules this content:

Code: Select all

ads7846_device model=7846 cs=1 gpio_pendown=25 speed=2000000 keep_vref_on=1 swap_xy=1 pressure_max=255 x_plate_ohms=60 x_min=200 x_max=3900 y_min=200 y_max=3900 swap_xy=1

Code: Select all

sudo reboot

Code: Select all

sudo apt-get install chromium x11-xserver-utils unclutter
Uncomment all content inside file /etc/xdg/lxsession/LXDE/autostart and add:

Code: Select all

@xset s off
@xset -dpms
@xset s noblank
@chromium --kiosk --incognito http://ip:port/RPi
For raspbian from Dec 2014 use this path: /etc/xdg/lxsession/LXDE-pi/autostart

Inside file /usr/share/X11/xorg.conf.d/99-fbturbo.conf make this change:

Code: Select all

#Option          "fbdev" "/dev/fb0"
Option          "fbdev" "/dev/fb1"
If your input is flipped change file /etc/X11/xinit/xinitrc to (third line exist in file):

Code: Select all

DISPLAY=:0 xinput --set-prop 'ADS7846 Touchscreen' 'Evdev Axes Swap' 1
DISPLAY=:0 xinput --set-prop 'ADS7846 Touchscreen' 'Evdev Axis Inversion' 0 1
. /etc/X11/Xsession
You should change this values to apply input to your screen rotation. You can execute calibration and add values but its not necessary.

This style has four touch-functions in the respective corners of the screen. Left upside you go to dashboards style-list. Left downside shutdown the system. With the right upside button you can activate/deactivate backlight (works only with rpi-display). Right downside refreshes Page.
Lighttpd and php5 is required for backlight and shutdown.

Code: Select all

sudo apt-get install lighttpd php5-cgi
sudo lighty-enable-mod fastcgi-php
sudo service lighttpd restart
In file /etc/sudoers add:

Code: Select all

www-data ALL=(ALL) NOPASSWD: /sbin/halt, /usr/bin/tee
/usr/bin/backlighton

Code: Select all

#!/bin/sh
echo 0 | sudo tee /sys/class/backlight/*/bl_power
/usr/bin/backlightoff

Code: Select all

#!/bin/sh
echo 1 | sudo tee /sys/class/backlight/*/bl_power
/var/www/backlight.php

Code: Select all

<?php
exec("cat /sys/class/backlight/*/bl_power",$ret);
print_r($ret);
if($ret[0] == 0) {
	exec("/usr/bin/backlightoff");
} else {
	exec("/usr/bin/backlighton");
}
?>
/var/www/shutdown.php

Code: Select all

<?php
exec("sudo halt");
?>
If you can read this then my english is not so bad :D
Wer gut Englisch kann könnte so nett sein und den deutschen Text übersetzen oder hier Fehler korrigieren.
Last edited by mline on Thu Mar 05, 2015 2:10 pm, edited 2 times in total.
<~~>

User avatar
mline
Posts: 1079
Joined: Sun Jan 27, 2013 1:47 pm
Location: Austria, Vienna

Re: Assetto Corsa

Mon Dec 15, 2014 7:09 pm

Die Pi sollte übertaktet werden. Bitte diese Anleitung benutzen und im Menü Overclock auf 1000MHz stellen.
The Pi should be overclocked. Please use this tutorial and set 1000MHz inside menu Overclock.
http://www.raspberrypi.org/documentatio ... -config.md
<~~>

sumpfgottheit
Posts: 3
Joined: Mon Sep 29, 2014 9:30 pm

Re: Assetto Corsa

Sun Jan 03, 2016 8:09 pm

I have created a Dashboard for Assetto Corsa using the Watterot Display. The Code can be found on Github: https://github.com/sumpfgottheit/pdu1800

It uses a compagnon app, the pdu1800_data_provider, which acts as AC plugin. The Dashboard itself is written in Python/Pygame.

best regards,
florian

Return to “Deutsch”

Who is online

Users browsing this forum: No registered users and 5 guests