back Auction Sniper

sim driving

background
Some drivers quickly turn competitive times in cars and on circuits new to them.
Even less like me, some folks seemingly launch new apps
and comfortably master controls with minimal instruction and tweaking.
The following is not tailored for you but more for tweakers and incrementalists..

your mileage may vary [click for details] Niels Heusinkveld, owner of the sim pedal company, described his first real track experience:

I was struck by his lack of appreciation for inertial forces,
although he certainly noted tail-wagging from too much throttle out of wet corners.
As a 20-year sim racer, Niels learned to mostly depending on visual cues,
not to mention (although he did) less precision in real pedals than his sim pedal products
and lack of weight and feedback from real power steering.
He reported a somewhat sore neck from roughly 1-G lateral acceleration,
while depending mostly on visual cues and control feedback, rather than G-forces.
He was surprised about understeer with relatively small slip and steering angles.
He was unaware where he looked on track, contrasted to awareness of bezels with triple screens.
While he was aware of e.g. the rear stepping out, that seemed mostly from change of view.
Compared to sim, "real life was wrong".
  • Tired synchros made real shifts notably slower
  • Feeling buttock G forces was not a revelation
  • seat feel did not add a dimension
  • slides were mostly noted visually
  • Sounds and smells were annoying and distracting
  • Sense of speed was similar
  • The bug did not bite; sim comfort and convenience are preferred
By comparison, I am relatively unused to depending on feedback from controls
and probably more than most "real" drivers depended on G forces
and relatively less on vision, presumably because lacking confidence in depth perception,
since my vision did not fuse until I was in my mid-40s.   Consequently,
I need more practice to learn feedback from controls and ShakeSeat.
Odyssey+ image sharpness is probably not enough to instill real confidence,
particularly since VR resolution with Fresnel lenses is best in the center,
but wants far focus which my trifocal eyeglasses cannot provide.

This video by another sim driver with previous track experience and consequential
G-force unlearning / relearning issues: 4:15/15:48  

FWIW, professional and better amateur drivers probably adapt more quickly between sim and real racing,
since G-forces differ so much between street and many race cars.

What follows is biased towards streetable BMWs with power steering and brakes,
minimal aero and enough mods to be pleasant on track, but far from real racing cars.
For example, neither brutally stiff brake pedals nor massive steering effort are wanted.
Intro and Context

Driving simulation components

A sim game: Assetto Corsa
works for me, thanks to mods including cars and tracks I have driven.
Controls
wheel, pedals, shifter to control the car in game,
perhaps enhanced by e.g. launch control

other controls are wanted for adjusting feedback
Feedback
  • visual (VR) with controls
  • tactile
    • steering force feedback
    • harness tensioning
    • wheel slip
    • traction loss
    • brake engagement and ABS
    • clutch engagement and autoclutch
    Tactile feedback will be controlled using SimHub,
    which will in turn will involve MIDI.
  • audio:  game output to speakers or headphones

Assetto Corsa
settings
keyboard commands
installation Video:  Installing AC
AC setup including VR
2023 reinstallation
Help with assetto corsa in VR

15 Apr 2018 - bought Assetto Corsa from Steam;
had to reboot to resolve error after installation.
After splash screens, no idea what to do;
there had been some brief message about keys to press,
but I missed whatever it said.

Assetto Corsa packages (base $20)
Ultimate bundle $40 (but wait for a sale)
Dream pack 1 $7 - Alfa GTA, Nurburgring-Nordschleife
others seem less interesting to me...

Assetto Corsa content takes a lot of space;
mods cannot be added to ~\Documents\Assetto Corsa\
https://steamcommunity.com/app/244210/discussions/0/619568793783231679/

Moved that folder from SSD && created a :
mklink /J "C:\Users\bleke\Documents\Assetto Corsa" "G:\Gateway\my\Assetto Corsa"

Used Steam to change default content directory to G:\Gateway\my\Steam\
... and also created Assetto Corsa backup there.

Steam folder in Program Files is 867MB without Assetto Corsa
Assetto Corsa folder is 24.4GB

In Steam app, under LIBRARY dropdown, select GAMES, right-click
Assetto Corsa > Properties > LOCAL FILES dropdown >MOVE INSTALL FOLDER..
  • Single screen sucks, can neither estimate car width
      nor see right turn apexes.  vFOV - approx 33,
    per 15:44/17:37 in https://www.youtube.com/watch?v=cpnlSnqWy6g
  • adding 2 carpet spikes (hacked from M6x35 screws) to front holes
    adequately anchored the pedals.
  • Remaining two M6x35 screws (from TV VESA mount kit) replaced TH9A clamp.
  • After many laps in the NA Miata, the E30 M3 feels like an overpowered boat.
    The Toyota 86 is easier for me to drive quickly..
AC keyboard
F1: change driving view
F2: TV camera view
F3: change TV views
F5: side view
F8 : screenshot
F11: virtual mirror
Alt+Tab: switch out of sim
Home: show developer console (*if enabled in .ini)

ESC: return to main menu
Ctrl+[spacebar]: recenter HMD view
Ctrl+R: replay
Ctrl+S: slow motion (replay)
Ctrl+A: ABS on/off
Ctrl+T: traction control modes on/off
Ctrl+H: show/hide apps
Ctrl+O: restart session
Ctrl+L: disable names
Ctrl+G: realism settings (in game)
Ctrl+D: displays damage for a few seconds

+/- : adjust FoV

PageUp/Down: change exposure settings in the cockpit

Map G29 buttons to keystrokesantimicro
"you can unlock the D pad and assign any other action
with Content Manager/Install Custom Shaders Patch
... then check 'Stop AC from using POV in Pit App'
under Custom Shaders Patch/General Settings..."
For more apps on the sidebar
edit:
Steam/SteamApps/Common/AssettoCorsa/System/Cfg/Assetto Corsa.ini
change the setting to:
ENABLE_DEV_APPS=1

