diff --git a/app/build.gradle.kts b/app/build.gradle.kts index c7b54e2..e3a8d67 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -16,8 +16,8 @@ android { // Three digits. versionCode is that number with the dot removed. // A fix adds 0.001. One feature adds 0.010. A batch of features adds 0.100. // The release tag is v plus versionName, such as v0.013. - versionCode = 43 - versionName = "0.043" + versionCode = 44 + versionName = "0.044" } buildTypes { diff --git a/app/src/main/java/com/racingapp/pitlog/model/SetupTips.kt b/app/src/main/java/com/racingapp/pitlog/model/SetupTips.kt index 6da7e58..63db4b9 100644 --- a/app/src/main/java/com/racingapp/pitlog/model/SetupTips.kt +++ b/app/src/main/java/com/racingapp/pitlog/model/SetupTips.kt @@ -299,8 +299,8 @@ private fun blockTip(left: Double?, right: Double?, handling: String, where: Str val tight = handling.equals(Handling.Tight.label, ignoreCase = true) val loose = handling.equals(Handling.Loose.label, ignoreCase = true) return when { - tight -> SetupTip("Rear roll stiffness", "Less rear roll stiffness.") - loose -> SetupTip("Rear roll stiffness", "More rear roll stiffness.") + tight -> SetupTip("Rear roll stiffness", "Less rear roll stiffness. Take block out of the right rear.") + loose -> SetupTip("Rear roll stiffness", "More rear roll stiffness. Add block to the right rear.") else -> null } } diff --git a/app/src/main/java/com/racingapp/pitlog/ui/guide/SetupGuideScreen.kt b/app/src/main/java/com/racingapp/pitlog/ui/guide/SetupGuideScreen.kt index 3d1cf78..908fd9f 100644 --- a/app/src/main/java/com/racingapp/pitlog/ui/guide/SetupGuideScreen.kt +++ b/app/src/main/java/com/racingapp/pitlog/ui/guide/SetupGuideScreen.kt @@ -177,7 +177,7 @@ private val handling = listOf( "Middle, tight", listOf( Move("Take crossweight out.", "Once the car is square and the geometry is honest, a tight middle wants less crossweight."), - Move("Less rear roll stiffness.", "That is a thinner block under the leaves. A thicker block tightens the entry and the middle. Over 3 inches cuts forward bite. String the rear after a block change, because the blocks and U-bolts shift."), + Move("Less rear roll stiffness.", "Take block out of the right rear. A taller right rear block tightens the entry and the middle. A taller left rear block frees them. Over 3 inches cuts forward bite. String the rear after a block change, because the blocks and U-bolts shift."), Move("Let the front roll closer to the rear.", "A tight middle often means the rear wants to roll more than the front. Soften the right-front spring, or stiffen the left-front. A stiffer left-front does not work well above about 10 degrees of banking."), Move("Read the left-rear temperature.", "If the left rear is the coolest tire, the rear spring split is too large and the right-rear spring is too stiff."), Move("Less front roll stiffness.", "That is less bar on the all-thread. On a leaf-spring Camaro a stiffer bar faded after a few laps. If more front roll stiffness only helps a few laps, put it back and stiffen the front springs."), @@ -187,7 +187,7 @@ private val handling = listOf( "Middle, loose", listOf( Move("Add crossweight.", "Once alignment and balance are right, a loose middle wants more crossweight."), - Move("More rear roll stiffness.", "That is a thicker block. It tightens the entry and the middle. Stay at 3 inches or under, or forward bite falls off."), + Move("More rear roll stiffness.", "Add block to the right rear. A taller right rear block tightens the entry and the middle. Stay at 3 inches or under, or forward bite falls off."), Move("Ease a right-rear spring that is much stiffer than the left rear.", "If the front is rolling more than the rear, load piles onto the right rear."), Move("More front roll stiffness.", "That is more bar on the all-thread. The bar has to move freely in the stock saddles."), Move("Do not add stagger to make it turn.", "Extra stagger used to free a tight middle shows up as loose off the corner under power."), @@ -196,7 +196,7 @@ private val handling = listOf( HandlingCase( "Entry, tight", listOf( - Move("Less rear roll stiffness.", "More rear roll stiffness tightens the entry as well as the middle."), + Move("Less rear roll stiffness.", "Take block out of the right rear. A taller right rear block tightens the entry as well as the middle. A taller left rear block frees them."), Move("Check right-front camber through the dive.", "If the nose dives hard, the right front loses camber and the push starts. Once it starts, it is hard to drive out of. The left front also loses camber in the dive. It wants about 1/2–1° positive while it is loaded. The right-front camber change through the dive and the roll should stay near zero."), Move("Do not fix the entry with brake bias alone.", "Compare a light brake with a hard brake. If they feel the same, bias is not the problem."), ), @@ -204,7 +204,7 @@ private val handling = listOf( HandlingCase( "Entry, loose", listOf( - Move("More rear roll stiffness.", "It tightens the entry. Keep each block at 3 inches or under."), + Move("More rear roll stiffness.", "Add block to the right rear. Keep each block at 3 inches or under."), Move("Move brake bias forward.", "Too much rear brake loosens the car on a hard entry. A usual asphalt split is about 60–65% front and 35–40% rear, if the book allows an adjuster. The adjuster has to be under the dash or the hood, out of the driver's reach, on the tri-state book."), Move("Take out rear steer to the right.", "If the right rear is farther back than the left rear as the car rolls in, the rear is steering right and the car gets loose."), ), @@ -229,7 +229,7 @@ private val starts = listOf( Tip("Crossweight", "52–55% on a leaf-spring car. Less than a coil car usually wants."), Tip("Front springs", "Rate each spring at the height it sits in the car. Replace a bent or tired one. Keep the split under about 100 lb. Softening the front adds front traction, so the cross has to come up or the car gets loose. If the front out-rolls the rear, stiffen the front springs and use less front roll stiffness."), Tip("Caster", "Top of the ball-joint line tilted back is positive. Tilted forward is negative. Positive caster holds a line. Too much makes the wheel heavy. Negative caster lets the car wander on the straight. A short track often wants about 2–4° of split, left front around 1–2° and right front around 3–5°. More banking wants less caster. A tighter radius wants more split. At mid-turn the wheel should pull slightly. Check the toe after you change caster."), - Tip("Blocks", "Block thickness is rear roll stiffness. More rear roll stiffness tightens the entry and the middle. Over 3 inches cuts forward bite. South Sound allows steel leaves, at least four, with blocks, shackles, and sliders. The tri-state book allows steel or poly leaves and shackles."), + Tip("Blocks", "The right rear block is the one that tightens. A taller right rear block is more rear roll stiffness. A taller left rear block frees the entry and the middle. Over 3 inches cuts forward bite. South Sound allows steel leaves, at least four, with blocks, shackles, and sliders. The tri-state book allows steel or poly leaves and shackles."), Tip("Sway bar", "The all-thread sets front roll stiffness. Less if the car is tight. More if it is loose. The tri-state book allows a 1-1/4 inch bar in the stock saddles, no heim joints. South Sound's book does not list a bar."), Tip("Stagger", "Right rear minus left rear, around the center of the tread, with a flexible 1/4-inch tape, at the cold pressure you will race. A tighter radius wants more. More banking wants a little less: about 10 degrees is roughly 1.5% less, and about 20 degrees is roughly 6% less."), Tip("Locked or open", "On a spool or a welded rear, both tires turn together the whole corner, so stagger steers the middle. An open rear does not. Wenatchee allows an open rear. Stateline is spool or welded. These books do not allow a Detroit Locker. Too much stagger makes the car turn left on the straight. On a bias-ply tire a sliding right rear heats, grows, and the loose gets worse as the run goes on. Too little heats the right front and the push gets worse the same way."), diff --git a/app/src/main/java/com/racingapp/pitlog/ui/night/SetupEditorScreen.kt b/app/src/main/java/com/racingapp/pitlog/ui/night/SetupEditorScreen.kt index 5a43906..b71b028 100644 --- a/app/src/main/java/com/racingapp/pitlog/ui/night/SetupEditorScreen.kt +++ b/app/src/main/java/com/racingapp/pitlog/ui/night/SetupEditorScreen.kt @@ -249,7 +249,7 @@ fun SetupEditorScreen(nightId: Long, onBack: () -> Unit) { } SectionLabel("Blocks, inches") Text( - "Block thickness is rear roll stiffness. More rear roll stiffness tightens entry and the middle. Over 3 inches cuts forward bite. String the rear after you move them.", + "The right rear block is the one that tightens. A taller right rear block is more rear roll stiffness. A taller left rear block frees the entry and the middle. Over 3 inches cuts forward bite. String the rear after you move them.", color = MaterialTheme.colorScheme.onSurfaceVariant, ) FieldRow { diff --git a/app/src/main/java/com/racingapp/pitlog/ui/setup/CarSetupEditorScreen.kt b/app/src/main/java/com/racingapp/pitlog/ui/setup/CarSetupEditorScreen.kt index 8bc9d64..8c8f22a 100644 --- a/app/src/main/java/com/racingapp/pitlog/ui/setup/CarSetupEditorScreen.kt +++ b/app/src/main/java/com/racingapp/pitlog/ui/setup/CarSetupEditorScreen.kt @@ -319,6 +319,10 @@ fun CarSetupEditorScreen( ) } SectionLabel("Blocks, inches") + Text( + "A taller right rear block tightens the entry and the middle. A taller left rear block frees them.", + color = MaterialTheme.colorScheme.onSurfaceVariant, + ) FieldRow { NumberField( label = "LR", diff --git a/app/src/test/java/com/racingapp/pitlog/model/TireSheetTest.kt b/app/src/test/java/com/racingapp/pitlog/model/TireSheetTest.kt index 10db747..3089be2 100644 --- a/app/src/test/java/com/racingapp/pitlog/model/TireSheetTest.kt +++ b/app/src/test/java/com/racingapp/pitlog/model/TireSheetTest.kt @@ -126,13 +126,13 @@ class TireSheetTest { handling = "Tight", handlingWhere = "Entry", ) - assertEquals("Less rear roll stiffness.", tightBlocks.single().say) + assertEquals("Less rear roll stiffness. Take block out of the right rear.", tightBlocks.single().say) val looseBlocks = chassisTips( ChassisSetup(blockLr = 2.0, blockRr = 2.0), handling = "Loose", handlingWhere = "Center", ) - assertEquals("More rear roll stiffness.", looseBlocks.single().say) + assertEquals("More rear roll stiffness. Add block to the right rear.", looseBlocks.single().say) assertTrue( chassisTips( ChassisSetup(blockLr = 2.0, blockRr = 2.0),