⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 phocus1820bsp.h

📁 用于DSP下摄像机的图像抓取、图像处理和传输、以及与上位机TCP/IP通信的工程文件。基于Texas Instruments Code Composer Studio实现。
💻 H
字号:
#ifndef __PHOCUS1820BSP_H__
#define __PHOCUS1820BSP_H__

//Device open mode
#define O_RESET			0
#define O_NORMAL		1

//IO pins
#define IO_OUTPUT_PIN1	0
#define IO_OUTPUT_PIN2	1
#define IO_INPUT_PIN1	5
#define IO_INPUT_PIN2	6
//Sensor io control
#define SENSOR_CAP_FULLFRAME		1
#define SENSOR_CAP_HIGHSPEED		2
#define SENSOR_CAP_CONTI			4
#define SENSOR_CAP_SOFTTRIGGER		8		
#define SENSOR_CAP_HARDTRIGGER		16
#define SENSOR_FORMAT_RAW			1
#define SENSOR_FORMAT_STRING		2
#define SENSOR_FORMAT_INT			2
#define SENSOR_FORMAT_JPEG			4
#define SENSOR_FORMAT_YUV			5
#define SENSOR_SATURATION_ENABLE	1
#define SENSOR_SATURATION_DISABLE	0

#define FF_WIDTH					752
#define FF_HEIGHT					480
#define HS_WIDTH					FF_WIDTH
#define HS_HEIGHT					FF_HEIGHT

//Thermometer sensor resolution
#define THERMOMETER_RESOLUTION_9BITS	0
#define THERMOMETER_RESOLUTION_10BITS	1
#define THERMOMETER_RESOLUTION_11BITS	2
#define THERMOMETER_RESOLUTION_12BITS	3

#define BITS_DEPTH_NORMAL					0x0
#define BITS_DEPTH_LOW						0x1
#define BITS_DEPTH_LOWER					0x2
#define BITS_DEPTH_LOWEST					0x3			

#define 	UartA_BAUD1200				(1843200 / 1200)		
#define 	UartA_BAUD2400				(1843200 / 2400)
#define 	UartA_BAUD9600				(1843200 / 9600)
#define 	UartA_BAUD19200				(1843200 / 19200)
#define 	UartA_BAUD38400				(1843200 / 38400)
#define 	UartA_BAUD57600				(1843200 / 57600)		
#define 	UartA_BAUD115200			(1843200 / 115200)

#define 	UartB_BAUD1200				(1843200 / 1200)				
#define 	UartB_BAUD2400				(1843200 / 2400)
#define 	UartB_BAUD9600				(1843200 / 9600)
#define 	UartB_BAUD19200				(1843200 / 19200)
#define 	UartB_BAUD38400				(1843200 / 38400)
#define 	UartB_BAUD57600				(1843200 / 57600)		
#define 	UartB_BAUD115200			(1843200 / 115200)
//Hardware parameter
typedef struct _tagNetParam
{
	char strLocalIPAddr[20];       
	char strLocalIPMask[20];    
	char strGatewayIP[20];      
	char strDomainName[20];
	char strHostName[20];
	unsigned char bMacAddr[8];
	char reserved1;
	char reserved2;
}NET_PARAM;

typedef struct _tagModeInfo
{
	unsigned short boot;
	unsigned short reserve;
}MODE_INFO;

typedef struct _tagUartParam
{
	int nBaudRate;
	int nStopBit;
	int nWordLen;
	int nParity;
	int nFlowCtrl;
}UART_PARAM;

typedef struct _tagRtcTime
{
	int second;
	int minute;
	int hour;
	int day;
	int weekday;
	int month;
	int year;
}RTC_TIME;

