|
rcbench
Servo and ESC test bench: panel, IOmcu and shared C
|
The pass a START needs to be carried out. More...
#include <kst_prog.h>
Data Fields | |
| _Atomic uint32_t | pass |
The pass a START needs to be carried out.
The model's task and the task that owns the link module share one of these. kst_prog_take() offers the pass of each START it hands out; the link's task claims it when the command comes out of its queue and carries the command out only with the pass; the model revokes the pass of a START nobody answered. Each pass is taken once, by the one or by the other: a START whose pass the model revoked is never carried out, however late it leaves the queue.
The three calls are safe from two tasks without a lock: each is one atomic exchange of a 32-bit word.
| _Atomic uint32_t kst_prog_gate_t::pass |
the id of the START offered; 0 none