DDC
  • Welcome
    • Introduction
    • Supported hardware
  • 1: Project planning
    • Switch inputs
      • Switch table
      • Direct
      • Shift register
      • Port expander
    • Analog inputs
      • External ADC
    • RGB LED
    • Digital outputs
    • PWM / Circuit control
    • EEPROM
    • Processing and memory
  • 2. Wiring
    • Switch inputs
      • Matrix
      • Direct
      • Shift register
      • Port expander
    • Analog
      • Analog switches
      • External ADC
    • RGB LED
    • Digital outputs
    • PWM / Circuit control
    • EEPROM
  • 3. Coding
    • Essentials
      • 02_Board.ino
      • 08_Joystick
      • 10_TableAndAnalog.ino
        • Switch table
        • Analog channels
      • 30_Switches.ino
    • Peripherals
      • RGB LED
        • Firmware control
          • LED functions
          • Color
          • Brightness
          • Presets
        • SimHub control
      • Digital outputs
        • Setup
        • SimHub control
        • Firmware control
      • PWM / Circuit control
        • Setup
        • Calibrate
        • Switch control
        • Trigger control
      • Shift register
      • I2C devices
        • ADS1115
        • PCA9555
        • CAT24C512
    • Advanced
      • Analog inject
      • Conditional coding
        • Triggers
        • Editors
      • Field placement
      • Presets
        • 31_RunningPresets.ino
        • 32_Presets.ino
        • Example
    • Upload
    • Naming the controller
  • 4. Connect to SimHub
    • LED control
    • Controller settings and properties
      • How to connect?
      • How does it work?
      • How to control it?
      • Property list
  • Switch library
    • Pushbutton
    • Function switches
    • Toggle switches
    • Hat switches
    • Car control functions
      • QuickSwitch
      • BrakeMagic
      • ThrottleHold
      • Handbrake
    • Pedals & paddles
      • Brake/throttle
      • Clutch
      • Bite point & launch
      • Filtered curves
      • Shifter
    • Funky switch
      • Directional
      • Center push
    • Encoders
      • rotary2Bit
      • rotary4Bit
      • funkyRotary
      • wildEncoder
      • E18
      • rotaryPulse
      • PEC11
    • Rotary switches
      • rotaryAnalog
      • quickRotary
      • SW1
      • Editing functions
    • Multiswitch complexes
      • Hybrid rotary
      • Multifunction rotary
      • Modded encoder
      • Stacked encoder
    • Preset
    • DDS
    • RGB LED control
    • PWM / Circuit control
    • Utility
  • Fast DDC
    • Buttons and LED
    • 4 encoders, buttons and LED
    • Dual clutches, 4 encoders, buttons and LED
    • Dual clutches, 6 encoders, button matrix and LED
  • CB1
    • Ordering
      • Order together
      • Order yourself
        • 1. Open in EasyEDA
        • 2. Export files
        • 3. Edit Pick&Place
        • 4. Pin headers and jumper
        • 5. Order from JLCPCB
    • Wiring
    • Code
      • Essentials
      • Complete project
      • Settings
    • Circuit
    • Shields
      • Robin
  • Collaboration
Powered by GitBook
On this page
  1. Switch library
  2. Car control functions

QuickSwitch

PreviousCar control functionsNextBrakeMagic

Last updated 1 year ago

Have you noticed the toggles at the back of F1 wheels?

Drives use these to quickly change a number of settings. For instance engine braking and bias before a hard braking zone, or differential settings before a corner complex.

The QuickSwitch system uses a and a quickSwitch to do the same thing. The quickRotary is a multiposition switch that you'll map to an in-car setting. Lets say you map it to traction control. If the quickSwitch is pressed, the position of the multiposition switch will be software overridden, and it will be set to the value you have set up the quickSwitch to. This can be adjusted per Press again and you'll to back to the physical position of the quickRotary. For example, by having the quick switch setting the TC and ABS to full, you can use the quickSwitch as a "WET" button.

quickSwitch()

Overrides quickRotary1 - 4 with their respective quickValues (found in 41_Presets.ino).

Modes:

  • 0: QuickSwitch

  • 1: Normal momentary button

QuickSwitch mode defaults to button field 8 -> [DahlDesign.DDCquickSwitchMode]

QuickSwitch on/off defaults to buttion field 9 -> [DahlDesign.DDCquickSwitchActive]

void quickSwitch(int row, int col)

For a switch on row 3 column 5 -> quickSwitch(3,5);

  • 1 button number

  • modButton() to change modes

quickSwitch12()

Overrides quickRotary1 and quickRotary2 with their respective quickValues (found in 41_Presets.ino).

Modes:

  • 0: QuickSwitch

  • 1: Normal momentary button

QuickSwitch mode defaults to button field 8 -> [DahlDesign.DDCquickSwitchMode]

QuickSwitch on/off defaults to buttion field 9 -> [DahlDesign.DDCquickSwitchActive]

void quickSwitch12(int row, int col)

For a switch on row 3 column 5 -> quickSwitch12(3,5);

  • 1 button number

  • modButton() to change modes

quickSwitch34()

Overrides quickRotary3 and quickRotary4 with their respective quickValues (found in 41_Presets.ino).

Modes:

  • 0: QuickSwitch

  • 1: Normal momentary button

QuickSwitch mode defaults to button field 8 -> [DahlDesign.DDCquickSwitchMode]

QuickSwitch on/off defaults to buttion field 9 -> [DahlDesign.DDCquickSwitchActive]

void quickSwitch34(int row, int col)

For a switch on row 3 column 5 -> quickSwitch34(3,5);

  • 1 button number

  • modButton() to change modes

quickRotary
preset.