Subversion Repositories shark

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 pj 1
/*****************************************************************************
2
* Filename:    Regconst.h                                                    *
3
* Author:      Ziglioli Marco                                                *
4
* Date:        23/03/2001                                                    *
5
* Description: Symbolic constant names of registers used in STC and on board *
6
*****************************************************************************/
7
 
8
/* This file is part of the S.Ha.R.K. Project - http://shark.sssup.it
9
 *
10
 * Copyright (C) 2001 Marco Ziglioli
11
 *
12
 * This program is free software; you can redistribute it and/or modify
13
 * it under the terms of the GNU General Public License as published by
14
 * the Free Software Foundation; either version 2 of the License, or
15
 * (at your option) any later version.
16
 *
17
 * This program is distributed in the hope that it will be useful,
18
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
 * GNU General Public License for more details.
21
 *
22
 * You should have received a copy of the GNU General Public License
23
 * along with this program; if not, write to the Free Software
24
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
25
 *
26
 */
27
 
28
 
29
#ifndef  _MY_REGCONST_H_
30
#define  _MY_REGCONST_H_
31
 
32
//DAQ STC registers (see file REG-DES.txt for bitfield description)
33
#define  WIN_ADDR_REG            (0x00) * 2     //Write-only
34
#define  WIN_DATA_WR_REG         (0x01) * 2     //Write-only
35
#define  WIN_DATA_RD_REG         (0x01) * 2     //Read-only
36
 
37
#define  INTERRUPT_A_ACK         0x02           //Write-only
38
#define  AI_STATUS_1             0x02           //Read-only
39
#define  INTERRUPT_B_ACK         0x03           //Write-only
40
#define  AO_STATUS_1             0x03           //Read-only
41
#define  AI_COMMAND_2            0x04           //Write-only
42
#define  G_STATUS                0x04           //Read-only
43
#define  AI_STATUS_2             0x05           //Read-only
44
#define  AO_COMMAND_2            0x05           //Write-only
45
#define  AO_STATUS_2             0x06           //Read-only
46
#define  G0_COMMAND              0x06           //Write-only
47
#define  DIO_PARALLEL_INPUT      0x07           //Read-only
48
#define  G1_COMMAND              0x07           //Write-only
49
#define  AI_COMMAND_1            0x08           //Write-only
50
#define  G0_HW_SAVE_HI           0x08           //Read-only
51
#define  AO_COMMAND_1            0x09           //Write-only
52
#define  G0_HW_SAVE_LO           0x09           //Read-only
53
#define  DIO_OUTPUT              0x0A           //Write-only
54
#define  G1_HW_SAVE_HI           0x0A           //Read-only
55
#define  DIO_CONTROL             0x0B           //Write-only
56
#define  G1_HW_SAVE_LO           0x0B           //Read-only
57
#define  AI_MODE_1               0x0C           //Write-only
58
#define  G0_SAVE_HI              0x0C           //Read-only
59
#define  AI_MODE_2               0x0D           //Write-only
60
#define  G0_SAVE_LO              0x0D           //Read-only
61
#define  AI_SI_LOAD_A_HI         0x0E           //Write-only
62
#define  G1_SAVE_HI              0x0E           //Read-only
63
#define  AI_SI_LOAD_A_LO         0x0F           //Write-only
64
#define  G1_SAVE_LO              0x0F           //Read-only
65
#define  AI_SI_LOAD_B_HI         0x10           //Write-only
66
#define  AO_UI_SAVE_HI           0x10           //Read-only
67
#define  AI_SI_LOAD_B_LO         0x11           //Write-only
68
#define  AO_UI_SAVE_LO           0x11           //Read-only
69
#define  AI_SC_LOAD_A_HI         0x12           //Write-only
70
#define  AO_BC_SAVE_HI           0x12           //Read-only
71
#define  AI_SC_LOAD_A_LO         0x13           //Write-only
72
#define  AO_BC_SAVE_LO           0x13           //Read-only
73
#define  AI_SC_LOAD_B_HI         0x14           //Write-only
74
#define  AO_UC_SAVE_HI           0x14           //Read-only
75
#define  AI_SC_LOAD_B_LO         0x15           //Write-only
76
#define  AO_UC_SAVE_LO           0x15           //Read-only
77
 
