nuttx/include
dongjiuzhu1 f6a9f8239d drivers/capture: add signal notification support for edge capture events
This commit adds comprehensive signal notification support to the capture
driver, enabling applications to be asynchronously notified when capture
edge events occur on any channel, rather than having to poll for events.

Background:
The capture driver is used to measure frequency and duty cycle of external
signals by detecting edges (rising/falling). Previously, applications could
only retrieve captured values through periodic polling via CAPIOC_GETDUTY
and CAPIOC_GETFREQ ioctl commands, which is inefficient for event-driven
applications.

Problem:
Without event notification, applications must:
- Continuously poll the capture device to check for new events
- Waste CPU cycles in polling loops
- Experience higher latency in responding to capture events
- Cannot efficiently handle multiple capture channels simultaneously

Solution:
This commit adds a signal-based notification mechanism that allows
applications to register callbacks for specific capture channels and
edge types (rising, falling, or both). When the hardware detects the
configured edge, a signal is sent to the registered task.

Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2026-01-02 07:46:52 -03:00
..
android
arpa
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 signal notification support for edge capture events 2026-01-02 07:46:52 -03:00
ssp
sys syscall/adjtime: fix minior issue about adjtime and add clock_adjtime to syscall 2025-12-30 10:22:09 -03:00
.gitignore
aio.h
alloca.h
assert.h
byteswap.h
ctype.h
debug.h drivers/timers/ptp: support ptp clock driver model 2025-12-30 10:22:09 -03:00
dirent.h
dlfcn.h
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
elf64.h
endian.h
err.h
errno.h
execinfo.h
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
ftw.h
gcov.h gcov: Refactoring the implementation framework of gcov 2025-07-03 00:17:58 +08:00
getopt.h
glob.h
grp.h
hex2bin.h
iconv.h
ifaddrs.h
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
langinfo.h
libgen.h
libintl.h
limits.h
locale.h style/FAR: remove FAR qualifier 2025-11-10 10:56:29 +01:00
lzf.h
malloc.h
mqueue.h
netdb.h
nl_types.h
nxflat.h
obstack.h
poll.h
pthread.h style/FAR: remove FAR qualifier 2025-11-10 10:56:29 +01:00
pty.h
pwd.h
regex.h
resolv.h
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
signal.h
spawn.h
stdbool.h
stddef.h
stdint.h
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
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
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
time.h
unistd.h libc/unistd: Replace pipe() macro with proper function implementation 2025-11-26 17:18:13 +08:00
utime.h
uuid.h
wait.h
wchar.h fix misspelled names in locally scoped code 2025-05-15 10:12:12 +08:00
wctype.h