TwiceAsNice  2019-02-18
Classes | Namespaces | Functions | Variables
CamHelpers.h File Reference
#include <vector>
#include <stdint.h>
#include <string>
Include dependency graph for CamHelpers.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  UsbFrmwr::INTEL_HEX_RECORD
 
struct  UsbFrmwr::IntelHexRec
 
struct  Eeprom::Header
 

Namespaces

 CameraRegs
 Namespaces that contain camera information and bootsraping functions to create new camera objects.
 
 UsbFrmwr
 
 Eeprom
 
 CamStrDb
 
 CamconFrmwr
 

Functions

std::vector< uint16_tCameraRegs::GetAll ()
 Namespaces that contain camera information and bootsraping functions to create new camera objects. More...
 
std::vector< UsbFrmwr::IntelHexRecUsbFrmwr::MakeRecVect (UsbFrmwr::INTEL_HEX_RECORD *pRec)
 
bool UsbFrmwr::IsApgDevice (uint16_t vid, uint16_t pid)
 
uint8_t Eeprom::CalcHdrCheckSum (const Eeprom::Header &hdr)
 
bool Eeprom::VerifyHdrCheckSum (const Eeprom::Header &hdr)
 
std::vector< uint8_tCamStrDb::PackStrings (const std::vector< std::string > &info)
 
std::vector< std::string > CamStrDb::UnpackStrings (const std::vector< uint8_t > &data)
 

Variables

const uint16_t CameraRegs::CMD_A = 0
 
const uint16_t CameraRegs::CMD_A_EXPOSE_BIT = 0x0001
 
const uint16_t CameraRegs::CMD_A_DARK_BIT = 0x0002
 
const uint16_t CameraRegs::CMD_A_TEST_BIT = 0x0004
 
const uint16_t CameraRegs::CMD_A_TDI_BIT = 0x0008
 
const uint16_t CameraRegs::CMD_A_FLUSH_BIT = 0x0010
 
const uint16_t CameraRegs::CMD_A_TRIGGER_EXPOSE_BIT = 0x0020
 
const uint16_t CameraRegs::CMD_A_KINETICS_BIT = 0x0040
 
const uint16_t CameraRegs::CMD_A_PIPELINE_BIT = 0x0080
 
const uint16_t CameraRegs::CMD_B = 1
 
const uint16_t CameraRegs::CMD_B_RESET_BIT = 0x0002
 
const uint16_t CameraRegs::CMD_B_CLEAR_ALL_BIT = 0x0010
 
const uint16_t CameraRegs::CMD_B_END_EXPOSURE_BIT = 0x0080
 
const uint16_t CameraRegs::CMD_B_RAMP_TO_SETPOINT_BIT = 0x0200
 
const uint16_t CameraRegs::CMD_B_RAMP_TO_AMBIENT_BIT = 0x0400
 
const uint16_t CameraRegs::CMD_B_START_TEMP_READ_BIT = 0x2000
 
const uint16_t CameraRegs::CMD_B_DAC_LOAD_BIT = 0x4000
 
const uint16_t CameraRegs::CMD_B_AD_CONFIG_BIT = 0x8000
 
const uint16_t CameraRegs::OP_A = 2
 
const uint16_t CameraRegs::OP_A_LED_DISABLE_BIT = 0x0001
 
const uint16_t CameraRegs::OP_A_PAUSE_TIMER_BIT = 0x0002
 
const uint16_t CameraRegs::OP_A_RATIO_BIT = 0x0004
 
const uint16_t CameraRegs::OP_A_DELAY_MODE_BIT = 0x0008
 
const uint16_t CameraRegs::OP_A_AMP_CUTOFF_DISABLE_BIT = 0x0010
 
const uint16_t CameraRegs::OP_A_LED_EXPOSE_DISABLE_BIT = 0x0020
 
const uint16_t CameraRegs::OP_A_DISABLE_H_CLK_BIT = 0x0040
 
const uint16_t CameraRegs::OP_A_SHUTTER_AMP_CONTROL_BIT = 0x0080
 
const uint16_t CameraRegs::OP_A_HALT_DISABLE_BIT = 0x0100
 
const uint16_t CameraRegs::OP_A_EXTERNAL_READOUT_BIT = 0x0200
 
const uint16_t CameraRegs::OP_A_DIGITIZATION_RES_BIT = 0x0400
 
const uint16_t CameraRegs::OP_A_FORCE_SHUTTER_BIT = 0x0800
 
const uint16_t CameraRegs::OP_A_DISABLE_SHUTTER_BIT = 0x1000
 
const uint16_t CameraRegs::OP_A_TEMP_SUSPEND_BIT = 0x2000
 
