Xenomai API  2.6.5
instruction.h File Reference

Analogy for Linux, instruction related features. More...

#include <analogy/types.h>
#include <analogy/context.h>

Go to the source code of this file.

Data Structures

struct  a4l_instruction
 Structure describing the synchronous instruction. More...
 
struct  a4l_instruction_list
 Structure describing the list of synchronous instructions. More...
 

Macros

#define A4L_INSN_WAIT_MAX   100000
 Maximal wait duration.
 
Instruction type

Flags to define the type of instruction

#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

Values to define the type of configuration instruction

#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

Status bits for INSN_CONFIG_GET_COUNTER_STATUS

#define A4L_COUNTER_ARMED   0x1
 
#define A4L_COUNTER_COUNTING   0x2
 
#define A4L_COUNTER_TERMINAL_COUNT   0x4
 
IO direction

Values to define the IO polarity

#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
 

Detailed Description

Analogy for Linux, instruction related features.

Note
Copyright (C) 1997-2000 David A. Schleef ds@sc.nosp@m.hlee.nosp@m.f.org
Copyright (C) 2008 Alexis Berlemont alexi.nosp@m.s.be.nosp@m.rlemo.nosp@m.nt@f.nosp@m.ree.f.nosp@m.r

Xenomai is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Xenomai is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Xenomai; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.