Ring Buffer / DMA Size Calculator
embedcalc_ring_buffer_sizeCalculate the required ring buffer size from data rate, worst-case consumer latency, and a safety factor, rounding up to a power of two.
Instructions
Size a ring buffer (or DMA buffer) from data rate, worst-case consumer latency, and a safety factor, rounded up to a power of two. Args: data_rate_bytes_per_sec, latency_ms (worst-case time before the consumer drains), safety_factor (default 2). Returns (structured): { bytes_needed, recommended_pow2 }. Example: 102400 B/s, 10 ms, ×2 -> 2048 bytes -> use 2048 (2^11).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"data_rate_bytes_per_sec": "<data_rate_bytes_per_sec>",
"latency_ms": "<latency_ms>"
},
"name": "embedcalc_ring_buffer_size"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| latency_ms | Yes | Worst-case consumer latency in milliseconds | |
| safety_factor | No | Headroom multiplier (default 2) | |
| data_rate_bytes_per_sec | Yes | Incoming data rate in bytes/second |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bytes_needed | Yes | ||
| recommended_pow2 | Yes | Next power of two >= bytes_needed (fast masking index math) |