AlcapDAQ  1
Macros | Functions
rpv130.h File Reference
#include "mvmestd.h"

Go to the source code of this file.

Macros

#define RPV130_LATCH_1   0x0
 
#define RPV130_LATCH_2   0x2
 
#define RPV130_RSFF   0x4
 
#define RPV130_THROUGH   0x6
 
#define RPV130_PULSE   0x8
 
#define RPV130_LEVEL   0xa
 
#define RPV130_CSR_1   0xc
 
#define RPV130_CSR_2   0xe
 
#define RPV130_DATA_SIZE   MVME_DMODE_D16
 
#define RPV130_AM   MVME_AM_A16_ND
 
#define RPV130_AMODE   VMEDRV_A16D16
 

Functions

int rpv130_Clear (MVME_INTERFACE *vme, mvme_addr_t base_addr)
 
int rpv130_IsBusy1 (MVME_INTERFACE *vme, mvme_addr_t base_addr)
 
int rpv130_IsBusy2 (MVME_INTERFACE *vme, mvme_addr_t base_addr)
 
int rpv130_IsBusy3 (MVME_INTERFACE *vme, mvme_addr_t base_addr)
 
int rpv130_ClearBusy1 (MVME_INTERFACE *vme, mvme_addr_t base_addr)
 
int rpv130_ClearBusy2 (MVME_INTERFACE *vme, mvme_addr_t base_addr)
 
int rpv130_ClearBusy3 (MVME_INTERFACE *vme, mvme_addr_t base_addr)
 
int rpv130_Pulse (MVME_INTERFACE *vme, mvme_addr_t base_addr, int chn)
 
int rpv130_Level (int outp)
 
void rpv130_PrintBusyStatus (MVME_INTERFACE *vme, mvme_addr_t base_addr)
 

Macro Definition Documentation

#define RPV130_AM   MVME_AM_A16_ND
#define RPV130_AMODE   VMEDRV_A16D16

Definition at line 22 of file rpv130.h.

#define RPV130_CSR_1   0xc

Definition at line 17 of file rpv130.h.

Referenced by rpv130_Clear(), rpv130_ClearBusy1(), and rpv130_IsBusy1().

#define RPV130_CSR_2   0xe
#define RPV130_DATA_SIZE   MVME_DMODE_D16
#define RPV130_LATCH_1   0x0

Definition at line 11 of file rpv130.h.

#define RPV130_LATCH_2   0x2

Definition at line 12 of file rpv130.h.

#define RPV130_LEVEL   0xa

Definition at line 16 of file rpv130.h.

#define RPV130_PULSE   0x8

Definition at line 15 of file rpv130.h.

Referenced by rpv130_Pulse().

#define RPV130_RSFF   0x4

Definition at line 13 of file rpv130.h.

#define RPV130_THROUGH   0x6

Definition at line 14 of file rpv130.h.

Function Documentation

int rpv130_Clear ( MVME_INTERFACE vme,
mvme_addr_t  base_addr 
)

Definition at line 11 of file rpv130.c.

References mvme_set_am(), mvme_set_dmode(), mvme_write_value(), RPV130_AM, RPV130_CSR_1, RPV130_CSR_2, and RPV130_DATA_SIZE.

12 {
15 
16  mvme_write_value(vme,base_addr + RPV130_CSR_1, 0x3);
17  mvme_write_value(vme,base_addr + RPV130_CSR_2, 0x3);
18 
19  return 0;
20 }
int rpv130_ClearBusy1 ( MVME_INTERFACE vme,
mvme_addr_t  base_addr 
)

Definition at line 59 of file rpv130.c.

References mvme_set_am(), mvme_set_dmode(), mvme_write_value(), RPV130_AM, RPV130_CSR_1, and RPV130_DATA_SIZE.

