nuttx/drivers
dongjiuzhu1 57217a7983 drivers/capture: add fake capture driver for testing and development
This commit introduces a software-based fake capture driver that simulates
a 10Hz square wave with 50% duty cycle, enabling development and testing
of capture-related applications without requiring real hardware.

Background:
The capture driver subsystem requires hardware support (timers with input
capture functionality) to measure external signal frequency and duty cycle.
During development, testing, or on platforms without capture hardware, it's
difficult to develop and test applications that use the capture API.

Problem:
Without a fake/simulator driver:
- Developers cannot test capture applications without specific hardware
- Continuous Integration (CI) systems cannot run capture-related tests
- Applications cannot be developed on platforms lacking capture hardware
- Testing edge notification features requires complex hardware setup
- Difficult to reproduce specific timing scenarios for debugging

Solution:
This commit provides a software-simulated capture driver that generates
predictable capture events using a watchdog timer. The fake driver
produces a square wave signal at 10Hz frequency with 50% duty cycle,
allowing applications to test the full capture API without hardware.

Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2026-01-02 07:46:52 -03:00
..
1wire drivers/1wire/1wire_ds2xxx.h: add the driver for DS2XXX eeproms. 2025-10-10 08:55:45 +02:00
aie drivers: unify Private Types banners 2025-05-28 10:17:15 +08:00
analog sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
audio timers/oneshot: Remove all callback and args. 2025-11-18 13:02:29 +01:00
bch drivers/fs: Control the behavior of FTL by passing oflags during the open process. 2025-07-16 14:11:41 +08:00
can com/can: attempt to release invalid resources when sender is full 2025-12-26 22:23:18 +08:00
clk style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
contactless sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
coresight arch | boards | drivers: fix whitespace issues for switch case statements 2025-05-23 10:48:41 +08:00
crypto sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
devicetree style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
dma drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
dummy drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
eeprom mtd/at25ee: Use eeprom/spi_xx25xx internally 2025-12-17 19:03:54 +01:00
efuse drivers: unify Private Types banners 2025-05-28 10:17:15 +08:00
i2c drivers/i2c: add ioexpander-based lower-half implementation for I2C bit-bang 2026-01-01 17:08:47 +08:00
i2s drivers/i2s/i2schar: Implement blocking read/write operations 2025-08-27 11:07:05 +08:00
i3c Revert: "drivers/i3c: remove extra i3c_dev_register, do_daa has created them" 2025-12-09 08:23:46 -03:00
input input/ff: add control operation to force feedback driver interface 2025-12-17 20:10:09 +08:00
ioexpander drivers/gpio: gpio driver added debounce and interrupt mask functions 2025-12-18 14:52:37 +01:00
ipcc style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lcd lcd/ili9341: Improve initialization 2025-12-10 23:54:44 +08:00
leds sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
loop drivers/iovec: revert vector io implement from loop/null/zero driver 2025-01-22 11:29:39 +08:00
math drivers: unify Private Types banners 2025-05-28 10:17:15 +08:00
misc rpmsgdev: fix export null issue when rpmsgdev init 2025-12-12 17:48:43 +08:00
mmcsd drivers/mmcsd: Aligned Cmake with Make 2025-12-09 14:25:40 -03:00
modem sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
motor sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
mtd driver/cfi: fix write failed issue for unalign length with bankwidth 2025-12-31 02:36:01 +08:00
net netdev_upperhalf: add direct rx mode 2025-12-29 14:29:24 +08:00
note node/driver: make SIZEOF_NOTE_START return the right size 2025-12-23 11:26:24 -05:00
pci drivers/pci: fix arm32 build warning 2025-12-01 14:38:02 +01:00
pinctrl drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
pipes fs/drivers: Avoid causing a busy loop in the program due to context switching induced by sem_post. 2025-03-17 10:44:26 +01:00
power power/battery: set interval to reduce report via ioctl 2025-12-22 09:15:56 -03:00
rc style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
regmap style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
reset style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
rf drivers/rf: migrate license to ASF 2024-11-06 19:46:13 +08:00
rmt drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
rpmsg sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
rptun style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
segger drivers/segger: Add a kconfig to override Segger SystemView target sources version 2025-07-22 23:21:31 +08:00
sensors drivers/sensors/sersor_rpmsg: fix compile error about workqueue 2025-12-31 02:36:29 +08:00
serial uart_pl011: "pl011_irq_tx_ready" and "pl011_txready" is reversed. 2025-11-10 14:15:19 +08:00
spi sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
syslog Documentation: Add description for early_syslog() 2025-10-31 08:29:17 -03:00
thermal style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
timers drivers/capture: add fake capture driver for testing and development 2026-01-02 07:46:52 -03:00
usbdev drivers/usbdev/cdcecm.c: fix cdcecm netdev can not enter running state 2025-12-15 11:14:20 -03:00
usbhost usbhost: cdcacm exit wq after copy all received data 2025-12-14 10:37:53 -03:00
usbmisc sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
usbmonitor sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
usrsock net/usrsock: replace net_lock with usrsock_lock 2026-01-01 07:35:12 -03:00
vhost virtio/vhost: update virtqueue_get_available_buffer() api 2025-12-31 02:36:29 +08:00
video sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
virtio virtio: update virtio_alloc_buf() releated APIs usage 2025-12-31 02:36:29 +08:00
wireless drivers/lpwan: Fix Kconfig SX1276 and SX1262 position 2025-12-08 10:39:11 +08:00
.gitignore
CMakeLists.txt drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
drivers_initialize.c drivers/capture: add fake capture driver for testing and development 2026-01-02 07:46:52 -03:00
Kconfig AI engine driver 2024-10-16 13:57:23 +08:00
Makefile drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00