#ifdef __cplusplus
extern "C" {
#endif

extern int Phocus1820_init();
extern void Phocus1820_reset();

extern int Phocus1820_flash_write(unsigned int nDstAddress, unsigned int nSrcAddress, unsigned int nDataLen);
extern int Phocus1820_flash_read(unsigned int nDstAddress, unsigned int nSrcAddress, unsigned int nDataLen);
extern int Phocus1820_flash_erase(unsigned int nAddress, unsigned int nEraseLen);

extern int Phocus1820_write_net_info(NET_PARAM* pNetParam);
extern int Phocus1820_read_net_info(NET_PARAM* pNetParam);
extern int Phocus1820_write_rs232_info(int nBaudRate); 
extern int Phocus1820_read_rs232_info(int *pBaudRate);
extern int Phocus1820_write_rs485_info(int nBaudRate); 
extern int Phocus1820_read_rs485_info(int *pBaudRate);
extern int Phocus1820_write_mode_info(MODE_INFO *pModeInfo);
extern int Phocus1820_read_mode_info(MODE_INFO *pModeInfo);

extern int Phocus1820_rs232_open(int nOpenMode);
extern int Phocus1820_rs232_close();
extern int Phocus1820_rs232_read(char* pBuf, int nLen, void* pParam);
extern int Phocus1820_rs232_write(char* pBuf, int nLen, void* pParam);
extern int Phocus1820_rs232_set_baudrate(int nBaudRate);

extern int Phocus1820_rs485_open(int nOpenMode);
extern int Phocus1820_rs485_close();
extern int Phocus1820_rs485_read(char* pBuf, int nLen, void* pParam);
extern int Phocus1820_rs485_write(char* pBuf, int nLen, void* pParam);
extern int Phocus1820_rs485_set_baudrate(int nBaudRate);

extern int Phocus1820_sensor_open(int nOpenMode);
extern int Phocus1820_sensor_close();
extern int Phocus1820_sensor_set_red_gain(int nGain);
extern int Phocus1820_sensor_set_green1_gain(int nGain);
extern int Phocus1820_sensor_set_green2_gain(int nGain);
extern int Phocus1820_sensor_set_blue_gain(int nGain);

extern int Phocus1820_sensor_set_shutter(int nShutter);
extern int Phocus1820_sensor_set_afe_pga(int nAfePga);
extern int Phocus1820_sensor_set_brightness(int nBrightness);
extern int Phocus1820_sensor_set_mode(int nMode);
extern int Phocus1820_sensor_set_format(int nFormat);
extern int Phocus1820_sensor_enable_saturation(int nEnable);
extern int Phocus1820_sensor_set_saturation(float nValue);
extern int Phocus1820_sensor_grab_image(char* pBuf, unsigned int nXStart, unsigned int nYStart, unsigned int nWidth, unsigned int nHeight);

extern int Phocus1820_sensor_disable_strobe();
extern int Phocus1820_sensor_enable_strobe();
extern int Phocus1820_sensor_set_strobeoffset(int nOffset);
extern int Phocus1820_sensor_set_strobelevel(int nIsHigh);
extern int Phocus1820_sensor_set_triggerlevel(int nLevel);

extern int Phocus1820_pio_read(int nPin);
extern int Phocus1820_pio_write(int nPin, int nValue);
extern int Phocus1820_pio_write(int nPin, int nValue);
extern int Phocus1820_pio_interrupt_enable(void (*fxnIsr)());
extern int Phocus1820_pio_interrupt_disable();
extern int Phocus1820_led_on();
extern int Phocus1820_waitusec(unsigned int nDelay);
extern int Phocus1820_led_off();
extern int Phocus1820_format_yyuv2yuv(char* pInBuf, char* pOutBuf, int nWidth, int nHeight);
extern int Phocus1820_format_yyuv2yyyyuvuv(char* pInBuf, char* pOutBuf, int nWidth, int nHeight);

extern int Phocus1820_sensor_get_mode();
extern int Phocus1820_sensor_get_format();

extern int Phocus1820_sensor_open_capture_port(unsigned int nXStart, unsigned int nYStart, unsigned int nWidth, unsigned int nHeight);
extern int Phocus1820_sensor_get_image(char* pBuf);
extern int Phocus1820_sensor_wait_image(int timeout);
extern void Phocus1820_sensor_cancel_wait_image();
extern int Phocus1820_rtc_set_time(RTC_TIME* pTime);
extern int Phocus1820_rtc_get_time(RTC_TIME* pTime);

extern int Phocus1820_thermometer_get_temperature();
extern int Phocus1820_thermometer_set_resolution(int nResolution);

extern int Phocus1820_dog_enable(int nPeriod);
extern int Phocus1820_dog_disable();
extern int Phocus1820_dog_feed();

extern int Phocus1820_manual_white_balance(int nRedGain, int nGreenGain, int nBlueGain);
extern void AutoGain(unsigned short i);
extern void AutoExposure(unsigned short i);
extern unsigned short *Phocus1820_encrypt(unsigned char *DataIn);
extern unsigned char *Phocus1820_decrypt(unsigned short *DataOut);

#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -