nuttx/include
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
..
android include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
arpa include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
crypto LICENSE: update NuttX-PublicDomain SPDX identifier 2025-12-26 19:46:12 +08:00
cxx cxx/cstddef: expose 'max_align_t' 2025-12-09 18:03:10 +08:00
net net/ethernet: change struct ifreq to consistent with Linux 2025-12-27 20:34:17 +08:00
netinet tcp.h: add TCP_CORK definition 2025-12-18 15:38:17 +08:00
netpacket net/packet: add PACKET_<ADD|DROP>_MEMBERSHIP support 2025-12-25 10:01:43 +08:00
nuttx drivers/capture: add fake capture driver for testing and development 2026-01-02 07:46:52 -03:00
ssp include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
sys syscall/adjtime: fix minior issue about adjtime and add clock_adjtime to syscall 2025-12-30 10:22:09 -03:00
.gitignore include/.gitignore: add openlibm to gitignore 2024-10-13 02:27:28 +08:00
aio.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
alloca.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
assert.h assert: add header files to resolve compile failed 2024-10-12 09:29:37 +08:00
byteswap.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
ctype.h libcxx: fix compile error 2024-10-23 09:42:57 +08:00
debug.h drivers/timers/ptp: support ptp clock driver model 2025-12-30 10:22:09 -03:00
dirent.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
dlfcn.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
dsp.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
dspb16.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
elf.h arch:use ARCH_64BIT to mark arch is support 64bit 2025-12-18 22:05:12 +08:00
elf32.h modlib:Standardized module loading method 2024-10-05 15:22:02 +08:00
elf64.h modlib:Standardized module loading method 2024-10-05 15:22:02 +08:00
endian.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
err.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
errno.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
execinfo.h sched: support backtrace record 2024-10-11 00:37:27 +08:00
fcntl.h drivers/fs: Control the behavior of FTL by passing oflags during the open process. 2025-07-16 14:11:41 +08:00
fixedmath.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
fnmatch.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
ftw.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
gcov.h gcov: Refactoring the implementation framework of gcov 2025-07-03 00:17:58 +08:00
getopt.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
glob.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
grp.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
hex2bin.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
iconv.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
ifaddrs.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
imx_container.h arch/arm64/imx9: Add ROMAPI and AHAB support for i.MX9 2025-05-09 19:21:17 +08:00
inttypes.h inttype.h: add PRIuTM(time_t) to handle TIME64 & TIME32 print compatible 2025-12-01 10:07:49 +01:00
iso646.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
langinfo.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
libgen.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
libintl.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
limits.h Add LINE_MAX configuration 2024-12-26 13:25:19 +08:00
locale.h style/FAR: remove FAR qualifier 2025-11-10 10:56:29 +01:00
lzf.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
malloc.h memdump: add dump for the orphan nodes(neighbor of free node) 2024-10-08 23:55:59 +08:00
mqueue.h [POSIX][Bug] mqueue.h: Include file does not conform the standard 2024-12-09 21:21:09 +08:00
netdb.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
nl_types.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
nxflat.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
obstack.h libs/libc/obstack: fix allocated chunk overrun due to invalid limit 2024-10-30 11:53:18 -03:00
poll.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
pthread.h style/FAR: remove FAR qualifier 2025-11-10 10:56:29 +01:00
pty.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
pwd.h libs/libc/pwd: add new member to passwd struct 2024-10-16 11:15:25 +08:00
regex.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
resolv.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
sched.h sched: remove csection and reduce the interrupt disabling time in sched_[un]lock 2025-01-23 19:58:49 +08:00
search.h LICENSE: update NuttX-PublicDomain SPDX identifier 2025-12-26 19:46:12 +08:00
semaphore.h sched/semaphore: add support to customize semaphore max allowed value 2025-09-04 09:48:34 +08:00
shadow.h libs/libc/unistd: add getspnam function 2024-10-16 11:15:25 +08:00
signal.h signal: add include/sys/signal.h to the signal 2024-12-20 11:46:14 -03:00
spawn.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
stdbool.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
stddef.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
stdint.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
stdio.h stdio: disable fortify of snprintf/sprintf for clang 2025-12-09 08:23:14 -03:00
stdlib.h include/stdlib.h: define system()'s prototype for the flat build 2025-02-07 09:03:14 +08:00
stdnoreturn.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
string.h string:use builtin function to optimize libc function 2025-12-20 10:38:53 +08:00
strings.h libc: remove reference to non-existent readme 2025-10-11 17:07:51 -04:00
syscall.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
syslog.h drivers/syslog: Add RFC 5424 protocol support 2025-06-13 20:26:57 +08:00
termios.h include: modify for support socat, so need add some macro same as linux 2025-12-10 23:44:14 +08:00
threads.h include/threads.h: Replace thrd_ defines by actual function definitions 2024-12-19 21:56:02 +08:00
time.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
unistd.h libc/unistd: Replace pipe() macro with proper function implementation 2025-11-26 17:18:13 +08:00
utime.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
uuid.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
wait.h wait: add wait.h header file 2024-12-20 11:46:14 -03:00
wchar.h fix misspelled names in locally scoped code 2025-05-15 10:12:12 +08:00
wctype.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00