Commit Graph
8 Commits
Author SHA1 Message Date
Julian Oes 3a378cd86d fix(boards): no SD card on this board 2026-04-11 06:38:04 +12:00
Julian Oes 1a96bd2c94 feat(logger): add SDLOG_ROTATE, disentangle cleanup thresholds
The previous cleanup logic conflated two independent concerns into
SDLOG_MAX_SIZE: the maximum size of a single log file (rotation
trigger) AND the minimum free space to maintain. That was broken:
the 4095 MB default meant "keep 4 GB free", which over-cleaned on
large SD cards and was impossible to satisfy on small flash.

Disentangle the two:

- SDLOG_ROTATE (new, int %, default 90): maximum disk usage percentage.
  Cleanup guarantees at least (100 - SDLOG_ROTATE)% free even during
  writing of a new log file. Setting 0 disables space-based cleanup;
  100 allows filling the disk completely.
- SDLOG_MAX_SIZE (default lowered from 4095 to 1024): pure max file
  size. The value is added on top of the rotate-derived threshold as
  headroom for the next file write, so the rotate guarantee holds
  even mid-write.
- SDLOG_DIRS_MAX: removed. Directory count limits were confusing and
  orthogonal to the space-management goal; free-space cleanup alone
  covers the use case. Drop the param and all remaining overrides
  (rc.board_defaults, rcS, rc.replay, 1002_standard_vtol.hil).

Cleanup threshold is now:
    ((100 - SDLOG_ROTATE)% of disk) + SDLOG_MAX_SIZE

Small-flash boards can override SDLOG_MAX_SIZE to get more retained
logs within the available space. kakuteh7v2 and airbrainh743 drop
their SDLOG_DIRS_MAX overrides accordingly.

Update docs/en/dev_log/logging.md with the new semantics and a
worked example for the typical 8 GB SD case.
2026-04-11 06:35:58 +12:00
Julian Oes 18493222ed feat(mklittlefs): add command to format littlefs filesystems
Add an NSH command to format a device with littlefs, analogous to
mkfatfs for FAT filesystems. The command unmounts the mount point,
then remounts with forceformat to format and mount in one step.

Enable the command on boards that use littlefs as primary storage
(airbrainh743 and kakuteh7v2), and document it in the airbrainh743
flight controller page as a recovery procedure for a corrupted
flash filesystem.

Usage: mklittlefs /dev/mtd0 /fs/flash
2026-04-11 05:59:27 +12:00
Julian Oes a98d68f919 AirBrainH743: use /fs/flash instead of /fs/microsd 2026-02-10 15:47:31 +13:00
Julian Oes 7d2d85e6ac AirBrainH743: reformat littlefs if required 2026-02-10 15:47:31 +13:00
Julian Oes 34845a62b0 AirBrainH743: add external I2C
This is for future/later board revisions.
2026-02-10 15:47:31 +13:00
Julian Oes 7715a4ab4c AirBrainH743: configure for active buzzer
We can't use passive buzzers because the timer to drive the PWM would
conflict with the motor outputs M7 and M8.
2026-02-10 15:47:31 +13:00
Julian Oes ea2ca45cf9 boards: add support for Gear Up AirBrainH743 2026-02-10 15:47:31 +13:00