const uint16_t CameraRegs::OP_A_SHUTTER_SOURCE_BIT = 0x4000
 
const uint16_t CameraRegs::OP_A_TEST_MODE_BIT = 0x8000
 
const uint16_t CameraRegs::OP_B = 3
 
const uint16_t CameraRegs::OP_B_AD_AVERAGING_BIT = 0x0001
 
const uint16_t CameraRegs::OP_B_IR_PREFLASH_ENABLE_BIT = 0x0002
 
const uint16_t CameraRegs::OP_B_CONT_IMAGE_ENABLE_BIT = 0x0004
 
const uint16_t CameraRegs::OP_B_HCLAMP_ENABLE_BIT = 0x0008
 
const uint16_t CameraRegs::OP_B_HSKIP_ENABLE_BIT = 0x0010
 
const uint16_t CameraRegs::OP_B_HRAM_ENABLE_BIT = 0x0020
 
const uint16_t CameraRegs::OP_B_VRAM_ENABLE_BIT = 0x0040
 
const uint16_t CameraRegs::OP_B_DAC_SELECT_ZERO_BIT = 0x0080
 
const uint16_t CameraRegs::OP_B_DAC_SELECT_ONE_BIT = 0x0100
 
const uint16_t CameraRegs::OP_B_FIFO_WRITE_BLOCK_BIT = 0x0200
 
const uint16_t CameraRegs::OP_B_DISABLE_FLUSH_COMMANDS_BIT = 0x0800
 
const uint16_t CameraRegs::OP_B_DISABLE_POST_EXP_FLUSH_BIT = 0x1000
 
const uint16_t CameraRegs::OP_B_AD_SIM_RATE_ZERO_BIT = 0x2000
 
const uint16_t CameraRegs::OP_B_AD_SIM_RATE_ONE_BIT = 0x4000
 
const uint16_t CameraRegs::OP_B_AD_SIMULATION_BIT = 0x8000
 
const uint16_t CameraRegs::TIMER_UPPER = 4
 
const uint16_t CameraRegs::TIMER_LOWER = 5
 
const uint16_t CameraRegs::HRAM_INPUT = 6
 
const uint16_t CameraRegs::VRAM_INPUT = 7
 
const uint16_t CameraRegs::HRAM_INV_MASK = 8
 
const uint16_t CameraRegs::VRAM_INV_MASK = 9
 
const uint16_t CameraRegs::HCLAMP_INPUT = 10
 
const uint16_t CameraRegs::HSKIP_INPUT = 11
 
const uint16_t CameraRegs::OP_D = 12
 
const uint16_t CameraRegs::OP_D_AD_LOAD_SELECT_BIT = 0x0002
 
const uint16_t CameraRegs::OP_D_DUALREADOUT_BIT = 0x0008
 
const uint16_t CameraRegs::OP_D_STOP_INTERLINE_FLUSH_BIT = 0x0020
 
const uint16_t CameraRegs::OP_D_STOP_TEMP_REVISIONS_BIT = 0x0040
 
const uint16_t CameraRegs::CLAMP_COUNT = 13
 
const uint16_t CameraRegs::PREROI_SKIP_COUNT = 14
 
const uint16_t CameraRegs::ROI_COUNT = 15
 
const uint16_t CameraRegs::POSTROI_SKIP_COUNT = 16
 
const uint16_t CameraRegs::OVERSCAN_COUNT = 17
 
const uint16_t CameraRegs::IMAGE_COUNT = 18
 
const uint16_t CameraRegs::VFLUSH_BINNING = 19
 
const uint16_t CameraRegs::SHUTTER_CLOSE_DELAY = 20
 
const uint16_t CameraRegs::IO_PORT_BLANKING_BITS = 21
 
const uint16_t CameraRegs::IO_PORT_BLANKING_BITS_MASK = 0x003F
 
const uint16_t CameraRegs::SHUTTER_STROBE_POSITION = 23
 
const uint16_t CameraRegs::SHUTTER_STROBE_PERIOD = 24
 
const uint16_t CameraRegs::FAN_SPEED_CONTROL = 25
 
const uint16_t CameraRegs::LED_DRIVE = 26
 
const uint16_t CameraRegs::AD1_DEFAULT_VALUES = 26
 
const uint16_t CameraRegs::AD2_DEFAULT_VALUES = 46
 
const uint16_t CameraRegs::AD_DEFAULT_GAIN_BITS = 0xFC00
 
const uint16_t CameraRegs::AD_DEFAULT_OFFSET_BITS = 0x03FE
 
const uint16_t CameraRegs::AD_DEFAULT_VALID_BIT = 0x0001
 
const uint16_t CameraRegs::AD_DEFAULT_GAIN_SHIFT = 10
 
