s-victor / tinypedal Goto Github PK
View Code? Open in Web Editor NEWFree and Open Source telemetry overlay application for racing simulation
License: GNU General Public License v3.0
Free and Open Source telemetry overlay application for racing simulation
License: GNU General Public License v3.0
I've got 5 monitors in total connected to my PC. In order to have not all of them active at the same time I'm using the tool "Monitor Profile Switcher". In this way I can activate the Monitors on my Rig using a Hotkey. All other monitors (like on the desc) will then be disabled. Since TinyPedal is in AutoStart it is running with different Monitor Configurations. I think this is the reason why the widget positions are messed up every time.
It would help if the positions could be saved depending on the currently active monitor.
How about adding a "heatmap_auto" option to the heatmap related widgets to try to automatically set heatmaps for the class car?
I think that could be a useful addition, because changing the heatmap option every time you race another mod can be forgettable and slow.
I was thinking of extending the classes.json functionality to add autoheatmap and autobrakemap to each known class and then use this (if available) to change the heatmap dynamically.
For example, from this:
"LMP1": { "LMP1": "#FF00AA" }, "GT3": { "GT3": "#229900" },
to this:
"LMP1": { "LMP1": { "color":"#FF00AA", "autotyreheatmap":"tyre_optimal_90", "autobrakemap":"brake_optimal_700" } }, "GT3": { "GT3": { "color":"#229900", "autotyreheatmap":"tyre_optimal_70", "autobrakemap":"brake_optimal_400" } },
Yes, I know, this will only be useful if we add the most popular mods and theoretical heatmaps.
I can code it in my fork if you believe in it.
(Sorry for my english)
Hi there,
This is not a bug report but more of an enhancement request. I don't really understand how the *_color_surface
values are supposed to work for coloring the tire temperature.
My settings are the defaults of:
"font_color_surface": "#000000",
"bkg_color_surface": "#222222",
But #000000
and #222222
are nearly black. The display is definitely not black.
Mostly the tire spends time between red (cold) and yellow (hotter) which makes no sense.
I'd like to mimic the rFactor2 native style color temperature behavior where blue is cold and orange/white is completely overheated. There's basically no color/visual difference right now between normal operating temperature (~145F) and "burning up hot" (210F+). Maybe this is a bug with C versus F?
Any tips here?
This is the traceback:
Traceback (most recent call last):
File "D:\TinyPedal\run.py", line 61, in <module>
load_tinypedal()
File "D:\TinyPedal\run.py", line 53, in load_tinypedal
start_tray(root)
File "D:\TinyPedal\tinypedal\about.py", line 106, in start_tray
from tinypedal.tray import TrayIcon
File "D:\TinyPedal\tinypedal\tray.py", line 28, in <module>
from .load_func import module
File "D:\TinyPedal\tinypedal\load_func.py", line 26, in <module>
from .realtime_delta import DeltaTime
File "D:\TinyPedal\tinypedal\realtime_delta.py", line 27, in <module>
from .readapi import info, chknm, cs2py, state, combo_check
File "D:\TinyPedal\tinypedal\readapi.py", line 40, in <module>
info = SimInfoAPI("")
File "D:\TinyPedal\pyRfactor2SharedMemory\sharedMemoryAPI.py", line 32, in __init__
rF2data.SimInfo.__init__(self, input_pid)
File "D:\TinyPedal\pyRfactor2SharedMemory\rF2data.py", line 697, in __init__
self._rf2_tele = mmap.mmap(0, ctypes.sizeof(rF2Telemetry), f"$rFactor2SMMP_Telemetry${input_pid}")
PermissionError: [WinError 5] Access is denied
Exception ignored in: <function SimInfoAPI.__del__ at 0x0000026087C43130>
Traceback (most recent call last):
File "D:\TinyPedal\pyRfactor2SharedMemory\sharedMemoryAPI.py", line 288, in __del__
self.close()
File "D:\TinyPedal\pyRfactor2SharedMemory\rF2data.py", line 709, in close
self._rf2_tele.close()
AttributeError: 'SimInfoAPI' object has no attribute '_rf2_tele'
I get the same traceback in both cases (exe and python run.py
)
Not really an issue with TinyPedal, but thought worth reporting in case someone else is running in the same issue.
I was getting a segfault at startup when running the last release (as of 2024-01-21) using PySide2, python 3.12.1 on a Fedora 39 system.
I was able to track down the issue being PySide2.
I was able to "workaround" the issue by upgrading TinyPedal to use PySide6 (it was just a matter of updating the imports).
Would it be possible to have the option to show the pitcount of my oponents on the relatives overlay?
Currently we have show_pit_status but this one only shows while the car is in the pits.
Another thing that I think could be helpfull would be the option to show also the car name, this can also help on the strategy as some cars may have more or less tire wear || fuel consumption, knowing that may also help in defining a strategy.
I had a look on the SM and seem that both info is provided.
thanks!
It would be nice to have some of the session info available -- current lap vs. max laps, time left in session, etc.
Some of these are inspiration:
https://www.racedepartment.com/downloads/rf2-simhub-mmo-modern-multiclass-overlay-standings-relative-tires.45898/
I can try to work on some of this if you are interested.
When restarting TinyPedal the config UI don't go to the last position.
In dual screen, before Quit :
And after restart :
The Config seems to be stuck on limits of Display 1.
The app.py load_window_position function is probably limiting the position loaded.
Discussion on S397 Forum :
https://forum.studio-397.com/index.php?threads/tinypedal-open-source-overlay-app-for-rf2-radar-pedal-ffb-deltabest-relative-fuel-calculator.71557/page-28#post-1138583
In a 2 hour session (current rf2 competition system) the widgets fail to show up on around 2 or 3 occasions, after clicking Drive. I have to go back to garage a couple of times before it shows up again.
Using latest Shared Memory Map Plugin and TinyPedal 1.6.6.
Other applications in use: CrewChief, FanaLEDs
Hi.
I have TinyPedal running on Linux pretty well after some changes to the code. There are some issues that could be changed with some more changes.
I want to create PR and I'm willing to support the tool on Linux. I can't help much with the Windows support because I don't have a Windows installation to test but I'm doing the changes to be as safe as possible for other platforms.
How do you feel about going cross-platform with TinyPedal?
To iron out the remaining issues I would need to do further changes to the code that would be easier if it got some refactorization to avoid duplication of code. Would you mind that I create PR for those refactorization changes too?
Thanks for this tool.
Hello, i just noticed there is an estimation of the lifespan of tyres.
It is really useful but nobody will us its Tyre to 0%.
Most of players have a good idea of their limit ... probably 50 ~ 60 % of Wear (Not sure).
It would be great if the estimated lap number in lifespan will take that in acount.
And give us the number of laps to get 50% (Parameter) of Wear ...
Maybe also add the options to switch laps/time.
It would be reaaly awesome to have that for endurance and evaluate stints on Tyre Wear.
Not a real issue but didn't find where to ask for improvements Here.
Seconds or maybe minutes, more appropriate.
Thanks. This time i ask it Here ;)
I tested this with a few window managers:
kwin
marco (from mate desktop)
icewm
openbox
mutter
The only window manager that can keep the overlays on top is mutter, I would not have a problem in using mutter, but the caveat is that mutter is a compositing window manager and you cannot disable compositing, in my case playing the game with compositing enabled causes performance issues.
I tried a few edits on tinypedal/base.py but without luck.
Hello!
It's me again to annoy :)
I think the default 'print' of the driver name when the option to also show the car name becomes a little overwhelming (a lot of chars packed together), in order to improve that I did that little tweak in the code and the result is in the screenshot above, do you think that could be implemented?
I'm not creating a pull request because I do not really develop in python as you will see in the diff bellow:
diff --git a/tinypedal/widget/relative.py b/tinypedal/widget/relative.py
index 90ab8b1..8512ed5 100644
--- a/tinypedal/widget/relative.py
+++ b/tinypedal/widget/relative.py
@@ -21,7 +21,6 @@ Relative Widget
"""
import random
-
from PySide2.QtCore import Qt, Slot
from PySide2.QtGui import QFont, QFontMetrics
from PySide2.QtWidgets import (
@@ -456,7 +455,7 @@ class Draw(Widget):
elif self.wcfg["driver_name_mode"] == 1:
text = name[1] # vehicle name
elif name[1]:
- text = f"{name[0]} [{name[1]}]" # combined name
+ text = f"{name[0] : <25} {name[1]}" # combined name
else:
text = ""
if self.wcfg["driver_name_uppercase"]:
But I think you will get the idea :)
(the hard-coded '25' is the chars for driver name only, so currently in the settings I have 55.
(maybe when the user selects driver name ' 2' - combined, he could also have the option to set the 'car name length' )
and something like this:
text = f"{name[0] : <$driver_name_length} {name[1] $car_name_length}" # combined name
thanks!
Hello. Thank you for making this program it's very nice.
A problem I have with the radar is that it shows other ppl position when in solo qualifying. Is there any chance of making it so they don't show up?
It seems that with 2.0.2 there is no longer a "PIT LIMIT" warning on the gear/speed indicator. This was the "speed limiter text" option in TP1.
TP2 only has this in the "flags" widget, which I tend to keep off to the side.
It would be really nice to have the speed limiter function back in the gear widget.
Alternatively, you could make the limiter widget its own completely separate thing, which would allow you to size and put it anywhere you wanted.
TP2 is otherwise awesome. Thank you SO much for the effort you put into it!
The app works fine if a light theme is set by default, but when a dark theme is set, the background of the views don't respect the theme and keep the white color, while fonts change from black to white, making very difficult to read. The preset view is readable because of the red background of the default/selected row.
Thanks for the app!
I recently noticed that the sector widget appears to be misbehaving, even after nuking all my timing data.
It seems to only ever report S3 and the S1/S2/S3 boxes are never updating with sector times any more.
I am using 1.11.7
I've noticed this in two car classes at two different tracks.
This happens on Linux, I couldn't test on Windows.
I'm on the track, and I focus the app to relocate the widgets. In the midst of relocating the widgets they disappear. They reappear when rFactor 2 regains focus.
Doesn't it happen on Windows?
The link to download TheIronWolf's plugin doesn't quite work. It takes you to the right thread on the S397 forum, but the original post links to a download that is broken.
Far down in that thread, you find a link to a newer version of the download:
https://www.mediafire.com/file/s6ojcr9zrs6q9ls/rf2_sm_tools_3.7.15.1.zip/file
You might want to link directly to this. However, doing so is fragile. If this link changes or is removed, we'll be in the same boat.
Is there a reason to not do your own build of the tools?
Hi, can TinyPedal be run on Linux ? On the paper, python allows it, but it fails when running it from source (icon.ico is not supported and in the mmap function, the "tagname" parameter is not supported apparently). I'm not a developer so I couldn't solve this.
There's no overlay available on this os, TinyPedal seems to be the only project.
Regards
Hello,
If you are running out of ideas for new feature, here goes a suggestion:
A few years ago I created for ACC, using simhub, a widget that displayed track corner names:
https://www.racedepartment.com/downloads/live-track-corner-names-shows-all-corner-names-on-all-acc-tracks.38078/
The corner names I got here: https://www.racingcircuits.info
The 'hard' work part it to map the corners to the correct point.
At that point I basically had another widget displaying the % of the track I was, dunno if rF2 shared memory has that info, I would believe so, so basically, when I was withing a range of track % my widget shows the corner name.
An idea would be to have some small extra widget/module that would display the track % traveled and let the users input the corner name and probably store it to some local file(like where the classes and heatmap files are) or file per track id. The advantage of this would that this files would be shareable and could be added/merged upstream.
I believe it could fit well in the existing track map widget, like this:
thanks!
The app launches without issues, but the widgets don't respect the position set in the respective configuration section. Also is not possible to drag&drop widgets. And finally (and maybe this is a KDE environment issue), each widget has a window task entry in the task bar.
In KDE preferences > Window managment section, you can set the location of the windows, the default is centered. If you change this setting, after toggle autohide option in the app to hide and show them again, the widgets respect that instead of the position set in the app.
I don't know if this is a KDE wayland issue or is also present in other environments like Gnome.
If this issue is solved, the app would be perfect and ready for when X11 is disabled definitely in linux.
Thanks for the app!
Recently I did the 2.4h of Le Mans race on LMU, that race had the time accelerated by 10x to reflect a 24h event.
I noticed the Track Time on Cruise widget could not follow the track time, it followed real time. Dunno if this is a TP bug or a limitation on the API.
thanks!
I'd like to make it easier for Linux users to install TinyPedal like a desktop app. My idea is to add an script that does the installation, so the user just has to download a release file, uncompress it, execute a script included and all is done.
The problem I have is that the submodule isn't included in the release files. Could you add a release file that included the submodule?
Does the Wiki just come from docs/customization.md? Because if so I can probably submit a PR for adding the doc.
Hi,
Since some days ago I am racing in the new ranked events of rFactor2 using Tinypedal to aid with in game data.
I have detected a few times that in the relative widget, the text color of the drivers that are being lapped not always is using the blue color assigned. And when you are lapped, sometimes the leaders text color is not using the purple color.
Don't know if it is a tinypedal issue or a problem that the plugin is giving wrong data.
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.