mirror of
https://github.com/openglow-org/forgefirm.git
synced 2026-09-28 01:01:12 -07:00
Follow the pulse ring to 32 MiB
The ring and the device-tree pool that backs it are now the size the factory firmware runs. Docs follow, and the hardware facts bank gains the reserved-memory map: 511 MiB usable, 96 MiB reserved for DMA, ~454 MiB left to Linux. image.health reads the pool size and ring_mb back and fails if they disagree, so a pool the parameter does not use cannot ship unnoticed, and checks that free never exceeds the ring less its gap.
This commit is contained in:
+4
-4
@@ -60,7 +60,7 @@ Two consequences worth knowing:
|
||||
|
||||
### The ring, and two ways to fill it
|
||||
|
||||
Pulse bytes go into a 16 MiB ring buffer in reserved memory. There are two ways
|
||||
Pulse bytes go into a 32 MiB ring buffer in reserved memory, the same size the factory firmware uses. There are two ways
|
||||
to use it, and the mode you run decides which:
|
||||
|
||||
- **Live streaming (GRBL mode).** The controller keeps only a small window of
|
||||
@@ -70,8 +70,8 @@ to use it, and the mode you run decides which:
|
||||
falls behind far enough to empty the ring, the machine enters an **underrun**
|
||||
state: motion stops instantly, and position is no longer trusted.
|
||||
- **Preloading (cloud mode).** The whole job is written into the ring before it
|
||||
starts. Nothing can starve, but the ring size caps job length — roughly
|
||||
1 MiB per 100 seconds at the cloud's 10 kHz tick, so about 28 minutes. A job
|
||||
starts. Nothing can starve, but the ring size caps job length: roughly
|
||||
1 MiB per 100 seconds at the cloud's 10 kHz tick, so about 56 minutes. A job
|
||||
larger than the ring is rejected cleanly before it runs.
|
||||
|
||||
### Stopping and resuming at the hardware level
|
||||
@@ -398,7 +398,7 @@ switch to cloud mode and back — re-home after switching.
|
||||
| Input | G-code over TCP:23 | a downloaded pulse file |
|
||||
| Ring use | live-streamed, small window | whole job preloaded |
|
||||
| Machine tick | 28160 Hz default | 10 kHz (from the job header) |
|
||||
| Job length limit | none | ~28 minutes (ring size) |
|
||||
| Job length limit | none | ~56 minutes (ring size) |
|
||||
| Needs internet | no | yes |
|
||||
| Laser arming | button press per job | button press per job |
|
||||
| Button mid-job | feed hold / cycle start | pause with backtrack / resume with lead |
|
||||
|
||||
Reference in New Issue
Block a user