const uint16_t CameraRegs::AD_DEFAULT_OFFSET_SHIFT = 1
 
const uint16_t CameraRegs::SUBSTRATE_ADJUST = 27
 
const uint16_t CameraRegs::MASK_FAN_SPEED_CONTROL_ALTA = 0x0FFF
 
const uint16_t CameraRegs::MASK_LED_ILLUMINATION_ALTA = 0x0FFF
 
const uint16_t CameraRegs::MASK_LED_ILLUMINATION_ASCENT = 0xFFFF
 
const uint16_t CameraRegs::MASK_SUBSTRATE_ADJUST_ALTA = 0x0FFF
 
const uint16_t CameraRegs::TEST_COUNT_UPPER = 28
 
const uint16_t CameraRegs::TEST_COUNT_LOWER = 29
 
const uint16_t CameraRegs::A1_ROW_COUNT = 30
 
const uint16_t CameraRegs::A1_VBINNING = 31
 
const uint16_t CameraRegs::A2_ROW_COUNT = 32
 
const uint16_t CameraRegs::A2_VBINNING = 33
 
const uint16_t CameraRegs::A3_ROW_COUNT = 34
 
const uint16_t CameraRegs::A3_VBINNING = 35
 
const uint16_t CameraRegs::A4_ROW_COUNT = 36
 
const uint16_t CameraRegs::A4_VBINNING = 37
 
const uint16_t CameraRegs::A5_ROW_COUNT = 38
 
const uint16_t CameraRegs::A5_VBINNING = 39
 
const uint16_t CameraRegs::TDI_BINNING = 44
 
const uint16_t CameraRegs::ID_FROM_PROM = 45
 
const uint16_t CameraRegs::SEQUENCE_DELAY = 47
 
const uint16_t CameraRegs::TDI_RATE = 48
 
const uint16_t CameraRegs::IO_PORT_DATA_WRITE = 49
 
const uint16_t CameraRegs::IO_PORT_DATA_MASK = 0x003F
 
const uint16_t CameraRegs::IO_PORT_DIRECTION = 50
 
const uint16_t CameraRegs::IO_PORT_DIRECTION_MASK = 0x003F
 
const uint16_t CameraRegs::IO_PORT_ASSIGNMENT = 51
 
const uint16_t CameraRegs::IO_PORT_ASSIGNMENT_MASK = 0x003F
 
const uint16_t CameraRegs::IO_PORT_ASSIGNMENT_TRIG_IN_BIT = 0x0001
 
const uint16_t CameraRegs::LED = 52
 
const uint16_t CameraRegs::LED_A_MASK = 0x7
 
const uint16_t CameraRegs::LED_B_MASK = 0x70
 
const int32_t CameraRegs::LED_BIT_SHIFT = 4
 
const uint16_t CameraRegs::SCRATCH = 53
 
const uint16_t CameraRegs::TDI_ROWS = 54
 
const uint16_t CameraRegs::TEMP_DESIRED = 55
 
const uint16_t CameraRegs::TEMP_RAMP_DOWN_A = 57
 
const uint16_t CameraRegs::TEMP_RAMP_DOWN_B = 58
 
const uint16_t CameraRegs::OP_C = 59
 
const uint16_t CameraRegs::OP_C_TDI_TRIGGER_GROUP_BIT = 0x0001
 
const uint16_t CameraRegs::OP_C_TDI_TRIGGER_EACH_BIT = 0x0002
 
const uint16_t CameraRegs::OP_C_IMAGE_TRIGGER_EACH_BIT = 0x0004
 
const uint16_t CameraRegs::OP_C_IMAGE_TRIGGER_GROUP_BIT = 0x0008
 
const uint16_t CameraRegs::OP_C_IS_ASCENT_BIT = 0x0010
 
const uint16_t CameraRegs::OP_C_IS_INTERLINE_BIT = 0x0020
 
const uint16_t CameraRegs::OP_C_IS_QUAD_BIT = 0x0040
 
const uint16_t CameraRegs::OP_C_FILTER_1_BIT = 0x0100
 
const uint16_t CameraRegs::OP_C_FILTER_2_BIT = 0x0200
 
const uint16_t CameraRegs::OP_C_FILTER_3_BIT = 0x0400
 
const uint16_t CameraRegs::OP_C_FILTER_POSITION_MASK = 0x0700
 
const uint16_t CameraRegs::TEMP_BACKOFF = 60
 
const uint16_t CameraRegs::TEMP_COOLER_OVERRIDE = 61
 
const uint16_t CameraRegs::MASK_TEMP_PARAMS = 0x0FFF
 
const uint16_t CameraRegs::AD_CONFIG_DATA = 62
 
