nuttx/Documentation/applications/examples
Vinicius May f6ecf80ebb Documentation: brand new layout for NuttX documentation.
The documentation grew one page at a time, so the tree follows the
history of who wrote what and not the shape of NuttX. Scheduling is
spread over three places, a driver page can sit above the subsystem
that owns it, and the front page lists everything at the same level.
That is a lot to face when all you want to know is where the scheduler
lives.

This change files every page under the code it describes. It is a move,
not a rewrite: outside the ten pages named below, every page keeps the
text that is already in master, and no page's text is deleted.

What it does:

* Groups the table of contents into nine chapters.
* Moves the OS subsystems under os/: scheduling, memory, drivers,
  filesystem, networking, IPC, interrupts, libs, time.
* Renames the platform pages to the names the source tree uses, and
  derives their tags from the tree instead of by hand.
* Splits guides/ by subject.
* Adds Documentation/redirects.py, with a rule for every page that left
  its old path, so old URLs keep working. The redirect page also carries
  a link's #anchor across to the new page.

Ten pages have text that is new or rewritten. Nine of them are the
landing page of a chapter, which has to exist for the new structure:

    index                  the front page
    os/index               OS Design
    os/scheduling/index    Scheduling
    os/interrupts/index    Interrupts
    os/ipc/index           IPC
    os/time/index          Time and timers
    about/index            About
    developing/index       Developing NuttX
    ReleaseNotes/index     Release notes

The tenth is os/libs/libbuiltin, the only page here with technical
content: libs/libbuiltin/ had no page at all. Five SVG diagrams come
with these pages, hand-written XML with no editor metadata.

Nothing outside Documentation/ is touched.

How it was checked:

* Sphinx builds with -W: no warnings, and no document left outside a
  toctree.
* A script, offered in the PR, proves the narrow claim this rests on.
  For every page outside the ten named above it erases what a move
  touches -- link target, path, tag line, toctree block, table border --
  from the whole old text and the whole new text, and requires the two
  to be byte for byte identical. It also requires every sentence of a
  deleted page to turn up somewhere, and every page that left its old
  path to have a redirect, from a URL that existed, to where its content
  went. It exits non-zero and names the page if any of that is not true,
  and it tests added pages too, so forgetting to declare one cannot make
  it pass.
* An independent audit checked 133 factual claims on these ten pages
  against the tree, one shell command per claim: 130 confirmed, 1
  refuted and fixed here, 2 not checkable.
* tools/checkpatch.sh is clean over the range.

The diff is large because moving a page changes every link that points
to it. Most of it is pure renames, and board pages that gained one tag
line.

