PulseBlasterESR-PRO
int pb_inst(int flags, int inst, int inst_data, double length);
Used to send one instruction of the pulse program. Should only be called after
pb_start_programming(PULSE_PROGRAM) has been called. It returns a negative number on an
error, or the instruction number upon success. If the function returns –99, an invalid parameter was
passed to the function. Instructions are numbered starting at 0.
int flags
– determines state of each TTL output bit. Valid values are 0x000000 to 0x1FFFFF. For
example, 0x000010 would correspond to bit 4 being on, and all other bits being off.
int inst
– determines which type of instruction is to be executed. Please see Table 7 for details.
int inst_data
– data to be used with the previous inst field. Please see Table 7 for details.
double length
– duration of this pulse program instruction, specified in nanoseconds (ns),
microseconds (us) or milliseconds (ms).
The largest value for the delay field of the pb_inst is 8589 ms (using a 500 MHz clock).
For longer delays, use the LONG_DELAY instruction (see Table 7). The maximum value for
the data field of the LONG_DELAY is 1048576. Even longer delays can be achieved using
the LONG_DELAY instruction inside of a loop.
int pb_stop_programming();
Used to tell that programming the board is complete. Board execution cannot start until this
command is received. It returns a 0 on success or a negative number on an error.
int pb_start();
Once board has been programmed, this instruction will start execution of pulse program. It returns a
0 on success or a negative number on an error.
int pb_stop();
Stop the Pulse Program execution. TTL outputs will either remain in their last state or return to zero,
depending on the firmware version of the board. It returns a 0 on success or a negative number on
an error.
2019/09/26