Xenomai API
2.5.6.1
|
Data Structures | |
struct | a4l_instruction |
Structure describing the synchronous instruction. More... | |
struct | a4l_instruction_list |
Structure describing the list of synchronous instructions. More... | |
Defines | |
#define | A4L_INSN_WAIT_MAX 100000 |
Maximal wait duration. | |
Functions | |
int | a4l_snd_insnlist (a4l_desc_t *dsc, a4l_insnlst_t *arg) |
Perform a list of synchronous acquisition misc operations. | |
int | a4l_snd_insn (a4l_desc_t *dsc, a4l_insn_t *arg) |
Perform a synchronous acquisition misc operation. | |
Instruction type | |
#define | A4L_INSN_READ (0 | A4L_INSN_MASK_READ) |
Read instruction. | |
#define | A4L_INSN_WRITE (1 | A4L_INSN_MASK_WRITE) |
Write instruction. | |
#define | A4L_INSN_BITS |
"Bits" instruction | |
#define | A4L_INSN_CONFIG |
Configuration instruction. | |
#define | A4L_INSN_GTOD |
Get time instruction. | |
#define | A4L_INSN_WAIT |
Wait instruction. | |
#define | A4L_INSN_INTTRIG |
Trigger instruction (to start asynchronous acquisition) | |
Configuration instruction type | |
#define | A4L_INSN_CONFIG_DIO_INPUT 0 |
#define | A4L_INSN_CONFIG_DIO_OUTPUT 1 |
#define | A4L_INSN_CONFIG_DIO_OPENDRAIN 2 |
#define | A4L_INSN_CONFIG_ANALOG_TRIG 16 |
#define | A4L_INSN_CONFIG_ALT_SOURCE 20 |
#define | A4L_INSN_CONFIG_DIGITAL_TRIG 21 |
#define | A4L_INSN_CONFIG_BLOCK_SIZE 22 |
#define | A4L_INSN_CONFIG_TIMER_1 23 |
#define | A4L_INSN_CONFIG_FILTER 24 |
#define | A4L_INSN_CONFIG_CHANGE_NOTIFY 25 |
#define | A4L_INSN_CONFIG_SERIAL_CLOCK 26 |
#define | A4L_INSN_CONFIG_BIDIRECTIONAL_DATA 27 |
#define | A4L_INSN_CONFIG_DIO_QUERY 28 |
#define | A4L_INSN_CONFIG_PWM_OUTPUT 29 |
#define | A4L_INSN_CONFIG_GET_PWM_OUTPUT 30 |
#define | A4L_INSN_CONFIG_ARM 31 |
#define | A4L_INSN_CONFIG_DISARM 32 |
#define | A4L_INSN_CONFIG_GET_COUNTER_STATUS 33 |
#define | A4L_INSN_CONFIG_RESET 34 |
#define | A4L_INSN_CONFIG_GPCT_SINGLE_PULSE_GENERATOR 1001 /* Use CTR as single pulsegenerator */ |
#define | A4L_INSN_CONFIG_GPCT_PULSE_TRAIN_GENERATOR 1002 /* Use CTR as pulsetraingenerator */ |
#define | A4L_INSN_CONFIG_GPCT_QUADRATURE_ENCODER 1003 /* Use the counter as encoder */ |
#define | A4L_INSN_CONFIG_SET_GATE_SRC 2001 /* Set gate source */ |
#define | A4L_INSN_CONFIG_GET_GATE_SRC 2002 /* Get gate source */ |
#define | A4L_INSN_CONFIG_SET_CLOCK_SRC 2003 /* Set master clock source */ |
#define | A4L_INSN_CONFIG_GET_CLOCK_SRC 2004 /* Get master clock source */ |
#define | A4L_INSN_CONFIG_SET_OTHER_SRC 2005 /* Set other source */ |
#define | A4L_INSN_CONFIG_SET_COUNTER_MODE 4097 |
#define | A4L_INSN_CONFIG_SET_ROUTING 4099 |
#define | A4L_INSN_CONFIG_GET_ROUTING 4109 |
Counter status bits | |
#define | A4L_COUNTER_ARMED 0x1 |
#define | A4L_COUNTER_COUNTING 0x2 |
#define | A4L_COUNTER_TERMINAL_COUNT 0x4 |
IO direction | |
#define | A4L_INPUT 0 |
#define | A4L_OUTPUT 1 |
#define | A4L_OPENDRAIN 2 |
Events types | |
Values to define the Analogy events. They might used to send some specific events through the instruction interface. | |
#define | A4L_EV_START 0x00040000 |
#define | A4L_EV_SCAN_BEGIN 0x00080000 |
#define | A4L_EV_CONVERT 0x00100000 |
#define | A4L_EV_SCAN_END 0x00200000 |
#define | A4L_EV_STOP 0x00400000 |
int a4l_snd_insn | ( | a4l_desc_t * | dsc, |
a4l_insn_t * | arg | ||
) |
Perform a synchronous acquisition misc operation.
The function a4l_snd_insn() triggers a synchronous acquisition.
[in] | dsc | Device descriptor filled by a4l_open() (and optionally a4l_fill_desc()) |
[in] | arg | Instruction structure |
References a4l_descriptor::fd.
Referenced by a4l_config_subd(), a4l_sync_dio(), a4l_sync_read(), and a4l_sync_write().
int a4l_snd_insnlist | ( | a4l_desc_t * | dsc, |
a4l_insnlst_t * | arg | ||
) |
Perform a list of synchronous acquisition misc operations.
The function a4l_snd_insnlist() is able to send many synchronous instructions on a various set of subdevices, channels, etc.
[in] | dsc | Device descriptor filled by a4l_open() (and optionally a4l_fill_desc()) |
[in] | arg | Instructions list structure |
References a4l_descriptor::fd.
Referenced by a4l_sync_read(), and a4l_sync_write().