| # Copyright (c) 2026 NXP Semiconductors |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| config INPUT_CRSF |
| bool "CRSF driver" |
| default y |
| depends on DT_HAS_TBS_CRSF_ENABLED |
| depends on UART_INTERRUPT_DRIVEN |
| select CRC |
| select UART_USE_RUNTIME_CONFIGURE |
| help |
| Enable driver for CRSF Remote controller. |
| |
| if INPUT_CRSF |
| |
| config INPUT_CRSF_THREAD_STACK_SIZE |
| int "Stack size for the crsf thread" |
| default 1024 |
| help |
| Size of the stack used for the crsf thread. |
| |
| config INPUT_CRSF_THREAD_PRIORITY |
| int "Priority for the crsf thread" |
| default 0 |
| help |
| Priority level of the crsf thread. |
| |
| config INPUT_CRSF_REPORT_FILTER |
| int "Minimal change in signal to report" |
| default 1 |
| help |
| CRSF tends to be a bit noisy you can increase the threshold to |
| lower the amounts of input events. Set to 0 for no filtering |
| |
| config INPUT_CRSF_SEND_SYNC |
| bool "Send Sync to input subsys on each CRSF frame" |
| default y |
| help |
| Sends sync message to input subsys with sync bit. |
| |
| config INPUT_CRSF_CHANNEL_VALUE_ONE |
| int "Threshold value > for INPUT_EV_KEY value 1" |
| default 1800 |
| help |
| CRSF sends analogue values for digital switches. This config value |
| sets the threshold to interpret the analogue value as a logic 1 |
| |
| config INPUT_CRSF_CHANNEL_VALUE_ZERO |
| int "Threshold value < for INPUT_EV_KEY value 0" |
| default 1200 |
| help |
| CRSF sends analogue values for digital switches. This config value |
| sets the threshold to interpret the analogue value as a logic 0 |
| |
| DT_CHOSEN_Z_DTCM := zephyr,dtcm |
| |
| config INPUT_CRSF_USE_DTCM_FOR_DMA_BUFFER |
| bool "Use DTCM for hardware DMA buffers" |
| depends on $(dt_chosen_enabled,$(DT_CHOSEN_Z_DTCM)) |
| help |
| Place the hardware DMA buffers into DTCM for lower |
| latency. |
| |
| endif # INPUT_CRSF |