Bite point & launch

These are functions that goes together with your single or dual clutches. Bite point is a certain % of clutch application. Usually the bite point of a car means the optimal amount of clutch % application to use in a standing start launch.

With dual clutch systems, you can have one clutch giving you clutch application only to the bite point when the paddle is completely pressed, and the other paddle gives 100% clutch application. When holding them together, you can give full throttle and then abruptly release the 100% clutch, bringing you to the optimal amount of clutch application instantly. The same can be achieved by using a launchButton() and a single clutch paddle.

The bite point is pushed to joystick axis Ry, so you can access it in windows/SimHub. If you connect you DDC controller to SimHub, you can also access the bite point by the property [DahlDesign.DDCbitePoint].

biteButton()

The bite point button can either:

  • Quickly but less accurately set the bite point by holding the clutch paddle at the desired bite point and then pressing the button.

  • Together with a supported switch set the bite point with a 0.1% accuracy.

Any switch function that requires a bite button will be highlighted orange.

Normally works as a simple pushbutton that can be used to anything in-game. In addition, when held, the controller is primed to enter bite point setting. Hold + rotate a bite point compatible rotary (a rotary using a function that includes bite point setting, these are named rotary2Bite, PEC11Bite, etc.) to enter bite point setting mode. At this point, you can release the bite button. Further presses of the button will go through the stages of setting the bite point (mode 1-3), before in the end going out of bite point setting (back to mode 0).

SimHub property -> [DahlDesign.DDCbiteSetting]

Defaults to bit 11 and 12 in the rotary field, you dont have to assign a field placement.

Also, the state of the biteButton itself as a property [DahlDesign.R15].

Modes:

  • 0: Bite point setting inactive

  • 1: Bite point setting active. Adjust with steps of +/- 10

  • 2: Bite point setting active. Adjust with steps of +/- 1

  • 3: Bite point setting active. Adjust with steps of +/- 0.1

As stated above, this button's modes are not changed by using a modButton(), but by the biteButton() itself.

biteButtonLatch()

All similar to biteButton() above, but allows you to toggle the button on/off with single button presses. The advantage of this is you dont need to hold the button whilst making adjustments (some functions require you to hold the button, some dont) The downside is that it now can't be used as a regular button as well.

biteAdjustButton()

A regular pushbutton that, when biteButton() is held, can adjust the bite point by a specified amount.

You will specify an increment, which can be from -1000 to 1000. For instance, an increment of 20 will increase bite point by 2.0% on each button press. An increment of -125 will decrease the bitepoint by 12.5% on each button press.

Works well together with a rotaryMute or rotaryPartial switch where different positions of the switch will change the steps of the biteAdjustButton.

biteAdjustButtonSolo()

Similar to biteAdjustButton() above, but does not require biteButton to be held to adjust the bite point. On the flipside, it cant be used as a regular pushbutton as it doesnt trigger a button press.

launchButton()

Momentary pushbutton, should be assigned a button number. Works like a normal pushbutton, but when you hold a clutch paddle completely pressed and hit this button, it will drop the value of the clutch output to the set bite point. The button will not work as a pushbutton untill the clutch is completely released, so you can even map a shifter paddle as launchButton(), and it wont change gears when you use it to launch with.

In esssense this makes it possible to do a single clutch launch and a 1-handed launch. Ideal for wheels with a single clutch paddle or for cars that also use handbrake on launch (rallycross and Supercar).

neutralButton()

Pushbutton with two modes:

  • 0: Toggle on/off NEUTRAL, which sets the clutch to 100%. Info on this switch state is available as properties in SimHub. In addition, the property DahlDesign.SmoothGear will show “N” when this is active. 1: Regular momentary pushbutton.

  • 1: Momentary pushbutton

SimHub property -> [DahlDesign.NeutralActive]

SimHub property -> [DahlDesign.NeutralMode]

Defaults to bit 5 and bit 15 in button field, you dont have to assign a field placement.

[DahlDesign.SmoothGear] will show "N" when neutral is active.

bitePot()

Set up a device that output variable voltages, typically a potentiometer, to adjust the bite point. Should be wired like this.

When you add a bitePot() to the code, it will override any other bite point setting method. To prevent this, you can add a toggle or button to lock the bitePot() switch.

As with all analog switches, you will need to read out values from the outer positions of the switch.

bitePotLockButton()

A toggle button -> toggle on will lock your bitePot() switch, essentially silencing it in the code loop, and allowing you to use other ways to set the bite point on this controller:

  • Using presets

  • Using biteButton()

  • Using rotary switches and encoders

Toggling this off will make the bitepoint from the bitePot() override everything again.

This is also useful to prevent unintended changes to bite point.

Uses the button field.

Does not produce any button press, and therefore does not need to be assigned a button number.

bitePotLockToggle()

A toggle switch functions -> toggle on will lock your bitePot() switch, essentially silencing it in the code loop, and allowing you to use other ways to set the bite point on this controller:

  • Using presets

  • Using biteButton()

  • Using rotary switches and encoders

Toggling this off will make the bitepoint from the bitePot() override everything again.

This is also useful to prevent unintended changes to bite point.

Uses the button field.

Does not produce any button press, and therefore does not need to be assigned a button number.

Last updated