summaryrefslogtreecommitdiffstats
path: root/kstars/kstars/indi/apogee/FpgaRegs.h
blob: b1fd5fe1a913452013b1884c1cd6ab416f8e3779 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
/***************************************************************************
 *                                                                         *
 *   This program 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.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef __FPGAREGS_H__APOGEE_APN__
#define __FPGAREGS_H__APOGEE_APN__


#define FPGA_TOTAL_REGISTER_COUNT			103


#define FPGA_REG_COMMAND_A					0
#define		FPGA_BIT_CMD_EXPOSE				0x0001
#define		FPGA_BIT_CMD_DARK				0x0002
#define		FPGA_BIT_CMD_TEST				0x0004
#define		FPGA_BIT_CMD_TDI				0x0008
#define		FPGA_BIT_CMD_FLUSH				0x0010
#define		FPGA_BIT_CMD_TRIGGER_EXPOSE		0x0020

#define FPGA_REG_COMMAND_B					1
#define		FPGA_BIT_CMD_RESET				0x0002
#define		FPGA_BIT_CMD_CLEAR_ALL			0x0010
#define		FPGA_BIT_CMD_END_EXPOSURE		0x0080
#define		FPGA_BIT_CMD_RAMP_TO_SETPOINT	0x0200
#define		FPGA_BIT_CMD_RAMP_TO_AMBIENT	0x0400
#define		FPGA_BIT_CMD_START_TEMP_READ	0x2000
#define		FPGA_BIT_CMD_DAC_LOAD			0x4000
#define		FPGA_BIT_CMD_AD_CONFIG			0x8000

#define FPGA_REG_OP_A						2
#define		FPGA_BIT_LED_DISABLE			0x0001
#define		FPGA_BIT_PAUSE_TIMER			0x0002
#define		FPGA_BIT_RATIO					0x0004
#define		FPGA_BIT_DELAY_MODE				0x0008
#define		FPGA_BIT_P_CLK_MODE				0x0010
#define		FPGA_BIT_LED_EXPOSE_DISABLE		0x0020
#define		FPGA_BIT_DISABLE_H_CLK			0x0040
#define		FPGA_BIT_SHUTTER_AMP_CONTROL	0x0080
#define		FPGA_BIT_HALT_DISABLE			0x0100			
#define		FPGA_BIT_SHUTTER_MODE			0x0200
#define		FPGA_BIT_DIGITIZATION_RES		0x0400
#define		FPGA_BIT_FORCE_SHUTTER			0x0800
#define		FPGA_BIT_DISABLE_SHUTTER		0x1000
#define		FPGA_BIT_TEMP_SUSPEND			0x2000
#define		FPGA_BIT_SHUTTER_SOURCE			0x4000
#define		FPGA_BIT_TEST_MODE				0x8000

#define FPGA_REG_OP_B						3
#define		FPGA_BIT_HCLAMP_ENABLE			0x0008
#define		FPGA_BIT_HSKIP_ENABLE			0x0010
#define		FPGA_BIT_HRAM_ENABLE			0x0020
#define		FPGA_BIT_VRAM_ENABLE			0x0040
#define		FPGA_BIT_DAC_SELECT_ZERO		0x0080
#define		FPGA_BIT_DAC_SELECT_ONE			0x0100
#define		FPGA_BIT_AD_SIMULATION			0x8000

#define FPGA_REG_TIMER_UPPER				4
#define FPGA_REG_TIMER_LOWER				5

#define FPGA_REG_HRAM_INPUT					6
#define FPGA_REG_VRAM_INPUT					7

#define FPGA_REG_HRAM_INV_MASK				8
#define FPGA_REG_VRAM_INV_MASK				9

#define FPGA_REG_HCLAMP_INPUT				10
#define FPGA_REG_HSKIP_INPUT				11

#define FPGA_REG_PRECLAMP_SKIP_COUNT		12
#define FPGA_REG_CLAMP_COUNT				13
#define FPGA_REG_PREROI_SKIP_COUNT			14
#define FPGA_REG_ROI_COUNT					15
#define FPGA_REG_POSTROI_SKIP_COUNT			16
#define FPGA_REG_OVERSCAN_COUNT				17
#define FPGA_REG_IMAGE_COUNT				18

#define FPGA_REG_VFLUSH_BINNING				19

#define FPGA_REG_SHUTTER_CLOSE_DELAY		20

#define FPGA_REG_POSTOVERSCAN_SKIP_COUNT	21

#define FPGA_REG_SHUTTER_STROBE_POSITION	23
#define FPGA_REG_SHUTTER_STROBE_PERIOD		24

#define FPGA_REG_FAN_SPEED_CONTROL			25
#define FPGA_REG_LED_DRIVE					26
#define FPGA_REG_SUBSTRATE_ADJUST			27
#define FPGA_MASK_FAN_SPEED_CONTROL			0x0FFF
#define FPGA_MASK_LED_ILLUMINATION			0x0FFF
#define FPGA_MASK_SUBSTRATE_ADJUST			0x0FFF

#define FPGA_REG_TEST_COUNT_UPPER			28
#define FPGA_REG_TEST_COUNT_LOWER			29

#define FPGA_REG_A1_ROW_COUNT				30
#define FPGA_REG_A1_VBINNING				31
#define FPGA_REG_A2_ROW_COUNT				32
#define FPGA_REG_A2_VBINNING				33
#define FPGA_REG_A3_ROW_COUNT				34
#define FPGA_REG_A3_VBINNING				35

#define FPGA_MASK_VBINNING					0x0FFF
#define	FPGA_BIT_ARRAY_DIGITIZE				0x1000
#define	FPGA_BIT_ARRAY_FASTDUMP				0x4000

#define FPGA_REG_SEQUENCE_DELAY				47
#define FPGA_REG_TDI_RATE					48

#define FPGA_REG_IO_PORT_WRITE				49

#define FPGA_REG_IO_PORT_DIRECTION			50
#define FPGA_MASK_IO_PORT_DIRECTION			0x003F

#define FPGA_REG_IO_PORT_ASSIGNMENT			51
#define FPGA_MASK_IO_PORT_ASSIGNMENT		0x003F

#define FPGA_REG_LED_SELECT					52
#define FPGA_MASK_LED_SELECT_A				0x000F
#define FPGA_MASK_LED_SELECT_B				0x00F0
#define		FPGA_BIT_LED_EXPOSE				0x0001
#define		FPGA_BIT_LED_IMAGE_ACTIVE		0x0002
#define		FPGA_BIT_LED_FLUSHING			0x0004
#define		FPGA_BIT_LED_TRIGGER_WAIT		0x0008
#define		FPGA_BIT_LED_EXT_TRIGGER		0x0010
#define		FPGA_BIT_LED_EXT_SHUTTER_INPUT	0x0020
#define		FPGA_BIT_LED_EXT_START_READOUT	0x0040
#define		FPGA_BIT_LED_AT_TEMP			0x0080

#define FPGA_REG_SCRATCH					53

#define FPGA_REG_TDI_COUNT					54

#define FPGA_REG_TEMP_DESIRED				55

#define FPGA_REG_TEMP_RAMP_DOWN_A			57
#define FPGA_REG_TEMP_RAMP_DOWN_B			58
#define FPGA_REG_TEMP_BACKOFF				60
#define FPGA_REG_TEMP_COOLER_OVERRIDE		61
#define	FPGA_MASK_TEMP_PARAMS				0x0FFF		// 12 bits

#define FPGA_REG_AD_CONFIG_DATA				62
#define FPGA_MASK_AD_GAIN					0x07FF		// 11 bits

#define FPGA_REG_IO_PORT_READ				90
#define FPGA_MASK_IO_PORT_DATA				0x003F

#define FPGA_REG_GENERAL_STATUS					91
#define		FPGA_BIT_STATUS_IMAGE_EXPOSING		0x0001
#define		FPGA_BIT_STATUS_IMAGING_ACTIVE		0x0002
#define		FPGA_BIT_STATUS_DATA_HALTED			0x0004
#define		FPGA_BIT_STATUS_IMAGE_DONE			0x0008
#define		FPGA_BIT_STATUS_FLUSHING			0x0010
#define		FPGA_BIT_STATUS_WAITING_TRIGGER		0x0020
#define		FPGA_BIT_STATUS_SHUTTER_OPEN		0x0040
#define		FPGA_BIT_STATUS_PATTERN_ERROR		0x0080
#define		FPGA_BIT_STATUS_TEMP_SUSPEND_ACK	0x0100
#define		FPGA_BIT_STATUS_TEMP_REVISION		0x2000
#define		FPGA_BIT_STATUS_TEMP_AT_TEMP		0x4000
#define		FPGA_BIT_STATUS_TEMP_ACTIVE			0x8000

#define FPGA_REG_TEMP_HEATSINK				93
#define FPGA_REG_TEMP_CCD					94
#define FPGA_REG_TEMP_DRIVE					95

#define FPGA_REG_INPUT_VOLTAGE				96
#define FPGA_MASK_INPUT_VOLTAGE				0x0FFF

#define FPGA_REG_TEMP_REVISED				97

#define FPGA_REG_FIFO_DATA					98
#define FPGA_REG_FIFO_STATUS				99

#define FPGA_REG_CAMERA_ID					100
#define FPGA_MASK_CAMERA_ID					0x007F

#define FPGA_REG_FIRMWARE_REV				101

#define FPGA_REG_FIFO_FULL_COUNT			102
#define FPGA_REG_FIFO_EMPTY_COUNT			103

#define FPGA_REG_TDI_COUNTER				104
#define FPGA_REG_SEQUENCE_COUNTER			105

#endif