78
#define  AI_SI2_LOAD_A           0x17           //Write-only
79
#define  AO_UI2_SAVE             0x17           //Read-only
80
#define  AI_SI2_LOAD_B           0x19           //Write-only
81
#define  AI_SI2_SAVE             0x19           //Read-only
82
#define  G0_MODE                 0x1A           //Write-only
83
#define  AI_DIV_SAVE             0x1A           //Read-only
84
#define  G1_MODE                 0x1B           //Write-only
85
#define  JOINT_STATUS_1          0x1B           //Read-only
86
#define  DIO_SERIAL_INPUT        0x1C           //Read-only
87
#define  G0_LOAD_A_HI            0x1C           //Write-only
88
#define  G0_LOAD_A_LO            0x1D           //Write-only
89
#define  JOINT_STATUS_2          0x1D           //Read-only
90
#define  G0_LOAD_B_HI            0x1E           //Write-only
91
#define  G0_LOAD_B_LO            0x1F           //Write-only
92
#define  G1_LOAD_A_HI            0x20           //Write-only
93
#define  G1_LOAD_A_LO            0x21           //Write-only
94
#define  G1_LOAD_B_HI            0x22           //Write-only
95
#define  G1_LOAD_B_LO            0x23           //Write-only
96
#define  G1_INPUT_SELECT         0x25           //Write-only
97
#define  G0_INPUT_SELECT         0x24           //Write-only
98
#define  AO_MODE_1               0x26           //Write-only
99
#define  AO_MODE_2               0x27           //Write-only
100
#define  AO_UI_LOAD_A_HI         0x28           //Write-only
101
#define  AO_UI_LOAD_A_LO         0x29           //Write-only
102
#define  AO_UI_LOAD_B_HI         0x2A           //Write-only
103
#define  AO_UI_LOAD_B_LO         0x2B           //Write-only
104
#define  AO_BC_LOAD_A_HI         0x2C           //Write-only
105
#define  AO_BC_LOAD_A_LO         0x2D           //Write-only
106
#define  AO_BC_LOAD_B_HI         0x2E           //Write-only
107
#define  AO_BC_LOAD_B_LO         0x2F           //Write-only
108
#define  AO_UC_LOAD_A_HI         0x30           //Write-only
109
#define  AO_UC_LOAD_A_LO         0x31           //Write-only
110
#define  AO_UC_LOAD_B_HI         0x32           //Write-only
111
#define  AO_UC_LOAD_B_LO         0x33           //Write-only
112
#define  AO_UI2_LOAD_A           0x35           //Write-only
113
#define  AO_UI2_LOAD_B           0x37           //Write-only
114
#define  CLOCK_AND_FOUT          0x38           //Write-only
115
#define  IO_BIDIRECTION_PIN      0x39           //Write-only
116
#define  RTSI_TRIG_DIRECTION     0x3A           //Write-only
117
#define  INTERRUPT_CONTROL       0x3B           //Write-only
118
#define  AI_OUTPUT_CONTROL       0x3C           //Write-only
119
#define  ANALOG_TRIGGER_ETC      0x3D           //Write-only
120
#define  AI_START_STOP_SELECT    0x3E           //Write-only
121
#define  AI_TRIGGER_SELECT       0x3F           //Write-only
122
#define  AI_DIV_LOAD_A           0x40           //Write-only
123
#define  AI_SI_SAVE_HI           0x40           //Read-only
124
#define  AI_SI_SAVE_LO           0x41           //Read-only
125
#define  AI_SC_SAVE_HI           0x42           //Read-only
126
#define  AO_START_SELECT         0x42           //Write-only
127
#define  AI_SC_SAVE_LO           0x43           //Read-only
128
#define  AO_TRIGGER_SELECT       0x43           //Write-only
129
#define  G0_AUTOINCREMENT        0x44           //Write-only
130
#define  G1_AUTOINCREMENT        0x45           //Write-only
131
#define  AO_MODE_3               0x46           //Write-only
132
#define  GENERIC_CONTROL         0x47           //Write-only
133
#define  JOINT_RESET             0x48           //Write-only
134
#define  INTERRUPT_A_ENABLE      0x49           //Write-only
135
#define  SECOND_IRQ_A_ENABLE     0x4A           //Write-only
136
#define  INTERRUPT_B_ENABLE      0x4B           //Write-only
137
#define  SECOND_IRQ_B_ENABLE     0x4C           //Write-only
138
#define  AI_PERSONAL             0x4D           //Write-only
139
#define  AO_PERSONAL             0x4E           //Write-only
140
#define  RTSI_TRIG_A_OUTPUT      0x4F           //Write-only
141
#define  RTSI_TRIG_B_OUTPUT      0x50           //Write-only
142
#define  RTSI_BOARD              0x51           //Write-only
143
#define  WRITE_STROBE_0          0x52           //Write-only
144
#define  WRITE_STROBE_1          0x53           //Write-only
145
#define  WRITE_STROBE_2          0x54           //Write-only
146
#define  WRITE_STROBE_3          0x55           //Write-only
147
#define  AO_OUTPUT_CONTROL       0x56           //Write-only
148
#define  AI_MODE_3               0x57           //Write-only
149
 
150
//Analog Input Registers Group
151
#define  ADC_CONFIG_HI           0x12           //Write-only
152
#define  ADC_CONFIG_LO           0x10           //Write-only
153
#define  ADC_DATA_READ           0x1C           //Read-only
154
 
155
//Analog Output Registers Group
156
#define  DAC_CONFIG              0x16           //Write-only
157
#define  DAC_FIFO                0x1E           //Write-only
158
#define  DAC0_DATA               0x18           //Write-only
159
#define  DAC1_DATA               0x1A           //Write-only
160
 
161
/*PPI OKI82C55A MSM registers:
162
   Finally I found this walues writing a cycle which scanned board registers
163
   and check for some test lines value. I don't know why but these aren't
164
   unique right values. Also 19 1B 1D 1F and 59 5B 5D 5F and 99 9B 9D 9F work
165
   so if you have collision problems with other address try to change these
166
   values.
167
*/
168
#define  PPI_PORT_A              0xD9     //PORT_A of 8255
169
#define  PPI_PORT_B              0xDB     //PORT_B of 8255
170
#define  PPI_PORT_C              0xDD     //PORT_C of 8255
171
#define  PPI_CFG_REG             0xDF     //Configuration Register
172
 
173
 
174
#endif
175
/*End of file: regconst.h*/