[REL] TinyPedal - open source overlay APP for rF2 (Radar,Pedal,FFB,Deltabest,Relative,Fuel calculator)

Discussion in 'Other' started by svictor, Mar 14, 2022.

Tags:
  1. Capeta

    Capeta Registered

    Joined:
    May 31, 2012
    Messages:
    268
    Likes Received:
    48
    As said, it's not during race. ;)
     
    ebeninca likes this.
  2. ebeninca

    ebeninca Registered

    Joined:
    Sep 7, 2016
    Messages:
    744
    Likes Received:
    542
    ah sorry, I mean race server, during all sessions, practice, qualy and race, no problems.
     
  3. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    936
    Likes Received:
    6,382
    Thanks for reporting. I understand the frustration. This issue (that only happens in none race session) is extremely difficult to debug and testing, it's nearly impossible to reproduce the issue reliably in multiplayer.

    For example, last year I had initially spent 2 weeks(almost every day) on LFM server debugging this issue and haven't got any triggered, but a day later it suddenly triggered again, which I spent another few weeks to test and code the new method in order to fix it. The current method that implemented 3month ago was to fully auto restart sharedmemory mapping if the App detects a frozen data version, and there may be certain extreme conditions that bypasses this check which fails the auto restart.

    I think the root issues is related to the the ctypes+mmap methods used in the pysharedmemory library. However from all the documents I found and through many testing, none has helped the problem. The current auto restart method is the only one that worked well so far(as there wasn't any new reporting until now).

    I will try add more condition check for the auto restart method meanwhile.
     
    Capeta, Corti and SmellySkidmark like this.
  4. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    936
    Likes Received:
    6,382
    1.11.0 (2023-02-16) Major Update
    https://github.com/s-victor/TinyPedal/releases/tag/v1.11.0

    v1_11_0_preview.jpg

    This update adds 3 new widgets, many new stuff and frequently requested features, significantly optimized GUI with 50-60% less CPU usage.

    Customization: https://github.com/s-victor/TinyPedal/wiki/Customization-Guide
    • General
      • Added "column_index" option for most widgets.
      • Added "text_padding" option for most widgets,
        which sets text edge padding value that multiplies & scales with font_size.
        This option affects how compact widget looks.
        Default is 0.2 for most widgets.
      • Added individual font & background color options for most widgets.
      • Each info display can be individually disabled for most widgets.
    • [New]Brake Widget
      • Separated Brake temperature info from Temperature Widget to the new Brake Widget.
      • [New]Show average brake temperature of current lap that calculated in realtime.
      • [New]Highlighting average brake temperature from previous lap after crossing start/finish line.
      • Show/hide degree sign for maximum compact looking.
      • Added "leading_zero" and more options in JSON.
        tp_brake.png
    • Engine Widget
      • [New]Added horizontal layout.
      • [New]Added "turbo_pressure_unit" option (bar, psi, kPa) in JSON, default is bar.
      • [New]Added Fahrenheit unit for temperature display via "temp_unit" in JSON.
    • [New]Flag Widget
      • Separated flag, pit status, start lights info from Gear Widget to the new Flag Widget.
      • Show pit timer, and total amount time spent in pit after exit pit.
      • Show low fuel indicator when fuel level is below certain amount value.
      • Show speed limiter indicator.
      • Show yellow flag indicator of current & next sectors.
      • Show blue flag indicator with timer.
      • Show race start lights indicator with light frame number for standing-type start.
      • Show race start countdown timer for standing-type start.
      • Two layouts option (vertical & horizontal).
        tp_flag.png
    • Force Widget
      • [New]Added horizontal layout.
    • Fuel Widget
      • [New]Added "low_fuel_lap_threshold" option in JSON.
    • Gear Widget
      • [New]Added "neutral_warning_speed_threshold" option in JSON,
        which sets speed threshold value for color warning
        when gear is in neutral and vehicle speed is higher than the threshold.
        Speed unit in meters per second. Default value is 28, which is close to 100 kph.
        This option is helpful for situation where player mis-shifted gear into neutral at high speed.
      • Added "show_speed_limiter" option in JSON, which can be turned off.
        tp_gear.png
    • Instrument Widget
      • [New]Each instrument icon can be individually hide in JSON.
    • Pedal Widget
      • [New]Added "show_brake_pressure" option in JSON that
        shows brake pressure changes applied on all wheels,
        which auto scales with max brake pressure and
        indicates amount brake released by ABS on all wheels.
        This option is enabled by default, which replaces
        game's filtered brake input that cannot show ABS.
        tp_pedal.png
    • Pressure Widget
      • [New]Show percentage brake pressure of each wheel.
      • Tyre load ratio is now calculated against sum of all wheels load.
      • Reworked layouts (vertical & horizontal).
      • [New]Added "show_caption" option in JSON.
        tp_pressure.png
    • Relative Widget
      • Removes brackets from combined driver name if name is empty.
    • Sectors Widget
      • Removed unnecessary "show_best_sector_time" option,
        always shows each best sector time if available.
    • Steering Widget
      • [New]Added "scale_mark_degree" option in JSON,
        which set gap between each scale mark in degree.
    • Stint Widget
      • Removed "fuel_unit" option, now uses fuel unit setting from Fuel Widget instead.
    • [New]Suspension Widget
      • Separated Ride height & Rake angle info from Wheel Widget to the new Suspension Widget.
      • [New]"ride_height_offset" option is now available for all wheels.
      • [New]Separated warning color options as "warning_color_bottoming" for Ride height
        and "warning_color_negative_rake" for Rake angle.
      • [New]Added "show_caption" option in JSON.
        tp_suspension.png
    • Temperature Widget
      • [New]Added "ICO_mode" option which shows full tyre temperature display mode (inner/center/outer).
      • [New]Added "show_innerlayer" option which shows tyre inner layer temperature.
      • [New]Added "show_tyre_compound" option which shows tyre compound index letter (front/rear).
      • [New]Show/hide degree sign for maximum compact looking.
      • [New]Added "leading_zero" and more options in JSON.
      • Removed Brake temperature info.
        tp_temperature.png
    • Timing Widget
      • [New]Show current session best laptime from all vehicle classes,
        with additional option to show laptime from same vehicle class only (default ON).
      • [New]Each info prefix text can be customized or hide in JSON.
      • Removed double lines horizontal layout.
        tp_timing.png
    • Wear Widget
      • Adjusted options naming in JSON.
      • [New]Added "show_caption" option in JSON.
    • Weather Widget
      • Moved "Dry/Wet" label to wetness bar.
      • [New]Show/hide percentage sign for maximum compact looking.
        tp_weather.png
    • Core
      • Optimized GUI update methods for all widgets with over 50% less CPU usage.
      • Auto sorts all options in JSON file according to default setting template
        for better readability and consistency.
      • Add Linux instructions to README.md (by Bernat).
      • Improved various calculation.
      • Fixed setting loading errors.
      • Fixed a hanging problem if no widgets enabled while exiting APP.
    • pyRfactor2SharedMemory library
      • Fallback to mID matching if mIsPlayer fails to retrieve player index.
      • Add additional auto restart condition check for sharedmemory mapping.
    • Misc
      • Updated customization guide with new configurable options for each widget.
      • Updated feature.md.
     
    Last edited: Feb 16, 2023
    Danny Wilde, Nibo, makan and 16 others like this.
  5. Rui Santos

    Rui Santos Registered

    Joined:
    Jan 8, 2012
    Messages:
    1,083
    Likes Received:
    1,210
    What about the save ruining widget position @svictor ?
     
  6. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    936
    Likes Received:
    6,382
    I plan to write a new save system in the coming days.
     
    Rui Santos likes this.
  7. Capeta

    Capeta Registered

    Joined:
    May 31, 2012
    Messages:
    268
    Likes Received:
    48
    Is it possible to hide the average brake temps but to keep the live brake temps for exemple ?
    In my opinion, and that's only mine, brake is perhaps the only thing were average doesn't matter, it's highest and lowest that could give information, especially highest.
    The Tinypedals are becoming big and I don't need most of thoses informations when I want to focus on the driving. :)
     
    Last edited: Feb 17, 2023
  8. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    936
    Likes Received:
    6,382
    Absolutely, in the customization guide Brake section there's a "show_average" option description. just set this to false in json will do. (also in other widgets almost everything can be individually show or hide now in v1.11.0)
     
    Capeta likes this.
  9. Capeta

    Capeta Registered

    Joined:
    May 31, 2012
    Messages:
    268
    Likes Received:
    48
    You never disappoint!
    Thanks a bunch!
     
    svictor likes this.
  10. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    936
    Likes Received:
    6,382
    https://github.com/s-victor/TinyPedal/releases/tag/v1.11.1

    Here is a small update with improved saving method that should help eliminate save file corruption issue. @Rui Santos

    1.11.1 (2023-02-20)
    • Core
      • Add delayed setting saving method that limits to one save operation for a given period.
      • Now verifies setting file after saving, and retries if errors found (3 attempts).
     
    makan, Capeta, Corti and 4 others like this.
  11. Rui Santos

    Rui Santos Registered

    Joined:
    Jan 8, 2012
    Messages:
    1,083
    Likes Received:
    1,210
    You're a legend @svictor ;)
     
    svictor likes this.
  12. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    936
    Likes Received:
    6,382
    v1.11.3 - Displaying up to 126 nearby vehicles for Relative & Radar Widget
    https://github.com/s-victor/TinyPedal/releases/tag/v1.11.3

    This update adds new dynamic relative list generation for Relative & Radar Widget which supports displaying up to 126 nearby players/vehicles!

    Note: To add more players/vehicles, open JSON config file, and change values "additional_vehicles_front" & "additional_vehicles_behind" for radar widget, or "additional_players_front" & "additional_players_behind" for relative widget.

    All players on relative list are properly sorted by relative distance between each opponent and local player vehicle, which also fixed an issue that players list previously would jump around the moment crossing finish line.

    pyRfactor2SharedMemory library now uses player name matching for finding player index.

    Thanks to @zxd1997 & fatboy & other teammates for feedback & testing.

    upload_2023-2-26_14-34-23.png

    1.11.3 (2023-02-26)
    • Radar Widget
      • [New]Now supports displaying up to 126 nearby vehicles! (63 front & 63 behind vehicles).
      • Significantly improved & optimized drawing methods.
    • Relative Widget
      • [New]Now dynamically generates relative players list that supports
        displaying up to 126 nearby players! (63 front & 63 behind players).
      • All players on relative list are properly sorted by
        relative distance between each opponent and local player vehicle,
        which also fixed an issue that players list previously
        would jump around the moment crossing finish line.
      • Fixed an issue where sometimes lap difference & color indicator won't get updated.
    • Core
      • Various small improvements.
    • pyRfactor2SharedMemory library
      • Now uses player name matching for finding player index.
    • Misc
      • Updated customization guide with new info for Radar & Relative Widget.
      • Updated feature.md.
     
  13. Oldgamergazza

    Oldgamergazza Registered

    Joined:
    Jun 25, 2017
    Messages:
    134
    Likes Received:
    27
    Thanks for the reply, I have gave it a try but it fills my display area?
    Valve Index
     
  14. DanRZ

    DanRZ Registered

    Joined:
    Aug 22, 2021
    Messages:
    725
    Likes Received:
    222
    "Now uses player name matching for finding player index."
    What was the previous method ?
     
  15. elgagon

    elgagon Registered

    Joined:
    Dec 21, 2022
    Messages:
    214
    Likes Received:
    139
    You move every element where you want and can show or hide each one
     
  16. ricardoferreira

    ricardoferreira Registered

    Joined:
    Nov 17, 2014
    Messages:
    33
    Likes Received:
    5
    Nice job.
    Still missing the top 10 in the race. or something like that.
     
    Rui Santos likes this.
  17. davehenrie

    davehenrie Registered

    Joined:
    Jul 6, 2016
    Messages:
    7,491
    Likes Received:
    4,407
    You can move them all into different locations around the edges of your screen. Each widget can be moved independently of the others. Also you can disable any widgets you don't want to free up more screen space.
     
    svictor likes this.
  18. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    936
    Likes Received:
    6,382
    Previously it was determined by mIsPlayer value.

    ---------------------------------------

    Also a little progress with the "data freezing issue when someone join server".

    I have managed to get one freezing triggered today in LFM server. And from the data I gathered today, it has shown some interesting data as following.

    Prerequisite: This issue only has chance to happen if local driver is on track while someone joining server during none-race session.

    1. Before it triggered, I was alone in server and on track, and my player index is 0 (and all data was read from player index 0) and vehicle slot ID(mID) is 24.
    2. After someone joined server, my player index jumped to 1 (mID was still 24) while still on track, and all widgets stop updating.
    3. I had attempted several restarts with TinyPedal while still on track, and it didn't fix the problem, all widgets still did not resume updating.
    4. While still on track, I manually forced player index to 0 in sharedmemory mapping code and restarted TinyPedal, and all widgets started updating correctly, however it indicates that with player index set to 0, mID read as 0 now.
    5. I undo the changes to player index, and ESC to garage and restarted TinyPedal. Then went on to track again, and all widgets were updating correctly, and this time, after the ESC, player index became 1 and mID was 24 again.

    To sum up player index and mID changes:
    [Before someone join while on track] Player index 0, mID 24, no issue.
    [After someone join while on track] Player index 1, mID 24, stopped updating(restart TinyPedal & sharedmemory mapping didn't help).
    [After someone join while on track] Player index 0(manually-forced), mID became 0, and resume updating.
    [After ESC to pit & went back on track] Player index 1, mID 24, no more issue.

    And my current guess, this problem is due to player's index value being forcefully pushed to another number higher than current when someone (re)joining server, and sometimes for some reason, after this index being changed, all player's data are still using old index reference, which disconnected from the new index, and only fixed by ESC to pit.

    Right now I'm still trying to get the issue triggered again in order to gathering a few more data for better understanding of the problem and possible way to solve it (and so far haven't got any triggered... so this may take more time)
     
    Last edited: Feb 26, 2023
    Capeta and ebeninca like this.
  19. ricardoferreira

    ricardoferreira Registered

    Joined:
    Nov 17, 2014
    Messages:
    33
    Likes Received:
    5
    I mean the absolute is important.
    with pit status (pit request, pit entry, pit exit)
     
    svictor likes this.
  20. Oldgamergazza

    Oldgamergazza Registered

    Joined:
    Jun 25, 2017
    Messages:
    134
    Likes Received:
    27
    Thanks for the reply, I am trying to use just the input indicator initially but the input widget fills my whole view?
     

Share This Page