Skip to content

getCapacity

Signatures

  • uint32_t SPIFlash::getCapacity(void)
  • uint32_t SPIFram::getCapacity(void)

What It Is For

Return total chip capacity in bytes used for bounds checks, random-address generation, and buffer planning.

Parameters

  • No parameters.

Behavior Details

Use this when calculating safe address ranges: valid span is 0 to capacity - 1.

Return Semantics

Returns capacity in bytes.

Failure Behavior

Using hardcoded capacities causes address overrun on different chip variants.

Common Mistakes

  • Hardcoding capacity from datasheet instead of querying runtime value.
  • Using random address upper bound equal to capacity without considering payload size.
  • Assuming same capacity across all user hardware variants.

Choosing Between Similar APIs

  • Use getCapacity() for dynamic bounds-safe code.
  • Use constants only when targeting one fixed chip SKU.
  • Combine with payload size checks to avoid end-of-chip overruns.

Example

uint32_t cap = flash.getCapacity();
uint32_t addr = random(0, cap);