Packet Executor¶
Translation of Mathematical Structures into Physical Waveforms
Overview¶
The Packet Executor forms the central processing layer of REVA v4.0.
Its purpose is to transform abstract packet definitions into deterministic timing instructions that can be executed by the timer subsystem.
The Packet Executor therefore represents the bridge between:
- mathematical packet structures,
- runtime operator adjustments,
- packet scheduling,
- waveform generation.
Without the Packet Executor, packet libraries would exist only as numerical descriptions.
Position Within REVA¶
Packet Category
↓
Packet Family
↓
Packet Executor
↓
Timer2 Scheduler
↓
Timer1 Carrier Engine
↓
Half Bridge Output
The executor converts waveform geometry into timing behavior.
Fundamental Philosophy¶
REVA deliberately separates:
Waveform Definition
from
Waveform Execution
Packet families define:
What the waveform should look like
The Packet Executor determines:
How that waveform is produced
This separation improves flexibility and simplifies the overall architecture.
Packet Hierarchy¶
The executor operates upon a hierarchical structure.
Category
↓
Family
↓
Segment
↓
Pulse Count
+
Gap Time
Each level adds increasing detail.
Packet Categories¶
Categories define broad mathematical relationships.
Examples include:
- Harmonic
- Subharmonic
- Octave
- Fibonacci
- Lucas
- Golden Ratio
- Prime
A category contains multiple packet families.
Packet Families¶
A family defines a specific waveform geometry.
Example:
Family A
12
24
48
24
12
Example:
Family B
5
8
13
21
34
The family itself contains no timing logic.
It is simply a mathematical description.
Segments¶
The executor interprets each family as a sequence of segments.
Segment 1
Segment 2
Segment 3
Segment 4
...
Each segment contains two parameters:
Pulse Count
Gap Time
Together they define the local geometry of the waveform.
Runtime Scaling¶
The operator may modify packet behavior during operation.
Examples include:
- pulse scaling,
- gap scaling,
- family selection.
The Packet Executor applies these modifications before execution.
Pulse Scaling¶
Pulse scaling modifies all pulse counts within the selected family.
Conceptually:
Original
10
20
30
40
Scaled ×2
20
40
60
80
The overall geometry remains unchanged.
Only its scale changes.
Gap Scaling¶
Gap scaling modifies the spacing between segments.
Conceptually:
Original
100
200
300
Scaled ×2
200
400
600
This stretches the packet while preserving its geometry.
Executor Responsibilities¶
The Packet Executor is responsible for:
| Function | Purpose |
|---|---|
| Family Interpretation | Reads packet definitions |
| Segment Processing | Steps through segments |
| Pulse Scaling | Applies runtime scaling |
| Gap Scaling | Applies runtime scaling |
| Scheduler Interface | Provides timing data |
| Geometry Preservation | Maintains family structure |
Relationship to Timer2¶
Timer2 does not understand packet families.
Timer2 only understands timing.
The Packet Executor converts:
Packet Geometry
into
Timing Instructions
which Timer2 can execute.
Relationship to Timer1¶
Timer1 generates carrier pulses.
The Packet Executor never directly generates waveforms.
Instead it determines:
When Timer1 should appear
and
When Timer1 should be suppressed
through the scheduler.
Deterministic Behavior¶
The Packet Executor operates independently from:
- OLED refresh,
- menu navigation,
- button scanning,
- display animations.
As a result, packet geometry remains reproducible.
Engineering Perspective¶
The Packet Executor can be viewed as a translator.
Mathematics
↓
Packet Executor
↓
Timing
↓
Waveform
This translation layer is one of the defining architectural features of REVA v4.0.