pub struct Program<const PROGRAM_SIZE: usize> {
pub code: ArrayVec<u16, PROGRAM_SIZE>,
pub origin: Option<u8>,
pub wrap: Wrap,
pub side_set: SideSet,
}
Expand description
Program ready to be executed by PIO hardware.
Fields§
§code: ArrayVec<u16, PROGRAM_SIZE>
Assembled program code.
origin: Option<u8>
Offset at which the program must be loaded.
Most often 0 if defined. This might be needed when using data based JMP
s.
NOTE: Instruction addresses in JMP instructions as well as wrap source/target are calculated as if the origin was 0. Functions loading the program into PIO instruction memory will adjust those addresses accordingly if the program is loaded to a non-zero origin address.
wrap: Wrap
Wrapping behavior for this program.
side_set: SideSet
Side-set info for this program.