Files
TAIXIN/project/project_config.h

2050 lines
117 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef __SDK_PROJECT_CONFIG_H__ // 防止头文件重复包含的预编译保护(头文件守卫)
#define __SDK_PROJECT_CONFIG_H__ // 定义头文件守卫宏,确保此头文件只被包含一次
#define CUSTOMER_ID 3 // 客户/项目ID用于条件编译选择不同的产品配置当前值为
/*
* CUSTOMER_ID :
*
* 1 82xApp_Demo
* 2 82xApp_ISP_Tunning_Demo
* 3 82xApp_720P_Demo
* 4 82xApp_1080P_Demo
* 5 82xApp_720P_to_1080P_Demo
* 6 82xApp_UVC_Demo
* 7 82xApp_walkie_talkie_Demo
* 8 82xApp_LCD_Demo
* 9 82xApp_baby_monitor_lcd_Demo
* 10 82xApp_baby_monitor_cam_Demo
* 11 82xApp_LCD_MP4_Player_Demo
*/
#if (CUSTOMER_ID == 1) // CUSTOMER_ID==1 配置分支82xApp_Demo/FPV图传演示
#define SYS_APP_FPV // 系统应用类型为FPV第一人称视角图传模式
#define DEFAULT_SYS_CLK (192*1000000) // 系统默认主频设置
#define PSRAM_HEAP //如果需要psram当作heap,需要打开这个宏
#define AV_PSRAM_HEAP // 启用音视频专用PSRAM堆供音视频缓冲区分配使用
#define AV_HEAP // 启用片内SRAM的AV堆内存区域
#define CONFIG_PSRAM_AVHEAP_SIZE (7*1024*1024) // PSRAM中分配给音视频堆的大小
#define CONFIG_AVHEAP_SIZE (80*1024) // 片内SRAM中分配给音视频堆的大小
//#define MEM_TRACE // [已禁用] 内存追踪/调试功能,用于检测内存泄漏和越界访问
#define PIN_FROM_PARAM // 启用从参数区读取引脚配置允许运行时动态配置GPIO
/* ------ USB1.1 ----- */
#define USB11_EN 1 // USB 1.1控制器全速12Mbps使能开关
#define USB11_HOST_EN 1 // USB 1.1主机模式使能开关
/* ------ USB2.0 ----- */
#define USB_EN 1 // USB 2.0控制器高速480Mbps使能开关
#define USB_HOST_EN 1 // USB 2.0主机模式使能开关
#define MACBUS_USB // MAC总线与USB的复用/桥接功能使能
#define USBDISK 1 //1代表将sd卡作为u盘 2代表将flash作为usb盘,需要配合USB_EN使用,并且其他宏不能有冲突
/*=========== RTT USB架构宏定义 ==========*/
#define RTT_USB_EN 1 //RTT USB 架构使能 (USB_EN打开)
#define USB_DETECT_EN 1 //USB 主从检测使能 (USB_HOST_EN关闭、USB_EN打开)
/* USB HOST */
#define RT_USBH //RTT USB HOST 使能
// #define RT_USBH_CDC
#define RT_USBH_UVC // USB UVC视频类主机驱动用于连接USB摄像头
// #define RT_USBH_UAC
// #define RT_USBH_WIRELESS
// #define RT_USBH_WIRELESS_RNDIS
// #define RT_USBH_VENDOR_QUECTEL
// #define RT_USBH_VENDOR_CHINAMOBILE
// #define RT_USBH_VENDOR_YUGE
// #define RT_USBH_VENDOR_ZXINFO
// #define RT_USBH_MSTORAGE
/* USB DEVICE */
// #define RT_USING_USB_DEVICE //RTT USB DEVICE 使能
// #define RT_USB_DEVICE_COMPOSITE //USB DEVICE 复合设备使能
// #define RT_USB_DEVICE_CDC
// #define RT_USB_DEVICE_AUDIO_MIC
// #define RT_USB_DEVICE_AUDIO_SPEAKER
// #define RT_USB_DEVICE_MSTORAGE
// #define RT_USB_DEVICE_VIDEO
// #define RT_USB_DEVICE_RNDIS
// #define RT_USB_DEVICE_HID
// #define RT_USB_DEVICE_WINUSB
/*================== end =================*/
/* BLE蓝牙配网模式选择 */
#define BLE_PROV_MODE 2 // 1广播配网微信小程序2 BLE 配网(需支持共存)
#define WIRELESS_PAIR_CODE 0 // 无线配对码0=不使用配对码验证
#define GMAC_EN 0 // 有线网卡需要使能GMAC
#define PRC_EN 1 // PRC电源/复位控制器)使能
#define OF_EN 0 // OF光流模块使能用于无人机定点悬停
#define PARA_IN_EN 0 // 参数导入功能使能
#define DVP_EN 1 // DVP数字视频接口使能用于连接DVP接口摄像头
#define MIPI_CSI_EN 1 // MIPI CSI串行摄像头接口使能
#define DUAL_EN 1 // 双摄像头使能,支持同时接入两路摄像头
#define VPP_EN 1 // VPP视频后处理器使能用于视频画面后处理
#define ISP_EN 1 // ISP图像信号处理器使能用于原始数据图像质量处理
#define FTUSB3_EN (0 && ISP_EN) // FTUSB3USB3.0转接)使能
#define JPG_EN 1 // JPEG编解码器使能
#define LCD_EN 1 // LCD显示控制器使能
#define SCALE_EN 1 // 图像缩放模块使能
#define H264_EN 1 // H.264视频编码器使能
#define SDH_EN 1 // SD卡主机控制器使能
#define FS_EN 1 // 文件系统使能FAT等
#define VCAM_EN (1 || DVP_EN) // 摄像头电源VCAM使能
#define DMA2D_EN 1 // DMA2D2D图形加速器使能
#define OPENDML_EN 0 // OpenDMLAVI扩展格式使能支持大于2GB的AVI文件
#define UART_FLY_CTRL_EN 0 // UART飞控通信模块使能
#define PWM_EN 0 // PWM脉宽调制模块使能
#define KEY_MODULE_EN 0 // 按键模块使能
#define TOUCH_PAD_EN 0 // 触摸按键模块使能
#define FLASHDISK_EN 0 // Flash磁盘功能使能
#define MP3_EN 0 // MP3解码模块使能
#define AMR_EN 0 // AMR自适应多速率音频编解码使能
#define WIFI_PAIR_SUPPORT 0 // WiFi配对功能支持
#define PRINTER_EN 0 // 打印机模块使能
#define AUDIO_EN 1 // 音频子系统使能
#define RTP_SOUND (1&&AUDIO_EN) // RTP实时传输协议音频使能
#define MJPEG_VIDEO (1 &&OPENDML_EN&&FS_EN&&SDH_EN&&JPG_EN) //基于框架的mjpeg录像
#define UVC_VIDEO (1 &&OPENDML_EN&&FS_EN&&SDH_EN&&USB_EN) //基于框架的uvc录像
#define VFS_EN 0 //VFS的文件系统,支持多个文件系统共用同一套接口(littlefs、fatfs)
///////////////wifi parameter////////////
#define WIFI_RF_PWR_LEVEL 0 //选择WIFI功率
#define WIFI_RTS_THRESHOLD -1 //RTS阈值-1等效于不用RTS
#define WIFI_RTS_MAX_RETRY 2 //RTS重试次数范围为2~16
#define WIFI_TX_MAX_RETRY 15 //最大传输次数范围为1~31
/* 每1bit代表一种速率。每bit代表的格式
* bit 0 : DSSS 1M
* bit 1 : DSSS 2M
* bit 2 : DSSS 5.5M
* bit 3 : DSSS 11M
* bit 4 : NON-HT 6M
* bit 5 : NON-HT 9M
* bit 6 : NON-HT 12M
* bit 7 : NON-HT 18M
* bit 8 : NON-HT 24M
* bit 9 : NON-HT 36M
* bit 10 : NON-HT 48M
* bit 11 : NON-HT 54M
* bit 12 : HT MCS0
* bit 13 : HT MCS1
* bit 14 : HT MCS2
* bit 15 : HT MCS3
* bit 16 : HT MCS4
* bit 17 : HT MCS5
* bit 18 : HT MCS6
* bit 19 : HT MCS7
*/
#define WIFI_TX_SUPP_RATE 0x0FFFFF //TX速率支持每1bit对应一种速率
#define WIFI_MULICAST_RETRY 0 //组播帧传输次数
#define WIFI_ACS_CHAN_LISTS 0x1FFF //要扫描的信道。每1bit对应1个信道(bit 0~11 -> chan 1~12)
#define WIFI_ACS_SCAN_TIME 150 //每个信道的扫描时间单位ms
#define CHANNEL_DEFAULT 0 // 默认WiFi信道0=自动选择
#define SSID_DEFAULT "150X1-" //"150X1-0768c1a3" // 默认WiFi热点SSID前缀
#define WIFI_TX_DUTY_CYCLE 100 //tx发送占空比单位是%范围是0~100
#define WIFI_SSID_FILTER_EN 0 //是否使能SSID过滤功能。使能后只有隐藏SSID和指定SSID的beacon才会上传
#define WIFI_PREVENT_PS_MODE_EN 1 //是否尽可能的阻止sta进入休眠
#define WIFI_PS_NO_FRM_LOSS_EN 1 //tx缓存的休眠帧是否不允许丢弃
#define WIFI_TX_AGG_EN 1 //没时延要求可以开聚合。一般来说连路由就设1连手机就设0
#define NET_IP_ADDR_DEFAULT 0x01A9A8C0 //192.168.169.1 // 设备默认IP地址 192.168.169.1
#define NET_MASK_DEFAULT 0x00FFFFFF //255.255.255.0 // 默认子网掩码 255.255.255.0
#define NET_GW_IP_DEFAULT 0x01A9A8C0 //192.168.169.1 // 默认网关IP地址 192.168.169.1
#define DHCPD_START_IP_DEFAULT 0x64A9A8C0 //192.168.169.100 // DHCP起始分配IP 192.168.169.100
#define DHCPD_END_IP_DEFAULT 0xFEA9A8C0 //192.168.169.254 // DHCP结束分配IP 192.168.169.254
#define DHCPD_DNS1_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP首选DNS 192.168.169.1
#define DHCPD_DNS2_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP备用DNS 192.168.169.1
#define DHCPD_ROUTER_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP默认网关 192.168.169.1
#define ATCMD_UARTDEV HG_UART0_DEVID // AT指令使用的串口设备ID
//设定自定义空间,前提heap要足够,main的时候会从heap申请这样一大片空间分配到custom_malloc中
//空间组成大概是 jpg空间+csi空间(VGA 30kB)+ 其他模块的空间
//系统尽量留有20K左右,防止其他地方malloc申请不到
//#define VCAM_33 // [已禁用] VCAM使用3.3V电压供电
#define VCCSD_33 0 // SD卡电源电压选择0=1.8V1=3.3V
//#define WIFI_BRIDGE_EN 1 // [已禁用] WiFi桥接功能使能
//#define WIFI_BRIDGE_DEV HG_GMAC_DEVID // [已禁用] WiFi桥接设备选择
//速率调整参数选择,默认是耳勺
#define RATE_CONTROL_ERSHAO 1 // 速率控制方案:耳勺(内窥镜)场景
#define RATE_CONTROL_HANGPAI 2 // 速率控制方案:航拍场景
#define RATE_CONTROL_IPC 3 // 速率控制方案IPC网络摄像机场景
#define RATE_CONTROL_BABYMPNITOR 4 // 速率控制方案:婴儿监视器场景
#define RATE_CONTROL_SELECT RATE_CONTROL_IPC // 当前选择的速率控制方案
//是能5m/20m共存和自动带宽切换
//#define WIFI_FEM_CHIP LMAC_FEM_GSR2401C // [已禁用] WiFi前端模块(FEM)芯片选择
//#define LMAC_BGN_PCF // [已禁用] WiFi BGN协议共存功能使能
/***********************************************************
* BLE
* ********************************************************/
#define BLE_SUPPORT 1 // BLE低功耗蓝牙功能使能
#define BLE_UUID_128 1 // BLE使用128位UUID使能
#define DEV_SENSOR_GC1084 1 // 格科GC1084 1MP720P传感器
#define DEV_SENSOR_GC2053 1 // 格科GC2053 2MP1080P传感器
#define LCD_ST7701S_MIPI_EN 1 // ST7701S MIPI接口LCD驱动使能
#elif (CUSTOMER_ID == 2) // CUSTOMER_ID==2 配置分支82xApp_ISP_Tunning_Demo/ISP调参
/***************************************************************
* 打开PIN_FROM_PARAM,通过脚本和config.cfg去生成对应的io配置信息
* 请查看重要的文件:pin_param.h、config.cfg两个文件
*************************************************************/
#define PIN_FROM_PARAM // 启用从参数区读取引脚配置允许运行时动态配置GPIO
/*****************************************
* 打开对应demo的宏
****************************************/
#define SYS_APP_ISP_TUNNING // 系统应用类型为ISP调参模式用于图像效果调试
/**********************************************************************
* 系统必要信息宏
* CONFIG_PSRAM_AVHEAP_SIZE:为应用分配的psram宏,需要根据应用场景分配
* PSRAM_HEAP:如果需要用到psram,需要打开PSRAM_HEAP
********************************************************************/
#define DEFAULT_SYS_CLK (192*1000000) // 系统默认主频设置
#define PSRAM_HEAP //如果需要psram当作heap,需要打开这个宏
#define AV_PSRAM_HEAP // 启用音视频专用PSRAM堆供音视频缓冲区分配使用
#define AV_HEAP // 启用片内SRAM的AV堆内存区域
#define CONFIG_PSRAM_AVHEAP_SIZE (3*1024*1024 + 600*1024) // PSRAM中分配给音视频堆的大小
#define CONFIG_AVHEAP_SIZE (120*1024) // 片内SRAM中分配给音视频堆的大小
/*****************************************************************
* VCAM开关,部分io电源域需要打开才有电
*****************************************************************/
#define VCAM_EN 1 // 摄像头电源VCAM使能
#define VCCSD_33 0 // SD卡电源电压选择0=1.8V1=3.3V
/*******************************************************************
* 图像编码相关参数
* 根据sensor的类型打开 DVP_EN 或者是 MIPI_CSI_EN
* DUAL_EN : 多个sensor打开空间不足保持关闭
* H264_I_ONLY : 1080p 打开
******************************************************************/
#define DVP_EN 0 // DVP数字视频接口使能用于连接DVP接口摄像头
#define MIPI_CSI_EN 1 // MIPI CSI串行摄像头接口使能
#define DUAL_EN 1 // 双摄像头使能,支持同时接入两路摄像头
#define VPP_EN 1 // VPP视频后处理器使能用于视频画面后处理
#define ISP_EN 1 // ISP图像信号处理器使能用于原始数据图像质量处理
#define ISP_TUNNING_EN 1 // ISP调参功能使能
#define JPG_EN 1 // JPEG编解码器使能
#define H264_EN 1 // H.264视频编码器使能
#define H264_I_ONLY 1 // H264仅编码I帧模式不生成P帧降低延迟
/***************************************************
* sensor型号配置
#define DEV_SENSOR_OV7725 0 // OmniVision OV7725 VGA传感器
#define DEV_SENSOR_OV7670 0 // OmniVision OV7670 VGA传感器
#define DEV_SENSOR_OV9734 0 // OmniVision OV9734 传感器
#define DEV_SENSOR_GC0308 0 // 格科GC0308 VGA传感器
#define DEV_SENSOR_OV2640 0 // OmniVision OV2640 2MP传感器
#define DEV_SENSOR_BF3A03 0 // BYD BF3A03传感器
#define DEV_SENSOR_BF2013 0 // BYD BF2013传感器
#define DEV_SENSOR_OV2685 0 // OmniVision OV2685 2MP传感器
#define DEV_SENSOR_BF30A2 0 // BYD BF30A2传感器
#define DEV_SENSOR_H62 0 // H62传感器
#define DEV_SENSOR_H63P 0 // H63P传感器
#define DEV_SENSOR_SC1346 0 // 思特威SC1346 1MP传感器
#define DEV_SENSOR_GC1084 0 // 格科GC1084 1MP720P传感器
#define DEV_SENSOR_GC2083 0 // 格科GC2083 2MP传感器
#define DEV_SENSOR_GC2053 0 // 格科GC2053 2MP1080P传感器
#define DEV_SENSOR_GC20C3 0 // 格科GC20C3传感器
#define DEV_SENSOR_SC2336P 0 // 思特威SC2336P 2MP传感器
#define DEV_SENSOR_SC2331 0 // 思特威SC2331传感器
#define DEV_SENSOR_F38P 0 // F38P传感器
#define DEV_SENSOR_F37P 0 // F37P传感器
#define DEV_SENSOR_TP9950 0 // TP9950 AHD转接芯片
**************************************************/
#define DEV_SENSOR_GC2053 1 // 格科GC2053 2MP1080P传感器
#define DEV_SENSOR_GC1084 1 // 格科GC1084 1MP720P传感器
/************************************************************
* mipi相关
INPUT_MODE:
#define YUV422 0
#define RAW8 1
#define RAW10 2
#define RAW12 3
DOUBLE_LANE
1 : 双个数据lane
0 : 单个数据lane
************************************************************/
#define INPUT_MODE 2 //RAW10 // MIPI输入数据格式0=YUV422, 1=RAW8, 2=RAW10, 3=RAW12
#define DOUBLE_CSI 0 // 双CSI通道使能0=单通道
#define DOUBLE_LANE 0 // MIPI双Lane模式使能0=单Lane
/***********************************************************
* USB相关宏配置必须打开
************************************************************/
/* ------ USB1.1 ----- */
#define USB11_EN 0 // USB 1.1控制器全速12Mbps使能开关
#define USB11_HOST_EN 0 // USB 1.1主机模式使能开关
/* ------ USB2.0 ----- */
#define USB_EN 1 // USB 2.0控制器高速480Mbps使能开关
#define USB_HOST_EN 0 // USB 2.0主机模式使能开关
#define MACBUS_USB // MAC总线与USB的复用/桥接功能使能
#define USBDISK 1 //1代表将sd卡作为u盘 2代表将flash作为usb盘,需要配合USB_EN使用,并且其他宏不能有冲突
/*=========== RTT USB架构宏定义 ==========*/
#define RTT_USB_EN 1 //RTT USB 架构使能 (USB_EN打开)
#define USB_DETECT_EN 0 //USB 主从检测使能 (USB_HOST_EN关闭、USB_EN打开)
/* USB DEVICE */
#define RT_USING_USB_DEVICE //RTT USB DEVICE 使能
#define RT_USB_DEVICE_COMPOSITE //USB DEVICE 复合设备使能
#define RT_USB_DEVICE_CDC // USB CDC类虚拟串口从设备
#define RT_USB_DEVICE_VIDEO // USB视频从设备芯片作为UVC摄像头
/***********************************************************
*默认mjpeg的节点数量,要根据mjpeg启动的分辨率去考虑
默认节点大小:16*1024
720P:算mjpeg大小50-80K,给10个节点足够
1080P:算mjpeg大小100-150K,给20个节点足够
TARGET_JPG_LEN 目标mjpeg的大小
其他分辨率,根据实际情况去配置
* ********************************************************/
#define JPG_NODE_COUNT 20 // MJPEG编码缓冲节点数量
#define TARGET_JPG_LEN 100000 // 目标JPEG帧大小字节
/*================== end =================*/
#elif (CUSTOMER_ID == 3) // CUSTOMER_ID==3 配置分支82xApp_720P_Demo/720P摄像头
/*****************************************************************************
* 720P摄像头(帧率主要看摄像头配置表,SDK默认1084 25帧)
* 主码流(H264):1280x720 @ 25fps
* 辅码流(H264):640x360 @ 25fps
* 录卡(MP4):主码流+aac音频(8KHz/16bit)
* 拍照(MJPG):1280x720
* 图传:RTSP 辅码流 默认地址:rtsp://ip:554/h264?1
* 回放:录风者采用下载模式去解码mp4回放
* 文件系统:FAT32、EXFAT(配合ffconf.h设置)
****************************************************************************/
/***************************************************************
* 打开PIN_FROM_PARAM,通过脚本和config.cfg去生成对应的io配置信息
* 请查看重要的文件:pin_param.h、config.cfg两个文件
*************************************************************/
#define PIN_FROM_PARAM // 启用从参数区读取引脚配置允许运行时动态配置GPIO
/*****************************************
* 打开对应demo的宏
****************************************/
#define SYS_APP_FPV // 系统应用类型为FPV第一人称视角图传模式
/**********************************************************************
* 系统必要信息宏
* CONFIG_PSRAM_AVHEAP_SIZE:为应用分配的psram宏,需要根据应用场景分配
* PSRAM_HEAP:如果需要用到psram,需要打开PSRAM_HEAP
********************************************************************/
#define DEFAULT_SYS_CLK (192*1000000) // 系统默认主频设置
#define PSRAM_HEAP //如果需要psram当作heap,需要打开这个宏
#define AV_PSRAM_HEAP // 启用音视频专用PSRAM堆供音视频缓冲区分配使用
#define AV_HEAP // 启用片内SRAM的AV堆内存区域
/*******************************************************************************************************************************************
1080P摄像头空间分配(如果没有其他要求,会将大部分空间给到视频)
H264 I/P帧:3.1M+0.5M(默认,根据I帧P帧最大值进行调整)
纯I帧:0.5M
h264数据缓冲size: 64帧(最大缓冲)*100K(平局每一帧size) = 6M左右 (如果终端应用不会卡太久,这里可以分配2M-3M左右,这个是动态的)
(64帧是最大缓冲数量,100K需要根据自己h264配置调整,缓冲帧数大是解决录卡不会轻易丢帧,参数都是可以调整,根据产品来调整)
MJPG(1路): MJPG: 10-30(mjpg节点)*16K = 160K-480K (不同分辨率以及质量需要调整,如果是大分辨率拍照4K、8K,需要1M
所以这里需要空间粗略计算就是 3.1M+0.5M+0.5M + 3M(h264+mjpg数据共用动态) ≈ 7M
由于MJPG与H264共用,会造成一定碎片化,可以适当将空间h264和MJPG独立分开,默认SDK没有分开
*********************************************************************************************************************************************/
#define CONFIG_PSRAM_AVHEAP_SIZE (7*1024*1024+512*1024) // PSRAM中分配给音视频堆的大小
/**********************************************************************************************************************************************
* 不同镜头以及功能不一样
* 没有考虑大分辨拍照模式
* 720P镜头: 60K(VPP_DATA0)(1080P h264) = 60k
辅码流: 12K(gen420) = 12K
其他: 10K(解码) + 其他(某些结构体用到) ≈ 15K
total: 95K(没有额外功能,可以运行,如果空间足够,尽量到100K)
*********************************************************************************************************************************************/
#define CONFIG_AVHEAP_SIZE (100*1024) // 片内SRAM中分配给音视频堆的大小
/******************************************************************************
* wifi的必要参数配置
******************************************************************************/
///////////////wifi parameter////////////
#define WIFI_RF_PWR_LEVEL 0 //选择WIFI功率
#define WIFI_RTS_THRESHOLD -1 //RTS阈值-1等效于不用RTS
#define WIFI_RTS_MAX_RETRY 2 //RTS重试次数范围为2~16
#define WIFI_TX_MAX_RETRY 15 //最大传输次数范围为1~31
#define WIFI_TX_SUPP_RATE 0x0FFFFF //TX速率支持每1bit对应一种速率
#define WIFI_MULICAST_RETRY 0 //组播帧传输次数
#define WIFI_ACS_CHAN_LISTS 0x1FFF //要扫描的信道。每1bit对应1个信道(bit 0~11 -> chan 1~12)
#define WIFI_ACS_SCAN_TIME 150 //每个信道的扫描时间单位ms
#define CHANNEL_DEFAULT 0 // 默认WiFi信道0=自动选择
#define SSID_DEFAULT "150X1-" //"150X1-0768c1a3" // 默认WiFi热点SSID前缀
#define WIFI_TX_DUTY_CYCLE 100 //tx发送占空比单位是%范围是0~100
#define WIFI_SSID_FILTER_EN 0 //是否使能SSID过滤功能。使能后只有隐藏SSID和指定SSID的beacon才会上传
#define WIFI_PREVENT_PS_MODE_EN 1 //是否尽可能的阻止sta进入休眠
#define WIFI_TX_AGG_EN 1 //没时延要求可以开聚合。一般来说连路由就设1连手机就设0
#define NET_IP_ADDR_DEFAULT 0x01A9A8C0 //192.168.169.1 // 设备默认IP地址 192.168.169.1
#define NET_MASK_DEFAULT 0x00FFFFFF //255.255.255.0 // 默认子网掩码 255.255.255.0
#define NET_GW_IP_DEFAULT 0x01A9A8C0 //192.168.169.1 // 默认网关IP地址 192.168.169.1
#define DHCPD_START_IP_DEFAULT 0x64A9A8C0 //192.168.169.100 // DHCP起始分配IP 192.168.169.100
#define DHCPD_END_IP_DEFAULT 0xFEA9A8C0 //192.168.169.254 // DHCP结束分配IP 192.168.169.254
#define DHCPD_DNS1_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP首选DNS 192.168.169.1
#define DHCPD_DNS2_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP备用DNS 192.168.169.1
#define DHCPD_ROUTER_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP默认网关 192.168.169.1
/***************************************************************
* 蓝牙
**************************************************************/
//#define BLE_SUPPORT 1 // [已禁用] BLE低功耗蓝牙功能使能
/****************************************************************
* wifi速率配置,根据不同场景需要距离等去配置特定速率算法
#define RATE_CONTROL_ERSHAO 1 // 速率控制方案:耳勺(内窥镜)场景
#define RATE_CONTROL_HANGPAI 2 // 速率控制方案:航拍场景
#define RATE_CONTROL_IPC 3 // 速率控制方案IPC网络摄像机场景
#define RATE_CONTROL_BABYMPNITOR 4 // 速率控制方案:婴儿监视器场景
***************************************************************/
#define RATE_CONTROL_SELECT 3 // 当前选择的速率控制方案
/*****************************************************************
* VCAM开关,部分io电源域需要打开才有电
*****************************************************************/
#define VCAM_EN 1 // 摄像头电源VCAM使能
#define VCCSD_33 0 // SD卡电源电压选择0=1.8V1=3.3V
/*******************************************************************
* 图像编码相关参数
******************************************************************/
#define MIPI_CSI_EN 1 // MIPI CSI串行摄像头接口使能
#define VPP_EN 1 // VPP视频后处理器使能用于视频画面后处理
#define H264_EN 1 // H.264视频编码器使能
#define ISP_EN 1 // ISP图像信号处理器使能用于原始数据图像质量处理
#define JPG_EN 1 // JPEG编解码器使能
#define SCALE_EN 1 // 图像缩放模块使能
/*******************************************************************
* 打开拍照模式(紧紧支持录风者模式)
******************************************************************/
#define TAKEPHOTO_EN 1 // 拍照功能使能(仅支持录风者模式)
/*******************************************************************
* 支持h264的副码流
******************************************************************/
#define SUB_STREAM_EN 1 // 副码流使能,生成低分辨率辅码流
/*****************************************************************
* sd使能
***************************************************************/
#define SDH_EN 1 // SD卡主机控制器使能
#define FS_EN 1 // 文件系统使能FAT等
/************************************************************************************************************************
* sensor型号配置,配置多个,支持自动识别(当前SDK只能支持全部单line或者双line,包含单line和双line需要对sdk初始化修改)
#define DEV_SENSOR_OV7725 0 // OmniVision OV7725 VGA传感器
#define DEV_SENSOR_OV7670 0 // OmniVision OV7670 VGA传感器
#define DEV_SENSOR_GC0308 0 // 格科GC0308 VGA传感器
#define DEV_SENSOR_OV2640 0 // OmniVision OV2640 2MP传感器
#define DEV_SENSOR_BF3A03 0 // BYD BF3A03传感器
#define DEV_SENSOR_BF2013 0 // BYD BF2013传感器
#define DEV_SENSOR_OV2685 0 // OmniVision OV2685 2MP传感器
#define DEV_SENSOR_BF30A2 0 // BYD BF30A2传感器
#define DEV_SENSOR_H62 0 // H62传感器
#define DEV_SENSOR_H63P 0 // H63P传感器
#define DEV_SENSOR_SC1346 0 // 思特威SC1346 1MP传感器
#define DEV_SENSOR_GC1084 0 // 格科GC1084 1MP720P传感器
#define DEV_SENSOR_GC2083 0 // 格科GC2083 2MP传感器
#define DEV_SENSOR_GC2053 0 // 格科GC2053 2MP1080P传感器
#define DEV_SENSOR_SC2336P 0 // 思特威SC2336P 2MP传感器
#define DEV_SENSOR_SC2331 0 // 思特威SC2331传感器
#define DEV_SENSOR_F38P 0 // F38P传感器
#define DEV_SENSOR_F37P 0 // F37P传感器
#define DEV_SENSOR_TP9950 0 // TP9950 AHD转接芯片
***************************************************************************************************************************/
//#define DEV_SENSOR_SC1346 1 // [已禁用] 思特威SC1346 1MP传感器
#define DEV_SENSOR_GC1084 1 // 格科GC1084 1MP720P传感器
#define DEV_SENSOR_GC2053 1 // 格科GC2053 2MP1080P传感器
/************************************************************
* mipi相关
INPUT_MODE:
#define YUV422 0
#define RAW8 1
#define RAW10 2
#define RAW12 3
************************************************************/
#define INPUT_MODE 2 //RAW10 // MIPI输入数据格式0=YUV422, 1=RAW8, 2=RAW10, 3=RAW12
#define DOUBLE_CSI 0 // 双CSI通道使能0=单通道
#define DOUBLE_LANE 0 // MIPI双Lane模式使能0=单Lane
/***********************************************************
*音频及功放使能io配置
* ********************************************************/
#define AUDIO_EN 1 // 音频子系统使能
#define AAC_ENC_CTRL 1 // AAC音频编码控制0=不运行, 1=CPU0运行, 2=CPU1运行
/***********************************************************
*默认mjpeg的节点数量,要根据mjpeg启动的分辨率去考虑
默认节点大小:16*1024
720P:算mjpeg大小50-80K,给10个节点足够
1080P:算mjpeg大小100-150K,给20个节点足够
其他分辨率,根据实际情况去配置
* ********************************************************/
#define JPG_NODE_COUNT 30 // MJPEG编码缓冲节点数量
/*************************************************************
* 节省sram内存,将部分模块强制使用psram
* 优点:节省sram内存
* 缺点:psram读写慢,可能会影响性能
1080P的sram内存不足,将部分数据放到了psram
************************************************************/
#define MORE_SRAM // 启用SRAM节省策略将部分模块数据强制使用PSRAM
/*************************************************************
* 720P摄像头的mjpeg辅码流需要打开VPP_BUF1_EN
* 720P的辅码流是h264(gen420),注意SUB_STREAM_WIDTH需要是与镜头
等比例关系,包括是H(sdk默认这个是等比例,所以不需要配置H)
************************************************************/
#define VPP_BUF1_EN 1 // VPP缓冲区1使能为辅码流提供独立输出缓冲
#define PSRAM_FRAME_SAVE 1 // PSRAM帧保存功能使能
#define SUB_STREAM_WIDTH 640 // 辅码流宽度(像素)
/************************************************************************
* 配置解码最大的size,如果不需要特殊size解码,这个配置320x180(缩略图用)
* 配置解码缓冲区节点数量(预分配空间,没有解码要求,默认1个节点就够了)
************************************************************************/
#define DECODE_MAX_W 320 // 解码器最大输入宽度(像素)
#define DECODE_MAX_H 180 // 解码器最大输入高度(像素)
#define MAX_DECODE_YUV_TX 1 // 解码YUV缓冲区节点数量
/************************************************************************
* 配置MP4录制最大文件的size
************************************************************************/
#define MAX_SINGLE_MP4_SIZE (100 * 1024 * 1024) // 单个MP4录像文件最大大小
/************************************************************************
* 720P摄像头的H264辅码流
* 录风者设置图传是H264,则RECORDER_MODE等于0即可
************************************************************************/
#define RECORDER_MODE 0 // 录像模式0=H264辅码流1=MJPEG辅码流
/************************************************************************
* 开启文件系统优化
************************************************************************/
#define USE_FAT_CACHE 1 // FAT文件系统缓存优化使能
#elif (CUSTOMER_ID == 4) // CUSTOMER_ID==4 配置分支82xApp_1080P_Demo/1080P摄像头
/*****************************************************************************
* 1080P摄像头(帧率主要看摄像头配置表,SDK默认2053 25帧)
* 主码流(H264):1920x1080 @ 25fps
* 辅码流(MJPG):1280x720 @ 25fps
* 录卡(MP4):主码流+aac音频(8KHz/16bit)
* 拍照(MJPG):1280x720
* 图传:RTSP 辅码流 默认地址:rtsp://ip:554/webcam
* 回放:录风者采用下载模式去解码mp4回放
* 文件系统:FAT32、EXFAT(配合ffconf.h设置)
****************************************************************************/
/***************************************************************
* 打开PIN_FROM_PARAM,通过脚本和config.cfg去生成对应的io配置信息
* 请查看重要的文件:pin_param.h、config.cfg两个文件
*************************************************************/
#define PIN_FROM_PARAM // 启用从参数区读取引脚配置允许运行时动态配置GPIO
/*****************************************
* 打开对应demo的宏
****************************************/
#define SYS_APP_FPV // 系统应用类型为FPV第一人称视角图传模式
/**********************************************************************
* 系统必要信息宏
* CONFIG_PSRAM_AVHEAP_SIZE:为应用分配的psram宏,需要根据应用场景分配
* PSRAM_HEAP:如果需要用到psram,需要打开PSRAM_HEAP
********************************************************************/
#define DEFAULT_SYS_CLK (192*1000000) // 系统默认主频设置
#define PSRAM_HEAP //如果需要psram当作heap,需要打开这个宏
#define AV_PSRAM_HEAP // 启用音视频专用PSRAM堆供音视频缓冲区分配使用
#define AV_HEAP // 启用片内SRAM的AV堆内存区域
/*******************************************************************************************************************************************
1080P摄像头空间分配(如果没有其他要求,会将大部分空间给到视频)
H264 I/P帧:3.1M+0.5M(默认,根据I帧P帧最大值进行调整)
纯I帧:0.5M
h264数据缓冲size: 64帧(最大缓冲)*100K(平局每一帧size) = 6M左右 (如果终端应用不会卡太久,这里可以分配2M-3M左右,这个是动态的)
(64帧是最大缓冲数量,100K需要根据自己h264配置调整,缓冲帧数大是解决录卡不会轻易丢帧,参数都是可以调整,根据产品来调整)
MJPG(1路): MJPG: 10-30(mjpg节点)*16K = 160K-480K (不同分辨率以及质量需要调整,如果是大分辨率拍照4K、8K,需要1M
所以这里需要空间粗略计算就是 3.1M+0.5M+0.5M + 3M(h264+mjpg数据共用动态) ≈ 7M
由于MJPG与H264共用,会造成一定碎片化,可以适当将空间h264和MJPG独立分开,默认SDK没有分开
*********************************************************************************************************************************************/
#define CONFIG_PSRAM_AVHEAP_SIZE (7*1024*1024+512*1024) // PSRAM中分配给音视频堆的大小
/**********************************************************************************************************************************************
* 不同镜头以及功能不一样
* 没有考虑大分辨拍照模式
* 1080P镜头: 90K(VPP_DATA0)(1080P h264) + 52.5K(VPP_DATA1)(720P拍照) ≈ 142.5K
其他: 12K(gen420)+10K(解码) + 其他(某些结构体用到) ≈ 22K(动态使用,gen420和解码可以分时复用)
total: 170K
*********************************************************************************************************************************************/
#define CONFIG_AVHEAP_SIZE (100*1024 + 70*1024) // 片内SRAM中分配给音视频堆的大小
/******************************************************************************
* wifi的必要参数配置
******************************************************************************/
///////////////wifi parameter////////////
#define WIFI_RF_PWR_LEVEL 0 //选择WIFI功率
#define WIFI_RTS_THRESHOLD -1 //RTS阈值-1等效于不用RTS
#define WIFI_RTS_MAX_RETRY 2 //RTS重试次数范围为2~16
#define WIFI_TX_MAX_RETRY 15 //最大传输次数范围为1~31
#define WIFI_TX_SUPP_RATE 0x0FFFFF //TX速率支持每1bit对应一种速率
#define WIFI_MULICAST_RETRY 0 //组播帧传输次数
#define WIFI_ACS_CHAN_LISTS 0x1FFF //要扫描的信道。每1bit对应1个信道(bit 0~11 -> chan 1~12)
#define WIFI_ACS_SCAN_TIME 150 //每个信道的扫描时间单位ms
#define CHANNEL_DEFAULT 0 // 默认WiFi信道0=自动选择
#define SSID_DEFAULT "150X1-" //"150X1-0768c1a3" // 默认WiFi热点SSID前缀
#define WIFI_TX_DUTY_CYCLE 100 //tx发送占空比单位是%范围是0~100
#define WIFI_SSID_FILTER_EN 0 //是否使能SSID过滤功能。使能后只有隐藏SSID和指定SSID的beacon才会上传
#define WIFI_PREVENT_PS_MODE_EN 1 //是否尽可能的阻止sta进入休眠
#define WIFI_TX_AGG_EN 1 //没时延要求可以开聚合。一般来说连路由就设1连手机就设0
#define NET_IP_ADDR_DEFAULT 0x01A9A8C0 //192.168.169.1 // 设备默认IP地址 192.168.169.1
#define NET_MASK_DEFAULT 0x00FFFFFF //255.255.255.0 // 默认子网掩码 255.255.255.0
#define NET_GW_IP_DEFAULT 0x01A9A8C0 //192.168.169.1 // 默认网关IP地址 192.168.169.1
#define DHCPD_START_IP_DEFAULT 0x64A9A8C0 //192.168.169.100 // DHCP起始分配IP 192.168.169.100
#define DHCPD_END_IP_DEFAULT 0xFEA9A8C0 //192.168.169.254 // DHCP结束分配IP 192.168.169.254
#define DHCPD_DNS1_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP首选DNS 192.168.169.1
#define DHCPD_DNS2_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP备用DNS 192.168.169.1
#define DHCPD_ROUTER_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP默认网关 192.168.169.1
/***************************************************************
* 蓝牙
**************************************************************/
//#define BLE_SUPPORT 1 // [已禁用] BLE低功耗蓝牙功能使能
/****************************************************************
* wifi速率配置,根据不同场景需要距离等去配置特定速率算法
#define RATE_CONTROL_ERSHAO 1 // 速率控制方案:耳勺(内窥镜)场景
#define RATE_CONTROL_HANGPAI 2 // 速率控制方案:航拍场景
#define RATE_CONTROL_IPC 3 // 速率控制方案IPC网络摄像机场景
#define RATE_CONTROL_BABYMPNITOR 4 // 速率控制方案:婴儿监视器场景
***************************************************************/
#define RATE_CONTROL_SELECT 3 // 当前选择的速率控制方案
/*****************************************************************
* VCAM开关,部分io电源域需要打开才有电
*****************************************************************/
#define VCAM_EN 1 // 摄像头电源VCAM使能
#define VCCSD_33 0 // SD卡电源电压选择0=1.8V1=3.3V
/*******************************************************************
* 图像编码相关参数
******************************************************************/
#define MIPI_CSI_EN 1 // MIPI CSI串行摄像头接口使能
#define VPP_EN 1 // VPP视频后处理器使能用于视频画面后处理
#define H264_EN 1 // H.264视频编码器使能
#define ISP_EN 1 // ISP图像信号处理器使能用于原始数据图像质量处理
#define JPG_EN 1 // JPEG编解码器使能
#define SCALE_EN 1 // 图像缩放模块使能
/*******************************************************************
* 打开拍照模式(紧紧支持录风者模式)
******************************************************************/
#define TAKEPHOTO_EN 1 // 拍照功能使能(仅支持录风者模式)
/*****************************************************************
* sd使能
***************************************************************/
#define SDH_EN 1 // SD卡主机控制器使能
#define FS_EN 1 // 文件系统使能FAT等
/************************************************************************************************************************
* sensor型号配置,配置多个,支持自动识别(当前SDK只能支持全部单line或者双line,包含单line和双line需要对sdk初始化修改)
#define DEV_SENSOR_OV7725 0 // OmniVision OV7725 VGA传感器
#define DEV_SENSOR_OV7670 0 // OmniVision OV7670 VGA传感器
#define DEV_SENSOR_GC0308 0 // 格科GC0308 VGA传感器
#define DEV_SENSOR_OV2640 0 // OmniVision OV2640 2MP传感器
#define DEV_SENSOR_BF3A03 0 // BYD BF3A03传感器
#define DEV_SENSOR_BF2013 0 // BYD BF2013传感器
#define DEV_SENSOR_OV2685 0 // OmniVision OV2685 2MP传感器
#define DEV_SENSOR_BF30A2 0 // BYD BF30A2传感器
#define DEV_SENSOR_H62 0 // H62传感器
#define DEV_SENSOR_H63P 0 // H63P传感器
#define DEV_SENSOR_SC1346 0 // 思特威SC1346 1MP传感器
#define DEV_SENSOR_GC1084 0 // 格科GC1084 1MP720P传感器
#define DEV_SENSOR_GC2083 0 // 格科GC2083 2MP传感器
#define DEV_SENSOR_GC2053 0 // 格科GC2053 2MP1080P传感器
#define DEV_SENSOR_SC2336P 0 // 思特威SC2336P 2MP传感器
#define DEV_SENSOR_SC2331 0 // 思特威SC2331传感器
#define DEV_SENSOR_F38P 0 // F38P传感器
#define DEV_SENSOR_F37P 0 // F37P传感器
#define DEV_SENSOR_TP9950 0 // TP9950 AHD转接芯片
***************************************************************************************************************************/
//#define DEV_SENSOR_SC1346 1 // [已禁用] 思特威SC1346 1MP传感器
#define DEV_SENSOR_GC1084 1 // 格科GC1084 1MP720P传感器
#define DEV_SENSOR_GC2053 1 // 格科GC2053 2MP1080P传感器
/************************************************************
* mipi相关
INPUT_MODE:
#define YUV422 0
#define RAW8 1
#define RAW10 2
#define RAW12 3
************************************************************/
#define INPUT_MODE 2 //RAW10 // MIPI输入数据格式0=YUV422, 1=RAW8, 2=RAW10, 3=RAW12
#define DOUBLE_CSI 0 // 双CSI通道使能0=单通道
#define DOUBLE_LANE 0 // MIPI双Lane模式使能0=单Lane
/***********************************************************
*音频及功放使能io配置
* ********************************************************/
#define AUDIO_EN 1 // 音频子系统使能
#define AAC_ENC_CTRL 1 // AAC音频编码控制0=不运行, 1=CPU0运行, 2=CPU1运行
/***********************************************************
*默认mjpeg的节点数量,要根据mjpeg启动的分辨率去考虑
默认节点大小:16*1024
720P:算mjpeg大小50-80K,给10个节点足够
1080P:算mjpeg大小100-150K,给20个节点足够
其他分辨率,根据实际情况去配置
* ********************************************************/
#define JPG_NODE_COUNT 30 // MJPEG编码缓冲节点数量
/*************************************************************
* 节省sram内存,将部分模块强制使用psram
* 优点:节省sram内存
* 缺点:psram读写慢,可能会影响性能
1080P的sram内存不足,将部分数据放到了psram
************************************************************/
#define MORE_SRAM // 启用SRAM节省策略将部分模块数据强制使用PSRAM
/************************************************************************
* 1080P摄像头的mjpeg辅码流需要打开VPP_BUF1_EN
* 设置图传辅码流的size(1080P辅码流是mjpg),注意SUB_STREAM_WIDTH需要是与镜头
等比例关系,包括是H(sdk默认这个是等比例,所以不需要配置H)
************************************************************************/
#define VPP_BUF1_EN 1 // VPP缓冲区1使能为辅码流提供独立输出缓冲
#define SUB_STREAM_WIDTH 1280 // 辅码流宽度(像素)
/************************************************************************
* 配置解码最大的size,如果不需要特殊size解码,这个配置320x180(缩略图用)
* 配置解码缓冲区节点数量(预分配空间,没有解码要求,默认1个节点就够了)
************************************************************************/
#define DECODE_MAX_W 320 // 解码器最大输入宽度(像素)
#define DECODE_MAX_H 180 // 解码器最大输入高度(像素)
#define MAX_DECODE_YUV_TX 1 // 解码YUV缓冲区节点数量
/************************************************************************
* 配置MP4录制最大文件的size
************************************************************************/
#define MAX_SINGLE_MP4_SIZE (100 * 1024 * 1024) // 单个MP4录像文件最大大小
/************************************************************************
* 1080P摄像头的mjpeg辅码流
* 录风者设置图传是mjpeg,则RECORDER_MODE等于1即可
************************************************************************/
#define RECORDER_MODE 1 // 录像模式0=H264辅码流1=MJPEG辅码流
/************************************************************************
* 开启文件系统优化
************************************************************************/
#define USE_FAT_CACHE 1 // FAT文件系统缓存优化使能
#elif (CUSTOMER_ID == 5) // CUSTOMER_ID==5 配置分支82xApp_720P_to_1080P_Demo/720P插值1080P
/*****************************************************************************
* 720P摄像头,插值到1080P(帧率主要看摄像头配置表,SDK默认1084 25帧)
* 主码流(H264):1920x1080 @ 25fps
* 辅码流(H264):640x360 @ 25fps
* 录卡(MP4):主码流+aac音频(8KHz/16bit)
* 拍照(MJPG):1280x720
* 图传:RTSP 辅码流 默认地址:rtsp://ip:554/h264?1
* 回放:录风者采用下载模式去解码mp4回放
* 文件系统:FAT32、EXFAT(配合ffconf.h设置)
****************************************************************************/
/***************************************************************
* 打开PIN_FROM_PARAM,通过脚本和config.cfg去生成对应的io配置信息
* 请查看重要的文件:pin_param.h、config.cfg两个文件
*************************************************************/
#define PIN_FROM_PARAM // 启用从参数区读取引脚配置允许运行时动态配置GPIO
/*****************************************
* 打开对应demo的宏
****************************************/
#define SYS_APP_FPV // 系统应用类型为FPV第一人称视角图传模式
/**********************************************************************
* 系统必要信息宏
* CONFIG_PSRAM_AVHEAP_SIZE:为应用分配的psram宏,需要根据应用场景分配
* PSRAM_HEAP:如果需要用到psram,需要打开PSRAM_HEAP
********************************************************************/
#define DEFAULT_SYS_CLK (192*1000000) // 系统默认主频设置
#define PSRAM_HEAP //如果需要psram当作heap,需要打开这个宏
#define AV_PSRAM_HEAP // 启用音视频专用PSRAM堆供音视频缓冲区分配使用
#define AV_HEAP // 启用片内SRAM的AV堆内存区域
/*******************************************************************************************************************************************
1080P摄像头空间分配(如果没有其他要求,会将大部分空间给到视频)
H264 I/P帧:3.1M+0.5M(默认,根据I帧P帧最大值进行调整)
纯I帧:0.5M
h264数据缓冲size: 64帧(最大缓冲)*100K(平局每一帧size) = 6M左右 (如果终端应用不会卡太久,这里可以分配2M-3M左右,这个是动态的)
(64帧是最大缓冲数量,100K需要根据自己h264配置调整,缓冲帧数大是解决录卡不会轻易丢帧,参数都是可以调整,根据产品来调整)
MJPG(1路): MJPG: 10-30(mjpg节点)*16K = 160K-480K (不同分辨率以及质量需要调整,如果是大分辨率拍照4K、8K,需要1M
所以这里需要空间粗略计算就是 3.1M+0.5M+0.5M + 3M(h264+mjpg数据共用动态) ≈ 7M
由于MJPG与H264共用,会造成一定碎片化,可以适当将空间h264和MJPG独立分开,默认SDK没有分开
*********************************************************************************************************************************************/
#define CONFIG_PSRAM_AVHEAP_SIZE (7*1024*1024+512*1024) // PSRAM中分配给音视频堆的大小
/**********************************************************************************************************************************************
* 不同镜头以及功能不一样
* 没有考虑大分辨拍照模式
* 720P镜头: 60K(VPP_DATA0)(1080P h264) = 60k
辅码流: 12K(gen420) = 12K
其他: 10K(解码) + 其他(某些结构体用到) ≈ 15K
total: 95K(没有额外功能,可以运行,如果空间足够,尽量到100K)
*********************************************************************************************************************************************/
#define CONFIG_AVHEAP_SIZE (100*1024) // 片内SRAM中分配给音视频堆的大小
/******************************************************************************
* wifi的必要参数配置
******************************************************************************/
///////////////wifi parameter////////////
#define WIFI_RF_PWR_LEVEL 0 //选择WIFI功率
#define WIFI_RTS_THRESHOLD -1 //RTS阈值-1等效于不用RTS
#define WIFI_RTS_MAX_RETRY 2 //RTS重试次数范围为2~16
#define WIFI_TX_MAX_RETRY 15 //最大传输次数范围为1~31
#define WIFI_TX_SUPP_RATE 0x0FFFFF //TX速率支持每1bit对应一种速率
#define WIFI_MULICAST_RETRY 0 //组播帧传输次数
#define WIFI_ACS_CHAN_LISTS 0x1FFF //要扫描的信道。每1bit对应1个信道(bit 0~11 -> chan 1~12)
#define WIFI_ACS_SCAN_TIME 150 //每个信道的扫描时间单位ms
#define CHANNEL_DEFAULT 0 // 默认WiFi信道0=自动选择
#define SSID_DEFAULT "150X1-" //"150X1-0768c1a3" // 默认WiFi热点SSID前缀
#define WIFI_TX_DUTY_CYCLE 100 //tx发送占空比单位是%范围是0~100
#define WIFI_SSID_FILTER_EN 0 //是否使能SSID过滤功能。使能后只有隐藏SSID和指定SSID的beacon才会上传
#define WIFI_PREVENT_PS_MODE_EN 1 //是否尽可能的阻止sta进入休眠
#define WIFI_TX_AGG_EN 1 //没时延要求可以开聚合。一般来说连路由就设1连手机就设0
#define NET_IP_ADDR_DEFAULT 0x01A9A8C0 //192.168.169.1 // 设备默认IP地址 192.168.169.1
#define NET_MASK_DEFAULT 0x00FFFFFF //255.255.255.0 // 默认子网掩码 255.255.255.0
#define NET_GW_IP_DEFAULT 0x01A9A8C0 //192.168.169.1 // 默认网关IP地址 192.168.169.1
#define DHCPD_START_IP_DEFAULT 0x64A9A8C0 //192.168.169.100 // DHCP起始分配IP 192.168.169.100
#define DHCPD_END_IP_DEFAULT 0xFEA9A8C0 //192.168.169.254 // DHCP结束分配IP 192.168.169.254
#define DHCPD_DNS1_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP首选DNS 192.168.169.1
#define DHCPD_DNS2_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP备用DNS 192.168.169.1
#define DHCPD_ROUTER_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP默认网关 192.168.169.1
/***************************************************************
* 蓝牙
**************************************************************/
//#define BLE_SUPPORT 1 // [已禁用] BLE低功耗蓝牙功能使能
/****************************************************************
* wifi速率配置,根据不同场景需要距离等去配置特定速率算法
#define RATE_CONTROL_ERSHAO 1 // 速率控制方案:耳勺(内窥镜)场景
#define RATE_CONTROL_HANGPAI 2 // 速率控制方案:航拍场景
#define RATE_CONTROL_IPC 3 // 速率控制方案IPC网络摄像机场景
#define RATE_CONTROL_BABYMPNITOR 4 // 速率控制方案:婴儿监视器场景
***************************************************************/
#define RATE_CONTROL_SELECT 3 // 当前选择的速率控制方案
/*****************************************************************
* VCAM开关,部分io电源域需要打开才有电
*****************************************************************/
#define VCAM_EN 1 // 摄像头电源VCAM使能
#define VCCSD_33 0 // SD卡电源电压选择0=1.8V1=3.3V
/*******************************************************************
* 图像编码相关参数
******************************************************************/
#define MIPI_CSI_EN 1 // MIPI CSI串行摄像头接口使能
#define VPP_EN 1 // VPP视频后处理器使能用于视频画面后处理
#define H264_EN 1 // H.264视频编码器使能
#define ISP_EN 1 // ISP图像信号处理器使能用于原始数据图像质量处理
#define JPG_EN 1 // JPEG编解码器使能
#define SCALE_EN 1 // 图像缩放模块使能
/*******************************************************************
* 打开拍照模式(紧紧支持录风者模式)
******************************************************************/
#define TAKEPHOTO_EN 1 // 拍照功能使能(仅支持录风者模式)
/*****************************************************************
* sd使能
***************************************************************/
#define SDH_EN 1 // SD卡主机控制器使能
#define FS_EN 1 // 文件系统使能FAT等
/************************************************************************************************************************
* sensor型号配置,配置多个,支持自动识别(当前SDK只能支持全部单line或者双line,包含单line和双line需要对sdk初始化修改)
#define DEV_SENSOR_OV7725 0 // OmniVision OV7725 VGA传感器
#define DEV_SENSOR_OV7670 0 // OmniVision OV7670 VGA传感器
#define DEV_SENSOR_GC0308 0 // 格科GC0308 VGA传感器
#define DEV_SENSOR_OV2640 0 // OmniVision OV2640 2MP传感器
#define DEV_SENSOR_BF3A03 0 // BYD BF3A03传感器
#define DEV_SENSOR_BF2013 0 // BYD BF2013传感器
#define DEV_SENSOR_OV2685 0 // OmniVision OV2685 2MP传感器
#define DEV_SENSOR_BF30A2 0 // BYD BF30A2传感器
#define DEV_SENSOR_H62 0 // H62传感器
#define DEV_SENSOR_H63P 0 // H63P传感器
#define DEV_SENSOR_SC1346 0 // 思特威SC1346 1MP传感器
#define DEV_SENSOR_GC1084 0 // 格科GC1084 1MP720P传感器
#define DEV_SENSOR_GC2083 0 // 格科GC2083 2MP传感器
#define DEV_SENSOR_GC2053 0 // 格科GC2053 2MP1080P传感器
#define DEV_SENSOR_SC2336P 0 // 思特威SC2336P 2MP传感器
#define DEV_SENSOR_SC2331 0 // 思特威SC2331传感器
#define DEV_SENSOR_F38P 0 // F38P传感器
#define DEV_SENSOR_F37P 0 // F37P传感器
#define DEV_SENSOR_TP9950 0 // TP9950 AHD转接芯片
***************************************************************************************************************************/
//#define DEV_SENSOR_SC1346 1 // [已禁用] 思特威SC1346 1MP传感器
#define DEV_SENSOR_GC1084 1 // 格科GC1084 1MP720P传感器
#define DEV_SENSOR_GC2053 1 // 格科GC2053 2MP1080P传感器
/************************************************************
* mipi相关
INPUT_MODE:
#define YUV422 0
#define RAW8 1
#define RAW10 2
#define RAW12 3
************************************************************/
#define INPUT_MODE 2 //RAW10 // MIPI输入数据格式0=YUV422, 1=RAW8, 2=RAW10, 3=RAW12
#define DOUBLE_CSI 0 // 双CSI通道使能0=单通道
#define DOUBLE_LANE 0 // MIPI双Lane模式使能0=单Lane
/***********************************************************
*音频及功放使能io配置
* ********************************************************/
#define AUDIO_EN 1 // 音频子系统使能
#define AAC_ENC_CTRL 1 // AAC音频编码控制0=不运行, 1=CPU0运行, 2=CPU1运行
/***********************************************************
*默认mjpeg的节点数量,要根据mjpeg启动的分辨率去考虑
默认节点大小:16*1024
720P:算mjpeg大小50-80K,给10个节点足够
1080P:算mjpeg大小100-150K,给20个节点足够
其他分辨率,根据实际情况去配置
* ********************************************************/
#define JPG_NODE_COUNT 30 // MJPEG编码缓冲节点数量
/*************************************************************
* 节省sram内存,将部分模块强制使用psram
* 优点:节省sram内存
* 缺点:psram读写慢,可能会影响性能
1080P的sram内存不足,将部分数据放到了psram
************************************************************/
#define MORE_SRAM // 启用SRAM节省策略将部分模块数据强制使用PSRAM
/*************************************************************
* 720P摄像头的mjpeg辅码流需要打开VPP_BUF1_EN
* 720P的辅码流是h264(gen420),注意SUB_STREAM_WIDTH需要是与镜头
等比例关系,包括是H(sdk默认这个是等比例,所以不需要配置H)
************************************************************/
#define VPP_BUF1_EN 1 // VPP缓冲区1使能为辅码流提供独立输出缓冲
#define PSRAM_FRAME_SAVE 1 // PSRAM帧保存功能使能
#define SUB_STREAM_WIDTH 640 // 辅码流宽度(像素)
/*******************************************************************
* 支持h264的副码流,注意要与VPP_BUF1_EN以及PSRAM_FRAME_SAVE同时打开
******************************************************************/
#define SUB_STREAM_EN 1 // 副码流使能,生成低分辨率辅码流
/************************************************************************
* 配置解码最大的size,如果不需要特殊size解码,这个配置320x180(缩略图用)
* 配置解码缓冲区节点数量(预分配空间,没有解码要求,默认1个节点就够了)
************************************************************************/
#define DECODE_MAX_W 320 // 解码器最大输入宽度(像素)
#define DECODE_MAX_H 180 // 解码器最大输入高度(像素)
#define MAX_DECODE_YUV_TX 1 // 解码YUV缓冲区节点数量
/************************************************************************
* 配置MP4录制最大文件的size
************************************************************************/
#define MAX_SINGLE_MP4_SIZE (100 * 1024 * 1024) // 单个MP4录像文件最大大小
/************************************************************************
* 720P摄像头的H264辅码流
* 录风者设置图传是H264,则RECORDER_MODE等于0即可
************************************************************************/
#define RECORDER_MODE 0 // 录像模式0=H264辅码流1=MJPEG辅码流
/***********************************************************
* 插值打开相关的宏
* FORCE_SCALE_TO_H264:强行将h264插值到对应分辨率
* VPP_SCALE_EN: 插值需要打开scale1的宏
* VPP_SCALE_WIDTH:插值后的size
* VPP_SCALE_HIGH:插值后的size
* *********************************************************/
#define FORCE_SCALE_TO_H264 // 强制将VPP缩放后的图像送H264编码器
#define VPP_SCALE_EN 1 // VPP缩放模块使能
#define VPP_SCALE_WIDTH 1920 // VPP缩放目标宽度像素
#define VPP_SCALE_HIGH 1080 // VPP缩放目标高度像素
/************************************************************************
* 开启文件系统优化
************************************************************************/
#define USE_FAT_CACHE 1 // FAT文件系统缓存优化使能
#elif (CUSTOMER_ID == 6) // CUSTOMER_ID==6 配置分支82xApp_UVC_Demo/UVC摄像头
/***************************************************************************************************************************************
* UVC摄像头
* UVC镜头: 与usb支持分辨率有关
* 水印码流:与uvc镜头分辨率一致
* 图传:RTSP 辅码流 默认地址:rtsp://ip:554/custom?route-usb(uvc镜头直接图传) 或者 rtsp://ip:554/custom?gen420_JPG_RECODE(uvc增加水印图传)
* 文件系统:FAT32、EXFAT(配合ffconf.h设置)
***************************************************************************************************************************************/
/***************************************************************
* 打开PIN_FROM_PARAM,通过脚本和config.cfg去生成对应的io配置信息
* 请查看重要的文件:pin_param.h、config.cfg两个文件
*************************************************************/
#define PIN_FROM_PARAM // 启用从参数区读取引脚配置允许运行时动态配置GPIO
/*****************************************
* 打开对应demo的宏
****************************************/
#define SYS_APP_FPV // 系统应用类型为FPV第一人称视角图传模式
//#define SYS_APP_DEMO // [已禁用] 系统应用类型为通用演示Demo模式
/**********************************************************************
* 系统必要信息宏
* CONFIG_PSRAM_AVHEAP_SIZE:为应用分配的psram宏,需要根据应用场景分配
* PSRAM_HEAP:如果需要用到psram,需要打开PSRAM_HEAP
********************************************************************/
#define DEFAULT_SYS_CLK (192*1000000) // 系统默认主频设置
#define PSRAM_HEAP //如果需要psram当作heap,需要打开这个宏
#define AV_PSRAM_HEAP // 启用音视频专用PSRAM堆供音视频缓冲区分配使用
#define AV_HEAP // 启用片内SRAM的AV堆内存区域
/*********************************************************************
uvc: 节点固定占用空间默认:16K*8 = 128K
mjpeg解码(1280*720)预分配空间: 1.3M
mjpeg重新编码: 30*16K = 480K
约 需要2M
mjpeg的data缓冲:1M(动态,多缓冲多,少就是概率出现某些情况申请不到空间)
total:3M
**********************************************************************/
#define CONFIG_PSRAM_AVHEAP_SIZE (3*1024*1024) // PSRAM中分配给音视频堆的大小
/************************************************************
* 不同镜头以及功能不一样
gen420:12K
mjpeg解码:10K
total≈20K(相当于分时复用,如果空间足够需要多给点)
************************************************************/
#define CONFIG_AVHEAP_SIZE (20*1024) // 片内SRAM中分配给音视频堆的大小
/******************************************************************************
* wifi的必要参数配置
******************************************************************************/
///////////////wifi parameter////////////
#define WIFI_RF_PWR_LEVEL 0 //选择WIFI功率
#define WIFI_RTS_THRESHOLD -1 //RTS阈值-1等效于不用RTS
#define WIFI_RTS_MAX_RETRY 2 //RTS重试次数范围为2~16
#define WIFI_TX_MAX_RETRY 15 //最大传输次数范围为1~31
#define WIFI_TX_SUPP_RATE 0x0FFFFF //TX速率支持每1bit对应一种速率
#define WIFI_MULICAST_RETRY 0 //组播帧传输次数
#define WIFI_ACS_CHAN_LISTS 0x1FFF //要扫描的信道。每1bit对应1个信道(bit 0~11 -> chan 1~12)
#define WIFI_ACS_SCAN_TIME 150 //每个信道的扫描时间单位ms
#define CHANNEL_DEFAULT 0 // 默认WiFi信道0=自动选择
#define SSID_DEFAULT "150X1-" //"150X1-0768c1a3" // 默认WiFi热点SSID前缀
#define WIFI_TX_DUTY_CYCLE 100 //tx发送占空比单位是%范围是0~100
#define WIFI_SSID_FILTER_EN 0 //是否使能SSID过滤功能。使能后只有隐藏SSID和指定SSID的beacon才会上传
#define WIFI_PREVENT_PS_MODE_EN 1 //是否尽可能的阻止sta进入休眠
#define WIFI_TX_AGG_EN 1 //没时延要求可以开聚合。一般来说连路由就设1连手机就设0
#define NET_IP_ADDR_DEFAULT 0x01A9A8C0 //192.168.169.1 // 设备默认IP地址 192.168.169.1
#define NET_MASK_DEFAULT 0x00FFFFFF //255.255.255.0 // 默认子网掩码 255.255.255.0
#define NET_GW_IP_DEFAULT 0x01A9A8C0 //192.168.169.1 // 默认网关IP地址 192.168.169.1
#define DHCPD_START_IP_DEFAULT 0x64A9A8C0 //192.168.169.100 // DHCP起始分配IP 192.168.169.100
#define DHCPD_END_IP_DEFAULT 0xFEA9A8C0 //192.168.169.254 // DHCP结束分配IP 192.168.169.254
#define DHCPD_DNS1_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP首选DNS 192.168.169.1
#define DHCPD_DNS2_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP备用DNS 192.168.169.1
#define DHCPD_ROUTER_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP默认网关 192.168.169.1
/***************************************************************
* 蓝牙
**************************************************************/
//#define BLE_SUPPORT 1 // [已禁用] BLE低功耗蓝牙功能使能
/****************************************************************
* wifi速率配置,根据不同场景需要距离等去配置特定速率算法
#define RATE_CONTROL_ERSHAO 1 // 速率控制方案:耳勺(内窥镜)场景
#define RATE_CONTROL_HANGPAI 2 // 速率控制方案:航拍场景
#define RATE_CONTROL_IPC 3 // 速率控制方案IPC网络摄像机场景
#define RATE_CONTROL_BABYMPNITOR 4 // 速率控制方案:婴儿监视器场景
***************************************************************/
#define RATE_CONTROL_SELECT 3 // 当前选择的速率控制方案
/*****************************************************************
* VCAM开关,部分io电源域需要打开才有电
*****************************************************************/
#define VCAM_EN 1 // 摄像头电源VCAM使能
#define VCCSD_33 0 // SD卡电源电压选择0=1.8V1=3.3V
/*******************************************************************
* 图像编码相关参数
******************************************************************/
#define JPG_EN 1 // JPEG编解码器使能
#define SCALE_EN 1 // 图像缩放模块使能
/*******************************************************************
UVC的配置
********************************************************************/
/* ------ USB2.0 ----- */
#define USB_EN 1 // USB 2.0控制器高速480Mbps使能开关
#define USB_HOST_EN 1 // USB 2.0主机模式使能开关
/*=========== RTT USB架构宏定义 ==========*/
#define RTT_USB_EN 1 //RTT USB 架构使能 (USB_EN打开)
/* USB HOST */
#define RT_USBH //RTT USB HOST 使能
#define RT_USBH_UVC // USB UVC视频类主机驱动用于连接USB摄像头
/*******************************************************************
* usb摄像头增加水印后重新编码使能
******************************************************************/
#define USB_JPG_ADD_WATERMARK 1 // USB摄像头JPEG添加水印功能使能
/*****************************************************************
* sd使能
***************************************************************/
#define SDH_EN 1 // SD卡主机控制器使能
#define FS_EN 1 // 文件系统使能FAT等
/***********************************************************
*默认mjpeg的节点数量,要根据mjpeg启动的分辨率去考虑
默认节点大小:16*1024
720P:算mjpeg大小50-80K,给10个节点足够
1080P:算mjpeg大小100-150K,给20个节点足够
其他分辨率,根据实际情况去配置
* ********************************************************/
#define JPG_NODE_COUNT 30 // MJPEG编码缓冲节点数量
/************************************************************************
* 开启文件系统优化
************************************************************************/
#define USE_FAT_CACHE 1 // FAT文件系统缓存优化使能
/************************************************************************
* 配置解码最大的size,usb摄像头支持最大分辨率1280x720
* 配置解码缓冲区节点数量(预分配空间,默认1个节点,可以调节)
************************************************************************/
#define DECODE_MAX_W 1280 // 解码器最大输入宽度(像素)
#define DECODE_MAX_H 720 // 解码器最大输入高度(像素)
#define MAX_DECODE_YUV_TX 1 // 解码YUV缓冲区节点数量
#elif (CUSTOMER_ID == 7) // CUSTOMER_ID==7 配置分支82xApp_walkie_talkie_Demo/对讲机
#define SYS_APP_WALKIE_TALKIE // 系统应用类型为对讲机模式
#define DEFAULT_SYS_CLK (240*1000000) // 系统默认主频设置
#define PSRAM_HEAP //如果需要psram当作heap,需要打开这个宏
#define AV_PSRAM_HEAP // 启用音视频专用PSRAM堆供音视频缓冲区分配使用
#define AV_HEAP // 启用片内SRAM的AV堆内存区域
#define CONFIG_PSRAM_AVHEAP_SIZE (3*1024*1024+600*1024) // PSRAM中分配给音视频堆的大小
#define CONFIG_AVHEAP_SIZE (145*1024) // 片内SRAM中分配给音视频堆的大小
//#define MEM_TRACE // [已禁用] 内存追踪/调试功能,用于检测内存泄漏和越界访问
#define PIN_FROM_PARAM // 启用从参数区读取引脚配置允许运行时动态配置GPIO
#define SYS_WIFI_PAIR 1 // WiFi配对功能使能
#define DVP_EN 1 // DVP数字视频接口使能用于连接DVP接口摄像头
#define VPP_EN 1 // VPP视频后处理器使能用于视频画面后处理
#define JPG_EN 1 // JPEG编解码器使能
#define LCD_EN 1 // LCD显示控制器使能
#define SCALE_EN 1 // 图像缩放模块使能
#define H264_EN 1 // H.264视频编码器使能
#define FS_EN 1 // 文件系统使能FAT等
#define VCAM_EN (1 || DVP_EN) // 摄像头电源VCAM使能
#define DMA2D_EN 1 // DMA2D2D图形加速器使能
#define KEY_MODULE_EN 1 // 按键模块使能
#define FLASHDISK_EN 1 // Flash磁盘功能使能
#define AUDIO_EN 1 // 音频子系统使能
#define LOW_BITRATE_MODE 1 // 低码率模式使能,优化低带宽环境编码
#define INTERCOM_HALF_DUPLEX 0 // 半双工对讲模式0=全双工, 1=半双工
#define MAGIC_VOICE_EN 1 // 变声功能使能
/* AUDIO CODE */
/* 0: AUCODER_NO_RUN 1: AUCODER_RUN_IN_CPU0 2: AUCODER_RUN_IN_CPU1*/
#define MP3_DEC_CTRL 1 // MP3解码控制0=不运行, 1=CPU0运行, 2=CPU1运行
#define OPUS_ENC_CTRL 2 // OPUS编码控制0=不运行, 1=CPU0运行, 2=CPU1运行
#define OPUS_DEC_CTRL 2 // OPUS解码控制0=不运行, 1=CPU0运行, 2=CPU1运行
///////////////wifi parameter////////////
#define WIFI_RF_PWR_LEVEL 0 //选择WIFI功率
#define WIFI_RTS_THRESHOLD -1 //RTS阈值-1等效于不用RTS
#define WIFI_RTS_MAX_RETRY 2 //RTS重试次数范围为2~16
#define WIFI_TX_MAX_RETRY 15 //最大传输次数范围为1~31
/* 每1bit代表一种速率。每bit代表的格式
* bit 0 : DSSS 1M
* bit 1 : DSSS 2M
* bit 2 : DSSS 5.5M
* bit 3 : DSSS 11M
* bit 4 : NON-HT 6M
* bit 5 : NON-HT 9M
* bit 6 : NON-HT 12M
* bit 7 : NON-HT 18M
* bit 8 : NON-HT 24M
* bit 9 : NON-HT 36M
* bit 10 : NON-HT 48M
* bit 11 : NON-HT 54M
* bit 12 : HT MCS0
* bit 13 : HT MCS1
* bit 14 : HT MCS2
* bit 15 : HT MCS3
* bit 16 : HT MCS4
* bit 17 : HT MCS5
* bit 18 : HT MCS6
* bit 19 : HT MCS7
*/
#define WIFI_TX_SUPP_RATE 0x0FFFFF //TX速率支持每1bit对应一种速率
#define WIFI_MULICAST_RETRY 0 //组播帧传输次数
#define WIFI_ACS_CHAN_LISTS 0x1FFF //要扫描的信道。每1bit对应1个信道(bit 0~11 -> chan 1~12)
#define WIFI_ACS_SCAN_TIME 150 //每个信道的扫描时间单位ms
#define CHANNEL_DEFAULT 0 // 默认WiFi信道0=自动选择
#define SSID_DEFAULT "150X1-" //"150X1-0768c1a3" // 默认WiFi热点SSID前缀
#define WIFI_TX_DUTY_CYCLE 100 //tx发送占空比单位是%范围是0~100
#define WIFI_SSID_FILTER_EN 0 //是否使能SSID过滤功能。使能后只有隐藏SSID和指定SSID的beacon才会上传
#define WIFI_PREVENT_PS_MODE_EN 1 //是否尽可能的阻止sta进入休眠
#define WIFI_PS_NO_FRM_LOSS_EN 1 //tx缓存的休眠帧是否不允许丢弃
#define WIFI_TX_AGG_EN 0 //没时延要求可以开聚合。一般来说连路由就设1连手机就设0
#define NET_IP_ADDR_DEFAULT 0x01A9A8C0 //192.168.169.1 // 设备默认IP地址 192.168.169.1
#define NET_MASK_DEFAULT 0x00FFFFFF //255.255.255.0 // 默认子网掩码 255.255.255.0
#define NET_GW_IP_DEFAULT 0x01A9A8C0 //192.168.169.1 // 默认网关IP地址 192.168.169.1
#define DHCPD_START_IP_DEFAULT 0x64A9A8C0 //192.168.169.100 // DHCP起始分配IP 192.168.169.100
#define DHCPD_END_IP_DEFAULT 0xFEA9A8C0 //192.168.169.254 // DHCP结束分配IP 192.168.169.254
#define DHCPD_DNS1_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP首选DNS 192.168.169.1
#define DHCPD_DNS2_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP备用DNS 192.168.169.1
#define DHCPD_ROUTER_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP默认网关 192.168.169.1
#define ATCMD_UARTDEV HG_UART0_DEVID // AT指令使用的串口设备ID
///////////////LCD/////////////
#define LCD_ST7789V_MCU_EN 1 // ST7789V MCU接口LCD驱动使能
// #define LCD_ST7701S_MIPI_EN 1
///////////////DVP//////////////
#define DEV_SENSOR_GC0308 1 // 格科GC0308 VGA传感器
#define DEV_SENSOR_BF3A03 1 // BYD BF3A03传感器
#define DEV_SENSOR_GC1084 1 // 格科GC1084 1MP720P传感器
#if DUAL_EN // 双摄像头条件编译
#define ISP_SENOR_NUM 2 // ISP传感器数量
#define ISP_DMA_EN 1 // ISP DMA传输使能
#else // 否则(单摄像头模式)
#define ISP_SENOR_NUM 1 // ISP传感器数量
#define ISP_DMA_EN 1 // ISP DMA传输使能
#endif // 结束条件编译块
//#define VCAM_33 // [已禁用] VCAM使用3.3V电压供电
#define VCCSD_33 0 // SD卡电源电压选择0=1.8V1=3.3V
//速率调整参数选择,默认是耳勺
#define RATE_CONTROL_ERSHAO 1 // 速率控制方案:耳勺(内窥镜)场景
#define RATE_CONTROL_HANGPAI 2 // 速率控制方案:航拍场景
#define RATE_CONTROL_IPC 3 // 速率控制方案IPC网络摄像机场景
#define RATE_CONTROL_BABYMPNITOR 4 // 速率控制方案:婴儿监视器场景
#define RATE_CONTROL_SELECT RATE_CONTROL_IPC // 当前选择的速率控制方案
#define IPF_EN 1 // IPF图像预处理框架使能
#define VPP_INPUT_FROM IN_DVP0 // VPP输入源选择
#define VPP_BUF1_EN 1 // VPP缓冲区1使能为辅码流提供独立输出缓冲
#define PSRAM_FRAME_SAVE 1 // PSRAM帧保存功能使能
#define VIDEO_YUV_RANGE_TYPE (0) // 视频YUV色彩范围类型0=有限范围(Limited)
#define SCREEN_ON_TIME_DEFAULT -1 // 屏幕常亮超时时间,-1=永不关闭
#define USE_CALLING_DEMO 1 // 通话演示应用使能
#define CALLING_DEMO_DEBUG 0 // 通话调试模式开关
#define WIFI_MODE_DEFAULT WIFI_MODE_STA // WiFi默认工作模式
#define WIFI_BSSBW_DEFAULT 10 // 默认BSS带宽MHz
#define BSS_MAX_IDLE_DEFAULT 10 // BSS最大空闲超时时间
//是能5m/20m共存和自动带宽切换
#define WIFI_FEM_CHIP LMAC_FEM_GSR2701_5V // WiFi前端模块(FEM)芯片选择
#define LMAC_BGN_PCF // WiFi BGN协议共存功能使能
#elif (CUSTOMER_ID == 8) // CUSTOMER_ID==8 配置分支82xApp_LCD_Demo/LCD显示
/***************************************************************
* 打开PIN_FROM_PARAM,通过脚本和config.cfg去生成对应的io配置信息
* 请查看重要的文件:pin_param.h、config.cfg两个文件
*************************************************************/
#define PIN_FROM_PARAM // 启用从参数区读取引脚配置允许运行时动态配置GPIO
/*****************************************
* 打开对应demo的宏
****************************************/
#define SYS_APP_FPV // 系统应用类型为FPV第一人称视角图传模式
/**********************************************************************
* 系统必要信息宏
* CONFIG_PSRAM_AVHEAP_SIZE:为应用分配的psram宏,需要根据应用场景分配
* PSRAM_HEAP:如果需要用到psram,需要打开PSRAM_HEAP
********************************************************************/
#define DEFAULT_SYS_CLK (192*1000000) // 系统默认主频设置
#define PSRAM_HEAP //如果需要psram当作heap,需要打开这个宏
#define AV_PSRAM_HEAP // 启用音视频专用PSRAM堆供音视频缓冲区分配使用
#define AV_HEAP // 启用片内SRAM的AV堆内存区域
/*********************************************************************
uvc: 节点固定占用空间默认:16K*8 = 128K
mjpeg解码(1280*720)预分配空间: 1.3M
mjpeg重新编码: 30*16K = 480K
约 需要2M
mjpeg的data缓冲:1M(动态,多缓冲多,少就是概率出现某些情况申请不到空间)
total:3M
**********************************************************************/
#define CONFIG_PSRAM_AVHEAP_SIZE (7*1024*1024) // PSRAM中分配给音视频堆的大小
/************************************************************
* 不同镜头以及功能不一样
gen420:12K
mjpeg解码:10K
total≈20K(相当于分时复用,如果空间足够需要多给点)
************************************************************/
#define CONFIG_AVHEAP_SIZE (150*1024) // 片内SRAM中分配给音视频堆的大小
/******************************************************************************
* wifi的必要参数配置
******************************************************************************/
///////////////wifi parameter////////////
#define WIFI_RF_PWR_LEVEL 0 //选择WIFI功率
#define WIFI_RTS_THRESHOLD -1 //RTS阈值-1等效于不用RTS
#define WIFI_RTS_MAX_RETRY 2 //RTS重试次数范围为2~16
#define WIFI_TX_MAX_RETRY 15 //最大传输次数范围为1~31
#define WIFI_TX_SUPP_RATE 0x0FFFFF //TX速率支持每1bit对应一种速率
#define WIFI_MULICAST_RETRY 0 //组播帧传输次数
#define WIFI_ACS_CHAN_LISTS 0x1FFF //要扫描的信道。每1bit对应1个信道(bit 0~11 -> chan 1~12)
#define WIFI_ACS_SCAN_TIME 150 //每个信道的扫描时间单位ms
#define CHANNEL_DEFAULT 0 // 默认WiFi信道0=自动选择
#define SSID_DEFAULT "150X1-" //"150X1-0768c1a3" // 默认WiFi热点SSID前缀
#define WIFI_TX_DUTY_CYCLE 100 //tx发送占空比单位是%范围是0~100
#define WIFI_SSID_FILTER_EN 0 //是否使能SSID过滤功能。使能后只有隐藏SSID和指定SSID的beacon才会上传
#define WIFI_PREVENT_PS_MODE_EN 1 //是否尽可能的阻止sta进入休眠
#define WIFI_TX_AGG_EN 1 //没时延要求可以开聚合。一般来说连路由就设1连手机就设0
#define NET_IP_ADDR_DEFAULT 0x01A9A8C0 //192.168.169.1 // 设备默认IP地址 192.168.169.1
#define NET_MASK_DEFAULT 0x00FFFFFF //255.255.255.0 // 默认子网掩码 255.255.255.0
#define NET_GW_IP_DEFAULT 0x01A9A8C0 //192.168.169.1 // 默认网关IP地址 192.168.169.1
#define DHCPD_START_IP_DEFAULT 0x64A9A8C0 //192.168.169.100 // DHCP起始分配IP 192.168.169.100
#define DHCPD_END_IP_DEFAULT 0xFEA9A8C0 //192.168.169.254 // DHCP结束分配IP 192.168.169.254
#define DHCPD_DNS1_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP首选DNS 192.168.169.1
#define DHCPD_DNS2_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP备用DNS 192.168.169.1
#define DHCPD_ROUTER_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP默认网关 192.168.169.1
/***************************************************************
* 蓝牙
**************************************************************/
//#define BLE_SUPPORT 1 // [已禁用] BLE低功耗蓝牙功能使能
/****************************************************************
* wifi速率配置,根据不同场景需要距离等去配置特定速率算法
#define RATE_CONTROL_ERSHAO 1 // 速率控制方案:耳勺(内窥镜)场景
#define RATE_CONTROL_HANGPAI 2 // 速率控制方案:航拍场景
#define RATE_CONTROL_IPC 3 // 速率控制方案IPC网络摄像机场景
#define RATE_CONTROL_BABYMPNITOR 4 // 速率控制方案:婴儿监视器场景
***************************************************************/
#define RATE_CONTROL_SELECT 3 // 当前选择的速率控制方案
/*****************************************************************
* VCAM开关,部分io电源域需要打开才有电
*****************************************************************/
#define VCAM_EN 1 // 摄像头电源VCAM使能
#define VCCSD_33 0 // SD卡电源电压选择0=1.8V1=3.3V
/*******************************************************************
* 图像编码相关参数
******************************************************************/
#define JPG_EN 1 // JPEG编解码器使能
#define SCALE_EN 1 // 图像缩放模块使能
/*******************************************************************
UVC的配置
********************************************************************/
/* ------ USB1.1 ----- */
#define USB11_EN 1 // USB 1.1控制器全速12Mbps使能开关
#define USB11_HOST_EN 1 // USB 1.1主机模式使能开关
/* ------ USB2.0 ----- */
#define USB_EN 1 // USB 2.0控制器高速480Mbps使能开关
#define USB_HOST_EN 1 // USB 2.0主机模式使能开关
/*=========== RTT USB架构宏定义 ==========*/
#define RTT_USB_EN 1 //RTT USB 架构使能 (USB_EN打开)
/* USB HOST */
#define RT_USBH //RTT USB HOST 使能
#define RT_USBH_UVC // USB UVC视频类主机驱动用于连接USB摄像头
#define RT_USBH_MSTORAGE // USB大容量存储主机驱动读取U盘
/*****************************************************************
* sd使能
***************************************************************/
#define SDH_EN 1 // SD卡主机控制器使能
#define FS_EN 1 // 文件系统使能FAT等
/*******************************************************************
* 图像编码相关参数
******************************************************************/
#define MIPI_CSI_EN 1 // MIPI CSI串行摄像头接口使能
#define VPP_EN 1 // VPP视频后处理器使能用于视频画面后处理
#define H264_EN 1 // H.264视频编码器使能
#define ISP_EN 1 // ISP图像信号处理器使能用于原始数据图像质量处理
#define JPG_EN 1 // JPEG编解码器使能
#define SCALE_EN 1 // 图像缩放模块使能
/***************************************************
* sensor型号配置
#define DEV_SENSOR_OV7725 0 // OmniVision OV7725 VGA传感器
#define DEV_SENSOR_OV7670 0 // OmniVision OV7670 VGA传感器
#define DEV_SENSOR_OV9734 0 // OmniVision OV9734 传感器
#define DEV_SENSOR_GC0308 0 // 格科GC0308 VGA传感器
#define DEV_SENSOR_OV2640 0 // OmniVision OV2640 2MP传感器
#define DEV_SENSOR_BF3A03 0 // BYD BF3A03传感器
#define DEV_SENSOR_BF2013 0 // BYD BF2013传感器
#define DEV_SENSOR_OV2685 0 // OmniVision OV2685 2MP传感器
#define DEV_SENSOR_BF30A2 0 // BYD BF30A2传感器
#define DEV_SENSOR_H62 0 // H62传感器
#define DEV_SENSOR_H63P 0 // H63P传感器
#define DEV_SENSOR_SC1346 0 // 思特威SC1346 1MP传感器
#define DEV_SENSOR_GC1084 0 // 格科GC1084 1MP720P传感器
#define DEV_SENSOR_GC2083 0 // 格科GC2083 2MP传感器
#define DEV_SENSOR_GC2053 0 // 格科GC2053 2MP1080P传感器
#define DEV_SENSOR_GC20C3 0 // 格科GC20C3传感器
#define DEV_SENSOR_SC2336P 0 // 思特威SC2336P 2MP传感器
#define DEV_SENSOR_SC2331 0 // 思特威SC2331传感器
#define DEV_SENSOR_F38P 0 // F38P传感器
#define DEV_SENSOR_F37P 0 // F37P传感器
#define DEV_SENSOR_TP9950 0 // TP9950 AHD转接芯片
**************************************************/
#define DEV_SENSOR_GC2053 1 // 格科GC2053 2MP1080P传感器
#define DEV_SENSOR_GC1084 1 // 格科GC1084 1MP720P传感器
/************************************************************
* mipi相关
INPUT_MODE:
#define YUV422 0
#define RAW8 1
#define RAW10 2
#define RAW12 3
************************************************************/
#define INPUT_MODE 2 //RAW10 // MIPI输入数据格式0=YUV422, 1=RAW8, 2=RAW10, 3=RAW12
#define DOUBLE_CSI 0 // 双CSI通道使能0=单通道
#define DOUBLE_LANE 0 // MIPI双Lane模式使能0=单Lane
#define VPP_BUF1_EN 0 // VPP缓冲区1使能为辅码流提供独立输出缓冲
/***********************************************************
*默认mjpeg的节点数量,要根据mjpeg启动的分辨率去考虑
默认节点大小:16*1024
720P:算mjpeg大小50-80K,给10个节点足够
1080P:算mjpeg大小100-150K,给20个节点足够
其他分辨率,根据实际情况去配置
* ********************************************************/
#define JPG_NODE_COUNT 30 // MJPEG编码缓冲节点数量
/************************************************************************
* 开启文件系统优化
************************************************************************/
#define USE_FAT_CACHE 1 // FAT文件系统缓存优化使能
/************************************************************************
* 配置解码最大的size,usb摄像头支持最大分辨率1280x720
* 配置解码缓冲区节点数量(预分配空间,解码屏显至少需要2个节点)
************************************************************************/
#define DECODE_MAX_W 1280 // 解码器最大输入宽度(像素)
#define DECODE_MAX_H 720 // 解码器最大输入高度(像素)
#define MAX_DECODE_YUV_TX 2 // 解码YUV缓冲区节点数量
#define LCD_EN 1 // LCD显示控制器使能
#define DMA2D_EN 1 // DMA2D2D图形加速器使能
#define KEY_MODULE_EN 1 // 按键模块使能
#define TOUCH_PAD_EN 1 // 触摸按键模块使能
#define LCD_ST7701S_MIPI_EN 1 // ST7701S MIPI接口LCD驱动使能
#elif (CUSTOMER_ID == 9) // CUSTOMER_ID==9 配置分支82xApp_baby_monitor_lcd_Demo/婴儿监视器LCD端
#define SYS_APP_BBM_LCD // 系统应用类型为婴儿监视器LCD显示端
#define DEFAULT_SYS_CLK (240*1000000) // 系统默认主频设置
#define PSRAM_HEAP //如果需要psram当作heap,需要打开这个宏
#define AV_PSRAM_HEAP // 启用音视频专用PSRAM堆供音视频缓冲区分配使用
#define AV_HEAP // 启用片内SRAM的AV堆内存区域
#define CONFIG_PSRAM_AVHEAP_SIZE (7*1024*1024) // PSRAM中分配给音视频堆的大小
#define CONFIG_AVHEAP_SIZE (170*1024) // 片内SRAM中分配给音视频堆的大小
//#define MEM_TRACE // [已禁用] 内存追踪/调试功能,用于检测内存泄漏和越界访问
#define PIN_FROM_PARAM // 启用从参数区读取引脚配置允许运行时动态配置GPIO
#define SYS_WIFI_PAIR 1 // WiFi配对功能使能
#define JPG_EN 1 // JPEG编解码器使能
#define LCD_EN 1 // LCD显示控制器使能
#define SCALE_EN 1 // 图像缩放模块使能
#define H264_EN 1 // H.264视频编码器使能
#define SDH_EN 0 // SD卡主机控制器使能
#define FS_EN 1 // 文件系统使能FAT等
#define VCAM_EN (1 || DVP_EN) // 摄像头电源VCAM使能
#define DMA2D_EN 1 // DMA2D2D图形加速器使能
#define PWM_EN 0 // PWM脉宽调制模块使能
#define KEY_MODULE_EN 1 // 按键模块使能
#define FLASHDISK_EN 0 // Flash磁盘功能使能
#define AUDIO_EN 1 // 音频子系统使能
#define ONE_TO_MANY 1 // 一对多功能使能
/* AUDIO CODE */
/* 0: AUCODER_NO_RUN 1: AUCODER_RUN_IN_CPU0 2: AUCODER_RUN_IN_CPU1*/
#define MP3_DEC_CTRL 1 // MP3解码控制0=不运行, 1=CPU0运行, 2=CPU1运行
#define OPUS_ENC_CTRL 2 // OPUS编码控制0=不运行, 1=CPU0运行, 2=CPU1运行
#define OPUS_DEC_CTRL 2 // OPUS解码控制0=不运行, 1=CPU0运行, 2=CPU1运行
///////////////wifi parameter////////////
#define WIFI_RF_PWR_LEVEL 0 //选择WIFI功率
#define WIFI_RTS_THRESHOLD -1 //RTS阈值-1等效于不用RTS
#define WIFI_RTS_MAX_RETRY 2 //RTS重试次数范围为2~16
#define WIFI_TX_MAX_RETRY 15 //最大传输次数范围为1~31
/* 每1bit代表一种速率。每bit代表的格式
* bit 0 : DSSS 1M
* bit 1 : DSSS 2M
* bit 2 : DSSS 5.5M
* bit 3 : DSSS 11M
* bit 4 : NON-HT 6M
* bit 5 : NON-HT 9M
* bit 6 : NON-HT 12M
* bit 7 : NON-HT 18M
* bit 8 : NON-HT 24M
* bit 9 : NON-HT 36M
* bit 10 : NON-HT 48M
* bit 11 : NON-HT 54M
* bit 12 : HT MCS0
* bit 13 : HT MCS1
* bit 14 : HT MCS2
* bit 15 : HT MCS3
* bit 16 : HT MCS4
* bit 17 : HT MCS5
* bit 18 : HT MCS6
* bit 19 : HT MCS7
*/
#define WIFI_TX_SUPP_RATE 0x0FFFFF //TX速率支持每1bit对应一种速率
#define WIFI_MULICAST_RETRY 0 //组播帧传输次数
#define WIFI_ACS_CHAN_LISTS 0x1FFF //要扫描的信道。每1bit对应1个信道(bit 0~11 -> chan 1~12)
#define WIFI_ACS_SCAN_TIME 150 //每个信道的扫描时间单位ms
#define CHANNEL_DEFAULT 0 // 默认WiFi信道0=自动选择
#define SSID_DEFAULT "150X1-" //"150X1-0768c1a3" // 默认WiFi热点SSID前缀
#define WIFI_TX_DUTY_CYCLE 100 //tx发送占空比单位是%范围是0~100
#define WIFI_SSID_FILTER_EN 0 //是否使能SSID过滤功能。使能后只有隐藏SSID和指定SSID的beacon才会上传
#define WIFI_PREVENT_PS_MODE_EN 1 //是否尽可能的阻止sta进入休眠
#define WIFI_PS_NO_FRM_LOSS_EN 1 //tx缓存的休眠帧是否不允许丢弃
#define WIFI_TX_AGG_EN 0 //没时延要求可以开聚合。一般来说连路由就设1连手机就设0
#define NET_IP_ADDR_DEFAULT 0x01A9A8C0 //192.168.169.1 // 设备默认IP地址 192.168.169.1
#define NET_MASK_DEFAULT 0x00FFFFFF //255.255.255.0 // 默认子网掩码 255.255.255.0
#define NET_GW_IP_DEFAULT 0x01A9A8C0 //192.168.169.1 // 默认网关IP地址 192.168.169.1
#define DHCPD_START_IP_DEFAULT 0x64A9A8C0 //192.168.169.100 // DHCP起始分配IP 192.168.169.100
#define DHCPD_END_IP_DEFAULT 0xFEA9A8C0 //192.168.169.254 // DHCP结束分配IP 192.168.169.254
#define DHCPD_DNS1_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP首选DNS 192.168.169.1
#define DHCPD_DNS2_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP备用DNS 192.168.169.1
#define DHCPD_ROUTER_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP默认网关 192.168.169.1
#define ATCMD_UARTDEV HG_UART0_DEVID // AT指令使用的串口设备ID
///////////////LCD/////////////
#define LCD_ST7701S_MIPI_EN 1 // ST7701S MIPI接口LCD驱动使能
//#define VCAM_33 // [已禁用] VCAM使用3.3V电压供电
#define VCCSD_33 0 // SD卡电源电压选择0=1.8V1=3.3V
//速率调整参数选择,默认是耳勺
#define RATE_CONTROL_ERSHAO 1 // 速率控制方案:耳勺(内窥镜)场景
#define RATE_CONTROL_HANGPAI 2 // 速率控制方案:航拍场景
#define RATE_CONTROL_IPC 3 // 速率控制方案IPC网络摄像机场景
#define RATE_CONTROL_BABYMPNITOR 4 // 速率控制方案:婴儿监视器场景
#define RATE_CONTROL_SELECT RATE_CONTROL_BABYMPNITOR // 当前选择的速率控制方案
//是能5m/20m共存和自动带宽切换
//#define WIFI_FEM_CHIP LMAC_FEM_GSR2701_5V // [已禁用] WiFi前端模块(FEM)芯片选择
#define LMAC_BGN_PCF // WiFi BGN协议共存功能使能
#define WIFI_MODE_DEFAULT WIFI_MODE_AP // WiFi默认工作模式
#define DEFINE_UI BBM_UI // UI界面定义
#elif (CUSTOMER_ID == 10) // CUSTOMER_ID==10 配置分支82xApp_baby_monitor_cam_Demo/婴儿监视器摄像头端
#define SYS_APP_BBM_CAM // 系统应用类型为婴儿监视器摄像头端
#define DEFAULT_SYS_CLK (240*1000000) // 系统默认主频设置
#define PSRAM_HEAP //如果需要psram当作heap,需要打开这个宏
#define AV_PSRAM_HEAP // 启用音视频专用PSRAM堆供音视频缓冲区分配使用
#define AV_HEAP // 启用片内SRAM的AV堆内存区域
#define CONFIG_PSRAM_AVHEAP_SIZE (3*1024*1024+600*1024) // PSRAM中分配给音视频堆的大小
#define CONFIG_AVHEAP_SIZE (150*1024) // 片内SRAM中分配给音视频堆的大小
//#define MEM_TRACE // [已禁用] 内存追踪/调试功能,用于检测内存泄漏和越界访问
#define PIN_FROM_PARAM // 启用从参数区读取引脚配置允许运行时动态配置GPIO
#define SYS_WIFI_PAIR 1 // WiFi配对功能使能
#define SUB_STREAM_EN 1//开子码流
#define MIPI_CSI_EN 1 // MIPI CSI串行摄像头接口使能
#define VPP_EN 1 // VPP视频后处理器使能用于视频画面后处理
#define ISP_EN 1 // ISP图像信号处理器使能用于原始数据图像质量处理
#define FTUSB3_EN (0 && ISP_EN) // FTUSB3USB3.0转接)使能
#define JPG_EN 0 // JPEG编解码器使能
#define SCALE_EN 1 // 图像缩放模块使能
#define H264_EN 1 // H.264视频编码器使能
#define SDH_EN 1 // SD卡主机控制器使能
#define FS_EN 1 // 文件系统使能FAT等
#define VCAM_EN (1 || DVP_EN) // 摄像头电源VCAM使能
#define DMA2D_EN 1 // DMA2D2D图形加速器使能
#define PWM_EN 0 // PWM脉宽调制模块使能
#define KEY_MODULE_EN 1 // 按键模块使能
#define FLASHDISK_EN 0 // Flash磁盘功能使能
#define AUDIO_EN 1 // 音频子系统使能
/* AUDIO CODE */
/* 0: AUCODER_NO_RUN 1: AUCODER_RUN_IN_CPU0 2: AUCODER_RUN_IN_CPU1*/
#define AAC_ENC_CTRL 1 // AAC音频编码控制0=不运行, 1=CPU0运行, 2=CPU1运行
#define AAC_DEC_CTRL 1 // AAC音频解码控制0=不运行, 1=CPU0运行, 2=CPU1运行
#define MP3_DEC_CTRL 1 // MP3解码控制0=不运行, 1=CPU0运行, 2=CPU1运行
#define OPUS_ENC_CTRL 2 // OPUS编码控制0=不运行, 1=CPU0运行, 2=CPU1运行
#define OPUS_DEC_CTRL 2 // OPUS解码控制0=不运行, 1=CPU0运行, 2=CPU1运行
///////////////wifi parameter////////////
#define WIFI_RF_PWR_LEVEL 0 //选择WIFI功率
#define WIFI_RTS_THRESHOLD -1 //RTS阈值-1等效于不用RTS
#define WIFI_RTS_MAX_RETRY 2 //RTS重试次数范围为2~16
#define WIFI_TX_MAX_RETRY 15 //最大传输次数范围为1~31
/* 每1bit代表一种速率。每bit代表的格式
* bit 0 : DSSS 1M
* bit 1 : DSSS 2M
* bit 2 : DSSS 5.5M
* bit 3 : DSSS 11M
* bit 4 : NON-HT 6M
* bit 5 : NON-HT 9M
* bit 6 : NON-HT 12M
* bit 7 : NON-HT 18M
* bit 8 : NON-HT 24M
* bit 9 : NON-HT 36M
* bit 10 : NON-HT 48M
* bit 11 : NON-HT 54M
* bit 12 : HT MCS0
* bit 13 : HT MCS1
* bit 14 : HT MCS2
* bit 15 : HT MCS3
* bit 16 : HT MCS4
* bit 17 : HT MCS5
* bit 18 : HT MCS6
* bit 19 : HT MCS7
*/
#define WIFI_TX_SUPP_RATE 0x0FFFFF //TX速率支持每1bit对应一种速率
#define WIFI_MULICAST_RETRY 0 //组播帧传输次数
#define WIFI_ACS_CHAN_LISTS 0x1FFF //要扫描的信道。每1bit对应1个信道(bit 0~11 -> chan 1~12)
#define WIFI_ACS_SCAN_TIME 150 //每个信道的扫描时间单位ms
#define CHANNEL_DEFAULT 0 // 默认WiFi信道0=自动选择
#define SSID_DEFAULT "150X1-" //"150X1-0768c1a3" // 默认WiFi热点SSID前缀
#define WIFI_TX_DUTY_CYCLE 100 //tx发送占空比单位是%范围是0~100
#define WIFI_SSID_FILTER_EN 0 //是否使能SSID过滤功能。使能后只有隐藏SSID和指定SSID的beacon才会上传
#define WIFI_PREVENT_PS_MODE_EN 1 //是否尽可能的阻止sta进入休眠
#define WIFI_PS_NO_FRM_LOSS_EN 1 //tx缓存的休眠帧是否不允许丢弃
#define WIFI_TX_AGG_EN 0 //没时延要求可以开聚合。一般来说连路由就设1连手机就设0
#define NET_IP_ADDR_DEFAULT 0x01A9A8C0 //192.168.169.1 // 设备默认IP地址 192.168.169.1
#define NET_MASK_DEFAULT 0x00FFFFFF //255.255.255.0 // 默认子网掩码 255.255.255.0
#define NET_GW_IP_DEFAULT 0x01A9A8C0 //192.168.169.1 // 默认网关IP地址 192.168.169.1
#define DHCPD_START_IP_DEFAULT 0x64A9A8C0 //192.168.169.100 // DHCP起始分配IP 192.168.169.100
#define DHCPD_END_IP_DEFAULT 0xFEA9A8C0 //192.168.169.254 // DHCP结束分配IP 192.168.169.254
#define DHCPD_DNS1_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP首选DNS 192.168.169.1
#define DHCPD_DNS2_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP备用DNS 192.168.169.1
#define DHCPD_ROUTER_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP默认网关 192.168.169.1
#define ATCMD_UARTDEV HG_UART0_DEVID // AT指令使用的串口设备ID
///////////////SENSOR//////////////
#define DEV_SENSOR_GC1084 1 // 格科GC1084 1MP720P传感器
#if DUAL_EN // 双摄像头条件编译
#define ISP_SENOR_NUM 2 // ISP传感器数量
#define ISP_DMA_EN 1 // ISP DMA传输使能
#else // 否则(单摄像头模式)
#define ISP_SENOR_NUM 1 // ISP传感器数量
#define ISP_DMA_EN 1 // ISP DMA传输使能
#endif // 结束条件编译块
//#define VCAM_33 // [已禁用] VCAM使用3.3V电压供电
#define VCCSD_33 0 // SD卡电源电压选择0=1.8V1=3.3V
//速率调整参数选择,默认是耳勺
#define RATE_CONTROL_ERSHAO 1 // 速率控制方案:耳勺(内窥镜)场景
#define RATE_CONTROL_HANGPAI 2 // 速率控制方案:航拍场景
#define RATE_CONTROL_IPC 3 // 速率控制方案IPC网络摄像机场景
#define RATE_CONTROL_BABYMPNITOR 4 // 速率控制方案:婴儿监视器场景
#define RATE_CONTROL_SELECT RATE_CONTROL_BABYMPNITOR // 当前选择的速率控制方案
#define VPP_BUF1_EN 1 // VPP缓冲区1使能为辅码流提供独立输出缓冲
#define PSRAM_FRAME_SAVE 1 // PSRAM帧保存功能使能
#define VIDEO_YUV_RANGE_TYPE (0) // 视频YUV色彩范围类型0=有限范围(Limited)
//是能5m/20m共存和自动带宽切换
//#define WIFI_FEM_CHIP LMAC_FEM_GSR2701_5V // [已禁用] WiFi前端模块(FEM)芯片选择
#define LMAC_BGN_PCF // WiFi BGN协议共存功能使能
#define WIFI_MODE_DEFAULT WIFI_MODE_STA // WiFi默认工作模式
#elif (CUSTOMER_ID == 11) // CUSTOMER_ID==11 配置分支82xApp_LCD_MP4_Player_Demo/1080P摄像头LCD播放器
/*****************************************************************************
* 1080P摄像头(帧率主要看摄像头配置表,SDK默认2053 25帧)
* 主码流(H264):1920x1080 @ 25fps
* 辅码流(MJPG):1280x720 @ 25fps
* 录卡(MP4):主码流+aac音频(8KHz/16bit)
* 拍照(MJPG):1280x720
* 图传:RTSP 辅码流 默认地址:rtsp://ip:554/webcam
* 回放:录风者采用下载模式去解码mp4回放
* 文件系统:FAT32、EXFAT(配合ffconf.h设置)
****************************************************************************/
/***************************************************************
* 打开PIN_FROM_PARAM,通过脚本和config.cfg去生成对应的io配置信息
* 请查看重要的文件:pin_param.h、config.cfg两个文件
*************************************************************/
#define PIN_FROM_PARAM // 启用从参数区读取引脚配置允许运行时动态配置GPIO
/*****************************************
* 打开对应demo的宏
****************************************/
#define SYS_APP_FPV // 系统应用类型为FPV第一人称视角图传模式
/**********************************************************************
* 系统必要信息宏
* CONFIG_PSRAM_AVHEAP_SIZE:为应用分配的psram宏,需要根据应用场景分配
* PSRAM_HEAP:如果需要用到psram,需要打开PSRAM_HEAP
********************************************************************/
#define DEFAULT_SYS_CLK (192*1000000) // 系统默认主频设置
#define PSRAM_HEAP //如果需要psram当作heap,需要打开这个宏
#define AV_PSRAM_HEAP // 启用音视频专用PSRAM堆供音视频缓冲区分配使用
#define AV_HEAP // 启用片内SRAM的AV堆内存区域
/*******************************************************************************************************************************************
1080P摄像头空间分配(如果没有其他要求,会将大部分空间给到视频)
H264 I/P帧:3.1M+0.5M(默认,根据I帧P帧最大值进行调整)
纯I帧:0.5M
h264数据缓冲size: 64帧(最大缓冲)*100K(平局每一帧size) = 6M左右 (如果终端应用不会卡太久,这里可以分配2M-3M左右,这个是动态的)
(64帧是最大缓冲数量,100K需要根据自己h264配置调整,缓冲帧数大是解决录卡不会轻易丢帧,参数都是可以调整,根据产品来调整)
MJPG(1路): MJPG: 10-30(mjpg节点)*16K = 160K-480K (不同分辨率以及质量需要调整,如果是大分辨率拍照4K、8K,需要1M
所以这里需要空间粗略计算就是 3.1M+0.5M+0.5M + 3M(h264+mjpg数据共用动态) ≈ 7M
由于MJPG与H264共用,会造成一定碎片化,可以适当将空间h264和MJPG独立分开,默认SDK没有分开
*********************************************************************************************************************************************/
#define CONFIG_PSRAM_AVHEAP_SIZE (7*1024*1024+512*1024) // PSRAM中分配给音视频堆的大小
/**********************************************************************************************************************************************
* 不同镜头以及功能不一样
* 没有考虑大分辨拍照模式
* 1080P镜头: 90K(VPP_DATA0)(1080P h264) + 52.5K(VPP_DATA1)(720P拍照) ≈ 142.5K
其他: 12K(gen420)+10K(解码) + 其他(某些结构体用到) ≈ 22K(动态使用,gen420和解码可以分时复用)
total: 165K
*********************************************************************************************************************************************/
#define CONFIG_AVHEAP_SIZE (100*1024 + 50*1024) // 片内SRAM中分配给音视频堆的大小
/******************************************************************************
* wifi的必要参数配置
******************************************************************************/
///////////////wifi parameter////////////
#define WIFI_RF_PWR_LEVEL 0 //选择WIFI功率
#define WIFI_RTS_THRESHOLD -1 //RTS阈值-1等效于不用RTS
#define WIFI_RTS_MAX_RETRY 2 //RTS重试次数范围为2~16
#define WIFI_TX_MAX_RETRY 15 //最大传输次数范围为1~31
#define WIFI_TX_SUPP_RATE 0x0FFFFF //TX速率支持每1bit对应一种速率
#define WIFI_MULICAST_RETRY 0 //组播帧传输次数
#define WIFI_ACS_CHAN_LISTS 0x1FFF //要扫描的信道。每1bit对应1个信道(bit 0~11 -> chan 1~12)
#define WIFI_ACS_SCAN_TIME 150 //每个信道的扫描时间单位ms
#define CHANNEL_DEFAULT 0 // 默认WiFi信道0=自动选择
#define SSID_DEFAULT "150X1-" //"150X1-0768c1a3" // 默认WiFi热点SSID前缀
#define WIFI_TX_DUTY_CYCLE 100 //tx发送占空比单位是%范围是0~100
#define WIFI_SSID_FILTER_EN 0 //是否使能SSID过滤功能。使能后只有隐藏SSID和指定SSID的beacon才会上传
#define WIFI_PREVENT_PS_MODE_EN 1 //是否尽可能的阻止sta进入休眠
#define WIFI_TX_AGG_EN 1 //没时延要求可以开聚合。一般来说连路由就设1连手机就设0
#define NET_IP_ADDR_DEFAULT 0x01A9A8C0 //192.168.169.1 // 设备默认IP地址 192.168.169.1
#define NET_MASK_DEFAULT 0x00FFFFFF //255.255.255.0 // 默认子网掩码 255.255.255.0
#define NET_GW_IP_DEFAULT 0x01A9A8C0 //192.168.169.1 // 默认网关IP地址 192.168.169.1
#define DHCPD_START_IP_DEFAULT 0x64A9A8C0 //192.168.169.100 // DHCP起始分配IP 192.168.169.100
#define DHCPD_END_IP_DEFAULT 0xFEA9A8C0 //192.168.169.254 // DHCP结束分配IP 192.168.169.254
#define DHCPD_DNS1_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP首选DNS 192.168.169.1
#define DHCPD_DNS2_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP备用DNS 192.168.169.1
#define DHCPD_ROUTER_DEFAULT 0x01A9A8C0 //192.168.169.1 // DHCP默认网关 192.168.169.1
/***************************************************************
* 蓝牙
**************************************************************/
//#define BLE_SUPPORT 1 // [已禁用] BLE低功耗蓝牙功能使能
/****************************************************************
* wifi速率配置,根据不同场景需要距离等去配置特定速率算法
#define RATE_CONTROL_ERSHAO 1 // 速率控制方案:耳勺(内窥镜)场景
#define RATE_CONTROL_HANGPAI 2 // 速率控制方案:航拍场景
#define RATE_CONTROL_IPC 3 // 速率控制方案IPC网络摄像机场景
#define RATE_CONTROL_BABYMPNITOR 4 // 速率控制方案:婴儿监视器场景
***************************************************************/
#define RATE_CONTROL_SELECT 3 // 当前选择的速率控制方案
/*****************************************************************
* VCAM开关,部分io电源域需要打开才有电
*****************************************************************/
#define VCAM_EN 1 // 摄像头电源VCAM使能
#define VCCSD_33 0 // SD卡电源电压选择0=1.8V1=3.3V
/*******************************************************************
* 图像编码相关参数
******************************************************************/
#define MIPI_CSI_EN 1 // MIPI CSI串行摄像头接口使能
#define VPP_EN 1 // VPP视频后处理器使能用于视频画面后处理
#define H264_EN 1 // H.264视频编码器使能
#define ISP_EN 1 // ISP图像信号处理器使能用于原始数据图像质量处理
#define JPG_EN 1 // JPEG编解码器使能
#define SCALE_EN 1 // 图像缩放模块使能
/*******************************************************************
* 打开拍照模式(紧紧支持录风者模式)
******************************************************************/
#define TAKEPHOTO_EN 0 // 拍照功能使能(仅支持录风者模式)
/*****************************************************************
* sd使能
***************************************************************/
#define SDH_EN 1 // SD卡主机控制器使能
#define FS_EN 1 // 文件系统使能FAT等
/************************************************************************************************************************
* sensor型号配置,配置多个,支持自动识别(当前SDK只能支持全部单line或者双line,包含单line和双line需要对sdk初始化修改)
#define DEV_SENSOR_OV7725 0 // OmniVision OV7725 VGA传感器
#define DEV_SENSOR_OV7670 0 // OmniVision OV7670 VGA传感器
#define DEV_SENSOR_GC0308 0 // 格科GC0308 VGA传感器
#define DEV_SENSOR_OV2640 0 // OmniVision OV2640 2MP传感器
#define DEV_SENSOR_BF3A03 0 // BYD BF3A03传感器
#define DEV_SENSOR_BF2013 0 // BYD BF2013传感器
#define DEV_SENSOR_OV2685 0 // OmniVision OV2685 2MP传感器
#define DEV_SENSOR_BF30A2 0 // BYD BF30A2传感器
#define DEV_SENSOR_H62 0 // H62传感器
#define DEV_SENSOR_H63P 0 // H63P传感器
#define DEV_SENSOR_SC1346 0 // 思特威SC1346 1MP传感器
#define DEV_SENSOR_GC1084 0 // 格科GC1084 1MP720P传感器
#define DEV_SENSOR_GC2083 0 // 格科GC2083 2MP传感器
#define DEV_SENSOR_GC2053 0 // 格科GC2053 2MP1080P传感器
#define DEV_SENSOR_SC2336P 0 // 思特威SC2336P 2MP传感器
#define DEV_SENSOR_SC2331 0 // 思特威SC2331传感器
#define DEV_SENSOR_F38P 0 // F38P传感器
#define DEV_SENSOR_F37P 0 // F37P传感器
#define DEV_SENSOR_TP9950 0 // TP9950 AHD转接芯片
***************************************************************************************************************************/
//#define DEV_SENSOR_SC1346 1 // [已禁用] 思特威SC1346 1MP传感器
#define DEV_SENSOR_GC1084 1 // 格科GC1084 1MP720P传感器
#define DEV_SENSOR_GC2053 1 // 格科GC2053 2MP1080P传感器
/************************************************************
* mipi相关
INPUT_MODE:
#define YUV422 0
#define RAW8 1
#define RAW10 2
#define RAW12 3
************************************************************/
#define INPUT_MODE 2 //RAW10 // MIPI输入数据格式0=YUV422, 1=RAW8, 2=RAW10, 3=RAW12
#define DOUBLE_CSI 0 // 双CSI通道使能0=单通道
#define DOUBLE_LANE 0 // MIPI双Lane模式使能0=单Lane
/***********************************************************
*音频及功放使能io配置
* ********************************************************/
#define AUDIO_EN 1 // 音频子系统使能
/***********************************************************
*默认mjpeg的节点数量,要根据mjpeg启动的分辨率去考虑
默认节点大小:16*1024
720P:算mjpeg大小50-80K,给10个节点足够
1080P:算mjpeg大小100-150K,给20个节点足够
其他分辨率,根据实际情况去配置
* ********************************************************/
#define JPG_NODE_COUNT 30 // MJPEG编码缓冲节点数量
/*************************************************************
* 节省sram内存,将部分模块强制使用psram
* 优点:节省sram内存
* 缺点:psram读写慢,可能会影响性能
1080P的sram内存不足,将部分数据放到了psram
************************************************************/
#define MORE_SRAM // 启用SRAM节省策略将部分模块数据强制使用PSRAM
/************************************************************************
* 配置MP4录制最大文件的size
************************************************************************/
#define MAX_SINGLE_MP4_SIZE (100 * 1024 * 1024) // 单个MP4录像文件最大大小
/************************************************************************
* 1080P摄像头的mjpeg辅码流
* 录风者设置图传是mjpeg,则RECORDER_MODE等于1即可
************************************************************************/
#define RECORDER_MODE 1 // 录像模式0=H264辅码流1=MJPEG辅码流
/************************************************************************
* 开启文件系统优化
************************************************************************/
#define USE_FAT_CACHE 1 // FAT文件系统缓存优化使能
/************************************************************************
* 配置解码最大的size,usb摄像头支持最大分辨率1280x720
* 配置解码缓冲区节点数量(预分配空间,解码屏显至少需要2个节点)
************************************************************************/
#define DECODE_MAX_W 1280 // 解码器最大输入宽度(像素)
#define DECODE_MAX_H 720 // 解码器最大输入高度(像素)
#define MAX_DECODE_YUV_TX 2 // 解码YUV缓冲区节点数量
#define LCD_EN 1 // LCD显示控制器使能
#define DMA2D_EN 1 // DMA2D2D图形加速器使能
#define KEY_MODULE_EN 1 // 按键模块使能
#define TOUCH_PAD_EN 0 // 触摸按键模块使能
#define LCD_ST7701S_MIPI_EN 1 // ST7701S MIPI接口LCD驱动使能
#define LCD_ST7735_EN 0 // ST7735 SPI接口LCD驱动使能
#endif // 结束条件编译块
#endif // 结束条件编译块