nuttx/drivers/timers
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
..
arch_alarm.c sched: Simplify the timer_start/cancel in sched_timerexpiration. 2025-12-26 11:51:38 +08:00
arch_rtc.c rtc_time:set zero rtc_time struct 2025-12-19 01:58:44 +01:00
arch_timer.c arch: Flag all definitions of up_perf_* functions with CONFIG_ARCH_HAVE_PERF_EVENTS 2025-06-06 17:31:10 +08:00
capture.c drivers/capture: add signal notification support for edge capture events 2026-01-02 07:46:52 -03:00
CMakeLists.txt drivers/capture: add fake capture driver for testing and development 2026-01-02 07:46:52 -03:00
cs2100-cp.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
ds3231.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
ds3231.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
fake_capture.c drivers/capture: add fake capture driver for testing and development 2026-01-02 07:46:52 -03:00
goldfish_timer.c driver/timers: Simplify Goldfish timer driver. 2025-11-24 19:43:07 +08:00
Kconfig drivers/capture: add fake capture driver for testing and development 2026-01-02 07:46:52 -03:00
Make.defs drivers/capture: add fake capture driver for testing and development 2026-01-02 07:46:52 -03:00
mcp794xx.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
mcp794xx.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
oneshot.c drivers/timers: Fix oneshot callback arg. 2025-11-24 19:43:07 +08:00
pcf85263.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
pcf85263.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
pl031.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
ptp_clock.c drivers/ptp: add set/get statistics interface for driver 2025-12-30 10:22:09 -03:00
ptp_clock_dummy.c drivers/timers/ptp: support ptp clock dummy driver 2025-12-30 10:22:09 -03:00
pwm.c drivers: unify Private Types banners 2025-05-28 10:17:15 +08:00
rpmsg_rtc.c rtc_time:set zero rtc_time struct 2025-12-19 01:58:44 +01:00
rtc.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
rx8010.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
rx8010.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
timer.c drivers: unify Private Types banners 2025-05-28 10:17:15 +08:00
watchdog.c timers/oneshot: Remove all callback and args. 2025-11-18 13:02:29 +01:00