📄 phocus1820bsp.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 + -