You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeedu/kstars/kstars/indi/apogee/FpgaRegs.h

191 lines
6.0 KiB

/***************************************************************************
* *
* 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