aboutsummaryrefslogtreecommitdiffstats
path: root/src/Kconfig
blob: 2d238c50935addd887dd230c1c147cd80301b75c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# Main Kconfig settings

mainmenu "Klipper Firmware Configuration"

config LOW_LEVEL_OPTIONS
    bool "Enable extra low-level configuration options"
    default n
    help
        Enable low-level configuration options that (if modified) may
        result in a build that does not function correctly.

choice
    prompt "Micro-controller Architecture"
    config MACH_AVR
        bool "Atmega AVR"
    config MACH_ATSAM
        bool "SAM3/SAM4 (Due and Duet)"
    config MACH_ATSAMD
        bool "SAMD21/SAMD51"
    config MACH_LPC176X
        bool "LPC176x (Smoothieboard)"
    config MACH_STM32F0
        bool "STMicroelectronics STM32F042"
    config MACH_STM32F1
        bool "STMicroelectronics STM32F103"
    config MACH_STM32F4
        bool "STMicroelectronics STM32F4"
    config MACH_PRU
        bool "Beaglebone PRU"
    config MACH_LINUX
        bool "Linux process"
    config MACH_SIMU
        bool "Host simulator"
endchoice

source "src/avr/Kconfig"
source "src/atsam/Kconfig"
source "src/atsamd/Kconfig"
source "src/lpc176x/Kconfig"
source "src/stm32f0/Kconfig"
source "src/stm32f1/Kconfig"
source "src/stm32f4/Kconfig"
source "src/pru/Kconfig"
source "src/linux/Kconfig"
source "src/simulator/Kconfig"

# Generic configuration options for serial ports
config SERIAL_BAUD
    depends on SERIAL
    int "Baud rate for serial port" if LOW_LEVEL_OPTIONS
    default 250000
    help
        Specify the baud rate of the serial port. This should be set
        to 250000. Read the FAQ before changing this value.

# Generic configuration options for USB
menu "USB ids"
    depends on USBSERIAL

config USB_VENDOR_ID
    hex "USB vendor ID"
    default 0x2341
config USB_DEVICE_ID
    hex "USB device ID"
    default 0xabcd
config USB_SERIAL_NUMBER
    string "USB serial number"
    default "12345"

endmenu

# Step timing customization
config CUSTOM_STEP_DELAY
    bool "Specify a custom step pulse duration"
    depends on LOW_LEVEL_OPTIONS
config STEP_DELAY
    int
    default 2
config STEP_DELAY
    int "Step pulse duration (in microseconds)"
    depends on CUSTOM_STEP_DELAY
    help
        Specify the duration of the stepper step pulse time. This
        setting applies to all stepper drivers controlled by the
        micro-controller. If this value is set to zero (or less) then
        the code will "step" and "unstep" in the same C function.

        A setting of zero (or less) on 8-bit AVR micro-controllers
        results in a minimum step pulse time a little over 2us.

        A setting of zero on ARM micro-controllers typically results
        in a minimum step pulse time of 20 cpu cycles.

        The default for AVR is -1, for all other micro-controllers it
        is 2us.

config INITIAL_PINS
    string "GPIO pins to set at micro-controller startup"
    depends on LOW_LEVEL_OPTIONS
    help
        One may specify a comma separated list of gpio pins to set
        during the micro-controller startup sequence. By default the
        pins will be set to output high - preface a pin with a '!'
        character to set that pin to output low.

# The HAVE_GPIO_x options allow boards to disable support for some
# commands if the hardware does not support the feature.
config HAVE_GPIO
    bool
    default n
config HAVE_GPIO_ADC
    bool
    default n
config HAVE_GPIO_SPI
    bool
    default n
config HAVE_GPIO_I2C
    bool
    default n
config HAVE_GPIO_HARD_PWM
    bool
    default n
config HAVE_GPIO_BITBANGING
    bool
    default n

config INLINE_STEPPER_HACK
    # Enables gcc to inline stepper_event() into the main timer irq handler
    bool
    depends on HAVE_GPIO
    default y