Assisted-by: Claude:claude-opus-5
2026-10-08 01:40:54 +08:00
..
abntcodi
adc adc: Implement ADC driver interface for MCP3008 over SPI. Includes documentation page for the driver, and inclusion of driver registration code for RP2040-based boards. 2024-10-22 13:56:23 +08:00
adjtime
adxl372_test
ajoystick
alarm
apa102
apds9960 style: fix typos 2025-04-30 13:45:46 +08:00
audio_rttl docs/audio_rttl: Document the RTTL audio player 2026-07-15 16:15:42 -03:00
baromonitor Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
bastest
battery
bme680
bmi160
bmp180
bmp280 docs/applications/bmp280: Documentation for the BMP280 application. 2025-09-10 12:48:00 -03:00
boardioc_spinlock boards/boardctl.c: BOARDIOC_SPINLOCK missing some Conditional branch 2026-02-02 20:40:33 +08:00
bridge
buttons
calib_udelay docs/calib_udelay: Added documentation for the calib_udelay example. 2025-09-10 17:52:38 -04:00
camera Documentation: fix spelling 2025-05-15 11:33:41 +08:00
can documentation: spelling and grammar fixes 2025-07-24 14:44:02 +08:00
capture
cbortest
cctype
chat
chrono
configdata
cordic
cpuhog
cromfs
dac
dhcpd
discover
djoystick
dronecan
elf documentation: spelling and grammar fixes 2025-07-24 14:44:02 +08:00
embedlog
esp32_himem
etl
fb Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
fboverlay
flash_test
flowc
fmsynth
foc
ft80x !arch/stm32: move stm32l1 and finalize the directory split 2026-06-24 14:54:44 -03:00
ftpc
ftpd
fxos8700cq_test
gpio
gps docs/gps: Add documentation for gps example program. 2025-05-26 10:51:51 -03:00
hall
hdc1008_demo
hello
hello_nim
hello_wasm
hello_zig
helloxx
hidkbd Documentation: follow the keyboard change in the application docs 2026-08-02 18:37:12 +08:00
hts221_reader
i2cchar
i2sloop
igmp
ina219
ina226 docs: Fix example ina226 2024-12-10 09:38:40 -03:00
ini_dumper
ipcfg
ipforward
json
keyboard
leds
leds_rust
leds_zig risc-v/qemu-rv: Add Build Config for leds64_zig 2024-09-05 11:28:12 +08:00
lely_master Documentation: update Lely CANopen doc 2026-07-06 11:02:46 -03:00
lely_slave Documentation: update Lely CANopen doc 2026-07-06 11:02:46 -03:00
libtest
lis3dsh_reader
lp503x
lsm6dsl_reader
lsm303_reader
ltr308
lua_module
lvgldemo boards/xtensa/esp32s3: New board WaveShare ESP32-S3-Touch-LCD-1.28 (WIP). 2026-04-24 16:27:08 +08:00
lvglterm Documentation: follow the keyboard change in the application docs 2026-08-02 18:37:12 +08:00
max31855
mcuboot documentation: update MCUBoot docs for local update agent example 2025-07-16 09:12:41 +08:00
media
mld
mlx90614
mml_parser
modbus
modbusmaster
module libc/elf: rename modlib to libelf 2025-04-11 09:43:22 +08:00
mount
mqttc documentation: Document MQTT-C with Mbed TLS usage. 2026-04-14 16:05:54 +08:00
mtdpart
mtdrwb
netlink_route
netloop
netpkt netpkt: Introduction to using netpkt example 2025-12-24 16:50:27 +08:00
nettest
nimble
nng_test
noteprintf
nrf24l01_btle
nrf24l01_term
null
nunchuck
nx
nxdemo
nxflat
nxflatxip Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
nxhello
nximage WIP: Documentation: replace first person perspectives 2025-05-19 20:21:33 +08:00
nxlines documentation: spelling and grammar fixes 2025-07-24 14:44:02 +08:00
nxmbserver boards/nucleo-c071rb: add nxmodbus examples to jumbo 2026-04-21 09:39:04 +08:00
nxscope Documentation: update nxscope doc 2026-03-24 09:39:42 +08:00
nxterm style: Fix "the the" typo across the codebase. 2026-03-23 11:07:49 +01:00
nxtext
obd2
oneshot
opencyphal
pca9635
pdcurses
pf_ieee802154
pipe
poll
popen
posix_spawn libc/elf: rename modlib to libelf 2025-04-11 09:43:22 +08:00
powerled
powermonitor
pppd
pty_test
pulsecount !drivers: separate pulse count feature from PWM driver 2026-05-25 14:33:11 +02:00
pwfb
pwlines
pwm !drivers: separate pulse count feature from PWM driver 2026-05-25 14:33:11 +02:00
qencoder
random style: fix typos 2025-04-30 13:45:46 +08:00
relays
rfid_readuid
rgbled
rng90 Documentation/examples/rng90: add RNG90 application documentation 2026-06-14 18:41:09 +08:00
romfs
rpmsgsocket
rust docs: Add Rust examples including JSON handling and Slint UI framework 2025-01-30 13:45:01 +08:00
s2opc Documentation: add S2OPC documentation 2026-09-14 18:30:38 -03:00
sendmail
serialblaster
serialrx
serloop documentation: spelling and grammar fixes 2025-07-24 14:44:02 +08:00
shm_test
sht3x
slcd
smf docs/applications/smf: added state machine framework example documentation 2026-01-05 09:47:23 +08:00
smps
sotest documentation: spelling and grammar fixes 2025-07-24 14:44:02 +08:00
spislv_test riscv/common/espressif: Fix spi slave driver 2024-11-05 14:59:37 +08:00
stat
sx127x_demo docs/examples/sx127x_demo: Expand SX127X demo documentation 2026-03-08 16:08:39 -03:00
system
tcp_ipc_client
tcp_ipc_server
tcpblaster
tcpecho
telnetd
termios
thttpd
tiff
timer
timer_gpio
touchscreen
txmorse docs/applications/txmorse: Document the txmorse application 2026-07-24 12:03:37 +08:00
udgram
udp
udpblaster
uid Documentation/examples/uid: Add documentation for uid example 2026-05-30 11:54:13 +08:00
unionfs
usbserial documentation: spelling and grammar fixes 2025-07-24 14:44:02 +08:00
userfs
usrsocktest
ustream
uvc_cam boards/lckfb-szpi-esp32s3: add UVC camera standalone defconfig 2026-03-29 12:35:22 -03:00
veml6070
watchdog boards/xtensa/esp32s3: New board WaveShare ESP32-S3-Touch-LCD-1.28 (WIP). 2026-04-24 16:27:08 +08:00
watcher
webpanel Documentation: Add NuttX Web Panel documentation entry 2026-06-18 08:57:17 -03:00
webserver
wget
wgetjson
wiegand
ws2812
ws2812esp32rmt
xbc_test
xedge_demo Documentation/xedge_demo: Fix RST formatting issues 2025-08-21 17:43:09 +08:00
xmlrpc
zerocross
index.rst