To disable off track penalty, edit:
Documents/AssettoCorsa/cfg/race.ini
change the setting to:
ALLOWED_TYRES_OUT=-1
https://www.racedepartment.com/threads/full-list-of-keyboard-commands.77268/
Tuning
Once parts are sorted, learning to use them generally works better taken incrementally.
Learning a new track in a car with unknown behaviors using controls that respond unexpectedly
can be frustrating, off-putting and inefficient.
To mitigate information overload, seriously consider first driving a skid pad, then a figure 8.
Assetto Corsa included neither in its offering; they are available as mods.
Assetto Corsa is a Steam "game", which when launched for WMR HMD also runs SteamVR and WMR portal.
The game ran fine with TH8A shifter and G29 wheel and pedals, when displaying on a monitor.
When Options->Video->Rendering Mode set from Single Screen to OpenVR,
then starting Drive launched WMR portal and SteamVR, but lost TH8A and G29 controls.
Within Drive, the pit menu appears, but disappears once driving.
Esc does not work while pit menu is active, so unable to e.g. gracefully exit.

Instead, what works: Install Content Manager in Steam and launch from there.
Customize mouse Forward and Back buttons to [Ctrl + space bar] and [Esc] keystrokes, respectively, for SteamVR
e.g. using Logitech SetPoint Settings.

