[REL] TinyPedal - open source overlay for rF2 (Pacenotes,Radar,FFB,Deltabest,Relative,Fuel Calculator)

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

Tags:
  1. ebeninca

    ebeninca Registered

    Joined:
    Sep 7, 2016
    Messages:
    804
    Likes Received:
    568
    @svictor I noticed that the race start indicator in flag widget is not working only for the Rolling start mode, for Fast Rolling and other types it's showing correctly.
     
  2. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    1,147
    Likes Received:
    7,431
    Thanks, all suggestions noted. Some of them are not possible to implement, others may require significant work, can't say more.

    ---

    @ebeninca it's a known limitation related to API refresh rate.

    Here is full explanation to why currently "Green Flag"(Flag widget) doesn't work for rolling-start type race:

    Normally, "Flag" state is determined by "mGamePhase" reading from RF2's API, which is part of "Scoring" info that has a limit of 5 FPS (or 200ms) refresh rate. And almost all session and flag related info is part of "Scoring" info.

    Here is all API refresh rate quote from rF2SharedMemoryMapPlugin github page:
    This means when Flag state switched from "rolling/formation" to "Green flag" state (or any other state), there is a maximum of 200ms delay. As commonly known, average human reaction time is about 200ms to 300ms, with some training it may be down to around 50ms to 100ms. In worth case, you are looking at 200ms (API delay) + 300ms (human reaction time), which will cost you 500ms (half second) if use this "mGamePhase" reading from game API.

    This amount delay is unacceptable, especially in high level e-sports competition. And it will confuse user when placing it side by side with in-game HUD (which has no delay) as you can see big desync.

    So instead of giving user a very inaccurate and delayed(200ms) "green flag", it is currently not displayed during rolling-start type race. User should use in game HUD for green flag indication for rolling-start type race.

    But why "Green Flag" works in standing-start type race in Flag widget?
    This is because I implemented a workaround that uses timing data (from "telemetry info" that updates at 20ms rate, which is 10 times faster and accurate) to report accurate "Green Flag" state, which was mentioned in very earlier posts when Flag widget was first implemented. However, unfortunately this workaround does not work with rolling/formation type race, hence you don't see "Green Flag" in rolling-start race.

    Is there other workaround to get accurate "Green Flag" state for rolling-start?
    Not really, there is a workaround that I spent quite some time testing that partially works with rolling-start. However, it only works under certain conditions, and breaks for the others, which makes it not usable at the end.

    So those are the technical issues behind "Green Flag" display due to low API refresh rate with some data. My thought has been that, instead of using inaccurate API data to show "Green Flag", it's better for user to rely on in-game HUD and avoid confusion. But if any one thinks that the 200ms inaccuracy and reliability is not a problem, feel free to comment. (for more technical discussion, consider use github issue instead.)
     
    ebeninca, Rui Santos and yashiman like this.
  3. Andregee

    Andregee Registered

    Joined:
    Jun 23, 2012
    Messages:
    940
    Likes Received:
    398
    I changed from 2.15 to the latest version and have to notice anoying micro stutters using the Pedal App now.
     
  4. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    1,147
    Likes Received:
    7,431
    2.17.4 update
    https://github.com/s-victor/TinyPedal/releases/tag/v2.17.4

    [​IMG]

    Here is a few important bug fixes, and new "extra refilling" feature for Relative finish order Widget. Thanks to @thoraxe for suggestion and bug report.

    User Guide update:
    https://github.com/s-victor/TinyPedal/wiki/User-Guide#relative-finish-order

    Changelog
    • General
      • Fixed state check error while restarting API in rare case.
      • Add clickable API button on main window status bar
        that opens "Shared Memory API" config dialog for easy access.
    • Fuel calculator
      • Fixed an error when calculating with Gallon unit.
    • Relative finish order Widget
      • Add "show_extra_refilling" option, which shows readings of extra refilling row
        below "local player's refilling" row. Each extra refilling value equals "extra laps
        of consumption" plus "local player's refilling" value of same column.
        Those values save the trouble from manual calculation in case there will be extra laps.
        The first column of extra refilling row shows number of extra laps depends on
        "number of extra laps" setting, such as "EX+1" for 1 extra lap, or "EX+3" for 3 extra laps.
      • Add "number_of_extra_laps" option, which sets number of extra laps for extra refilling calculation.
        Default is "1" extra lap.
      • Updated usage and examples for Relative finish order Widget in User Guide.
     

    Attached Files:

  5. Jernej Simoncic

    Jernej Simoncic Registered

    Joined:
    Feb 6, 2013
    Messages:
    34
    Likes Received:
    16
    Is there a way to make the Radar fade in/out as cars get closer/further like LMU built-in radar does? Not at the edges, but the player car in the middle.

    Also it would be great if it was possible to set opacity for text and for background separately. For some things I'd like background to be basically invisible or very transparent, but text to be fully opaque, but as far as I understand it's tied together at the moment?
     
  6. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    1,147
    Likes Received:
    7,431
    To your first question:
    It is possible to create gradually fade for radar. One reason it hasn't been done is because TinyPedal's design focus has always been efficiency and keep CPU usage as low as possible.
    Edit: I just took a further look, it should be possible to add gradual fade effect without performance impact. I'll try add it in next update.

    To your second question:
    Since TinyPedal v2.0 initial released in last year, the APP has already supported customizing text and each background color opacity(alpha/transparency) completely separately. This feature was specifically mentioned in both User Guide and v2.0 initial release post:
    https://forum.studio-397.com/index....ve-fuel-calculator.71557/page-19#post-1127203

    User Guide about color transparency(see "color" section):
    https://github.com/s-victor/TinyPedal/wiki/User-Guide#common-terms-and-keywords

    There are many widgets already using different alpha color as in default setting as well.
    If you are familiar with hexadecimal(HEX) color code, you can also directly adjust alpha Hex code in config dialog.

    Cheers
     
    Last edited: Sep 17, 2024
  7. Jernej Simoncic

    Jernej Simoncic Registered

    Joined:
    Feb 6, 2013
    Messages:
    34
    Likes Received:
    16
    Ahhh I've completely overlooked the alpha channel setting! Thank you! Looking forward to the radar fade :)
     
  8. David levis

    David levis Registered

    Joined:
    Jul 8, 2021
    Messages:
    11
    Likes Received:
    7
    Hi Dan

    do you have an updated brandslogo for LMU? :)
     
  9. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    1,147
    Likes Received:
    7,431
    2.18.0 (2024-09-26) Major update
    https://github.com/s-victor/TinyPedal/releases/tag/v2.18.0

    User guide: https://github.com/s-victor/TinyPedal/wiki/User-Guide

    • General
      [​IMG]
      • Add global user config file as "config.json", which stores global user settings
        that are independent from user presets.
        For Windows, "config.json" is stored under "username\AppData\Roaming\TinyPedal" folder.
        For Linux, "config.json" is stored under "home/username/.config/TinyPedal" folder.
      • Log files are now stored in the same folder as global user config file.
      • All "Application" and "Compatibility" settings are moved into "config.json".
      • All Config dialogs now shows preset file name on title bar.
      • Color pick dialog now shows up to 16 previously picked colors in "Custom colors" selector.
      • Smaller panel size for "Fuel Calculator".
      • Most of widgets & modules code has been rewritten and optimized for improved efficiency
        and less CPU and memory usage.
        Note, currently both "Friction Circle" & "Navigation" Widgets are known to consume more
        CPU usage for drawing complex plot and animated map, especially with "Navigation" Widget
        and a lot of vehicles on track. If there is significant increase in APP 's CPU usage,
        try disable either widgets, which should help lower CPU usage to normal level.
        The new "System performance Widget" (see below) can be used to monitor performance change.
    • [New]Application dialog
      • Add "Application" to main window "Config" menu for customizing global application settings
        and saved in global user config file.
      • "grid_move_size, minimum_update_interval, maximum_saving_attempts" options from
        "compatibility" are moved to "application".
      • Add "show_confirmation_for_batch_toggle" option, which shows confirmation dialog
        for enabling or disabling all widgets or modules. This option is enabled by default.
    • [New]User path dialog
      • Add "User path" to main window "Config" menu for customizing global user path settings
        and saved in global user config file.
        To change user path, double-clicking on edit box to open "Select folder" dialog;
        or manually editing path text.
        Click "Apply" or "Save" to verify and apply new paths. Invalid path will not be applied.
      • For linux, all default user config-type paths are now set according to XDG specification,
        which is located under "home/username/.config" folder. (thanks to feedback from @Bernat)
        Changes include:
        • Default "user preset" path is changed to "home/username/.config/TinyPedal/settings/",
          previously this was set in "home/username/.config/TinyPedal/".
        • Default "brandlogo" path is changed to "home/username/.config/TinyPedal/brandlogo/",
          previously this was set in "home/username/.local/share/TinyPedal/brandlogo/".
          Note, if you wish to keep using old paths on linux, you can use "User path dialog"
          to set paths to the old ones as mentioned above.
      • See User Guide "User path" section for additional info.
    • [New]Auto load preset system
      • Add "Auto load preset" system (implemented by naturale0) to allow auto loading user-defined
        game-specific preset depends on active game (currently supports RF2 and LMU).
        Auto loading preset is triggered when a new or different game is started & active.
        Auto loading will only trigger once per game change.
        A preset must be tagged as "primary" for specific game before it can be auto loaded.
        This option is disabled by default.
      • Add "Auto load primary preset" check box in "Preset" tab, which enables or disables
        "Auto load preset" system.
      • Add "primary preset" tagging function in "Preset" tab, user can "Right" click on a preset
        and select "Set primary for ***" to tag a preset as "primary" for specific game.
        To clear all tags from selected preset, "Right" click and select "Clear primary tag".
        Primary preset will be auto loaded when "Auto load primary preset" is enabled and
        a new or different game is started & active.
        Note, a single preset can have tags from multiple games.
    • Shared Memory API
      • Improved accessing efficiency, now uses fast-restart method for same API.
      • Significantly reduced opponents vehicle position desync issue when using "direct access" mode
        (as previously was noticeable on Radar Widget sometimes).
    • Vehicle Brand Editor
      • Now allows multi-selection for deleting vehicle brand entries.
      • Fixed some vehicle info that could not be imported from LMU Rest API (issue reported by @DanRZ).
        Make sure to use "import" again from Vehicle Brand Editor to update missing vehicle info from LMU.
    • Wheels module
      • Add differential locking calculation and output for the new Differential Widget.
      • Add "minimum_axle_rotation" option, which sets minimum axle rotation (radians per second)
        for calculating wheel radius and differential locking percent.
        Default value is "4".
      • Add "maximum_rotation_difference_*" options, which set maximum rotation difference (percentage)
        between left or right wheel and same axle for limiting wheel radius calculation.
        Setting higher difference value may result inaccurate wheel radius reading.
        Default value is "0.002".
    • Brake bias Widget
      • Add "layout" option, which sets display orientation.
        Default is horizontal. Set "0" to show vertically.
    • Cruise Widget
      • Add "layout" option, which sets display orientation.
        Default is horizontal. Set "0" to show vertically.
      • Add "odometer_maximum_digits" option, which sets maximum number of display digits.
    • [New]Differential Widget
      [​IMG]
      • Show minimum differential locking percent between left and right wheels on the same axle
        under power (on throttle) or coasting (off throttle).
        A "100%" reading indicates two wheels on the same axle are rotating at same speed;
        while "0%" indicates that one of the wheels is completely spinning or locked.
        Each reading will reset back to "100%" if minimum locking percent hasn't changed during
        cooldown period, as defined by "reset_cooldown" option.
    • Instrument Widget
      • Changed default "layout" setting value to "1" for horizontal layout for consistency.
        User may need to edit old value "0" to "1" to display horizontal layout.
      • Wheel slip warning indicator now only shows under acceleration.
    • [New]Laps and position Widget
      [​IMG]
      • Show your current lap number (lap progression) & max laps if available.
      • Show your current overall position against all drivers in a session.
      • Show your current position in class against all drivers from the same class.
    • P2P Widget
      • Replaced old "font_color_inactive" and "bkg_color_inactive" color settings with new cooldown
        "font_color_battery_cooldown, bkg_color_battery_cooldown" for battery charge, and
        "font_color_activation_cooldown, bkg_color_activation_cooldown" for activation timer.
    • Radar Widget
      • Add "enable_radar_fade" option (feature requested by @Jernej Simoncic), which enables
        gradually fade in/out effect while opponent vehicles approach or leave radar range.
      • Add "radar_fade_out_radius" option, which sets radar fade out radius relative to radar radius.
        Value range in "0.5" to "1.0". Default value is "0.98".
      • Add "radar_fade_in_radius" option, which sets radar fade in radius relative to radar radius.
        Minimum value is limited to "0.1", maximum value cannot exceed "radar_fade_out_radius".
        Default value is "0.8".
      • Renamed options "show_fade_out, fade_in_radius, fade_out_radius" to
        "show_edge_fade_out, edge_fade_in_radius, edge_fade_out_radius" to
        distinguish from new radar fade options.
    • Relative, Rivals, Standings Widget
      [​IMG]
      • "show_pit_status" option now also displays garage status (as "G" sign) for driver in garage.
      • Add "garage_status_text" option, which sets custom garage status text for driver in garage.
    • Session Widget
      • Removed "lap number" and "driver position" readings. Those two readings are now included in
        the new "Laps and position Widget".
      • Add "layout" option, which sets display orientation.
        Default is horizontal. Set "0" to show vertically.
    • Speedometer Widget
      • Changed default "layout" setting value to "1" for horizontal layout for consistency.
    • [New]System performance Widget
      [​IMG]
      • Show system's overall CPU utilization (percent) and memory usage (GB).
      • Show TinyPedal's CPU utilization (percent) and memory usage (MB).
    • Tyre carcass temperature Widget
      • Now calculates temperature rate of change at an average base interval of 0.1 seconds
        which is then scaled to "rate_of_change_interval" value for more responsive estimate.
      • Add "rate_of_change_smoothing_samples" option for smoothing data and filter out fluctuation.
    • Tyre wear Widget
      • Now uses laptime pace for calculating "tyre lifespan in minutes".
    • [Reworked]Weather Widget
      [​IMG]
      • Add weather trend indication, which shows whether there has been an increasing or
        decreasing trend for temperature, raininess, wetness readings for a given period.
        This can be useful to determine pit stop strategy.
      • Add "temperature_trend_interval", "raininess_trend_interval", "wetness_trend_interval"
        options, which set each trend interval in seconds. Default interval is "60" seconds.
      • Add "prefix_rain", "prefix_dry", "prefix_wet", "font_color_trend_constant",
        "font_color_trend_decreasing", "font_color_trend_increasing" options.
      • Improved display formatting for temperature, raininess, wetness readings.
    • Weather forecast Widget
      • The "now" column always shows current weather condition even if RestAPI Module is disabled.
    • Misc
      • Updated User Guide for all changes mentioned above and additional usage info.
      • Added new contributor "Sihyung Park (naturale0)" to contributors.md.

    Happy driving
     

    Attached Files:

    Javier G R, PaZill, yashiman and 11 others like this.
  10. mesfigas

    mesfigas Registered

    Joined:
    Oct 15, 2015
    Messages:
    1,763
    Likes Received:
    843
  11. PlanRZ

    PlanRZ Guest

    Joined:
    Aug 22, 2021
    Messages:
    824
    Likes Received:
    281
    David levis likes this.
  12. Marcelo Prestes

    Marcelo Prestes Registered

    Joined:
    Sep 26, 2024
    Messages:
    4
    Likes Received:
    0
    Good afternoon everyone, sorry if I'm asking the question in the wrong place, I looked at the 38 pages of this forum and didn't find anything regarding my problem, I use a screen with 1440p resolution and I feel that some things are too small, is there any way I can increase the size? If there is someone can tell me where because I couldn't find it, and congratulations on the excellent overlay!!!
     
  13. Jernej Simoncic

    Jernej Simoncic Registered

    Joined:
    Feb 6, 2013
    Messages:
    34
    Likes Received:
    16
    Thank you! What is the best way to update the program? Install the new one and copypaste presets and stuff from old one?
     
  14. PlanRZ

    PlanRZ Guest

    Joined:
    Aug 22, 2021
    Messages:
    824
    Likes Received:
    281
    Just drop the content of the archive in the installation. Settings will update by them selves at next start.
    All new widgets will be active by default, you will have to disable them or reconfigure them.
     
    Jernej Simoncic likes this.
  15. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    1,147
    Likes Received:
    7,431
    Thanks all for supports and comments.

    To @Marcelo Prestes:
    You can increase most widget size by adjusting font size bigger (in each widget's Config dialog), which will make them bigger; also an easier way is to use "Global font override" dialog (from main menu) to change all widget's font size at once. Note, there are a few widgets size are not affected by font size, but by special size setting which can be found in their Config dialog (such as radar widget by radar radius & global scale options, and trackmap by area size option, etc). You can find more info in User Guide .

    [​IMG]
     
    Marcelo Prestes, PlanRZ and yashiman like this.
  16. LIOTH

    LIOTH Registered

    Joined:
    Jul 23, 2024
    Messages:
    2
    Likes Received:
    1
    Hello @svictor, whenever I try to import cars via LMU REST API in the Vehicle Brand Editor, it is always unable to do. I am always in an online session when I do this, I restart the API and it still doesn't work, any idea? I'd like to import the latest cars
     
  17. PlanRZ

    PlanRZ Guest

    Joined:
    Aug 22, 2021
    Messages:
    824
    Likes Received:
    281
    I didn't try recently. But if i remember well it works only in a certain state. Maybe try in the very first page after entry clip or in Online page, and not in a session.

    In rFactor2 you also need to be in the Series page, and select "All tracks and cars" to get all cars descriptions.
     
  18. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    1,147
    Likes Received:
    7,431
    @LIOTH
    The import function (as of v2.18.0) has been tested and works fine as long as in game, no matter if in a session or in main menu, though it is best and recommended to be done while you are in main menu.

    It sounds like you may have some kind network setting that is blocking TinyPedal from accessing "Rest API", or has changed "URL port" number from LMU setting (default should be 6397), or possibly having other programs that taking and using port 6397 which causes conflicts.

    You can check whether "URL port" is correct by opening following address in web browser after LMU game launched:
    http://localhost:6397/rest/sessions/getAllVehicles

    If you can get that address open, you can manually save the JSON file and then use "Import from" > "JSON file" to import data (as mentioned in User Guide).

    If this address doesn't open, then it could be that some kind network or firewall setting is wrong and needs to be fixed. You can check your Le Mans Ultimate\UserData\player\Settings.JSON file, find a line says "WebUI port", its value should be 6397, which should also match the setting in TinyPedal's RestAPI module. If it is already 6397 then it's highly likely a problem with network or firewall setting.
     
    PlanRZ likes this.
  19. svictor

    svictor Registered

    Joined:
    Jan 20, 2019
    Messages:
    1,147
    Likes Received:
    7,431
    2.18.1 - Bug fixes
    https://github.com/s-victor/TinyPedal/releases/tag/v2.18.1
    • General
      • Fixed a font weight verification error that prevents user from saving any changes in "Gear Widget" config dialog.
      • Fixed missing combo choices (text alignment, font weight options) from Elevation and Gear Widget config dialog.
    • Differential Widget
      • Fixed cooldown timer did not reset after changed or restarted a session.
    • DRS Widget
      • Add "drs_text" option for setting custom DRS display text.
      • Optimized DRS status check.
     
    ebeninca, yashiman, sepi and 2 others like this.
  20. pilAUTO

    pilAUTO Registered

    Joined:
    Nov 7, 2020
    Messages:
    741
    Likes Received:
    716
    Hello.

    In the distant past i used the damplugin made by @Lazza to determine for each car when the clipping level is reached, in normal driving conditions apart from big bumps and curves (and according to all the choices relating to tire grip, temperature, real road, track humidity,...) that I would have selected beforehand this involves first making a recording of what happens during driving, then an analysis outside of the game.

    I don't want to do that again even if it works very well, what i'm currently looking for is a tool that allows us to do the same thing in real time but which is at least usable and for which we can draw correct clipping conclusions during driving.

    I saw on the rFactor 2 discord that Tiny Pedals allows it :

    If that's the case, can you please tell me if integrating it into tiny pedals is relevant, easy to use, and that we can really draw immediate conclusions, so that we can return to the garage quickly to increase or decrease the ffb multi if necessary and if we can afford it.

    I'm not on my pc for at least 2 days and so I would appreciate it if you could enlighten me on the subject, so when I return to the PC I could directly install or not this plugin and try to use it as best I can.

    [Also, can you tell me if the impact on the computer performance of this little tool is really tiny or is the impact on performance not totally negligible, I avoid at all costs overloading my computer which is quite low-powered now.]

    Thank you :)
     

Share This Page