const uint16_t CameraRegs::IO_PORT_DATA_READ = 90
 
const uint16_t CameraRegs::STATUS = 91
 
const uint16_t CameraRegs::STATUS_IMAGE_EXPOSING_BIT = 0x0001
 
const uint16_t CameraRegs::STATUS_IMAGING_ACTIVE_BIT = 0x0002
 
const uint16_t CameraRegs::STATUS_DATA_HALTED_BIT = 0x0004
 
const uint16_t CameraRegs::STATUS_IMAGE_DONE_BIT = 0x0008
 
const uint16_t CameraRegs::STATUS_FLUSHING_BIT = 0x0010
 
const uint16_t CameraRegs::STATUS_WAITING_TRIGGER_BIT = 0x0020
 
const uint16_t CameraRegs::STATUS_SHUTTER_OPEN_BIT = 0x0040
 
const uint16_t CameraRegs::STATUS_PATTERN_ERROR_BIT = 0x0080
 
const uint16_t CameraRegs::STATUS_TEMP_SUSPEND_ACK_BIT = 0x0100
 
const uint16_t CameraRegs::STATUS_FILTER_SENSE_BIT = 0x0200
 
const uint16_t CameraRegs::STATUS_TEMP_REVISION_BIT = 0x2000
 
const uint16_t CameraRegs::STATUS_TEMP_AT_TEMP_BIT = 0x4000
 
const uint16_t CameraRegs::STATUS_TEMP_ACTIVE_BIT = 0x8000
 
const uint16_t CameraRegs::TEMP_HEATSINK = 93
 
const uint16_t CameraRegs::TEMP_CCD = 94
 
const uint16_t CameraRegs::TEMP_DRIVE = 95
 
const uint16_t CameraRegs::INPUT_VOLTAGE = 96
 
const uint16_t CameraRegs::INPUT_VOLTAGE_MASK = 0x0FFF
 
const uint16_t CameraRegs::FIFO_DATA = 98
 
const uint16_t CameraRegs::FIFO_STATUS = 99
 
const uint16_t CameraRegs::ID = 100
 
const uint16_t CameraRegs::FIRMWARE_REV = 101
 
const uint16_t CameraRegs::FIFO_FULL_COUNT = 102
 
const uint16_t CameraRegs::FIFO_EMPTY_COUNT = 103
 
const uint16_t CameraRegs::TDI_COUNTER = 104
 
const uint16_t CameraRegs::SEQUENCE_COUNTER = 105
 
const uint16_t CameraRegs::TEMP_REVISED = 106
 
const uint16_t UsbFrmwr::CYPRESS_VID = 0x04B4
 
const uint16_t UsbFrmwr::APOGEE_VID = 0x125C
 
const uint16_t UsbFrmwr::ALTA_USB_PID = 0x0010
 
const uint16_t UsbFrmwr::ALTA_USB_DID = 0x0011
 
const uint16_t UsbFrmwr::FILTER_WHEEL_PID = 0x0100
 
const uint16_t UsbFrmwr::ASCENT_USB_PID = 0x0020
 
const uint16_t UsbFrmwr::ASPEN_USB_PID = 0x0030
 
const int32_t UsbFrmwr::MAX_INTEL_HEX_RECORD_LENGTH = 16
 
const int32_t UsbFrmwr::REV_LENGTH = 8
 
const uint8_t UsbFrmwr::END_POINT = 0x86
 
const uint16_t Eeprom::BLOCK_SIZE = 32768
 
const uint16_t Eeprom::XFER_SIZE = 4096
 
const int32_t Eeprom::MAX_SERIAL_NUM_BYTES = 64
 
const uint8_t Eeprom::HEADER_VERSION = 1
 
const uint16_t Eeprom::HEADER_BUFCON_VALID_BIT = 0x1
 
const uint16_t Eeprom::HEADER_CAMCON_VALID_BIT = 0x2
 
const uint16_t Eeprom::HEADER_BOOTROM_VALID_BIT = 0x4
 
const uint16_t Eeprom::HEADER_VID_VALID = 0x8
 
const uint16_t Eeprom::HEADER_PID_VALID = 0x010
 
const uint16_t Eeprom::HEADER_DID_VALID = 0x020
 
const uint16_t Eeprom::HEADER_GPIF_VALID_BIT = 0x040
 
const uint16_t Eeprom::HEADER_DESCRIPTOR_VALID_BIT = 0x100
 
const size_t CamStrDb::MAX_STR_DB_BYTES = 8192
 
const size_t CamStrDb::MAX_NUM_STR = 256
 
const size_t CamStrDb::MAX_STR_SIZE = 256
 
const uint16_t CamconFrmwr::ASC_BASED_BASIC_FEATURES = 108