SecondMonitor (Timing & status App)

Discussion in 'Community Workshop' started by Winzarten, Oct 26, 2017.

  1. Winzarten

    Winzarten Active Member

    Joined:
    Jun 15, 2016
    Ratings:
    +38 / 0
    Hello everyone
    This app started as a little home project of mine, but as it is (slowly :D ) growing in functionality, I plan on release it to the community. I call it Second Monitor as the purpose of it was/is to make maximal use of my/yours second monitor :)
    Basically, it's a live timing / car status app
    [​IMG]

    Information provided
    • Session Information
      • Current track + layout + session type
      • Weather information (not supported for r3r as it doens't provide those)
      • Best Lap information - Driver, lap, time
      • Time/laps remaining in the session
    • Live timing, for each driver:
      • Position
      • Driver name
      • Car Name
      • Completed Laps
      • Time of last lap
      • Current pace (average of last few laps)
      • Best lap
      • Current lap time
      • Sector Times
      • Pit information - in practice/qually it is a simple "in/out", in race it shows number of pit stops, and the last pit stop information - lap of the pitstop and total time
      • Timing can either by sorted as absolute (first driver always first), or relative (drivers in front of player on track will be before the player, even when lapped)
      • Times can be displayed as absolute values (whole number) or relative to the players time. So you can quickly see how is your last lap/pace to other drivers
      • Timing hilights the player, drivers in pits, personal best and session best times, cars lap back and lap in front.
      • Gap to player
      • Maximum speed
      • Live detla times between your current lap and previous + personal best
    • Timing Circle (ellipse :D )
      • Position of cars on track projected on an ellipse
    • Wheel status (for each wheel):
      • Left, center and right tyre temperature
      • Brake temperature
      • Tyre pressure
      • Tyre condition, as % and visualised as a bar
      • Tyre compound (if supported by sim/car)
    • Water/oil temp
    • Fuel calculator
      • Can operate in two modes: time (displaying units pre minute) or laps (units per lap)
      • Total fuel
      • Current consumption rate
      • Average consumption rate in session
      • Time/laps left until empty tank with current average consumption rate
      • Fuel calculator: Enter required distnace (laps/minutes), press compute and the app will display required fuel to achevive that distance, using current Average consumption
    • Pedal position
    • Settings
      • Ability to set UOM for Volumes (liters, US Gallons), Temperature (Celzius, Fahrenheit, Kelvin), Pressure (Kilo-pascal, bar, atm, psi)
      • Pace laps - number of laps used for pace calculation
      • Refresh rate (ms) - refresh rate of the timing datagrid
    - Double click on a driver will open the drivers lap/sector times.
    - The app is able to save xlsx file after each session, containing a brief session summary and a detailed log of each players laps + sectors. Settings are in the options:
    reports.png
    -New : Project Cars 2 Support

    The app is available at -
    https://github.com/Winzarten/SecondMonitor/releases

    Source code available at: https://github.com/Winzarten/SecondMonitor

    Just download and run the installer exe file. .Net 4.6 required.
    This is still an early version, so it still needs some ironing, bugs to squish, and usability improvement.
    Supported sims:

    • R3E - Works out of the box
    • Automobilista - Requires the rFactorSharedMemoryMapPlugin (https://github.com/dallongo/rFactorSharedMemoryMap). Can be autoinstalled by the app. This is the same plugin that is used (and automatically installed) by CrewChief, so if you're using that, you're good to go.
    • RFactor 1 - Same as Automobilista. Wasn't tested, but it is the same engine as AMS, and the same plugin is used for data, so it should work.
    • RFactor 2 - Requires the rF2SharedMemoryMapPlugin (https://github.com/TheIronWolfModding/rF2SharedMemoryMapPlugin). Can be autoinstalled by the app. This is the same plugin that is used (and automatically installed) by CrewChief, so if you're using that, you're good to go.
    • Assetto Corsa - Requires custom plugin, than should be automatically installed when the app detect Assetto Corsa running. The plugin needs to be enabled in the options settings manualy.
    • Project Cars 2- Project Cars 2 - Works out of the box. Just be sure to enable the shared memory inside Project Cars 2 options - (http://www.eksimracing.com/f-a-q/configure-project-cars-to-use-shared-memory/)
    • Project Cars - Limited functionality as split times and lap times are not provided by the sim api. Splits don't work at all, and lap timing is done by the app, so the will be slight difference between what is in the app and what is in sim. Big thanks to mr_belowski for allowing me to use his project cars pit coordinates from CrewChief :)
    Know Issues:
    All:

    • Final lap completion for AI might not be timed properly. This is a precaution, because some sims (i.e. r3e, report lap completed for AI the moment the player crosses the finish line)
    • Gap: while it is there, the implementation is very simple, just distance / speed, so it deviates a lot at higher distances. Thats why 30s +/- is the maximum it will show.
    Assetto Corsa
    • AC doesn't provide temperature information for water and oil temps, so these will be frozen.
    • Not all cars in AC have brake temp simulated
    • Because AC splits are little bit weird (i.e. track have 15 splits), the app is using custom splits. Each split is 1/3 of track distance.
    • If you restart session soon after start, then the app might not re-initialize property and reset the timing after the first lap is completed.
    • Tyre wear might not work correctly.
    Project Cars 1
    • Timing is done by app, so there might be slight differences between in-sim and in-app times
    • Pit Detection - pit detection works on comparing driver position with the entry/exit points, so if you teleport back to pits it will not detect you as in pits. There is no easy way to fix this, as the sim doesn't provide any clear indication if a driver is in pits
    • Timing will sometime reset when editing pit presets during race (will be fixed)
    • Top speed is wonky :), that's because speed isn't provided by sim and has to be computed, which is prone to some error. I will try to make it less wonky ;)
    • Car Class instead of Car Model - Pcars doesn't provide car names for other than the player driver, so I used the class for all drivers.
    Planned Feature:
    • Rework of the timing circle, so the app can learn track layout so proper map can be displayed.
    • Increase amount of information for tyres (indicate bottoming up, dirt, slip)
    Any questions, comments, feedback is welcomed ;)
    When reporting bugs please attach the latest log which can be found in \%appdata%\SecondMonitor
     

    Attached Files:

    • Like Like x 12
    • Useful Useful x 2
    • Love it! Love it! x 1
    Last edited: Nov 14, 2018
  2. Winzarten

    Winzarten Active Member

    Joined:
    Jun 15, 2016
    Ratings:
    +38 / 0
    First version of application made public. :)
    I change the color scheme a little, but, sadly, I'm your typical developer lacking aesthetic feel, so it clearly can be improved. :D
    In future all colors will be a setting option. ;)
     
    • Like Like x 1
  3. higsy

    higsy Well-Known Member

    Joined:
    Dec 28, 2015
    Ratings:
    +97 / 0
    [​IMG]
    Hopefully you can read that; I tried to download the program and this is the error that I get. I've got net 4.6 or greater installed.
    Thanks
     
  4. Winzarten

    Winzarten Active Member

    Joined:
    Jun 15, 2016
    Ratings:
    +38 / 0
    Last edited: Nov 2, 2017
  5. higsy

    higsy Well-Known Member

    Joined:
    Dec 28, 2015
    Ratings:
    +97 / 0
    OS is win 8.1...ok ill try the workaround later today .
     
  6. Winzarten

    Winzarten Active Member

    Joined:
    Jun 15, 2016
    Ratings:
    +38 / 0
    I've uploaded v0.0.2, please, try it out if it fixes the problem.
     
  7. higsy

    higsy Well-Known Member

    Joined:
    Dec 28, 2015
    Ratings:
    +97 / 0
    Awesome , I downloaded it and it fixed the problem, I didn't run it in a race but all looks good.:D
     
  8. Winzarten

    Winzarten Active Member

    Joined:
    Jun 15, 2016
    Ratings:
    +38 / 0
    Glad that fixed it :)
     
  9. higsy

    higsy Well-Known Member

    Joined:
    Dec 28, 2015
    Ratings:
    +97 / 0
    Hi I really find this app useful , though one issue I have is that it works fine in single player but when using in multi it works in practice and qual (although it resets laptimes alot)but when a race starts the app closes.

    Is there anything in settings to allow for sector times ?
    Hope this helps. Cheers
     
  10. Winzarten

    Winzarten Active Member

    Joined:
    Jun 15, 2016
    Ratings:
    +38 / 0
    Thanks :)
    Sadly, I haven't had time to test the app in MP (as I'm a SP player), but I will look at those issues and will try to solve them, hopefully soon.
    Sector times are planned ,as are many other things, but development is kinda slow right now, as I'm settling in a new job. So not much time left for personal projects :-/
     
    • Like Like x 1
  11. Winzarten

    Winzarten Active Member

    Joined:
    Jun 15, 2016
    Ratings:
    +38 / 0
    Added v 0.1.0
    Added initial project cars support - big thanks mr_belowski for allowing me to use his pit coordinates for pit entry/exit detection. Project cars 2 should work with Pcars1 shared data model, but as Pcars 2 doesn't work on my pc (I'm affected by this bug - http://forum.projectcarsgame.com/sh...e-GTX770-Crashes-every-time-amp-or-reboots-pc) I won't be able to support pcars 2 atm.

    Fixed lots of issues in MP (timing resseting, no driver list, no player detection...). I completed several races in MP without any issues, so I hope all those major MP gremlins are fixed.
     
    • Like Like x 1
  12. higsy

    higsy Well-Known Member

    Joined:
    Dec 28, 2015
    Ratings:
    +97 / 0
    Ok.. thanks for the update. I'll give her a go..just a side note. I did a short race at Macau last night and the app closes during a single player race.. hopefully the gremlins are gone. Lol
     
  13. higsy

    higsy Well-Known Member

    Joined:
    Dec 28, 2015
    Ratings:
    +97 / 0
    Hi. I had the app crash again after a multi race at birds. I downloaded the update however I'm not sure if it's the correct version installed.. I didn't delete/uninstall original (didn't find it under the list of programs in control panel) ..will the new version overwrite ?

    Just a suggestion to add the program version number to the panel...thanks
     
  14. Winzarten

    Winzarten Active Member

    Joined:
    Jun 15, 2016
    Ratings:
    +38 / 0
    Damn...
    Thant's a good suggestion, it will be in next version. I'm also working on logging and a normal installer, which should also be in the next version.
     
    Last edited: Nov 23, 2017
  15. Winzarten

    Winzarten Active Member

    Joined:
    Jun 15, 2016
    Ratings:
    +38 / 0
    Addev v0.2
    -R3E 64 bit support
    -Added login in case of errors (log can be found in \%appdata%\SecondMonitor )
    -App now uses a normal installer
     
    • Like Like x 1
  16. higsy

    higsy Well-Known Member

    Joined:
    Dec 28, 2015
    Ratings:
    +97 / 0
    Hi. Great news. Not knowing much about these apps but is it possible to have the app run by the cpu rather than the gpu. I suspect when I have alot of apps running for the game I lose framerates.
    Thanks
     
  17. Winzarten

    Winzarten Active Member

    Joined:
    Jun 15, 2016
    Ratings:
    +38 / 0
    I cannot affect where the app is rendered, but I'm working on making it a little more optimized (well, I hope it will be a little bit more optimized :D), as some of the things right now as not done in the nicest way.

    Generaly, the fps hit can be somewhat lessened by increasing the refresh rate. This will change how often the main grid is refreshed (this one thing I want to improve) and doesn't affect the quality of data. Which is sadly another thing that is hard to optimize - if the timing is to be atleast somewhat correct, then it must pool the sims data quite often (right now its every 10ms)
     
  18. higsy

    higsy Well-Known Member

    Joined:
    Dec 28, 2015
    Ratings:
    +97 / 0
    Hi . I can't get this to download. I get an error message saying it can't load and to try signing on as administrator... I'm already the admin. Lol.
    Hope ya have time to look at.
     
  19. Winzarten

    Winzarten Active Member

    Joined:
    Jun 15, 2016
    Ratings:
    +38 / 0
    Damn, that's an oversight on side, sadly the installer is currently not smart enough to actualy ask for the elevated privileges to access the program files folder. So the easiest workaround is just to install to another folder outside program files. Or to run it with admin privileges.
    Sorry for the inconvenience I will try to fix it tomorrow.

    Edit: Ok, I lied, it should be fixed now :D
     
    Last edited: Dec 14, 2017
  20. Winzarten

    Winzarten Active Member

    Joined:
    Jun 15, 2016
    Ratings:
    +38 / 0
    I've uploaded v0.5.
    The biggest change is total rework of user settings, which got their dedicated settings windows. Settings are now also stored between sessions.
    timingappsettings.png
    In addition to selecting the drivers order / times mode for each session, it is now also possible to enable/disable individual rows in the datagrid for each session type + size changes to these rows are now also stored.


    So, with the ability to hide/show individual row I can now add more information (i.e. split times) withour overcluttering the grid. :)