mirror of
https://github.com/apache/nuttx.git
synced 2026-10-08 06:45:19 +00:00
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
|
||
|---|---|---|
| .. | ||
| abntcodi | ||
| adc | ||
| adjtime | ||
| adxl372_test | ||
| ajoystick | ||
| alarm | ||
| apa102 | ||
| apds9960 | ||
| audio_rttl | ||
| baromonitor | ||
| bastest | ||
| battery | ||
| bme680 | ||
| bmi160 | ||
| bmp180 | ||
| bmp280 | ||
| boardioc_spinlock | ||
| bridge | ||
| buttons | ||
| calib_udelay | ||
| camera | ||
| can | ||
| capture | ||
| cbortest | ||
| cctype | ||
| chat | ||
| chrono | ||
| configdata | ||
| cordic | ||
| cpuhog | ||
| cromfs | ||
| dac | ||
| dhcpd | ||
| discover | ||
| djoystick | ||
| dronecan | ||
| elf | ||
| embedlog | ||
| esp32_himem | ||
| etl | ||
| fb | ||
| fboverlay | ||
| flash_test | ||
| flowc | ||
| fmsynth | ||
| foc | ||
| ft80x | ||
| ftpc | ||
| ftpd | ||
| fxos8700cq_test | ||
| gpio | ||
| gps | ||
| hall | ||
| hdc1008_demo | ||
| hello | ||
| hello_nim | ||
| hello_wasm | ||
| hello_zig | ||
| helloxx | ||
| hidkbd | ||
| hts221_reader | ||
| i2cchar | ||
| i2sloop | ||
| igmp | ||
| ina219 | ||
| ina226 | ||
| ini_dumper | ||
| ipcfg | ||
| ipforward | ||
| json | ||
| keyboard | ||
| leds | ||
| leds_rust | ||
| leds_zig | ||
| lely_master | ||
| lely_slave | ||
| libtest | ||
| lis3dsh_reader | ||
| lp503x | ||
| lsm6dsl_reader | ||
| lsm303_reader | ||
| ltr308 | ||
| lua_module | ||
| lvgldemo | ||
| lvglterm | ||
| max31855 | ||
| mcuboot | ||
| media | ||
| mld | ||
| mlx90614 | ||
| mml_parser | ||
| modbus | ||
| modbusmaster | ||
| module | ||
| mount | ||
| mqttc | ||
| mtdpart | ||
| mtdrwb | ||
| netlink_route | ||
| netloop | ||
| netpkt | ||
| nettest | ||
| nimble | ||
| nng_test | ||
| noteprintf | ||
| nrf24l01_btle | ||
| nrf24l01_term | ||
| null | ||
| nunchuck | ||
| nx | ||
| nxdemo | ||
| nxflat | ||
| nxflatxip | ||
| nxhello | ||
| nximage | ||
| nxlines | ||
| nxmbserver | ||
| nxscope | ||
| nxterm | ||
| nxtext | ||
| obd2 | ||
| oneshot | ||
| opencyphal | ||
| pca9635 | ||
| pdcurses | ||
| pf_ieee802154 | ||
| pipe | ||
| poll | ||
| popen | ||
| posix_spawn | ||
| powerled | ||
| powermonitor | ||
| pppd | ||
| pty_test | ||
| pulsecount | ||
| pwfb | ||
| pwlines | ||
| pwm | ||
| qencoder | ||
| random | ||
| relays | ||
| rfid_readuid | ||
| rgbled | ||
| rng90 | ||
| romfs | ||
| rpmsgsocket | ||
| rust | ||
| s2opc | ||
| sendmail | ||
| serialblaster | ||
| serialrx | ||
| serloop | ||
| shm_test | ||
| sht3x | ||
| slcd | ||
| smf | ||
| smps | ||
| sotest | ||
| spislv_test | ||
| stat | ||
| sx127x_demo | ||
| system | ||
| tcp_ipc_client | ||
| tcp_ipc_server | ||
| tcpblaster | ||
| tcpecho | ||
| telnetd | ||
| termios | ||
| thttpd | ||
| tiff | ||
| timer | ||
| timer_gpio | ||
| touchscreen | ||
| txmorse | ||
| udgram | ||
| udp | ||
| udpblaster | ||
| uid | ||
| unionfs | ||
| usbserial | ||
| userfs | ||
| usrsocktest | ||
| ustream | ||
| uvc_cam | ||
| veml6070 | ||
| watchdog | ||
| watcher | ||
| webpanel | ||
| webserver | ||
| wget | ||
| wgetjson | ||
| wiegand | ||
| ws2812 | ||
| ws2812esp32rmt | ||
| xbc_test | ||
| xedge_demo | ||
| xmlrpc | ||
| zerocross | ||
| index.rst | ||