60 {
63 
64  mvme_write_value(vme,base_addr + RPV130_CSR_1, 0x2);
65 
66  return 0;
67 }
int rpv130_ClearBusy2 ( MVME_INTERFACE vme,
mvme_addr_t  base_addr 
)

Definition at line 69 of file rpv130.c.

References mvme_set_am(), mvme_set_dmode(), mvme_write_value(), RPV130_AM, RPV130_CSR_2, and RPV130_DATA_SIZE.

70 {
73  mvme_write_value(vme,base_addr + RPV130_CSR_2, 0x2);
74 
75  return 0;
76 }
int rpv130_ClearBusy3 ( MVME_INTERFACE vme,
mvme_addr_t  base_addr 
)

Definition at line 78 of file rpv130.c.

References mvme_set_am(), mvme_set_dmode(), mvme_write_value(), RPV130_AM, RPV130_CSR_2, and RPV130_DATA_SIZE.

Referenced by rpv130_start_block().

79 {
82  mvme_write_value(vme,base_addr + RPV130_CSR_2, 0x3);
83 
84  return 0;
85 }
int rpv130_IsBusy1 ( MVME_INTERFACE vme,
mvme_addr_t  base_addr 
)

Definition at line 22 of file rpv130.c.

References mvme_read_value(), mvme_set_am(), mvme_set_dmode(), RPV130_AM, RPV130_CSR_1, and RPV130_DATA_SIZE.

Referenced by rpv130_PrintBusyStatus().

23 {
26 
27  unsigned short int reg = mvme_read_value(vme,base_addr + RPV130_CSR_1);
28 
29  return ((reg & (1<<5))>>5);
30 }
int rpv130_IsBusy2 ( MVME_INTERFACE vme,
mvme_addr_t  base_addr 
)

Definition at line 32 of file rpv130.c.

References mvme_read_value(), mvme_set_am(), mvme_set_dmode(), RPV130_AM, RPV130_CSR_2, and RPV130_DATA_SIZE.

Referenced by rpv130_PrintBusyStatus().

33 {
36 
37  unsigned short int reg = mvme_read_value(vme,base_addr + RPV130_CSR_2);
38 
39  return ((reg & (1<<5))>>5);
40 }
int rpv130_IsBusy3 ( MVME_INTERFACE vme,
mvme_addr_t  base_addr 
)

Definition at line 42 of file rpv130.c.

References mvme_read_value(), mvme_set_am(), mvme_set_dmode(), RPV130_AM, RPV130_CSR_2, and RPV130_DATA_SIZE.

Referenced by rpv130_poll_live(), and rpv130_PrintBusyStatus().

43 {
46 
47  unsigned short int reg = mvme_read_value(vme,base_addr + RPV130_CSR_2);
48 
49  return ((reg & (1<<7))>>7);
50 }
int rpv130_Level ( int  outp)
void rpv130_PrintBusyStatus ( MVME_INTERFACE vme,
mvme_addr_t  base_addr 
)

Definition at line 52 of file rpv130.c.

References printf(), rpv130_IsBusy1(), rpv130_IsBusy2(), and rpv130_IsBusy3().

53 {
54  printf("Busy1: %d\n",rpv130_IsBusy1(vme,base_addr));
55  printf("Busy2: %d\n",rpv130_IsBusy2(vme,base_addr));
56  printf("Busy3: %d\n",rpv130_IsBusy3(vme,base_addr));
57 }
int rpv130_Pulse ( MVME_INTERFACE vme,
mvme_addr_t  base_addr,
int  chn 
)

Definition at line 87 of file rpv130.c.

References mvme_set_am(), mvme_set_dmode(), mvme_write_value(), RPV130_AM, RPV130_DATA_SIZE, and RPV130_PULSE.

Referenced by rpv130_start_block().

88 {
89  if ((chn < 1) || (chn > 8))
90  return -1;
91 
94  mvme_write_value(vme,base_addr + RPV130_PULSE, (0x1<<(chn-1)));
95 
96  return 0;
97 }