Coder Social home page Coder Social logo

tinypedal's People

Contributors

berarma avatar s-victor avatar sasker avatar thoraxe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tinypedal's Issues

Widget positions are messed up when using multi monitor profiles

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.

[Feature/Sugestion] "Auto" tyre and breake heatmaps

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)

[rfe] color docs for tire temperature

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?

Can't run the app

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)

Segfault (with PySide2)

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).

upgrade-to-PySide6.txt

[Feature Request] Add pitcount to relatives

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!

Windows - Config at wrong position after restart

When restarting TinyPedal the config UI don't go to the last position.
In dual screen, before Quit :
BeforeQuit
And after restart :
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

Does not always show up when going into Drive mode

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

TinyPedal working on Linux

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.

Improvement on widget Tyre wear

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.

Capture
Seconds or maybe minutes, more appropriate.

Thanks. This time i ask it Here ;)

Cannot keep the widgets on top on Linux if window manager is not mutter

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.

[Enhancement] Little tweak on driver name

Hello!
It's me again to annoy :)

Screenshot_2023-05-27_01-01-32

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!

Radar Improvement

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?

[RFE] restore "pit limiter" warning on gear (Speed) widget

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!

Linux - Dark theme support

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.

tinipedal_dark_theme_widget
tinipedal_dark_theme_module
tinipedal_dark_theme_preset

Thanks for the app!

Sectors widget broken?

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.

Plugin/download link not quite working

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?

Linux Release

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

[Feature / Suggestion] - Add track corner names

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:

TP

thanks!

Linux - Wayland support

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.

tinipedal_wayland_widgets_position

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.

kde_preferences_window_management

If this issue is solved, the app would be perfect and ready for when X11 is disabled definitely in linux.

Thanks for the app!

Track Time on Cruise widget does not follow time acceleration

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!

Installation on Linux from release file

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?

Relative widget lapped drivers color

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!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.