Files
ardupilot/libraries
Thomas Watson 002e8da59a AP_Terrain: allocate cache as block linked list instead of array
It is difficult to find enough contiguous free heap space for a large
terrain cache when it is allocated as one large array. This is
especially problematic on STM32 with the variety of heaps across
different RAM regions.

The cache is only accessed by iterating through its blocks in order.
Therefore, using a singly-linked list of blocks is a natural fit as
there is no random access to penalize. The blocks are then allocated
independently so they can be allocated in different areas or regions as
heap availability dictates. There is an order-1% space overhead for the
`next` pointer and extra heap block headers.

This also fixes memory corruption if the user gives a zero or negative
cache size parameter then enables terrain.
2026-09-22 12:03:24 +10:00
..
2026-09-05 09:08:00 +10:00
2026-09-15 07:18:13 +10:00
2026-09-05 09:08:00 +10:00
…
…
2026-09-18 11:23:30 +10:00