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
  • Calibration
  • Deadzone
  1. Switch library

Pedals & paddles

PreviousHandbrakeNextBrake/throttle

Last updated 1 year ago

Here we'll cover functions suited for the pedals for your feet and the paddles for your hands. Gear shift functions, clutch systems, brake, throttle and more.

Calibration

An important topic is the calibration of an analog axis. While you can calibrate joystick axis in Windows, I cannot recommend it. DDC's algorithms have chackpoints that trigger then pedals/paddles have been pressed to 100% and released to 0%. A lot of the more advanced features like Launch Button, mode changes, the different dual clutch configurations, etc. depend on this. That means the paddles/pedals should be calibrated in the firmware and no calibrations should be done in Windows.

To calibrate the clutches, you'll have to read the values from the paddles when fully pressed and fully released, by using the

The values will often be a bit erratic. Most reliable readings are when the paddles are properly mounted and all elements of the controller that consumes power are powered up. Your readings might still be a bit erratic. The general idea is:

  • Use the highest value that your read on your lowest value measurements

  • Use the lower value that you read on your highest value measurements

So if your controller fluctuates between 864 - 873 when paddle is not pressed, and 436 - 444 when pressed, use the values 864 for not pressed and 444 for pressed.

If one paddle has higher value on pressed than released and the other paddle is the opposide - it does not matter.The algorithms will take care of it.

Deadzone

A small deadzone is added to work as a buffer on both ends of the paddle range. You can increase the deadzone of the clutches by adjusting the deadzone in 12_GlobalVariables.ino.

serial monitor.