Tuning
Apps
  • Content Manager Any number of YouTube videos eloquently laud Content Manager:
    • Chris Haye Content Manager for Assetto Corsa - The Best Assetto Corsa Mod
    • GamerMuscleVideos
    • 2Old4Forza How to Assetto Corsa 2020: Content Manager tips + modding 16:48
      settings (good) 2:37 Single 6:10 apps HeliCorsa 8:00 modding 11:24 Content Mgr mod install 15:00
      [ 2Old4Forz is too busy talking about how old school he is @ 14:54 to explain Content Manager mod install ]
    • Davy Jones Assetto Corsa PC Getting Started Guide
      including Content Manager, Sim Racing System & the Crew Chief 1:11:52
    • HelixxvrThis one simple VR trick you didn't know in Assetto Corsa 8:26
      use Assetto Corsa UI in VR HMD.
    • Alex Nelson Assetto Corsa VR (Oculus) Settings Tutorial [ skip 2:25 ] 23:27
      95% 90fps with full grid
    • mvs36 ASSETTO CORSA - How to use Content Manager! 16:12
    • Highness Beginners guide to presets in Content Manager Assetto Corsa 12:03
    • Highness Voice Control Assetto Corsa and Content Manager - no keyboard or mouse 23:30
    • Highness Content Manager videos
    • Kame Trick Assetto Corsa Drifting - How to Set up Hardware and Wheel in Content Manager (Tutorial Playlist)
    • SingleRacer Sim Racing Tutorials | A Content Manager Unbiased Review | for Beginners & Newbies
    • ONE37Works The Definitive Assetto Corsa Drifting Guide & Logitech G920 Settings! 1:11
      2018 Drifting Guide for Assetto Corsa on PC, using Content Manager!
    • SimRacing604 Assetto Corsa PC Graphics Starter Guide - 5 Things You Need 14:46
      find the best graphics settings for Assetto Corsa
    • HokiHoshi Assetto Corsa Mod Install Guide | Content Manager, CSP, Sol, Tracks & Cars (Shutoko Revival Project)
      good for installing Content Manager, but then manually installs Sol and other mods
    • VIRTUAL DRIVER Assetto Corsa - Content Manager - Sol + Shaders MODs
      - SRS Tutorial Espanol 2020 (cc translates to English) 21:12
    • Davy Jones Minor bugs & confusion with Sol 1.1.1 & Content Manager for Assetto Corsa Apr 2019 6:18
      upgrading the Sol mod for Assetto Corsa to version 1.1.1 using Content Manager.
      Some inconsistencies in instructions and a bug with the latest recommended Custom Shaders Patch,
      or at least it appeared as a bug in my installation
    • Carlos Panades How to install Mods Sol 1.3.2 + CSP Custom Shaders Patch preview.198 in Assetto Corsa Aug 2019 8:44
    • Assetto Corsa Content Manager Content Manager Episode 1 - How to get started with CM 2018 5:22
    • Mauro Ciacchi Assetto Corsa how to install mods, cars and tracks with Content Manager (no audio)
    • Unleashed Drivers How to extract .acd files and repack them with Assetto Corsa Content Manager 1:23
      useful for editing Assetto Corsa car data
    • Crazy Cat Guy Assetto Corsa and Content Manager Horizon Lock option comparison 2:16
      I use Horizon Lock to stop the ground from shaking.
      Unfortunately this brings the issue of the car moving too much to the sides,
      especially at very steep corners (like the one at the video here: https://youtu.be/JcM0_QWqvuk?t=2m12s)
      and also not aligning with the level of the floor of the car (the awesome drawing at the end of my video).
    • Mamiya Motors How To Get Drift Cars On Assetto Corsa | Content Manager Guide | PC 14:34
    • Humblegeorge Why use the Content Manager Aug 2017 [ skip first 2:30 ] 42:40
    • random callsign 9 ESSENTIAL Assetto Corsa mods for 2019 9:19
    Content Manager ** bought and installed 4 Jul 2020
    https://www.youtube.com/watch?v=T5aoe8RLvXU
    https://assettocorsa.club/content-manager.html
    https://www.youtube.com/watch?v=0U2REMdpP9E - Chris Haye
    "Some Alternate launchers such as Content Manager, run AC as administrator,
    please run SimHub as administrator in this case."
    Content manager is only supported by SimHub when using "Official" or "AppId" start modes,
    any other involve Content Manager modifying games files, preventing proper detection by SimHub.
    Content Manager may have already modified the games files
    and only a proper game repair using steam will restore the original files.

    Assetto Corsa club's Content Manager page proclaims "Easy and intuitive",
    which generally translates to poorly documented and idiosynchratic.
    Much sim driving software seems overly influenced by video gaming,
    which traditionally delights in making things harder and less efficient.

    Custom Shaders - clicked install from Content Manager; it went gray.....
    finally went active: "Updated successfully
  • CM Neck FX
Mods For example, no video watched so far
recommends downloading new mods within Content Manager
  by clicking CONTENT in the top bar, then get new mods,
perhaps because those downloads fail...
Instead, use BuntqF's CM setup to add a DOWNLOADS section.

RaceDepartment Mods
YouTube mods
Tracks
Using Chrome browser,
downloaded Putnam Park v1.2 from RaceRoom to RAM drive,
then dragged to Content Manager,
which reported successful installation,
but Assetto Corsa crashed:  
Tried again with Putnam Park 0.98, which works,
as do Summit Point and Tail of the Dragon.
Mont Tremblant remains a work in progress,
but Patrice COte wrote on March 11,
"I don't know when I'll call it finished, let's just say 2020 for now."

There appears to be no progress towards an Assetto Corsa mod for New Hampshire Motor Speedway road course...

.. where I ran in a BMW CCA event.
Other tracks that I drove are more popular: Watkins Glen,
Road Atlanta, Sebring, Mid-Ohio (installed), Mosport
There is a NAGP Monday Season XXXV Track Pack,
but it requires a password.
Mid-Ohio felt more familiar than Putnam Park.

Cars
BMW E34 M5, BMW E30 325i, Lotus Europa 1972 (installed -RHD),
MGA, FIAT X1-9 DALLARA 1975 (assettoland - installed),
Jaguar E-Type 4.2 1965 (installed)

I seem to recall a V12 E-type mod, but cannot find it...
Fixing messed up windshields on mod cars using CM
CM/Custom Shader Patch giving better frame rates with CPU/GPU optimising
RaceDepartment Samsung-Odyssey-install
VRDriver change renderTargetScale to 2.0 instead of 1.0
disable Advanced Supersampling Filtering
"unpack data" feature in the content tab
developer mode:  click CM version number around 10 times quickly

Other software
Force Feedback controls   SimHub Force feedback utility
AC FFB percentage directly in game
(using Plus and Minus keys of your Numeric Pad)

Force feedback (FFB) anti-clipping tool
FFBclip evidently works in VR:


SingleRacer made a video for taming G29 with FFBclip, Wheel Check and LUT generator

hand controllers
Hand-On Throttle-And-Stick (HOTAS) in SteamVR
Mouse intercepted for SimHub (SHmouse

pedals
G29 pedal mods

Problems

Lacking inertial cues from braking velocity changes, sim racing seems harder (IMO) than real.
Although Logitech improved pedal feel with their G29, braking control remains problematic:,
  • signal to sim software is based on pedal movement distance, not pressure.
    This can be largely corrected by controls within Assetto Corssa.
  • feedback, if any, for tires losing grip during braking comes thru the steering wheel, instead of the brake pedal.
    Better feedback wants direct drive steering, load cell brake pedal and active harness tensioning.

Project

Brake simulation shortcomings can be mitigated by:
  • replacing brake potentiometer with a load cell
    • That mod uses analog op amp, problematic with Logitech's brake curve, but fine with AccuForce
    • instead of custom circuit board, use a cheap INA333 (or AD623) low power rail-to-rail instrumentation amplifier module:

      Instructions   The on-board 3.3V low-dropout LDO regulator chip directly supplies power to the INA333 amplifier.
      The amplifier uses a 3.3V single-ended power supply mode, with V- connected to GND,
      and V+ connected to the 3.3V output of the LDO.
      VIN+ non-inverting input, VIN inverting input. R3 on the board is not soldered.
      VCC regulator LDO input 5V.


  • simulating ABS feedback at the brake pedal
  • e.g. @ 3:47/10:56 of this video: DIY RUMBLE PEDALS SIM RACING

Jan 16, 2021
G29 brake pedal rumble motor was uncompelling: 
Finally received Dayton Thruster for brake pedal shake:

Piezo contact mic sensor temporarily hot-glued for haptic measurement exercises.

Thruster attaches by pressure-sensitive adhesive, best used only once.  
The center brake pad screw hole was usurped to mount the Thruster: 
A longer screw matching the G29 pedal mount threads was located and screwed just far enough to barely protrude:  
Thrusters ideally want rigid, non-resonant but fairly light mounts; a scrap of polymer-coated 10mm MDF was sourced.
Thruster mount scratched by mounting screw: 
Brake pedal pad reinstalled offset right, facilitating heel/toe: 
For Thruster clearance, mount must be off-center.
Screw hole was counter-bored,
large enough for socket so that nut could be recessed.  
Mount will be cleaned with Windex and wiped dry to promote bonding to Thruster's 3M adhesive.  
Properly applied, hot glue bonds well enough to peel piezo off their metal discs; ask how I know.  
Obtaining that bond consistently is difficult, and hot glue's resilience is not ideal for capturing vibration energy,
Consequently, two-part epoxy is a better choice for bonding piezo pairs and mass-loading.
Logitech pedal attachment to AccuForce Controller
The AccuForce Controller has a Analog Input (with Molex 0901420008 connector)

...which should address G29 brake pedal nonlinearity...
my pinout is
1. orange throttle to DB9-2
3. yellow brake to DB9-3
5. green clutch to DB9-4
7. blue +5V to DB9-6
8. violet Gnd to DB9-1






    Connector pin spacing is 0.1",
instead of Molex 0901420008,
    I used Dupont breadboard jumpers with a DB-9 female adapter plate:

   
SimXperience cables are liable to fatigue at connectors; double-clamping is wanted..

Ricmotech's Mini-mite is an AccuForce clone.
ProtoSimTech PT2 pedals   on RaceDepartment   zombie pedal

shifters
Thrustmaster TH8A shifter mods
$15 fixes
Problems
Compared to real cars, *LOTS* of missed shifts with a stock TH8A.
Although sturdy, TH8A throws are too long and resistance is too low.
  • On track in a real BMW, a lighter knob improves shift feedback.
  • Simply shortening shift levers can unacceptably increase effort in some real cars,
    but works very well here.
Project
Probably available for less elsewhere, a pair of 2 inch cork balls from Amazon
The TH8A has an M9x1.25 thread for shift knobs.
$20 buys a fairly complete tap and die set or $6.30 gets just a needed 10mm x 1.25 hex die
[click for lever shortening details]
  • Unscrew the knob; fit a wrench on its flats to remove (and eventually replace) the lever

  • Screw an M10x1.25 die over existing threads, clamp shaft flats in a vice and cut another couple of inches of threads

  • Cut an inch or so off the shaft

  • Grind a half inch or so of new flats on shortened shaft end
    < img width=640 src=image/flats.jpg>
  • Using a 5/16 bit, drill about 1.5 inches into 2 inch cork ball and thread it onto the shortened shaft

  • I may eventually shorten the shaft another 1/2 inch or so, but shifting is much improved

Even with shorter shifts and ClixBeetle's stronger detents,
shifts were still occasionally missed, e.g. reverse, 6 vs 4, or 7 vs 5.
A custom 5-speed H-pattern shift plate was hacked from 6mm delrin:


Thrustmaster's 8-speed H-pattern plate was used as a pattern to drill 3/8" holes
at 5-speed and reverse shift locations,
appropriately connected using a scroll saw.

Delrin yields appreciably smoothed shifts,
and tweaked connecting slots eliminated missed shifts.
DCD WRC Shifter Ordered Sep 16; delivered Oct 2.
Windows 10 recognized and set it up.
SimHub Controls and events Controller status lists it as DCD_WRC_Shifter
and reports its inputs as B00 and B01
Lost motion is noted when slowly releasing pull, when occurs neither for push nor rapid releases.

Included were a stack of spacers, screwed together,
2 shifter paddles and a nice braided micro USB cable.
All screws thread thru polymer to metal nuts, which are mostly recessed and captured in polymer,
except for 4 nuts that fasten wheel base flange to shifter body, which protrude:

That was sorted for my AccuForce mounted thru 40-8020 T-slotted aluminum profile,
using rubber gasket material already on order to fix another spacing issue.

A second spacing issue: between the shifter body and clone Q1r lever:

... addressed by bending the lever's tip inward a few mm.
  • Paddles flex;  particularly the larger of 2
  • shifter body wobbled in the wheel base flange;  addressed by shimming.
  • the micro-USB socket broke off its controller board;  held on by only solder and hot glue;
     
    ... before breaking off, the micro-USB cable connector stuck straight up with no support.
    That board could be shifted lower on its 3-D printed housing,
    leaving room for a "well" to support the USB cable connector.
  • newer DCD paddle shifters use USB C and a bolt to better anchor the shifter module,
    but USB-C implementation still appears vulnerable:
  • Rather than repair that board, which consumes a USB port for only 2 switches,
    add switch support to Arduino Blue Pill PWM_FullConfiguration sketch and Fake8 SimHub plugin,
    converting debounced switch changes from Arduino Blue Pill USB COM port
    to corresponding SimHub property values, then to vJoy virtual switches.

tactile feedback
harness tensioning
  • SimHub Acceleration properties
  • SimHub 2DOF harness tensioning One expedient for simulating sustained G forces is a G Harness.
    SimXperience is a pioneer for that, with a US$1K G-Belt,
    typically sold as an accessory for their US$3K GS-5 G-Seat.

    For members of Wotever's SimHub Discord (see Live Support)
    he has developed an #experimental-belt-tensioner.

    .. for which he recently added a dedicated SimHub plugin:

    Issues with it:
    • gear-drive stepper motors are both noisy and dangerously torquey
    • suboptimal physics linearly adds lateral and longitudinal acceleration,
      instead of square root of sum of squares
    • however, adequate range of motion to allow slackening e.g. for acceleration
    Lebois built a direct-drive tensioner using PWM drive of a (too powerful?) DC motor.

    Here is another direct-drive tensioner for braking only on shoulder and lap belts.

    50mm diameter spools on 8.5Nm motors should provide adequate but safe tension and belt travel.
    Torque (N.m) = 9.5488 x Power (kW) / Speed (RPM)
    For electric scooter motors, stall torque is approximately watts / unloaded RPS.
    For example, a 350W 2750rpm motor might have about 7 N.m stall torque.

    RacingMat developed a 2DOF harness tensioning using a pair of 35kg.cm hobby servos.

    Parts budget (US$):
    41.40
    RSD3235 servo pair
    17.25
    6x 100F super capacitors
    10.00
    12VDC 5A power supply
    6.95
    5A constant current DC-DC buck regulator
    7.26
    wide bed casters
    3.03
    STM32F103C8T6 Blue Pill
    to flash STM32 modules, a ST-Link V2 clone is wanted.
    Beware of similar USB-TTL dongles wrongly listed as ST-LINK;
    they are for more generic, but less convenient serial programming.
    18.86
    2-inch 4 point harness
    Modifications of RacingMat's design include:
    • suspending those servos between harness belt segments, reducing noise:
    • repurposing wide bed casters as harness pulleys:
    • (optionally) adding super capacitors to the power supply for faster servo response:
      • +8VDC from regulator (and super caps) to servo red wires
      • -8VDC to servo black wires
      • Blue Pill is powered and controlled by USB.
      • Blue Pill ground pin to -8VDC
      • Blue Pill PWM pins to servo white wires
      • super capacitors in series require balance circuitry;
        a commodity 16V super capacitor bank with balancing is cheap;  cut it in half:
      • super capacitors effectively short-circuit supplies at power on, requiring current limiting.
        Using an automotive headlamp bulb as a "dummy load",
        the buck regulator was adjusted for maximum 8V and 4.5A:
        • Button left of LED digits turns LEDs (but not power) off/on.
        • Right pushbutton controls display mode: Vin, Vout, Aout, Pout, cycle.
        • Pots were received set fully clockwise, turning counterclockwise reduces values.
        • Left pot controls Vout, right pot controls Aout.
        • Upper blue LED chip illuminates while powered.
        • Another LED chip just left of that illuminates when current limited.
        • LED chip right of digits illuminates when displaying Vout;
        • LED chip left of digits illuminates when displaying Vin.
    • PWM servo control by Arduino code running in an STM32 "Blue Pill".
      Here is the Arduino STM32 servo driver for this solution.
    • harness tensioning signals from SimHub drive the USB-attached "Blue Pill":

      Here is the SimHub Custom serial device harness tensioning control description.
      Here is the SimHub Custom serial device profile.
haptic transducers AKA exciters or shakers
  • "super pucks" Low Frequency Bass Speaker Transducer 3.75"
  • SRS ShakeSeat     padding
  • 4 years laterShakeSeat cushion -> PuckSeat modifications
  • SimHub ShakeIt Bass Shakers (confusingly, one less K than SRS product) is/was free software,
    since integrated into SimHub, and somewhat comparable to SRS' licensed app.
    Without "Bass Shakers", "ShakeIt" is about rumble motors.
    Based on game telemetry, SimHub ShakeIt Bass Shakers generates audio signals
    which are amplified to power haptic pucks, exciters and shakers.
    A SimHub license enables more support..
    SimHub ShakeIt used to be distributed and supported from RaceDepartment, but no more..
    Downloaded SimHub from http://www.simhubdash.com/ and installed per 2Old4Forza's video.
    ShakeIt GitHub:   https://github.com/SHWotever/SimHub

    Support is most active on discord...     Invitation

    SimHubWPF.exe is neither Steam nor Assetto Corsa app;
    it needs launching separately and optionally starts with Windows..
    It can be (and has been) configured to launch Content Manager instead of Assetto Corsa

    Installed on Aurora @ E:\my\SimHub
    PayPal'ed license was received promptly and also stored there.
    ShakeIt Bass Shakers Output selection required Custom channel map,
    moving all [ON] settings from channels 3,4 to 5,6 respectively.
    Cannot show all settings at once; cannot drag box height
    There are 2 "Advanced output settings", which at least need some context..
    Looking at Effects Profile, first selecting a game seems appropriate,
    since some say "not supported on the current game",
    but effects ideally should be configured for Any Game.
    Assetto Corsa configured automatically;
    "Game config" seemingly has nothing to do with ShakeIt effect settings..
    ... except that SimHub remembers what profile was last used for each game
    and will switch to that last-used profile when reselecting a game.
    New profile starts empty; can only add one at a time; cannot tell if supported until after adding
    "Add group" is another minor mystery;  here is an example.
    Existing effects can be dragged into a group,
    which can be a convenience for copying effects from one profile to others.
    SimHub appears to save settings automagically..

    Tactile Immersion - General Discussion - Hardware & Software
    Every effect has various controls to manipulate the output: amplitude, frequency, etc.
    Both amplitude and frequency can be changed based on the incoming telemetry.
    Sadly, amplitude cannot be changed independently of frequency, e.g. wheel load vs slip.
    This motivates a SimHub MIDI plugin to send MIDI based on
    e.g. wheel load to change amplitude of SimHub-generated wheel slip haptic effect.
    Effects can be configured as mono, divided front-rear, left-right, or 4-corners.

    • ShakeIt's wheelslip effects were updated
    • ShakeIt 2-4Hz effect to simulate lateral Gs
    • Some tuning hints
    • HOLY Shamolee - The Long Requested / Buttkicker Gamer 2 / Simhub Tactile Effects Thread
    • ShakeIt V3 Wiki
    • license:
      ---------- Forwarded message ---------
      From: SimHub 
      Date: Thu, Jul 16, 2020 at 6:13 AM
      Subject: Your SimHub license
      To: 
      
      Hi !
      
      Thanks for your support ! You will find your Personal SimHub License Key attached to this mail.
      Please keep it preciously.
      
      To activate your license simply download the attached file
      and click on "LOAD MY LICENSE FILE" inside simhub, then pick your license file.
      
      If you encounter any problem concerning your license,
      do not hesitate to contact me at https://www.simhubdash.com/simhub-contact/
      
      Sincerly,
      Nicolas, SimHub
      
    • isolation:
        When tactile transducers are NOT directly stimulating a sim racer,
        then energy is unavoidably wasted on whatever that transducer is attached.
        So much as possible, such mass should be minimized.
        That typically involves isolating shaken masses from others,
        ideally using underdamped springs, which may be simple elastomer bushings
        or more elaborate spring and damper assemblies, e.g.:
       
        ... but in instances where isolated mass (e.g. seat) must also resist forces in some direction,
        then e.g. suspension arms are wanted to resist those forces while isolating tactile energy in other directions.
    for ShakeSeat: 
    G-force modulated 4 corner tire slip Background and disclaimers
    My sim driving experience is with an office chair, wheel stand and mostly Assetto Corsa.
    I have no experience with the full SRS ShakeKit, which may offer a superior experience.
    Without a harness to keep one's back contacting them,
    back transducers in ShakeKit Plus seem of debatable benefit.

    Already using SimHub with available motherboard 7.1 sound
    and obsolete Denon surround receiver,
    a ShakeSeat pad was ordered because:
    * Sim Racing Garage review
    * Dayton TT25-16 pucks were, at the time, in short supply elsewhere
    An equivalent can be made using Dayton pucks with e.g.
    40cm square zippered cushion covers and EVA foam floor tiles
    Standard SimHub ShakeIt tire slip does not consider tire loading.
    For example, an inside tire may be fully unloaded during cornering,
    so very high slippage, but no perceived sensation in actual driving.

    This attempts to approximate track sensations from street tires,
    when securely harnessed in a fitted racing seat.
    Usefulness of such haptic feedback may vary widely among users
    * e.g. Niels Heusinkveld indicated that seat feel is overrated
      .. and he cued more visually off horizon movement.
    IMO, this feedback is less compelling than that from 2DOF harness tensioners,
    but reduces a sense of "something missing".

    Unambiguously directional haptic cues seemingly involve substantially direct stimulation of
    body parts, e.g. left and right thighs, lumbars and/or sit bones.

    Sensations to be simulated here:
    squeal for small slippage, transitioning to moaning with more slippage,
    then shuddering near breakaway,
    with much less feeling from lightly loaded tires (rear when braking, inside when cornering).

    Implementation embellishes SimHub Wheels slip effect using Custom Effects
    1. latitudinal and longitudinal acceleration properties
    2. loaded tire slips, products of tire slip properties times accelerations

    Recent SimHub versions provide Acceleration properties
    that had been estimated from changes in speed and yaw samples to proxy G force.
    Earlier SimHub versions sampled speed and yaw slower than Assetto Corsa sample updates,
    resulting in some changes 2x others, which code here detects and mitigates.

    Left channel Lateral G-force proxy:
    // lateral acceleration proxy
    var y = $prop('OrientationYaw');
    const tc = 3;  // IIR smoothing factor
    const noise = 0.01 // non-linear filter threshold
    
    // initialize IIR filter history
    if(null==root["yaw"]) {
       root["yaw"] = $prop('OrientationYaw');
       root["delta_y"] = 0.2;
    }
    if (null==root["Gyb4"])
      root["Gyb4"] = 0.5;
    
    var dy = y - root["yaw"];       // change between sample intervals
    
    // yaw flips at +/- 180
    if (Math.abs(dy) > 180) {  // yaw went +/- 180
      if (Math.abs(root["yaw"]) > 150)
        dy = -(y + root["yaw"]);
    }
    
    root["yaw"] = y;
    y = root["delta_y"];    // previous sample change
    
    // mitigate delta spikes from missed samples
    var my = 1;     // sample interval
    if ((Math.abs(dy * y) > noise)  // missed sample?
     && (Math.abs(dy) > Math.abs(1.8 * y)))
      dy /= (my = 2);
    
    root["delta_y"] = dy;
    
    // IIR low-pass filter
    var Gyb4 = root["Gyb4"];        // IIR output
    Gyb4 += my * (dy - Gyb4) / tc;  // low-pass IIR
    root["Gyb4"] = Gyb4;
    return 50 + (50 * Gyb4);  // range 0-100
    // 50 corresponds to no G force
    Longitudinal acceleration (right channel) is similar, substituting speed for yaw

    Loaded tire slip corner effects use products of tire slips and G force proxies:
    return .01*$prop('GameRawData.Physics.WheelSlip01')
        *($prop('ShakeITBSV3Plugin.Export.proxy_G.Left'))*(90-$prop('ShakeITBSV3Plugin.Export.proxy_G.Right'))
    // since this multiplies two properties with 0-100 ranges,
    // results must be reduced by 100 to return the same range
    // left vs right G-force distributions are applied to wheel slips
    //  by (proxy_G.Left) and (100-proxy_G.Left),
    // while front-to-rear G-force distributions are by
    //  ( proxy_G.Right-10) vs (90- proxy_G.Right)
    // to reflect that, while inner wheels may become fully unloaded in corners,
    // track cars are expected to fully unload neither nor rear wheels
    
    These two CUSTOM EFFECTS could be combined,
    except that G-force proxy properties are also used by
    a Custom serial device for 2DOF harness tensioning.
    The complete SimHub profile is available here along with a revised version
    After awhile, SimHub can accumulate too many profiles; here are mine.
SimHub MIDI plugin
SimXperience SimVibe A pioneer in converting sim telemetry to bass shaker audio,
that is now also available from (free) SimHub as well as SRS' ShakeKit.
SimXperience has since integrated SimVibe with Sim Commander 4,
which also drives their AccuForce direct drive steering wheel (acquired).

SimXperience warns that multiple identical sound adapters can be problematic.
Both Aurora motherboard and Samsung Odyssey+ sound identify as Realtek:
Intel and NVIDIA audio are presumably about HDMI.   Despite nomenclature,
Windows 10 Sound Blaster X-Fi support appears to be only stereo.
Realtek motherboard audio is enabled only after plugging into 1/8 phone jacks.
Realtek USB2.0 device disappears when Odyssey+ HMD sleeps,
reportedly confusing SimVibe/Sim Commander 4 (SC4),
which evidently keys off sequence in list of available devices.
Since Assetto Corsa already loses access to G29 and TH8A
unless launched after Steam and Content Manager,
inserting SC4 launch may also be problematic.


"You have to select the audio-source in SC4 while the Odyssey is running."
Then launch SC4 after SteamVR and activate the profile last, so don't launch games with SC4.
I would prefer a fix, but once you got used to it, it's not a game-breaker,
because in window-mode you can launch SC4 while the game is loading.
If the headset falls to sleep mode, the output in SC4 is dead and you need to re-launch it the next time.

The first bullet for Sim Commander 4: "Simple To Use"
https://simxperience.com/en-us/products/software/simcommander4.aspx
* if true, users would notice without it being pointed out.
* as is nearly always the case, emphatically untrue,
if "use" means anything other than launching a default
or something useful [but painfully] configured and debugged..
* Consider it a fair warning that, on the same page, Tutorials require Flash.
- first (for installation) should be skipped - applied to SC3 and is flat misleading
- second may be still somewhat relevant, but requires much homework to correctly fill blanks
- last SimVibe could be valuable, if still accurate

At least on my Windows 10 64-bit Home PC,
pop-up windows essential to Sim Commander 4 installation were hidden beneath
the main setup window, resulting in no progress until raised from the taskbar.

Sim Commander license code displayed online was truncated;
fortunately, gif was fully visible after download (to USB1TB/Sim).
After initial setup, Sim Commander splash window plays obnoxious drum solo,
which can be stifled by clearing Background Music in Control Center.

Rerunning Auto Search found Assetto Corsa, but not games in E:\my\SteamLibrary\steamapps\common
.. which were added manually, but still do not show up on SC4 splash screen.
REALLY need to find getting started documentation!!

Configuring SC2 launch by Content Manager was doomed;
no Output Mixer and seemingly no ShakeSeat output.

This was cured by adding a fresh Sim Commander profile
(using big + at bottom of main screen) and selecting Assetto Corsa,
then duplicating and changing game to Content Manager.
After that, even the original Content Manager profile has an Output Mixer...

SimVibe Tuning guide https://simxperience.com/Portals/0/Files/SimVibe/SimVibe%20Tuning%20Guide.pdf

SimVibe chassis appears to support neither traction loss nor ABS,
but has estimated wheel lockup (mono), oversteer and "custom simvibe effect"

Good news: switching from single screen to openvr in Content Manager
launched from SC4 did not lose SimVib, but did lose remapped mouse buttons
until logging out and back in, then launching CM from steam,
THEN launching (really, just attaching) CM/AC from SC4,
at which point SimVib and mouse buttons both worked.

Somehow overnight, SC4 loses all profilesexcept Forza 7 and AC from scratch..?

SC4 still launches a useless black abomination that is presumably its so-called Dashboard

After fiddling with Sim Commander 4 SimVibe
  • it is more about simulating road feel than haptics feedback to help drive
  • documentation sucks and effect names are unhelpful SimHub ShakeIt Bass Shakers is a better choice for me..
  • Windows 10/11 sound My Aurora R7 has 7.1 channel audio available on the motherboard.
    To configure discrete surround channels:
    Press Windows key + R to open a Run window and type mmsys.cpl
    The Realtek Speakers / Headphone must be set to 7.1 or 5.1,
    NOT Quadraphonic, which matrixes from stereo.
    Denon POA-8300 failed to drive front pucks from speakers A, but B works.

    VR HMD
    Samsung HMD Odyssey+ Miserably documented and barely supported (sold only in the U.S.)
    wants to install HMD Odyssey Home on C:
    .. but not enough space

    Plugging in launched Mixed Reality Portal,
    which reported that HMD was sleeping, but [wake] button would not..
    Eventually, things started happening.
    I have no idea how anyone is supposed to navigate WMR portal outhouse.
    Going into Windows 10 Start menu revealed both
    Samsung HMD Odyssey Setup
    Samsung HMD Odyssey+ Setup


    3D Viewer was installed
    360 Viewer was installed

    I uninstalled 'Samsung HMD Odyssey Setup'...

    Launching 'Samsung HMD Odyssey+ Setup',
    it prompted to install firmware version 1.0.2;
    having read of problems,
    I first killed Mixed Reality Portal, then update succeeded.

    One screen 'Get to know your controller' provided names for 6 controls,
    but not how or when to use them.
    Touchpad, Menu, Grab << wtf
    Trigger - Select   << what??
    Thumbstick - Teleport, rotate << how ??
    Windows button - Go to Start << what 'Start', to start what?

    Without HMD, used mouse to launch SteamVR,
    which has its own useless and pointless outhouse.
    that offers 'help', but really doesn't.
    Launched Assetto Corsa, but it was not in VR.

    Amazon Odyssey+ page has both installation and user PDFs,
    but installation PDF is mostly wrong, and
    12/2017 user PDF is older than 07/2018 manual at Samsung site.

    Odyssey "Optimize for performance" Experience Option in Update 2004
    HP Reverb G1 While Odysseey+ is better for dark details, HP's Reverb has usefully higher resolution
    and seemingly higher contrast, at least for daytime driving in Assetto Corsa.
    Issues with earlier headsets were addressed in serial numbers xxx931xxxx or higher,
    which indicates week 31 of 2019.  XXX005XXXX is week 5 of 2020.

    As should be expected with M$ software,
    Windows Mixed Reality incorporates idiosynchrocies indistinguishable from bugs.
    Combined with Nvidia graphics drivers, unambiguously buggy behaviors can occur:

    These were eventually addressed for GTX 1080Ti by reverting to Nvidia 456.55 driver.

    Nvidia graphics driver crashes

    Many recommend removing all traces of Nvidia driver installation, using DDU
    Somnium VR1

    wheel base (AccuForce DIY model no longer available) Sim driving by VR HMD without video passthru means not seeing physical controls,
    unless video capture of controls is reinserted in 3D view,
    without which controls on steering wheel are IMO useless, simplifying direct drive options.
    AccuForce has a good reputation, with $599 DIY details here
    and Assetto Corsa force feedback tuning here,
    where consensus seems to be programming Device (Accuforce controller) settings,
    then NOT running Sim Commander, just tuning in AC:
    Secrets of the SimXperience AccuForce Pro
    Accuforce Hybrid Stepper Motor:  
    DIY non-standard 14mm shaft (shared with Lenze MCS 09)

    Similarly priced Simagic M10 also used hybrid stepper motor
    with better signal connection design, but is no longer available from authorized U.S. source,
    having been replaced by also compact Alpha Mini.

    70mm steering wheel adapter @ $27 from Ascher Racing is no longer available.
    Installation:  

    14mm diameter shaft extends 55.4mm from motor case,
    which has 69.5mm center square spacing of mounting holes (6mm??)
    AccuForce DIY motor appears to be NEMA 34:

    .. for which $10 brackets are available:  
    With DIY model no longer available, consider instead Your Way,
    which includes a 14mm-to-70mm PCD hub, then remove its bulky case.


    Doomed first attempted 14mm wheel adapter
    14mm flange and 70mm hub adapter
    from Amazon for less than $25,
    along with a low cost MASO quick release,
    which nicely fits 320mm steering wheel:

    Improvised an undersize blue set screw,
    drilled hub adapter for 14mm flange
    and assembled:
     
    Enlarged 6 MASO holes for 70mm hub screws.

    MASO quick releases seemed OK;
    Sim Racing Garage liked one adapted for Thrustmaster:

    .. but elastomer buttons compress,
    allowing rattles if wheels are left attached.
    Original 14mm wheel adapter (doomed)
    DIY DD steering shaft clamp

    wheels
    Cube Controls F-PRO
    Logitech G29 Refurbished Logitech G29 arrived April 2018
    seemingly unblemished with original contents and dividers in unoriginal plain brown box.
    Single sheet of instructions (one side) of inaccurate diagrams
    and URL: www.logitech.com/support/g29
    .. wildly contrasts to TH8A book (8 pages x 18 languages).
    Actual URL:
    http://support.logitech.com/en_us/product/g29-driving-force

    Downloaded & Installed seemingly generic gaming software,
    which launched and added itself to Taskbar notifications after reboot.
    Launching it was completely uninformative and confusing until after plugging in G29;
    before that it seemed to assume there was some backlit keyboard...
    Firmware 89.0.25 is up to date.
    Set Assetto Corsa profile to be default but not persistent (application can change).

    NOT in instructions:
    "You must select your gaming platform before you connect
    the G29 racing wheel to PlayStation 4, PlayStation 3, or PC.
    PC: Set the mode switch to PS4.
    NOTE: You must install Logitech Gaming Software (LGS) 8.70 or later
    on the PC for full functionality. Once you've installed LGS,
    all buttons and accessories will function in the games that support them."
    • Logitech's Gaming Software (LGS) nowhere admits its version,
      but filename includes it: LGS_8.98.234X64_Logitech.exe
    • Undocumented icon for Overwolf, which evidently defies explanation
    • LGS documentation avoids device-specific information;
      ends up being mostly useless..
    Relevant (but inconsistent) G29 discussion for Assetto Corsa


    Bottom line:
    Settings icon has Profile tab (which I set to default Assetto Corsa),
    G29 tab (which I allowed Game to adjust force settings),

    Must double-click relevant control in Profile tab

    Create/edit/delete G29 profiles

    Someone consolidated Logitech LGS & G29 info in one PDF

    Video:  Assetto Corsa G29 steering configuration
    Advanced: Gain 100, Filter 0, min Force 20, Kerb 12, Road 35,
    Slip 13, Gamma 1.00 Filter 0.00 Speed Sens 0.00, Brake Gamma 2.40
    Enhanced Understeer & Combine checked; Half FFB unchecked.

    *** G29 completely not detected by Assetto Corsa
    Run joy.cpl
    Game Controllers Advanced - Select the device you want to use with older programs
    G29 dominates; TH8 works when G29 is unplugged

    Typically get to joy.cpl on Windows 10 by old Control Panel
    (Not Windows Settings) > Hardware and Sound > Devices and Printers
    TH8 is under Multimedia Devices > right-clock icon and
    select Game Controller Settings > Properties to test input

    When G29 USB is connected without running Logitech Gaming Software (LGS),
    G29 is under Unspecified in Windows Devices control panel
    • Logitech Gaming Software (LGS) G29 button mapping
    • LGS includes a G29 AC button profile
    • G29 wheel LUTs
    • Alternatively, RasmusP's LUT Guide for G27/29 refers to Logitech Profiler,
      which seemingly is replaced by LGS,
      which seems worthwhile for G29 mainly to set rotation degrees and 'sensitivity'.
      Not sure what is meant by sensitivity, except nominal clutch engagement point.
      for which a shortcut was added to Desktop\more\Sim\
    • Mauro Ciacchi Logitech G29 force feedback settings tutorial for Assetto Corsa and Content Manager
      Updated May 2020 (no cc) 3:53
    • Checking buttons, pedals and wheels wants joy.cpl,
      for which a shortcut was added to Desktop\more\Sim\
    • Map G29 buttons to AC keystrokes: antimicro
      "you can unlock the D pad and assign any other action
      with Content Manager/Install Custom Shaders Patch
      ... then check 'Stop AC from using POV in Pit App'
      under Custom Shaders Patch/General Settings..."
      You will thereafter need to assign the look left/right etc under the controls section...
    Completely lost control of wheel, pedals and shifter;
    AC "Start Configuration Wizard" greyed out:
    "Problem solved. In Steam Big Picture controller settings, generic controller support was checked. "

    After installing figure 8 track mod and switching E30M3 to it, lost TH8A manual shifting..?
    Automatic shift is hidden in Content Manager under "Tire Blanker" on "Drive" page
    Thanks to Phil Mabole for that tip.

    Two G29 wheel issues:
    1) small diameter
      - probably reasonable for single seater racers...
      - $25 320mm eBay wheel rotational inertia would likely overwhelm its motors
    2) weird feedback, occasional cogging, arbitrary excessive resistance,
      goes 'molasses' and unresponsive when cornering limits exceeded.
    others for GT racing in VR
    Q1R steering wheel quick release

    wheelstand Clamping G29 wheel to computer cart compromises computing;
    pivoting desk chair to wheel stand makes more sense.
    Harbor Freight clamping work bench:

    ...can be repurposed as a wheel stand.
    Ratchet strap secures desk chair to improvised wheel stand.  

    5/4 yellow pine scraps salvaged from beach house rennovation clamped to work bench legs
    mount G29 wheelbase and TH8A shifter;

    fan and Odyssey+ HMD perch on top:  

    Repurposed Adcom ACE-515 distributes power to sim equipment,
    including amplifiers for ShakeSeat cushion controlled by SimHub.
    TH8A shifter plate is rotated slightly ccw to reduce missed shifts.
    converted to extrusions for AccuForce:


    maintained by blekenbleu